New module 'get-rusage-data'.
[gnulib.git] / ChangeLog
1 2011-01-26  Bruno Haible  <bruno@clisp.org>
2
3         New module 'get-rusage-data'.
4         * lib/resource-ext.h (get_rusage_data): New declaration.
5         * lib/get-rusage-data.c: New file.
6         * modules/get-rusage-data: New file.
7
8 2011-01-25  Bruno Haible  <bruno@clisp.org>
9
10         get-rusage-as: Allow for easier testing.
11         * lib/resource-ext.h (get_rusage_as): Add comment.
12         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
13         (main): New function for interactive testing.
14
15 2011-01-25  Bruno Haible  <bruno@clisp.org>
16
17         vma-iter: Treat Haiku like BeOS.
18         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
20
21 2011-01-25  Eric Blake  <eblake@redhat.com>
22
23         c-stack: fix regression on cygwin when libsigsegv is present
24         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25
26 2011-01-24  Bruno Haible  <bruno@clisp.org>
27
28         vma-iter: Avoid empty intervals.
29         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
30         on an empty interval.
31
32 2011-01-24  Jim Meyering  <meyering@redhat.com>
33
34         u64: remove unnecessary #include
35         * lib/u64.h: Don't include <stddef.h>.  It was not used.
36
37 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
38
39         Allow the user to avoid the GNULIB_TEST_* macros.
40         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
41
42 2011-01-23  Bruno Haible  <bruno@clisp.org>
43
44         New module 'vma-iter'.
45         * lib/vma-iter.h: New file.
46         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
47         * modules/vma-iter: New file.
48         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
49         for get_rusage_as_via_iterator.
50         (vma_iterate_callback): New function.
51         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
52         * modules/get-rusage-as (Depends-on): Add vma-iter.
53
54 2011-01-23  Bruno Haible  <bruno@clisp.org>
55
56         uninorm: Tweak includes.
57         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
58         Reported by Jim Meyering.
59
60 2011-01-23  Bruno Haible  <bruno@clisp.org>
61
62         get-rusage-as: Improve on NetBSD.
63         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
64         /proc, like on FreeBSD.
65
66 2011-01-23  Jim Meyering  <meyering@redhat.com>
67
68         xreadlink.h: remove unnecessary #include
69         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
70
71         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
72         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
73
74 2011-01-23  Bruno Haible  <bruno@clisp.org>
75
76         get-rusage-as: Fix bug.
77         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
78         original limit when aborting the first loop.
79
80 2011-01-23  Bruno Haible  <bruno@clisp.org>
81
82         wctype: Ensure valid C syntax.
83         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
84         unconditionally, instead of gl_NEXT_HEADERS conditionally.
85
86 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87
88         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
89         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
90         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
91         as they are needed only for configure's test case.
92         This removes two unnecessary symbols from config.h.
93
94         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
95         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
96         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
97         AC_CHECK_HEADERS_ONCE on a header that we also invoke
98         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
99         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
100         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
101         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
102         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
104         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
105         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
106         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
107         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
108         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
109         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
110         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
111         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
112
113 2011-01-21  Eric Blake  <eblake@redhat.com>
114
115         maintainer-makefile: work with older git for submodule check
116         * top/maint.mk (public-submodule-commit): Rewrite to avoid
117         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
118         Reported by Matthias Bolte.
119
120         bootstrap: minor portability fixes
121         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
122         (usage): Omit leading capital and trailing . on help phrases, per
123         GNU Coding Standards.
124         (check_versions, top level): Prefix messages with script name.
125
126 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
127
128         bootstrap: support --no-git option
129         * build-aux/bootstrap: Add --no-git option, to be used when
130         --gnulib-srcdir points to the exact desired checkout.
131
132 2011-01-21  Eric Blake  <eblake@redhat.com>
133
134         strerror_r-posix: work with glibc 2.13
135         * lib/strerror_r.c (strerror_r): Fix return type.
136
137 2011-01-21  Pádraig Brady  <P@draigBrady.com>
138             Bruno Haible  <bruno@clisp.org>
139
140         uN_strstr: New unit tests.
141         * modules/unistr/u8-strstr-tests: New file.
142         * modules/unistr/u16-strstr-tests: New file.
143         * modules/unistr/u32-strstr-tests: New file.
144         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
145         * tests/unistr/test-u8-strstr.c: New file.
146         * tests/unistr/test-u16-strstr.c: New file.
147         * tests/unistr/test-u32-strstr.c: New file.
148
149 2011-01-21  Pádraig Brady  <P@draigBrady.com>
150             Bruno Haible  <bruno@clisp.org>
151
152         Make uN_strstr functions O(n) worst-case.
153         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
154         16-bit and 32-bit unit cases, use the unibyte algorithm from
155         lib/mbsstr.c.
156         * lib/unistr/u8-strstr.c: Include <string.h>.
157         (UNIT_IS_UINT8_T): New macro.
158         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
159         (U_STRLEN, U_STRNLEN): New macros.
160         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
161         (U_STRLEN, U_STRNLEN): New macros.
162         * modules/unistr/u8-strstr (Depends-on): Add strstr.
163         (configure.ac): Update required libunistring version.
164         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
165         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
166         malloca.
167         (configure.ac): Update required libunistring version.
168         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
169         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
170         malloca.
171         (configure.ac): Update required libunistring version.
172
173 2011-01-21  Pádraig Brady  <P@draigBrady.com>
174             Bruno Haible  <bruno@clisp.org>
175
176         Prepare for faster uN_strstr functions.
177         * lib/str-kmp.h: Support definable UNITs.
178         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
179         needle_len argument.
180         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
181         * lib/mbscasestr.c (mbscasestr): Likewise.
182
183 2011-01-21  Pádraig Brady <P@draigBrady.com>
184
185         malloca-tests: make faster by unsetting MALLOC_PERTURB_
186         * tests/test-malloca.c (main): Unset the environment variable
187         to greatly speed up the test.
188         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
189         * modules/malloca-tests: Depend on unsetenv.
190
191 2011-01-21  Pádraig Brady <P@draigBrady.com>
192
193         ignore-value: remove stdint dependency
194         * lib/ignore-value.h: Remove <stdint.h>
195         * modules/ignore-value: Remove stdint dependency.
196
197 2011-01-21  Jim Meyering  <meyering@redhat.com>
198
199         maint.mk: adjust variable name to be consistent with other gl_ vars
200         * top/maint.mk (gl_public_submodule_commit): Rename the variable
201         to be lower case.
202
203 2011-01-20  Jim Meyering  <meyering@redhat.com>
204
205         maint.mk: make "check" depend on public-submodule-commit by default
206         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
207
208 2011-01-20  Bruno Haible  <bruno@clisp.org>
209
210         mbfile, mbiter: Complete change from 2008-12-21.
211         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
212         * m4/mbiter.m4 (gl_MBITER): Likewise.
213
214 2011-01-20  Jim Meyering  <meyering@redhat.com>
215
216         init.sh: insert space between each function name and "()"
217         * tests/init.sh: Make it a little easier to see that a function's
218         name is "warn_", and not "warn" when looking at the first part of
219         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
220
221 2011-01-20  Jim Meyering  <meyering@redhat.com>
222
223         mountlist: clean up code formatting
224         * lib/mountlist.c (read_file_system_list): Split a long line,
225         correct bracing style, use NULL in place of "(struct statfs *)0",
226         don't parenthesize return value, add spaces around "=" and after
227         ";-in-for-stmt".
228
229 2011-01-14  Markus Duft <mduft@gentoo.org>
230
231         mountlist: add support for Interix
232         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
233         Apply statvfs to all entries of /dev/fs.
234         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
235         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
236
237 2011-01-20  Jim Meyering  <meyering@redhat.com>
238
239         maint.mk: improve the public-submodule-commit rule
240         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
241         to suppress printing of its commands... unless V=1.
242         Add git submodule's --quiet option to suppress printing of e.g.,
243         "Entering gnulib" output.
244         "cd" into $(srcdir) before running git submodule.
245
246 2011-01-20  Bruno Haible  <bruno@clisp.org>
247
248         include_next: Fix bug introduced on 2011-01-18.
249         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
250         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
251         ac_cv_header_... variable if the second argument is not 'check'.
252         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
253         gl_NEXT_HEADERS_INTERNAL.
254
255 2011-01-20  Bruno Haible  <bruno@clisp.org>
256
257         Allow the user to avoid the GNULIB_TEST_* macros.
258         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
259         Suggested by Paul Eggert.
260
261 2011-01-14  Jim Meyering  <meyering@redhat.com>
262
263         bootstrap: avoid failure when there is no .gitmodules file
264         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
265         has been assigned to, even when its value is the empty string.
266         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
267         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
268         Reported by John W. Eaton <jwe@gnu.org>.
269
270 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
271
272         assume <ctype.h>, ..., <time.h> exist
273         For years gnulib has been assuming the existence of the headers
274         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
275         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
276         them, since they don't appear to be needed.
277         * README (Portability guidelines): Document this.
278         * lib/flock.c: Assume <fcntl.h> exists.
279         * lib/regex_internal.h: Assume <locale.h> exists.
280         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
281         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
282         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
283         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
284         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
285         * m4/regex.m4 (gl_REGEX): Likewise.
286         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
287         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
288         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
289         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
290         * tests/test-argp.c: Likewise.
291         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
292
293         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
294         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
295         AA_APPLE_UNIVERSAL_BUILD.  See
296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
297         * NEWS: Document this.
298
299 2011-01-19  Eric Blake  <eblake@redhat.com>
300
301         c-stack: assume stack overflow if SA_SIGINFO unsupported
302         * lib/c-stack.c (SIGACTION_WORKS): Rename...
303         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
304         sigaction will work.
305         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
306         behavior match Linux.
307         * tests/test-c-stack.c (main): Prefer NULL for pointers.
308
309         stdbool-tests: accomodate Haiku
310         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
311
312         binary-io: fix O_TEXT on Haiku
313         * modules/binary-io (Depends-on): Add fcntl-h.
314         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
315         than blindly undefining O_TEXT.
316         Reported by Scott McCreary.
317
318 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
319
320         include_next: do not check for standard headers like stddef.h
321
322         I found this problem when modifying Emacs to use gnulib.
323         I noticed that it added HAVE_STDDEF_H to config.h, even though
324         gnulib always assumes <stddef.h> exists as per README and this
325         symbol is unnecessary.
326         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
327         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
328         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
329         faster for headers like stddef.h that are known to exist.
330         (gl_CHECK_NEXT_HEADERS): Use it.
331         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
332         rather than gl_CHECK_NEXT_HEADERS.
333         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
334         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
335
336 2011-01-18  Eric Blake  <eblake@redhat.com>
337
338         ansi-c++-opt: skip C++ dependency style if C++ is unused
339         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
340         tests when we know C++ compilation is not desired.
341         Reported by Scott McCreary.
342
343 2011-01-18  Bruno Haible  <bruno@clisp.org>
344
345         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
346         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
347         (main): Perform test also when getrlimit and setrlimit don't exist or
348         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
349         limiting the address space size using setrlimit, compare the address
350         space size before and after the the test.
351         * tests/test-dprintf-posix2.c: Likewise.
352         * tests/test-fprintf-posix3.sh: Update skip messages.
353         * tests/test-dprintf-posix2.sh: Likewise.
354         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
355         * modules/dprintf-posix-tests (Depends-on): Likewise.
356         Reported by Bruce Korb <bkorb@gnu.org> and
357         Gary V. Vaughan <gary@gnu.org>.
358
359 2011-01-18  Bruno Haible  <bruno@clisp.org>
360
361         get-rusage-as: Improvement for Cygwin.
362         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
363         areas that are merely reserved.
364
365 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
366
367         strftime: remove dependencies on multibyte modules
368
369         strftime depended on mbrlen, mbsinit, and wchar, but these modules
370         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
371         only if __osf__ is defined, and I suspect OSF doesn't need these
372         other modules.  If my guess is wrong, we'll need to come up with a
373         variant of strftime that doesn't need the multibyte modules.
374
375         I discovered this problem when attempting modify Emacs to use the
376         strftime module.  With the previous gnulib, this caused Emacs to
377         need 31 new files, ranging from lib/config.charset to
378         m4/wint_t.m4.  This was overkill and I expect would be offputting
379         to the Emacs maintainers.  After this change, only 6 new files are
380         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
381         stdbool.m4, and tm_gmtoff.m4.
382
383         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
384         Suggested by Bruno Haible in
385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
386         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
387         and do not check for wchar.h.
388         * modules/strftime (Files): Remove m4/mbstate_t.m4.
389         (Depends-on): Remove mbrlen, mbsinit, wchar.
390
391 2011-01-18  Bruno Haible  <bruno@clisp.org>
392
393         Tests for module 'get-rusage-as'.
394         * modules/get-rusage-as-tests: New file.
395         * tests/test-get-rusage-as.c: New file.
396
397         New module 'get-rusage-as'.
398         * modules/get-rusage-as: New file.
399         * lib/resource-ext.h: New file.
400         * lib/get-rusage-as.c: New file.
401
402 2011-01-17  Eric Blake  <eblake@redhat.com>
403
404         sigaction: relax license from LGPLv3+ to LGPLv2+
405         * modules/sigaction (License): Relax to LGPLv2+.
406
407 2011-01-14  Bruno Haible  <bruno@clisp.org>
408
409         filemode: Make function declarations usable in C++ mode.
410         * lib/filemode.h: Enclose function declarations in extern "C" block.
411         Reported by John W. Eaton <jwe@gnu.org>.
412
413 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
414
415         save-cwd: no longer include "xgetcwd.h"
416         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
417         This avoids a compilation failure in projects that use save-cwd
418         without also using the xgetcwd module.
419
420 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
421
422         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
423         This is so that a program like Emacs, which needs only dtoastr,
424         does not have to bother with distributing and compiling ftoastr
425         and ldtoastr.
426         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
427         * modules/dtoastr, modules/ldtoastr: New files.
428         * modules/ftoastr: Now works just for 'float'.
429         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
430         (Makefile.am): Remove ftoastr.h (not needed and no effect),
431         dtoastr.c, ldtoastr.c.
432
433 2011-01-11  Jim Meyering  <meyering@redhat.com>
434
435         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
436         There is no need to work around the lack of the fchdir function,
437         since gnulib can now provide a replacement when required.
438         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
439         * modules/save-cwd (Depends-on): Add fchdir.
440
441 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
442
443         openat, save-cwd: avoid xmalloc
444
445         This removes a direct (but undocumented) dependency of openat on
446         xalloc, along with an indirect dependency via save-cwd.  It also
447         removes a dependency of save-cwd on xgetcwd, and thereby
448         indirectly on xalloc.  This change causes the openat substitute
449         to fall back on save_cwd when memory is tight, and for save_cwd to
450         fail instead of dying when memory is tight, but that's good enough.
451
452         * lib/openat-proc.c: Include stdlib.h (for malloc), not
453         xalloc.h (for xmalloc).
454         (openat_proc_name): Use malloc, not xmalloc.
455         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
456         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
457
458         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
459         This avoids heap allocation for file names whose lengths are in
460         the range 512..1023, with the upper bound increasing to at most
461         4031 depending on the platform's PATH_MAX.  (We do not want
462         pathmax.h here as it might supply a non-constant PATH_MAX.)
463         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
464         Perhaps they should be moved to malloca.h?
465         (OPENAT_BUFFER_SIZE): Use them.
466
467 2011-01-10  Bruno Haible  <bruno@clisp.org>
468
469         doc: Update users.txt.
470         * users.txt: Add recutils.
471
472 2011-01-09  Karl Berry  <karl@gnu.org>
473
474         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
475
476         * doc/configmake.texi: New file.
477         * doc/gnulib.texi: Include it.
478         * modules/configmake: Move documentation from here.
479
480 2011-01-09  Bruno Haible  <bruno@clisp.org>
481
482         Update to Unicode 6.0.0.
483         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
484         (get_lbp): Update for Unicode 6.0.0.
485         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
486         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
487         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
488         U+11001, U+11038..U+11046. Remove U+06DE.
489         (uc_width): Fix bounds of planes.
490         * tests/uniwidth/test-uc_width2.sh: Same updates as in
491         lib/uniwidth/width.c.
492         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
493         trailing whitespace removed.
494         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
495         without comments, but with the original copyright notice.
496         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
497         * lib/unicase/ignorable.h: Likewise.
498         * lib/unicase/tocasefold.h: Likewise.
499         * lib/unicase/tolower.h: Likewise.
500         * lib/unicase/totitle.h: Likewise.
501         * lib/unicase/toupper.h: Likewise.
502         * lib/unictype/bidi_of.h: Likewise.
503         * lib/unictype/blocks.h: Likewise.
504         * lib/unictype/categ_C.h: Likewise.
505         * lib/unictype/categ_Cn.h: Likewise.
506         * lib/unictype/categ_L.h: Likewise.
507         * lib/unictype/categ_Ll.h: Likewise.
508         * lib/unictype/categ_Lm.h: Likewise.
509         * lib/unictype/categ_Lo.h: Likewise.
510         * lib/unictype/categ_Lu.h: Likewise.
511         * lib/unictype/categ_M.h: Likewise.
512         * lib/unictype/categ_Mc.h: Likewise.
513         * lib/unictype/categ_Me.h: Likewise.
514         * lib/unictype/categ_Mn.h: Likewise.
515         * lib/unictype/categ_N.h: Likewise.
516         * lib/unictype/categ_Nd.h: Likewise.
517         * lib/unictype/categ_No.h: Likewise.
518         * lib/unictype/categ_P.h: Likewise.
519         * lib/unictype/categ_Po.h: Likewise.
520         * lib/unictype/categ_S.h: Likewise.
521         * lib/unictype/categ_Sc.h: Likewise.
522         * lib/unictype/categ_Sk.h: Likewise.
523         * lib/unictype/categ_Sm.h: Likewise.
524         * lib/unictype/categ_So.h: Likewise.
525         * lib/unictype/categ_of.h: Likewise.
526         * lib/unictype/combining.h: Likewise.
527         * lib/unictype/ctype_alnum.h: Likewise.
528         * lib/unictype/ctype_alpha.h: Likewise.
529         * lib/unictype/ctype_graph.h: Likewise.
530         * lib/unictype/ctype_lower.h: Likewise.
531         * lib/unictype/ctype_print.h: Likewise.
532         * lib/unictype/ctype_punct.h: Likewise.
533         * lib/unictype/ctype_upper.h: Likewise.
534         * lib/unictype/decdigit.h: Likewise.
535         * lib/unictype/digit.h: Likewise.
536         * lib/unictype/numeric.h: Likewise.
537         * lib/unictype/pr_alphabetic.h: Likewise.
538         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
539         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
540         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
541         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
542         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
543         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
544         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
545         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
546         * lib/unictype/pr_case_ignorable.h: Likewise.
547         * lib/unictype/pr_cased.h: Likewise.
548         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
549         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
550         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
551         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
552         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
553         * lib/unictype/pr_combining.h: Likewise.
554         * lib/unictype/pr_composite.h: Likewise.
555         * lib/unictype/pr_currency_symbol.h: Likewise.
556         * lib/unictype/pr_decimal_digit.h: Likewise.
557         * lib/unictype/pr_deprecated.h: Likewise.
558         * lib/unictype/pr_format_control.h: Likewise.
559         * lib/unictype/pr_grapheme_base.h: Likewise.
560         * lib/unictype/pr_grapheme_extend.h: Likewise.
561         * lib/unictype/pr_grapheme_link.h: Likewise.
562         * lib/unictype/pr_id_continue.h: Likewise.
563         * lib/unictype/pr_id_start.h: Likewise.
564         * lib/unictype/pr_ideographic.h: Likewise.
565         * lib/unictype/pr_lowercase.h: Likewise.
566         * lib/unictype/pr_math.h: Likewise.
567         * lib/unictype/pr_numeric.h: Likewise.
568         * lib/unictype/pr_other_alphabetic.h: Likewise.
569         * lib/unictype/pr_other_id_continue.h: Likewise.
570         * lib/unictype/pr_other_math.h: Likewise.
571         * lib/unictype/pr_punctuation.h: Likewise.
572         * lib/unictype/pr_sentence_terminal.h: Likewise.
573         * lib/unictype/pr_terminal_punctuation.h: Likewise.
574         * lib/unictype/pr_unassigned_code_value.h: Likewise.
575         * lib/unictype/pr_unified_ideograph.h: Likewise.
576         * lib/unictype/pr_uppercase.h: Likewise.
577         * lib/unictype/pr_xid_continue.h: Likewise.
578         * lib/unictype/pr_xid_start.h: Likewise.
579         * lib/unictype/scripts.h: Likewise.
580         * lib/unictype/scripts_byname.gperf: Likewise.
581         * lib/unictype/sy_java_ident.h: Likewise.
582         * lib/unigbrk/gbrkprop.h: Likewise.
583         * lib/unilbrk/lbrkprop1.h: Likewise.
584         * lib/unilbrk/lbrkprop2.h: Likewise.
585         * lib/uninorm/decomposition-table2.h: Likewise.
586         * lib/uniwbrk/wbrkprop.h: Likewise.
587         * tests/unicase/test-cased.c: Likewise.
588         * tests/unicase/test-ignorable.c: Likewise.
589         * tests/unicase/test-uc_tolower.c: Likewise.
590         * tests/unicase/test-uc_totitle.c: Likewise.
591         * tests/unicase/test-uc_toupper.c: Likewise.
592         * tests/unictype/test-categ_C.c: Likewise.
593         * tests/unictype/test-categ_Cn.c: Likewise.
594         * tests/unictype/test-categ_L.c: Likewise.
595         * tests/unictype/test-categ_Ll.c: Likewise.
596         * tests/unictype/test-categ_Lm.c: Likewise.
597         * tests/unictype/test-categ_Lo.c: Likewise.
598         * tests/unictype/test-categ_Lu.c: Likewise.
599         * tests/unictype/test-categ_M.c: Likewise.
600         * tests/unictype/test-categ_Mc.c: Likewise.
601         * tests/unictype/test-categ_Me.c: Likewise.
602         * tests/unictype/test-categ_Mn.c: Likewise.
603         * tests/unictype/test-categ_N.c: Likewise.
604         * tests/unictype/test-categ_Nd.c: Likewise.
605         * tests/unictype/test-categ_No.c: Likewise.
606         * tests/unictype/test-categ_P.c: Likewise.
607         * tests/unictype/test-categ_Po.c: Likewise.
608         * tests/unictype/test-categ_S.c: Likewise.
609         * tests/unictype/test-categ_Sc.c: Likewise.
610         * tests/unictype/test-categ_Sk.c: Likewise.
611         * tests/unictype/test-categ_Sm.c: Likewise.
612         * tests/unictype/test-categ_So.c: Likewise.
613         * tests/unictype/test-ctype_alnum.c: Likewise.
614         * tests/unictype/test-ctype_alpha.c: Likewise.
615         * tests/unictype/test-ctype_graph.c: Likewise.
616         * tests/unictype/test-ctype_lower.c: Likewise.
617         * tests/unictype/test-ctype_print.c: Likewise.
618         * tests/unictype/test-ctype_punct.c: Likewise.
619         * tests/unictype/test-ctype_upper.c: Likewise.
620         * tests/unictype/test-decdigit.h: Likewise.
621         * tests/unictype/test-digit.h: Likewise.
622         * tests/unictype/test-numeric.h: Likewise.
623         * tests/unictype/test-pr_alphabetic.c: Likewise.
624         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
625         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
626         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
627         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
628         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
629         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
630         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
631         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
632         * tests/unictype/test-pr_case_ignorable.c: Likewise.
633         * tests/unictype/test-pr_cased.c: Likewise.
634         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
635         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
636         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
637         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
638         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
639         * tests/unictype/test-pr_combining.c: Likewise.
640         * tests/unictype/test-pr_composite.c: Likewise.
641         * tests/unictype/test-pr_currency_symbol.c: Likewise.
642         * tests/unictype/test-pr_decimal_digit.c: Likewise.
643         * tests/unictype/test-pr_deprecated.c: Likewise.
644         * tests/unictype/test-pr_format_control.c: Likewise.
645         * tests/unictype/test-pr_grapheme_base.c: Likewise.
646         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
647         * tests/unictype/test-pr_grapheme_link.c: Likewise.
648         * tests/unictype/test-pr_id_continue.c: Likewise.
649         * tests/unictype/test-pr_id_start.c: Likewise.
650         * tests/unictype/test-pr_ideographic.c: Likewise.
651         * tests/unictype/test-pr_lowercase.c: Likewise.
652         * tests/unictype/test-pr_math.c: Likewise.
653         * tests/unictype/test-pr_numeric.c: Likewise.
654         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
655         * tests/unictype/test-pr_other_id_continue.c: Likewise.
656         * tests/unictype/test-pr_other_math.c: Likewise.
657         * tests/unictype/test-pr_punctuation.c: Likewise.
658         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
659         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
660         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
661         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
662         * tests/unictype/test-pr_uppercase.c: Likewise.
663         * tests/unictype/test-pr_xid_continue.c: Likewise.
664         * tests/unictype/test-pr_xid_start.c: Likewise.
665         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
666         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
667         changes.
668         * lib/unictype/categ_Cc.h: Likewise.
669         * lib/unictype/categ_Cf.h: Likewise.
670         * lib/unictype/categ_Co.h: Likewise.
671         * lib/unictype/categ_Cs.h: Likewise.
672         * lib/unictype/categ_Lt.h: Likewise.
673         * lib/unictype/categ_Nl.h: Likewise.
674         * lib/unictype/categ_Pc.h: Likewise.
675         * lib/unictype/categ_Pd.h: Likewise.
676         * lib/unictype/categ_Pe.h: Likewise.
677         * lib/unictype/categ_Pf.h: Likewise.
678         * lib/unictype/categ_Pi.h: Likewise.
679         * lib/unictype/categ_Ps.h: Likewise.
680         * lib/unictype/categ_Z.h: Likewise.
681         * lib/unictype/categ_Zl.h: Likewise.
682         * lib/unictype/categ_Zp.h: Likewise.
683         * lib/unictype/categ_Zs.h: Likewise.
684         * lib/unictype/ctype_blank.h: Likewise.
685         * lib/unictype/ctype_cntrl.h: Likewise.
686         * lib/unictype/ctype_digit.h: Likewise.
687         * lib/unictype/ctype_space.h: Likewise.
688         * lib/unictype/ctype_xdigit.h: Likewise.
689         * lib/unictype/mirror.h: Likewise.
690         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
691         * lib/unictype/pr_bidi_block_separator.h: Likewise.
692         * lib/unictype/pr_bidi_common_separator.h: Likewise.
693         * lib/unictype/pr_bidi_control.h: Likewise.
694         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
695         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
696         * lib/unictype/pr_bidi_european_digit.h: Likewise.
697         * lib/unictype/pr_bidi_pdf.h: Likewise.
698         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
699         * lib/unictype/pr_bidi_whitespace.h: Likewise.
700         * lib/unictype/pr_dash.h: Likewise.
701         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
702         * lib/unictype/pr_diacritic.h: Likewise.
703         * lib/unictype/pr_extender.h: Likewise.
704         * lib/unictype/pr_hex_digit.h: Likewise.
705         * lib/unictype/pr_hyphen.h: Likewise.
706         * lib/unictype/pr_ids_binary_operator.h: Likewise.
707         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
708         * lib/unictype/pr_ignorable_control.h: Likewise.
709         * lib/unictype/pr_iso_control.h: Likewise.
710         * lib/unictype/pr_join_control.h: Likewise.
711         * lib/unictype/pr_left_of_pair.h: Likewise.
712         * lib/unictype/pr_line_separator.h: Likewise.
713         * lib/unictype/pr_logical_order_exception.h: Likewise.
714         * lib/unictype/pr_non_break.h: Likewise.
715         * lib/unictype/pr_not_a_character.h: Likewise.
716         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
717         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
718         * lib/unictype/pr_other_id_start.h: Likewise.
719         * lib/unictype/pr_other_lowercase.h: Likewise.
720         * lib/unictype/pr_other_uppercase.h: Likewise.
721         * lib/unictype/pr_paired_punctuation.h: Likewise.
722         * lib/unictype/pr_paragraph_separator.h: Likewise.
723         * lib/unictype/pr_pattern_syntax.h: Likewise.
724         * lib/unictype/pr_pattern_white_space.h: Likewise.
725         * lib/unictype/pr_private_use.h: Likewise.
726         * lib/unictype/pr_quotation_mark.h: Likewise.
727         * lib/unictype/pr_radical.h: Likewise.
728         * lib/unictype/pr_soft_dotted.h: Likewise.
729         * lib/unictype/pr_space.h: Likewise.
730         * lib/unictype/pr_titlecase.h: Likewise.
731         * lib/unictype/pr_variation_selector.h: Likewise.
732         * lib/unictype/pr_white_space.h: Likewise.
733         * lib/unictype/pr_zero_width.h: Likewise.
734         * lib/unictype/sy_c_ident.h: Likewise.
735         * lib/unictype/sy_c_whitespace.h: Likewise.
736         * lib/unictype/sy_java_whitespace.h: Likewise.
737         * lib/uninorm/composition-table.gperf: Likewise.
738         * lib/uninorm/decomposition-table1.h: Likewise.
739         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
740         LB8.
741         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
742         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
743         * modules/unictype/*: Bump version number of expected libunistring
744         version.
745
746 2011-01-09  Bruno Haible  <bruno@clisp.org>
747
748         Update to Unicode 5.2.0.
749         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
750         trailing whitespace removed.
751
752 2011-01-09  Bruno Haible  <bruno@clisp.org>
753
754         New Unicode character properties, from Unicode 5.2.0.
755         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
756         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
757         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
758         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
759         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
760         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
761         uc_is_property_cased, uc_is_property_case_ignorable,
762         uc_is_property_changes_when_lowercased,
763         uc_is_property_changes_when_uppercased,
764         uc_is_property_changes_when_titlecased,
765         uc_is_property_changes_when_casefolded,
766         uc_is_property_changes_when_casemapped): New declarations.
767         * lib/unictype/pr_byname.gperf: Add the new properties.
768         * modules/unictype/property-byname (Depends-on): Depend on the new
769         properties modules.
770         * modules/unictype/property-all (Depends-on): Likewise.
771         * MODULES.html.sh (Unicode string functions): Add
772         unictype/property-case-ignorable, unictype/property-cased,
773         unictype/property-changes-when-casefolded,
774         unictype/property-changes-when-casemapped,
775         unictype/property-changes-when-lowercased,
776         unictype/property-changes-when-titlecased,
777         unictype/property-changes-when-uppercased.
778
779         New module 'unictype/property-changes-when-casemapped'.
780         * modules/unictype/property-changes-when-casemapped: New file.
781         * lib/unictype/pr_changes_when_casemapped.c: New file.
782         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
783         generated by gen-uni-tables.
784         * modules/unictype/property-changes-when-casemapped-tests: New file.
785         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
786         automatically generated by gen-uni-tables.
787
788         New module 'unictype/property-changes-when-casefolded'.
789         * modules/unictype/property-changes-when-casefolded: New file.
790         * lib/unictype/pr_changes_when_casefolded.c: New file.
791         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
792         generated by gen-uni-tables.
793         * modules/unictype/property-changes-when-casefolded-tests: New file.
794         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
795         automatically generated by gen-uni-tables.
796
797         New module 'unictype/property-changes-when-titlecased'.
798         * modules/unictype/property-changes-when-titlecased: New file.
799         * lib/unictype/pr_changes_when_titlecased.c: New file.
800         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
801         generated by gen-uni-tables.
802         * modules/unictype/property-changes-when-titlecased-tests: New file.
803         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
804         automatically generated by gen-uni-tables.
805
806         New module 'unictype/property-changes-when-uppercased'.
807         * modules/unictype/property-changes-when-uppercased: New file.
808         * lib/unictype/pr_changes_when_uppercased.c: New file.
809         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
810         generated by gen-uni-tables.
811         * modules/unictype/property-changes-when-uppercased-tests: New file.
812         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
813         automatically generated by gen-uni-tables.
814
815         New module 'unictype/property-changes-when-lowercased'.
816         * modules/unictype/property-changes-when-lowercased: New file.
817         * lib/unictype/pr_changes_when_lowercased.c: New file.
818         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
819         generated by gen-uni-tables.
820         * modules/unictype/property-changes-when-lowercased-tests: New file.
821         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
822         automatically generated by gen-uni-tables.
823
824         New module 'unictype/property-case-ignorable'.
825         * modules/unictype/property-case-ignorable: New file.
826         * lib/unictype/pr_case_ignorable.c: New file.
827         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
828         by gen-uni-tables.
829         * modules/unictype/property-case-ignorable-tests: New file.
830         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
831         generated by gen-uni-tables.
832
833         New module 'unictype/property-cased'.
834         * modules/unictype/property-cased: New file.
835         * lib/unictype/pr_cased.c: New file.
836         * lib/unictype/pr_cased.h: New file, automatically generated by
837         gen-uni-tables.
838         * modules/unictype/property-cased-tests: New file.
839         * tests/unictype/test-pr_cased.c: New file, automatically generated by
840         gen-uni-tables.
841
842 2011-01-09  Bruno Haible  <bruno@clisp.org>
843
844         Update to Unicode 5.2.0.
845         * lib/gen-uni-tables.c (output_predicate, output_category,
846         output_combclass, output_bidi_category, output_decimal_digit_test,
847         output_decimal_digit, output_digit_test, output_digit,
848         output_numeric_test, output_numeric, output_mirror, output_scripts,
849         output_scripts_byname, output_blocks, output_ident_category): Fix
850         comment header.
851         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
852         get_wbp.
853         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
854         items.
855         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
856         Changes_When_Lowercased, Changes_When_Uppercased,
857         Changes_When_Titlecased, Changes_When_Casefolded,
858         Changes_When_Casemapped.
859         (is_property_alphabetic, is_property_default_ignorable_code_point):
860         Update for Unicode 5.2.0.
861         (is_property_cased, is_property_case_ignorable,
862         is_property_changes_when_lowercased,
863         is_property_changes_when_uppercased,
864         is_property_changes_when_titlecased,
865         is_property_changes_when_casefolded,
866         is_property_changes_when_casemapped): New functions.
867         (output_properties): Output also the properties cased, case_ignorable,
868         changes_when_lowercased, changes_when_uppercased,
869         changes_when_titlecased, changes_when_casefolded,
870         changes_when_casemapped.
871         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
872         Unicode TR#11 revision 17 -> 19.
873         (LBP_CP): New enumeration value.
874         (LBP_*): Adjust values accordingly.
875         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
876         TR#14 revision 22 -> 24.
877         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
878         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
879         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
880         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
881         is_WBP_MIDLETTER.
882         (output_composition_tables): Allow for 24 bits instead of 16 bits in
883         the code1 and code2 of each composition rule.
884         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
885         * lib/unicase/ignorable.h: Likewise.
886         * lib/unicase/tocasefold.h: Likewise.
887         * lib/unicase/tolower.h: Likewise.
888         * lib/unicase/totitle.h: Likewise.
889         * lib/unicase/toupper.h: Likewise.
890         * lib/unictype/bidi_of.h: Likewise.
891         * lib/unictype/blocks.h: Likewise.
892         * lib/unictype/categ_C.h: Likewise.
893         * lib/unictype/categ_Cf.h: Likewise.
894         * lib/unictype/categ_Cn.h: Likewise.
895         * lib/unictype/categ_L.h: Likewise.
896         * lib/unictype/categ_Ll.h: Likewise.
897         * lib/unictype/categ_Lm.h: Likewise.
898         * lib/unictype/categ_Lo.h: Likewise.
899         * lib/unictype/categ_Lu.h: Likewise.
900         * lib/unictype/categ_M.h: Likewise.
901         * lib/unictype/categ_Mc.h: Likewise.
902         * lib/unictype/categ_Mn.h: Likewise.
903         * lib/unictype/categ_N.h: Likewise.
904         * lib/unictype/categ_Nd.h: Likewise.
905         * lib/unictype/categ_Nl.h: Likewise.
906         * lib/unictype/categ_No.h: Likewise.
907         * lib/unictype/categ_P.h: Likewise.
908         * lib/unictype/categ_Pd.h: Likewise.
909         * lib/unictype/categ_Po.h: Likewise.
910         * lib/unictype/categ_S.h: Likewise.
911         * lib/unictype/categ_Sc.h: Likewise.
912         * lib/unictype/categ_So.h: Likewise.
913         * lib/unictype/categ_of.h: Likewise.
914         * lib/unictype/combining.h: Likewise.
915         * lib/unictype/ctype_alnum.h: Likewise.
916         * lib/unictype/ctype_alpha.h: Likewise.
917         * lib/unictype/ctype_graph.h: Likewise.
918         * lib/unictype/ctype_lower.h: Likewise.
919         * lib/unictype/ctype_print.h: Likewise.
920         * lib/unictype/ctype_punct.h: Likewise.
921         * lib/unictype/ctype_upper.h: Likewise.
922         * lib/unictype/decdigit.h: Likewise.
923         * lib/unictype/digit.h: Likewise.
924         * lib/unictype/numeric.h: Likewise.
925         * lib/unictype/pr_alphabetic.h: Likewise.
926         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
927         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
928         * lib/unictype/pr_bidi_european_digit.h: Likewise.
929         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
930         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
931         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
932         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
933         * lib/unictype/pr_combining.h: Likewise.
934         * lib/unictype/pr_composite.h: Likewise.
935         * lib/unictype/pr_currency_symbol.h: Likewise.
936         * lib/unictype/pr_dash.h: Likewise.
937         * lib/unictype/pr_decimal_digit.h: Likewise.
938         * lib/unictype/pr_deprecated.h: Likewise.
939         * lib/unictype/pr_diacritic.h: Likewise.
940         * lib/unictype/pr_extender.h: Likewise.
941         * lib/unictype/pr_grapheme_base.h: Likewise.
942         * lib/unictype/pr_grapheme_extend.h: Likewise.
943         * lib/unictype/pr_grapheme_link.h: Likewise.
944         * lib/unictype/pr_id_continue.h: Likewise.
945         * lib/unictype/pr_id_start.h: Likewise.
946         * lib/unictype/pr_ideographic.h: Likewise.
947         * lib/unictype/pr_ignorable_control.h: Likewise.
948         * lib/unictype/pr_logical_order_exception.h: Likewise.
949         * lib/unictype/pr_lowercase.h: Likewise.
950         * lib/unictype/pr_numeric.h: Likewise.
951         * lib/unictype/pr_other_alphabetic.h: Likewise.
952         * lib/unictype/pr_punctuation.h: Likewise.
953         * lib/unictype/pr_sentence_terminal.h: Likewise.
954         * lib/unictype/pr_terminal_punctuation.h: Likewise.
955         * lib/unictype/pr_unassigned_code_value.h: Likewise.
956         * lib/unictype/pr_unified_ideograph.h: Likewise.
957         * lib/unictype/pr_uppercase.h: Likewise.
958         * lib/unictype/pr_xid_continue.h: Likewise.
959         * lib/unictype/pr_xid_start.h: Likewise.
960         * lib/unictype/pr_zero_width.h: Likewise.
961         * lib/unictype/scripts.h: Likewise.
962         * lib/unictype/scripts_byname.gperf: Likewise.
963         * lib/unictype/sy_java_ident.h: Likewise.
964         * lib/unigbrk/gbrkprop.h: Likewise.
965         * lib/unilbrk/lbrkprop1.h: Likewise.
966         * lib/unilbrk/lbrkprop2.h: Likewise.
967         * lib/unilbrk/lbrktables.h: Likewise.
968         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
969         LBP_CP. Implement rule LB30.
970         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
971         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
972         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
973         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
974         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
975         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
976         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
977         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
978         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
979         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
980         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
981         bits instead of 16 bits in the code1 and code2 of each composition
982         rule.
983         (uc_composition): Update for Unicode 5.2.0.
984         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
985         * lib/uninorm/decomposition-table2.h: Likewise.
986         * lib/uniwbrk/wbrkprop.h: Likewise.
987         * tests/unicase/test-cased.c: Likewise.
988         * tests/unicase/test-ignorable.c: Likewise.
989         * tests/unicase/test-uc_tolower.c: Likewise.
990         * tests/unicase/test-uc_totitle.c: Likewise.
991         * tests/unicase/test-uc_toupper.c: Likewise.
992         * tests/unictype/test-categ_C.c: Likewise.
993         * tests/unictype/test-categ_Cf.c: Likewise.
994         * tests/unictype/test-categ_Cn.c: Likewise.
995         * tests/unictype/test-categ_L.c: Likewise.
996         * tests/unictype/test-categ_Ll.c: Likewise.
997         * tests/unictype/test-categ_Lm.c: Likewise.
998         * tests/unictype/test-categ_Lo.c: Likewise.
999         * tests/unictype/test-categ_Lu.c: Likewise.
1000         * tests/unictype/test-categ_M.c: Likewise.
1001         * tests/unictype/test-categ_Mc.c: Likewise.
1002         * tests/unictype/test-categ_Mn.c: Likewise.
1003         * tests/unictype/test-categ_N.c: Likewise.
1004         * tests/unictype/test-categ_Nd.c: Likewise.
1005         * tests/unictype/test-categ_Nl.c: Likewise.
1006         * tests/unictype/test-categ_No.c: Likewise.
1007         * tests/unictype/test-categ_P.c: Likewise.
1008         * tests/unictype/test-categ_Pd.c: Likewise.
1009         * tests/unictype/test-categ_Po.c: Likewise.
1010         * tests/unictype/test-categ_S.c: Likewise.
1011         * tests/unictype/test-categ_Sc.c: Likewise.
1012         * tests/unictype/test-categ_So.c: Likewise.
1013         * tests/unictype/test-ctype_alnum.c: Likewise.
1014         * tests/unictype/test-ctype_alpha.c: Likewise.
1015         * tests/unictype/test-ctype_graph.c: Likewise.
1016         * tests/unictype/test-ctype_lower.c: Likewise.
1017         * tests/unictype/test-ctype_print.c: Likewise.
1018         * tests/unictype/test-ctype_punct.c: Likewise.
1019         * tests/unictype/test-ctype_upper.c: Likewise.
1020         * tests/unictype/test-decdigit.h: Likewise.
1021         * tests/unictype/test-digit.h: Likewise.
1022         * tests/unictype/test-numeric.h: Likewise.
1023         * tests/unictype/test-pr_alphabetic.c: Likewise.
1024         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
1025         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
1026         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
1027         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
1028         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
1029         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
1030         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
1031         * tests/unictype/test-pr_combining.c: Likewise.
1032         * tests/unictype/test-pr_composite.c: Likewise.
1033         * tests/unictype/test-pr_currency_symbol.c: Likewise.
1034         * tests/unictype/test-pr_dash.c: Likewise.
1035         * tests/unictype/test-pr_decimal_digit.c: Likewise.
1036         * tests/unictype/test-pr_deprecated.c: Likewise.
1037         * tests/unictype/test-pr_diacritic.c: Likewise.
1038         * tests/unictype/test-pr_extender.c: Likewise.
1039         * tests/unictype/test-pr_grapheme_base.c: Likewise.
1040         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
1041         * tests/unictype/test-pr_grapheme_link.c: Likewise.
1042         * tests/unictype/test-pr_id_continue.c: Likewise.
1043         * tests/unictype/test-pr_id_start.c: Likewise.
1044         * tests/unictype/test-pr_ideographic.c: Likewise.
1045         * tests/unictype/test-pr_ignorable_control.c: Likewise.
1046         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
1047         * tests/unictype/test-pr_lowercase.c: Likewise.
1048         * tests/unictype/test-pr_numeric.c: Likewise.
1049         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
1050         * tests/unictype/test-pr_punctuation.c: Likewise.
1051         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
1052         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
1053         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
1054         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
1055         * tests/unictype/test-pr_uppercase.c: Likewise.
1056         * tests/unictype/test-pr_xid_continue.c: Likewise.
1057         * tests/unictype/test-pr_xid_start.c: Likewise.
1058         * tests/unictype/test-pr_zero_width.c: Likewise.
1059         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
1060         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
1061         changed behaviour: line breaking is now disallowed between a letter
1062         or '=' and '('.
1063         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
1064         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
1065         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
1066         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
1067         * tests/uniwidth/test-uc_width2.sh: Same updates as in
1068         lib/uniwidth/width.c.
1069         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
1070         without comments, but with the original copyright notice.
1071         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
1072         changes.
1073         * lib/unictype/categ_Cc.h: Likewise.
1074         * lib/unictype/categ_Co.h: Likewise.
1075         * lib/unictype/categ_Cs.h: Likewise.
1076         * lib/unictype/categ_Lt.h: Likewise.
1077         * lib/unictype/categ_Me.h: Likewise.
1078         * lib/unictype/categ_Pc.h: Likewise.
1079         * lib/unictype/categ_Pe.h: Likewise.
1080         * lib/unictype/categ_Pf.h: Likewise.
1081         * lib/unictype/categ_Pi.h: Likewise.
1082         * lib/unictype/categ_Ps.h: Likewise.
1083         * lib/unictype/categ_Sk.h: Likewise.
1084         * lib/unictype/categ_Sm.h: Likewise.
1085         * lib/unictype/categ_Z.h: Likewise.
1086         * lib/unictype/categ_Zl.h: Likewise.
1087         * lib/unictype/categ_Zp.h: Likewise.
1088         * lib/unictype/categ_Zs.h: Likewise.
1089         * lib/unictype/ctype_blank.h: Likewise.
1090         * lib/unictype/ctype_cntrl.h: Likewise.
1091         * lib/unictype/ctype_digit.h: Likewise.
1092         * lib/unictype/ctype_space.h: Likewise.
1093         * lib/unictype/ctype_xdigit.h: Likewise.
1094         * lib/unictype/mirror.h: Likewise.
1095         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1096         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1097         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1098         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1099         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1100         * lib/unictype/pr_bidi_control.h: Likewise.
1101         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1102         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1103         * lib/unictype/pr_bidi_pdf.h: Likewise.
1104         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1105         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1106         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1107         * lib/unictype/pr_format_control.h: Likewise.
1108         * lib/unictype/pr_hex_digit.h: Likewise.
1109         * lib/unictype/pr_hyphen.h: Likewise.
1110         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1111         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1112         * lib/unictype/pr_iso_control.h: Likewise.
1113         * lib/unictype/pr_join_control.h: Likewise.
1114         * lib/unictype/pr_left_of_pair.h: Likewise.
1115         * lib/unictype/pr_line_separator.h: Likewise.
1116         * lib/unictype/pr_math.h: Likewise.
1117         * lib/unictype/pr_non_break.h: Likewise.
1118         * lib/unictype/pr_not_a_character.h: Likewise.
1119         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1120         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1121         * lib/unictype/pr_other_id_continue.h: Likewise.
1122         * lib/unictype/pr_other_id_start.h: Likewise.
1123         * lib/unictype/pr_other_lowercase.h: Likewise.
1124         * lib/unictype/pr_other_math.h: Likewise.
1125         * lib/unictype/pr_other_uppercase.h: Likewise.
1126         * lib/unictype/pr_paired_punctuation.h: Likewise.
1127         * lib/unictype/pr_paragraph_separator.h: Likewise.
1128         * lib/unictype/pr_pattern_syntax.h: Likewise.
1129         * lib/unictype/pr_pattern_white_space.h: Likewise.
1130         * lib/unictype/pr_private_use.h: Likewise.
1131         * lib/unictype/pr_quotation_mark.h: Likewise.
1132         * lib/unictype/pr_radical.h: Likewise.
1133         * lib/unictype/pr_soft_dotted.h: Likewise.
1134         * lib/unictype/pr_space.h: Likewise.
1135         * lib/unictype/pr_titlecase.h: Likewise.
1136         * lib/unictype/pr_variation_selector.h: Likewise.
1137         * lib/unictype/pr_white_space.h: Likewise.
1138         * lib/unictype/sy_c_ident.h: Likewise.
1139         * lib/unictype/sy_c_whitespace.h: Likewise.
1140         * lib/unictype/sy_java_whitespace.h: Likewise.
1141         * modules/uni*/*: Bump version number of expected libunistring version.
1142         Reported by Simon Josefsson.
1143
1144 2011-01-09  Karl Heuer  <kwzh@gnu.org>
1145
1146         useless-if-before-free: fix typo in --help and make the internal,
1147         automatic version date update process work once again.
1148         --help output contained a NUL character instead of the
1149         backslash-zero that was intended.  Also, the "must lie within
1150         the first 8 lines" line is on line 9, and hence not getting
1151         automatically updated.
1152         * build-aux/useless-if-before-free: Fix the former by adding a
1153         backslash, and the latter by condensing the three lines of what-it-does
1154         to a single line, leaving one line of slack for the future.
1155
1156 2011-01-09  Bruno Haible  <bruno@clisp.org>
1157
1158         uniwidth/width: Fix width of U+1D173..U+1D17A.
1159         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
1160         symbolic_width, output_width_property_test): New functions.
1161         (main): Invoke output_nonspacing_property, output_width_property_test.
1162         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
1163         U+1D173..U+1D17A.
1164         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
1165         1.
1166         * modules/uniwidth/*: Bump version number of expected libunistring
1167         version.
1168         * modules/unilbrk/*: Likewise.
1169
1170 2011-01-08  Bruno Haible  <bruno@clisp.org>
1171
1172         uninorm tests: Preserve copyright of Unicode data file.
1173         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
1174         Mention modifications.
1175
1176 2011-01-08  Bruno Haible  <bruno@clisp.org>
1177
1178         gen-uni-tables: Prepare for Unicode 5.2.0.
1179         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
1180         (debug_output_lbp, output_lbp): Update.
1181
1182 2011-01-08  Bruno Haible  <bruno@clisp.org>
1183
1184         unilbrk: Clarify gen-uni-tables.c code.
1185         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
1186         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
1187         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
1188
1189 2011-01-07  Bruno Haible  <bruno@clisp.org>
1190
1191         strtod: Restore errno when successfully parsing Infinity or NaN.
1192         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
1193         restore the original errno.
1194
1195 2011-01-07  Bruno Haible  <bruno@clisp.org>
1196
1197         remove test: Avoid failure on HP-UX 11.
1198         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
1199
1200 2011-01-07  Bruno Haible  <bruno@clisp.org>
1201
1202         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
1203         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
1204         error code.
1205
1206 2011-01-07  Pádraig Brady <P@draigBrady.com>
1207
1208         ignore-value: fixup comments, and add Eric Blake
1209         as an author since he rewrote the macros.
1210         * lib/ignore-value.h (ignore_value):  State that
1211         we now support aggregates.  Also specify exactly
1212         when the GCC warn_unused_result feature was added.
1213
1214 2011-01-06  Eric Blake  <eblake@redhat.com>
1215
1216         ignore-value: support aggregate types
1217         * lib/ignore-value.h (ignore_value): Provide separate gcc
1218         definition.
1219         * modules/ignore-value-tests: New test module.
1220         * tests/test-ignore-value.c: New test.
1221
1222         maint.mk: improve sc_prohibit_strcmp regex
1223         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
1224         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
1225         definition of STRNEQ.
1226
1227         signal: work around Haiku issue with SIGBUS
1228         * lib/siglist.h: Add comment.
1229         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
1230         strsignal's favoring of SIGSEGV.
1231         * tests/test-signal.c (main): Avoid test failure.
1232         * doc/posix-headers/signal.texi (signal.h): Document the issue.
1233         Reported by Scott McCreary.
1234
1235         maint.mk: add pre-release check to ensure submodule commits are public
1236         * top/maint.mk (public-submodule-commit): New rule.
1237         (submodule-checks): New variable.
1238         (alpha beta stable): Depend on the variable.
1239
1240 2011-01-05  Pádraig Brady <P@draigBrady.com>
1241         and Jim Meyering  <meyering@redhat.com>
1242
1243         ignore-value: make ignore_value more generic; deprecate ignore_ptr
1244         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
1245         (ATTRIBUTE_DEPRECATED): Define.
1246         (_ignore_case): New function.
1247         (ignore_value): New macro, to replace the old function.
1248         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
1249         * modules/ignore-value (Depends-on): Add stdint.
1250
1251 2011-01-04  Eric Blake  <eblake@redhat.com>
1252
1253         doc: regenerate INSTALL
1254         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
1255         @firstparagraphindent support, now that autoconf dropped it.
1256         (INSTALL_PRELUDE): Reinstate old macro.
1257         * doc/install.texi: Resync from autoconf.
1258         * doc/INSTALL: Reflect recent autoconf update.
1259         * doc/INSTALL.ISO: Likewise.
1260         * doc/INSTALL.UTF-8: Likewise.
1261         Reported by Karl Berry.
1262
1263 2011-01-04  Bruce Korb  <address@hidden>
1264
1265         git-version-gen: avoid a sub-shell
1266         * build-aux/git-version-gen: Redirect stderr in `...` via
1267         "exec 2>...", rather than via an added sub-shell.
1268
1269 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
1270
1271         git-version-gen: use (...) rather than sh -c '...'
1272         * build-aux/git-version-gen: Rather than hard-coding a shell's name
1273         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
1274
1275 2011-01-03  Jim Meyering  <meyering@redhat.com>
1276
1277         git-version-gen: convert leading TABs to spaces
1278         * build-aux/git-version-gen: Expand leading TABs.
1279
1280         git-version-gen: handle failed "git rev-list"
1281         * build-aux/git-version-gen: Rather than leaking a "fatal" error
1282         from git and proceeding as if it had succeeded but printed no SHA1
1283         checksums, suppress the diagnostic and handle the failure.
1284         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
1285
1286         git-version-gen: include command name in one more diagnostic
1287         * build-aux/git-version-gen: When the required .tarball-version file
1288         was missing or unreadable, you might see the diagnostic from "cat",
1289         but no trace of the name of the invoking script.  Now, you still see
1290         the diagnostic from cat, but also get one from "git-version-gen: ".
1291         Inspired by a patch from Bruce Korb.
1292
1293         update-copyright: adjust test to match changed code
1294         * tests/test-update-copyright.sh: Change test's expected output
1295         to match new actual output.
1296
1297 2011-01-02  Bruno Haible  <bruno@clisp.org>
1298
1299         getlogin_r: Avoid test failure on HP-UX 11.
1300         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
1301         ERANGE when the second argument is zero.
1302         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
1303         portability problem.
1304
1305 2011-01-02  Bruce Korb  <bkorb@gnu.org>
1306
1307         * build-aux/update-copyright: doc Simon's changes
1308
1309 2011-01-02  Simon Josefsson  <simon@josefsson.org>
1310
1311         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
1312         environment variable.
1313
1314 2011-01-02  Bruno Haible  <bruno@clisp.org>
1315
1316         unigbrk: Avoid gcc warnings.
1317         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
1318         unused variable.
1319         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
1320         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
1321         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
1322         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
1323         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
1324         Change type of first argument to 'const char *'.
1325         (main): Remove unused variable.
1326         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
1327         type of first argument to 'const char *'.
1328         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
1329         Likewise.
1330         (main): Change type of variable 's'.
1331         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
1332         to 'int'.
1333
1334 2011-01-02  Bruno Haible  <bruno@clisp.org>
1335
1336         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
1337         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
1338         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
1339         bug.
1340         * lib/pwrite.c: Undo 2010-12-31 patch.
1341         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
1342
1343 2011-01-02  Bruno Haible  <bruno@clisp.org>
1344
1345         pread: Fix test whether it works.
1346         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
1347
1348 2011-01-02  Bruno Haible  <bruno@clisp.org>
1349
1350         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
1351         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
1352         ends in "6". Don't require a specific month name. Try also the locale
1353         names found on HP-UX 11 and Solaris 7.
1354
1355 2011-01-02  Bruno Haible  <bruno@clisp.org>
1356
1357         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
1358         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
1359         C linkage.
1360         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
1361
1362 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
1363
1364         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
1365         for consistency, since the "cluster" term is not used elsewhere.
1366         * lib/unigbrk.in.h: Update name.
1367         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
1368         * lib/unigbrk/u16-grapheme-next.c: Update name.
1369         * lib/unigbrk/u16-grapheme-prev.c: Update name.
1370         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
1371         * lib/unigbrk/u32-grapheme-next.c: Update name.
1372         * lib/unigbrk/u32-grapheme-prev.c: Update name.
1373         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
1374         * lib/unigbrk/u8-grapheme-next.c: Update name.
1375         * lib/unigbrk/u8-grapheme-prev.c: Update name.
1376         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
1377         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
1378         Suggested by Bruno Haible.
1379
1380 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
1381
1382         Remove module 'u8-grapheme-len' as too redundant with
1383         'u8-grapheme-next'.
1384         * modules/unigbrk/u8-grapheme-len: Delete file.
1385         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
1386         * lib/unigbrk.in.h: Remove prototype for deleted function.
1387         * lib/unigbrk/u8-grapheme-len.c: Delete file.
1388         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
1389
1390         Remove module 'u16-grapheme-len' as too redundant with
1391         'u16-grapheme-next'.
1392         * modules/unigbrk/u16-grapheme-len: Delete file.
1393         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
1394         * lib/unigbrk.in.h: Remove prototype for deleted function.
1395         * lib/unigbrk/u16-grapheme-len.c: Delete file.
1396         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
1397
1398         Remove module 'u32-grapheme-len' as too redundant with
1399         'u32-grapheme-next'.
1400         * modules/unigbrk/u32-grapheme-len: Delete file.
1401         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
1402         * lib/unigbrk.in.h: Remove prototype for deleted function.
1403         * lib/unigbrk/u32-grapheme-len.c: Delete file.
1404         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
1405
1406         Suggested by Bruno Haible.
1407
1408 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
1409
1410         * unigbrk.in.h: Fix typo: "ben" => "been".
1411         Reported by Bruno Haible.
1412
1413 2011-01-01  Jim Meyering  <meyering@redhat.com>
1414
1415         maint: update almost all copyright ranges to include 2011
1416         Run the new "make update-copyright" rule.
1417
1418 2011-01-01  Jim Meyering  <meyering@redhat.com>
1419
1420         maint: update-copyright: exempt doc/INSTALL*
1421         * Makefile (update-copyright): Also exclude doc/INSTALL*,
1422         since they are generated.  Suggested by Bruno Haible.
1423
1424 2011-01-01  Jim Meyering  <meyering@redhat.com>
1425
1426         maint: refine the update-copyright rule
1427         * Makefile (update-copyright): Also exclude any file that includes
1428         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
1429         code that merely generates the comment.
1430
1431 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
1432
1433         New module 'u8-grapheme-len'.
1434         * modules/unigbrk/u8-grapheme-len: New file.
1435         * modules/unigbrk/u8-grapheme-len-tests: New file.
1436         * lib/unigbrk.in.h: Add prototype for new function.
1437         * lib/unigbrk/u8-grapheme-len.c: New file.
1438         * tests/unigbrk/test-u8-grapheme-len.c: New file.
1439
1440         New module 'u16-grapheme-len'.
1441         * modules/unigbrk/u16-grapheme-len: New file.
1442         * modules/unigbrk/u16-grapheme-len-tests: New file.
1443         * lib/unigbrk.in.h: Add prototype for new function.
1444         * lib/unigbrk/u16-grapheme-len.c: New file.
1445         * tests/unigbrk/test-u16-grapheme-len.c: New file.
1446
1447         New module 'u32-grapheme-len'.
1448         * modules/unigbrk/u32-grapheme-len: New file.
1449         * modules/unigbrk/u32-grapheme-len-tests: New file.
1450         * lib/unigbrk.in.h: Add prototype for new function.
1451         * lib/unigbrk/u32-grapheme-len.c: New file.
1452         * tests/unigbrk/test-u32-grapheme-len.c: New file.
1453
1454         New module 'u8-grapheme-next'.
1455         * modules/unigbrk/u8-grapheme-next: New file.
1456         * modules/unigbrk/u8-grapheme-next-tests: New file.
1457         * lib/unigbrk.in.h: Add prototype for new function.
1458         * lib/unigbrk/u8-grapheme-next.c: New file.
1459         * tests/unigbrk/test-u8-grapheme-next.c: New file.
1460
1461         New module 'u16-grapheme-next'.
1462         * modules/unigbrk/u16-grapheme-next: New file.
1463         * modules/unigbrk/u16-grapheme-next-tests: New file.
1464         * lib/unigbrk.in.h: Add prototype for new function.
1465         * lib/unigbrk/u16-grapheme-next.c: New file.
1466         * tests/unigbrk/test-u16-grapheme-next.c: New file.
1467
1468         New module 'u32-grapheme-next'.
1469         * modules/unigbrk/u32-grapheme-next: New file.
1470         * modules/unigbrk/u32-grapheme-next-tests: New file.
1471         * lib/unigbrk.in.h: Add prototype for new function.
1472         * lib/unigbrk/u32-grapheme-next.c: New file.
1473         * tests/unigbrk/test-u32-grapheme-next.c: New file.
1474
1475         New module 'u8-grapheme-prev'.
1476         * modules/unigbrk/u8-grapheme-prev: New file.
1477         * modules/unigbrk/u8-grapheme-prev-tests: New file.
1478         * lib/unigbrk.in.h: Add prototype for new function.
1479         * lib/unigbrk/u8-grapheme-prev.c: New file.
1480         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
1481
1482         New module 'u16-grapheme-prev'.
1483         * modules/unigbrk/u16-grapheme-prev: New file.
1484         * modules/unigbrk/u16-grapheme-prev-tests: New file.
1485         * lib/unigbrk.in.h: Add prototype for new function.
1486         * lib/unigbrk/u16-grapheme-prev.c: New file.
1487         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
1488
1489         New module 'u32-grapheme-prev'.
1490         * modules/unigbrk/u32-grapheme-prev: New file.
1491         * modules/unigbrk/u32-grapheme-prev-tests: New file.
1492         * lib/unigbrk.in.h: Add prototype for new function.
1493         * lib/unigbrk/u32-grapheme-prev.c: New file.
1494         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
1495
1496         New module 'u8-grapheme-breaks'.
1497         * modules/unigbrk/u8-grapheme-breaks: New file.
1498         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
1499         * lib/unigbrk.in.h: Add prototype for new function.
1500         * lib/unigbrk/u8-grapheme-breaks.c: New file.
1501         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
1502
1503         New module 'u16-grapheme-breaks'.
1504         * modules/unigbrk/u16-grapheme-breaks: New file.
1505         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
1506         * lib/unigbrk.in.h: Add prototype for new function.
1507         * lib/unigbrk/u16-grapheme-breaks.c: New file.
1508         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
1509
1510         New module 'u32-grapheme-breaks'.
1511         * modules/unigbrk/u32-grapheme-breaks: New file.
1512         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
1513         * lib/unigbrk.in.h: Add prototype for new function.
1514         * lib/unigbrk/u32-grapheme-breaks.c: New file.
1515         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
1516
1517         New module 'ulc-grapheme-breaks'.
1518         * modules/unigbrk/ulc-grapheme-breaks: New file.
1519         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
1520         * m4/locale-ar.m4: New file.
1521         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
1522         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
1523         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
1524
1525 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
1526
1527         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
1528         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
1529         modified how this file was generated before I initially submitted
1530         the module, but failed to regenerate it.  This meant that several
1531         of the level2 entries were wrong.
1532         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
1533         Remove the division-by-2 that is folded into the table now that
1534         gbrkprop.h has been regenerated properly.  Now -1 entries are
1535         handled correctly.
1536
1537         New module 'unigbrk/uc-gbrk-prop-tests'.
1538         * modules/unigbrk/uc-gbrk-prop-tests: New file.
1539         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
1540         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
1541         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
1542
1543 2011-01-01  Bruno Haible  <bruno@clisp.org>
1544
1545         Avoid use of hexadecimal escapes.
1546         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
1547         instead of hexadecimal escapes.
1548
1549 2011-01-01  Jim Meyering  <meyering@redhat.com>
1550
1551         maint: new rule to update copyright year ranges
1552         * Makefile (update-copyright): New rule.
1553
1554         maint: indent with TABs in Makefile
1555         * Makefile: Expand leading sequences of spaces to TABs
1556
1557         version-etc: update the copyright year it reports
1558         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
1559
1560 2010-12-31  Bruno Haible  <bruno@clisp.org>
1561
1562         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
1563         * lib/isfinite.c (zerof, zerod, zerol): New variables.
1564         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
1565         zero.
1566
1567 2010-12-31  Bruno Haible  <bruno@clisp.org>
1568
1569         pwrite: Work around HP-UX 11.11 bug.
1570         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
1571         works and set REPLACE_PWRITE if not.
1572         * lib/pwrite.c (pwrite): Add an implementation that uses the system
1573         function.
1574         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
1575
1576 2010-12-31  Bruno Haible  <bruno@clisp.org>
1577
1578         pread: Work around HP-UX 11 bugs.
1579         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
1580         and set REPLACE_PREAD if not.
1581         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
1582
1583 2010-12-31  Eric Blake  <eblake@redhat.com>
1584
1585         nl_langinfo: fix YESEXPR on Irix 6.5
1586         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
1587         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
1588         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
1589         it.
1590
1591 2010-12-31  Bruno Haible  <bruno@clisp.org>
1592
1593         iconv: Document HP-UX 11 bug.
1594         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
1595
1596 2010-12-31  Bruno Haible  <bruno@clisp.org>
1597
1598         ldexpl: Fix link error on HP-UX 11.
1599         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
1600         LDEXPL_LIBM, using $ISNANL_LIBM.
1601
1602 2010-12-31  Eric Blake  <eblake@redhat.com>
1603
1604         ftello: avoid compilation failure with SunStudio c89
1605         * lib/ftello.c (ftello): Use lseek, not llseek.
1606
1607         tests: avoid failing coreutils tests on cygwin
1608         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
1609         (create_exe_shims_): Return 0 when skipping.
1610
1611 2010-12-31  Bruno Haible  <bruno@clisp.org>
1612
1613         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
1614         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
1615
1616 2010-12-31  Bruno Haible  <bruno@clisp.org>
1617
1618         waitpid: Fix link error in C++ mode.
1619         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
1620
1621 2010-12-31  Bruno Haible  <bruno@clisp.org>
1622
1623         isnan: Use GCC built-ins when possible.
1624         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
1625         __builtin_isnan.
1626         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
1627         (isnan): Define using GCC built-ins for GCC >= 4.0.
1628
1629 2010-12-31  Bruno Haible  <bruno@clisp.org>
1630
1631         isnand: Fix mistake.
1632         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
1633         __builtin_isnand.
1634
1635 2010-12-31  Bruno Haible  <bruno@clisp.org>
1636
1637         open: Avoid C++ error on HP-UX 11.
1638         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
1639
1640 2010-12-31  Bruno Haible  <bruno@clisp.org>
1641
1642         time_r: Add missing declarations on HP-UX 11.
1643         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
1644         instead of HAVE_LOCALTIME_R.
1645         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
1646         HAVE_LOCALTIME_R always.
1647         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
1648         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
1649         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
1650         HAVE_LOCALTIME_R.
1651         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
1652         * doc/posix-functions/localtime_r.texi: Likewise.
1653
1654 2010-12-29  Eric Blake  <eblake@redhat.com>
1655
1656         mountlist: tweak previous commit
1657         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
1658         Reported by Paul Eggert.
1659
1660         mountlist: fix local drive detection on cygwin
1661         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
1662         that works for cygwin.
1663
1664 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1665
1666         ftoastr, snprintf: ftoastr + snprintf module
1667         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
1668         since the snprintf module now should be good enough here.
1669         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
1670         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
1671         and gl_MODULE_INDICATOR([snprintf]), but the former enables
1672         GNULIB_SNPRINTF only for the test directory, and the latter
1673         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
1674         seems to suffice by itself.
1675
1676 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1677
1678         alloca: one step towards thread-safety
1679         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
1680         need for a static variable.  All callers changed.  This does not
1681         make the alloca replacement thread-safe, but it's one step.
1682
1683         tests: minor indenting change
1684         * tests/init.sh: Sync from coreutils housekeeping patch
1685         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
1686         to keep lines within 80 columns.
1687
1688 2010-12-28  Jim Meyering  <meyering@redhat.com>
1689
1690         regex: don't infloop on persistent failing calloc
1691         * lib/regexec.c (build_trtable): Return failure indication upon
1692         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
1693         In glibc, this was fixed for version 2.13:
1694         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
1695
1696 2010-12-28  Bruno Haible  <bruno@clisp.org>
1697             Paul Eggert <eggert@cs.ucla.edu>
1698
1699         linkat: Make implementation robust against system behaviour variations.
1700         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
1701         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
1702         way, and to -2 if it needs a generic runtime test.
1703         * lib/linkat.c (solaris_optimized_link_immediate,
1704         solaris_optimized_link_follow): New functions.
1705         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
1706         (check_same_link): Use it.
1707
1708 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
1709
1710         New module 'unigbrk/base'.
1711         * modules/unigbrk/base: New file.
1712         * lib/unigbrk.in.h: New file.
1713
1714         New module 'unigbrk/uc-gbrk-prop'.
1715         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
1716         * modules/unigbrk/uc-gbrk-prop: New file.
1717         * lib/unigbrk/gbrkprop.h: New file.
1718         * lib/unigbrk/uc-gbrk-prop.c: New file.
1719
1720         New module 'unigbrk/uc-is-grapheme-break'.
1721         * modules/unigbrk/uc-is-grapheme-break: New file.
1722         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
1723         * lib/unigbrk/uc-is-grapheme-break.c: New file.
1724         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
1725         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
1726         * tests/unigbrk/GraphemeBreakTest.txt: New file.
1727
1728         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
1729
1730 2010-12-27  Bruno Haible  <bruno@clisp.org>
1731
1732         linkat test: Avoid failure on Solaris 11 2010-11.
1733         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
1734
1735 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1736
1737         utimens: work around glibc rounding bug on more platforms
1738         * lib/utimens.c (fdutimens): Work around rounding bug even if
1739         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
1740         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
1741
1742 2010-12-27  Bruno Haible  <bruno@clisp.org>
1743
1744         select tests: Improve comments.
1745         * tests/test-select.c (do_select): Add comments.
1746
1747 2010-12-27  Bruno Haible  <bruno@clisp.org>
1748
1749         select tests: Safer way of handling timeout.
1750         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
1751         at every invocation.
1752
1753 2010-12-27  Bruno Haible  <bruno@clisp.org>
1754
1755         select tests: Use 'bool' where appropriate.
1756         * tests/test-select.c (connect_to_socket): Change argument type to
1757         'bool'.
1758
1759 2010-12-27  Bruno Haible  <bruno@clisp.org>
1760
1761         select tests: Use existing modules.
1762         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
1763         (configure.ac): Don't test for unistd.h.
1764         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
1765         declared in <unistd.h>.
1766
1767 2010-12-27  Bruno Haible  <bruno@clisp.org>
1768
1769         mbrtowc: Work around a Solaris 7 bug.
1770         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
1771         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
1772         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
1773         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
1774         MBRTOWC_NULL_ARG1_BUG.
1775         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
1776         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
1777         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
1778         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
1779
1780 2010-12-27  Jim Meyering  <meyering@redhat.com>
1781
1782         read-file.c: tweak syntax
1783         * lib/read-file.c (fread_file): Remove space after "*" in function
1784         definitions.
1785
1786 2010-12-27  Bruno Haible  <bruno@clisp.org>
1787
1788         times test: Avoid gcc warnings on OSF/1.
1789         * tests/test-times.c (main): Cast printf arguments from clock_t to
1790         'long int'.
1791
1792 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1793
1794         utimens: work around glibc rounding bug on older Linux kernels
1795         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
1796         on Linux with a glibc whose utimes might not work, then work
1797         around a longstanding glibc bug involving rounding rather than
1798         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
1799         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
1800
1801 2010-12-26  Bruno Haible  <bruno@clisp.org>
1802
1803         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
1804         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
1805         _GL_CXXALIAS_SYS.
1806         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
1807
1808 2010-12-26  Bruno Haible  <bruno@clisp.org>
1809
1810         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
1811         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
1812         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
1813         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
1814         looking for the declaration.
1815         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
1816         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
1817         problem.
1818         * doc/posix-functions/inet_pton.texi: Likewise.
1819
1820 2010-12-26  Bruno Haible  <bruno@clisp.org>
1821
1822         arpa_inet: Use the common idioms with C++ support.
1823         * lib/arpa_inet.in.h: Include c++defs.h.
1824         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
1825         support.
1826         * modules/arpa_inet (Depends-on): Add c++defs.
1827         (Makefile.am): Substitute the contents of c++defs.h.
1828         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
1829         * modules/arpa_inet-c++-tests: New file.
1830         * tests/test-arpa_inet-c++.cc: New file.
1831
1832 2010-12-25  Bruno Haible  <bruno@clisp.org>
1833
1834         Fix more C++ link errors on Solaris 8.
1835         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
1836         $(LIB_EACCESS).
1837         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
1838         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
1839         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
1840         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
1841         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
1842
1843 2010-12-25  Bruno Haible  <bruno@clisp.org>
1844
1845         printf-posix: Fix link error when a non-GCC compiler is used.
1846         * lib/stdio.in.h (printf): When not using GCC, override printf
1847         correctly.
1848         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
1849
1850 2010-12-25  Bruno Haible  <bruno@clisp.org>
1851
1852         strerror_r-posix: Update doc.
1853         * doc/posix-functions/strerror_r.texi: Update doc about the return
1854         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
1855
1856 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1857
1858         utimens: simplify the logic of the previous change
1859         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
1860         This should not affect whether the test succeeds or fails.
1861
1862         utimens: configure better on hosts with NFS clock skew
1863         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
1864         uses the clock of the local host.  It might use the clock of the
1865         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
1866         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
1867
1868 2010-12-25  Bruno Haible  <bruno@clisp.org>
1869
1870         ptsname test: Avoid failure on Solaris.
1871         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
1872         open a pseudo-terminal; don't use BSD-style ptys.
1873         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
1874
1875 2010-12-25  Bruno Haible  <bruno@clisp.org>
1876
1877         ptsname: Avoid ERANGE failure on some systems.
1878         * lib/ptsname.c (buffer): Increase size.
1879
1880 2010-12-25  Bruno Haible  <bruno@clisp.org>
1881
1882         rename, renameat: Avoid test failures at NFS mounted locations.
1883         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
1884         so that subsequent mkdir calls succeed.
1885
1886 2010-12-25  Bruno Haible  <bruno@clisp.org>
1887
1888         iswblank: Fix C++ link error on Solaris 8.
1889         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
1890         _GL_FUNCDECL_SYS.
1891
1892 2010-12-25  Bruno Haible  <bruno@clisp.org>
1893
1894         unistd: Fix C++ link error on Solaris 8.
1895         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
1896
1897 2010-12-25  Bruno Haible  <bruno@clisp.org>
1898
1899         readlink doc: Mention an old glibc bug.
1900         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
1901
1902 2010-12-25  Bruno Haible  <bruno@clisp.org>
1903
1904         fcntl-h: Fix for use of C++ on glibc systems.
1905         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
1906         also on glibc systems in C++ mode.
1907         Reported by Gary V. Vaughan <gary@gnu.org>.
1908
1909 2010-12-25  Bruno Haible  <bruno@clisp.org>
1910
1911         roundl-ieee: Make it work on OSF/1 5.1 with cc.
1912         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
1913
1914 2010-12-25  Bruno Haible  <bruno@clisp.org>
1915
1916         truncl-ieee: Make it work on OSF/1 5.1 with cc.
1917         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
1918         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
1919         test whether truncl works according to ISO C 99 with IEC 60559.
1920         * m4/truncl-ieee.m4: New file.
1921         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
1922         m4/signbit.m4.
1923         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
1924
1925 2010-12-25  Bruno Haible  <bruno@clisp.org>
1926
1927         ceill-ieee: Make it work on OSF/1 5.1 with cc.
1928         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
1929         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
1930         test whether ceill works according to ISO C 99 with IEC 60559.
1931         * m4/ceill-ieee.m4: New file.
1932         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
1933         m4/signbit.m4.
1934         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
1935
1936 2010-12-25  Bruno Haible  <bruno@clisp.org>
1937
1938         Ensure all prerequisites of <wchar.h> are included.
1939         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
1940         before <wchar.h>.
1941         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
1942         gl_MBRLEN_NUL_RETVAL): Likewise.
1943         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
1944         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
1945         AC_FUNC_MBRTOWC): Likewise.
1946         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1947         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1948         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1949         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
1950         Likewise.
1951         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1952         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
1953         (gl_WCHAR_H): Improve comments.
1954         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1955
1956 2010-12-25  Bruno Haible  <bruno@clisp.org>
1957
1958         strtok_r: Fix C syntax error in autoconf macro.
1959         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
1960         characters in test program.
1961
1962 2010-12-24  Bruno Haible  <bruno@clisp.org>
1963
1964         ceil, trunc, round: Fix gcc warnings.
1965         * lib/ceil.c (MIN): Undefine before redefining.
1966         * lib/trunc.c (MIN): Likewise.
1967         * lib/round.c (MIN): Likewise.
1968         Include <math.h> first.
1969
1970 2010-12-24  Bruno Haible  <bruno@clisp.org>
1971
1972         select tests: Avoid failures on OSF/1 5.1.
1973         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
1974         failure of closing the last socket; it may fail with ECONNRESET.
1975
1976 2010-12-24  Eric Blake  <eblake@redhat.com>
1977
1978         stdint: avoid HP-UX 10.20 preprocessor bug
1979         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
1980         than #if.
1981         * tests/test-floor2.c (main): Likewise.
1982         Reported by Peter O'Gorman.
1983
1984         pipe: make obsoletion transition easier
1985         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
1986         * modules/pipe (Files): Include revived file.
1987         (Include): Drop reference, to mirror getdate's behavior.
1988
1989 2010-12-24  Bruno Haible  <bruno@clisp.org>
1990
1991         sys_socket: Hide mismatch of declarations on NonStop Kernel.
1992         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
1993         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
1994         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
1995
1996 2010-12-24  Bruno Haible  <bruno@clisp.org>
1997
1998         gethostname: Ensure declaration on NonStop Kernel.
1999         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
2000         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2001
2002 2010-12-24  Bruno Haible  <bruno@clisp.org>
2003
2004         sys_select: Ensure all necessary types on NonStop Kernel.
2005         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
2006         include <sys/time.h>.
2007         * doc/posix-headers/sys_select.texi: Mention that it's missing on
2008         NonStop Kernel.
2009         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2010
2011 2010-12-24  Bruno Haible  <bruno@clisp.org>
2012
2013         sys_select: Remove unneeded include.
2014         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
2015         have <sys/select.h>.
2016
2017 2010-12-24  Bruno Haible  <bruno@clisp.org>
2018
2019         gethostname: Provide a fallback for HOST_NAME_MAX.
2020         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
2021         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
2022         instead.
2023         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2024
2025 2010-12-24  Bruno Haible  <bruno@clisp.org>
2026
2027         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
2028         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
2029         (SA_RESTART): Likewise.
2030         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2031
2032 2010-12-24  Bruno Haible  <bruno@clisp.org>
2033
2034         signal: Define NSIG.
2035         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
2036         * tests/test-signal.c (nsig): New variable.
2037         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2038
2039 2010-12-24  Bruno Haible  <bruno@clisp.org>
2040
2041         rename, renameat: Avoid test failures on OSF/1 5.1.
2042         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
2043         alternative error codes.
2044         * tests/test-renameat.c (main): Likewise.
2045
2046 2010-12-24  Bruno Haible  <bruno@clisp.org>
2047
2048         *printf: Detect large precisions bug on Solaris 10/SPARC.
2049         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
2050         by Paul Eggert.
2051         * tests/test-snprintf-posix.h (test_function): Add this test code here
2052         too.
2053         * tests/test-sprintf-posix.h (test_function): Likewise.
2054         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2055         * tests/test-vasprintf-posix.c (test_function): Likewise.
2056         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
2057         around by gnulib.
2058         * doc/posix-functions/printf.texi: Likewise.
2059         * doc/posix-functions/snprintf.texi: Likewise.
2060         * doc/posix-functions/sprintf.texi: Likewise.
2061         * doc/posix-functions/vfprintf.texi: Likewise.
2062         * doc/posix-functions/vprintf.texi: Likewise.
2063         * doc/posix-functions/vsnprintf.texi: Likewise.
2064         * doc/posix-functions/vsprintf.texi: Likewise.
2065         * doc/posix-functions/dprintf.texi: Undo last commit.
2066         * doc/posix-functions/vdprintf.texi: Likewise.
2067
2068 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2069
2070         tests: port test-fdutimensat.c to Solaris 8
2071         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
2072         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
2073         On Solaris 8, it fails with errno == ENOSYS, because there is no
2074         futimens (so it can't use the fd), and there is no lutimens (so it
2075         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
2076
2077         vsnprintf: make more consistent with snprintf; doc fixes
2078
2079         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
2080         the byte count return problem was promoted from the snprintf-posix
2081         to the snprintf module.
2082         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
2083         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
2084         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
2085         * tests/test-snprintf.c (main): Check the byte count returned.
2086         * tests/test-vsnprintf.c (main): Likewise.
2087
2088 2010-12-23  Eric Blake  <eblake@redhat.com>
2089
2090         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
2091         * modules/sigpipe (License): Relax license.
2092
2093 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
2094
2095         doc: document Solaris printf bug with large float precisions
2096         * doc/posix-functions/dprintf.texi (dprintf):
2097         * doc/posix-functions/fprintf.texi (fprintf):
2098         * doc/posix-functions/printf.texi (printf):
2099         * doc/posix-functions/snprintf.texi (snprintf):
2100         * doc/posix-functions/sprintf.texi (sprintf):
2101         * doc/posix-functions/vdprintf.texi (vdprintf):
2102         * doc/posix-functions/vfprintf.texi (vfprintf):
2103         * doc/posix-functions/vprintf.texi (vprintf):
2104         * doc/posix-functions/vsnprintf.texi (vsnprintf):
2105         * doc/posix-functions/vsprintf.texi (vsprintf):
2106         Mention that these functions mishandle large floating point
2107         precisions on Solaris 10.  The same bug is also present in Solaris
2108         8, and I assume earlier.  This causes "cd gnulib-tests; make
2109         check" to fail on Solaris 8 (and I assume, later) when building
2110         the latest coreutils, in test-vasprintf-posix's call to
2111         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
2112         the wide flavors (e.g., wprintf) so this patch just updates the
2113         documentation for the narrow ones.
2114
2115         test-posixtm.c: add two tests
2116         * tests/test-posixtm.c: Add two tests, to highlight the
2117         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
2118         around this bug; this is merely to document it.
2119
2120 2010-12-22  Bruno Haible  <bruno@clisp.org>
2121
2122         getlogin_r: Work around portability problem on OSF/1.
2123         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
2124         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
2125         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
2126         test for a truncated result.
2127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
2128         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
2129         * modules/getlogin_r (Depends-on): Add memchr.
2130         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
2131
2132 2010-12-22  Bruno Haible  <bruno@clisp.org>
2133
2134         ptsname: Avoid test failure on OSF/1 5.1.
2135         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
2136         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
2137         (same_slave): New function.
2138         (main): Use it to compare ptsname's result with the expected file name.
2139
2140 2010-12-22  Bruno Haible  <bruno@clisp.org>
2141
2142         Port extended stdio modules to HP NonStop Kernel.
2143         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
2144         macros.
2145         * lib/fbufmode.c: Update comments.
2146         * lib/fflush.c: Likewise.
2147         * lib/fpurge.c: Likewise.
2148         * lib/freadable.c: Likewise.
2149         * lib/freadahead.c: Likewise.
2150         * lib/freading.c: Likewise.
2151         * lib/freadptr.c: Likewise.
2152         * lib/freadseek.c: Likewise.
2153         * lib/fseeko.c: Likewise.
2154         * lib/fseterr.c: Likewise.
2155         * lib/fwritable.c: Likewise.
2156         * lib/fwriting.c: Likewise.
2157         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2158
2159 2010-12-22  Bruno Haible  <bruno@clisp.org>
2160
2161         ttyname_r: Work around bug on OSF/1 5.1.
2162         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
2163         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
2164         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
2165         present.
2166         * lib/ttyname_r.c (ttyname_r): Update comments.
2167
2168 2010-12-22  Bruno Haible  <bruno@clisp.org>
2169
2170         round: Implement result sign according to IEEE 754.
2171         * lib/round.c (MIN, MINUS_ZERO): New macros.
2172         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
2173         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
2174         * tests/test-round-ieee.c (main): Likewise.
2175         * tests/test-roundl-ieee.c (main): Likewise.
2176
2177         trunc: Implement result sign according to IEEE 754.
2178         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
2179         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
2180         * tests/test-trunc2.c: Include minus-zero.h.
2181         (MINUS_ZERO): New macro.
2182         (trunc_reference): Keep in sync with lib/trunc.c.
2183         * tests/test-truncf2.c: Include minus-zero.h.
2184         (MINUS_ZERO): New macro.
2185         (truncf_reference): Keep in sync with lib/trunc.c.
2186         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
2187         * tests/test-trunc-ieee.c (main): Likewise.
2188         * tests/test-truncl-ieee.c (main): Likewise.
2189
2190         ceil: Implement result sign according to IEEE 754.
2191         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
2192         (FUNC): Return -0.0 for -1 < x < 0.
2193         * tests/test-ceil2.c: Include minus-zero.h.
2194         (MINUS_ZERO): New macro.
2195         (ceil_reference): Keep in sync with lib/ceil.c.
2196         * tests/test-ceilf2.c: Include minus-zero.h.
2197         (MINUS_ZERO): New macro.
2198         (ceilf_reference): Keep in sync with lib/ceil.c.
2199         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
2200         * tests/test-ceil-ieee.c (main): Likewise.
2201         * tests/test-ceill-ieee.c (main): Likewise.
2202
2203         floor: Implement result sign according to IEEE 754.
2204         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
2205         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
2206         * tests/test-floorf2.c (floorf_reference): Likewise.
2207         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
2208         * tests/test-floor-ieee.c (main): Likewise.
2209         * tests/test-floorl-ieee.c (main): Likewise.
2210
2211 2010-12-22  Bruno Haible  <bruno@clisp.org>
2212
2213         getaddrinfo: Update doc.
2214         * doc/posix-functions/gai_strerror.texi: Return type is also different
2215         on AIX and HP-UX.
2216
2217 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         getaddrinfo, inet_ntop: Update doc for Solaris.
2220         * doc/posix-functions/gai_strerror.texi: Return type is also an
2221         issue on Solaris 9 and earlier.
2222         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
2223         on Solaris 10 and earlier.
2224
2225 2010-12-21  Bruno Haible  <bruno@clisp.org>
2226
2227         New module 'roundl-ieee'.
2228         * modules/roundl-ieee: New file.
2229         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
2230         test whether roundl works according to ISO C 99 with IEC 60559.
2231         * m4/roundl-ieee.m4: New file.
2232         * modules/roundl-ieee-tests: New file.
2233         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
2234         * tests/test-roundl.c (main): Remove signbit tests.
2235         * modules/roundl-tests (Depends-on): Remove signbit.
2236         * doc/posix-functions/roundl.texi: Mention the new module.
2237
2238 2010-12-21  Bruno Haible  <bruno@clisp.org>
2239
2240         New module 'truncl-ieee'.
2241         * modules/truncl-ieee: New file.
2242         * modules/truncl-ieee-tests: New file.
2243         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
2244         * tests/test-truncl.c (main): Remove signbit tests.
2245         * modules/truncl-tests (Depends-on): Remove signbit.
2246         * doc/posix-functions/truncl.texi: Mention the new module.
2247
2248 2010-12-21  Bruno Haible  <bruno@clisp.org>
2249
2250         New module 'ceill-ieee'.
2251         * modules/ceill-ieee: New file.
2252         * modules/ceill-ieee-tests: New file.
2253         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
2254         * tests/test-ceill.c (main): Remove signbit tests.
2255         * modules/ceill-tests (Depends-on): Remove signbit.
2256         * doc/posix-functions/ceill.texi: Mention the new module.
2257
2258 2010-12-21  Bruno Haible  <bruno@clisp.org>
2259
2260         New module 'floorl-ieee'.
2261         * modules/floorl-ieee: New file.
2262         * modules/floorl-ieee-tests: New file.
2263         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
2264         * tests/test-floorl.c (main): Remove signbit tests.
2265         * modules/floorl-tests (Depends-on): Remove signbit.
2266         * doc/posix-functions/floorl.texi: Mention the new module.
2267
2268 2010-12-21  Bruno Haible  <bruno@clisp.org>
2269
2270         New module 'round-ieee'.
2271         * modules/round-ieee: New file.
2272         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
2273         whether round works according to ISO C 99 with IEC 60559.
2274         * m4/round-ieee.m4: New file.
2275         * modules/round-ieee-tests: New file.
2276         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
2277         * tests/test-round1.c (main): Remove signbit tests.
2278         * modules/round-tests (Depends-on): Remove 'signbit'.
2279         * doc/posix-functions/round.texi: Mention the new module.
2280
2281 2010-12-21  Bruno Haible  <bruno@clisp.org>
2282
2283         New module 'trunc-ieee'.
2284         * modules/trunc-ieee: New file.
2285         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
2286         whether trunc works according to ISO C 99 with IEC 60559.
2287         * m4/trunc-ieee.m4: New file.
2288         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
2289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
2290         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
2291         * modules/trunc-ieee-tests: New file.
2292         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
2293         * tests/test-trunc1.c (main): Remove signbit tests.
2294         * modules/trunc-tests (Depends-on): Remove 'signbit'.
2295         * doc/posix-functions/trunc.texi: Mention the new module.
2296
2297 2010-12-21  Bruno Haible  <bruno@clisp.org>
2298
2299         New module 'ceil-ieee'.
2300         * modules/ceil-ieee: New file.
2301         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
2302         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
2303         ISO C 99 with IEC 60559.
2304         * m4/ceil-ieee.m4: New file.
2305         * modules/ceil (Files): Add lib/ceil.c.
2306         (Depends-on): Add 'float'.
2307         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
2308         * lib/math.in.h (ceil): New declaration.
2309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
2310         REPLACE_CEIL.
2311         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
2312         * modules/ceil-ieee-tests: New file.
2313         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
2314         * tests/test-math-c++.cc: Check the signature of 'ceil'.
2315         * doc/posix-functions/ceil.texi: Mention the new module.
2316
2317 2010-12-21  Bruno Haible  <bruno@clisp.org>
2318
2319         New module 'floor-ieee'.
2320         * modules/floor-ieee: New file.
2321         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
2322         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
2323         ISO C 99 with IEC 60559.
2324         * m4/floor-ieee.m4: New file.
2325         * modules/floor (Files): Add lib/floor.c.
2326         (Depends-on): Add 'float'.
2327         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
2328         * lib/math.in.h (floor): New declaration.
2329         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
2330         REPLACE_FLOOR.
2331         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
2332         * modules/floor-ieee-tests: New file.
2333         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
2334         * tests/test-math-c++.cc: Check the signature of 'floor'.
2335         * doc/posix-functions/floor.texi: Mention the new module.
2336
2337 2010-12-21  Bruno Haible  <bruno@clisp.org>
2338
2339         New module 'roundf-ieee'.
2340         * modules/roundf-ieee: New file.
2341         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
2342         test whether roundf works according to ISO C 99 with IEC 60559.
2343         * m4/roundf-ieee.m4: New file.
2344         * modules/roundf-ieee-tests: New file.
2345         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
2346         * tests/test-roundf1.c (main): Remove signbit tests.
2347         * modules/roundf-tests (Depends-on): Remove 'signbit'.
2348         * doc/posix-functions/roundf.texi: Mention the new module.
2349
2350 2010-12-21  Bruno Haible  <bruno@clisp.org>
2351
2352         New module 'truncf-ieee'.
2353         * modules/truncf-ieee: New file.
2354         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
2355         test whether truncf works according to ISO C 99 with IEC 60559.
2356         * m4/truncf-ieee.m4: New file.
2357         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
2358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
2359         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
2360         * modules/truncf-ieee-tests: New file.
2361         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
2362         * tests/test-truncf1.c (main): Remove signbit tests.
2363         * modules/truncf-tests (Depends-on): Remove 'signbit'.
2364         * doc/posix-functions/truncf.texi: Mention the new module.
2365
2366 2010-12-21  Bruno Haible  <bruno@clisp.org>
2367
2368         New module 'ceilf-ieee'.
2369         * modules/ceilf-ieee: New file.
2370         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
2371         test whether ceilf works according to ISO C 99 with IEC 60559.
2372         * m4/ceilf-ieee.m4: New file.
2373         * modules/ceilf-ieee-tests: New file.
2374         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
2375         * tests/test-ceilf1.c (main): Remove signbit tests.
2376         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
2377         * doc/posix-functions/ceilf.texi: Mention the new module.
2378
2379 2010-12-21  Bruno Haible  <bruno@clisp.org>
2380
2381         New module 'floorf-ieee'.
2382         * modules/floorf-ieee: New file.
2383         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
2384         test whether floorf works according to ISO C 99 with IEC 60559.
2385         * m4/floorf-ieee.m4: New file.
2386         * modules/floorf-ieee-tests: New file.
2387         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
2388         * tests/test-floorf1.c (main): Remove signbit tests.
2389         * modules/floorf-tests (Depends-on): Remove 'signbit'.
2390         * doc/posix-functions/floorf.texi: Mention the new module.
2391
2392 2010-12-21  Bruno Haible  <bruno@clisp.org>
2393
2394         Support for minus zero in autoconf macros.
2395         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
2396         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
2397         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
2398         * tests/minus-zero.h: Update comments.
2399
2400 2010-12-21  Bruno Haible  <bruno@clisp.org>
2401
2402         Tests for module 'ceil'.
2403         * modules/ceil-tests: New file.
2404         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
2405         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
2406
2407 2010-12-21  Bruno Haible  <bruno@clisp.org>
2408
2409         Tests for module 'floor'.
2410         * modules/floor-tests: New file.
2411         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
2412         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
2413
2414 2010-12-21  Bruno Haible  <bruno@clisp.org>
2415
2416         math: Fix indentation.
2417         * lib/math.in.h (floorf): Fix indentation.
2418
2419 2010-12-21  Bruno Haible  <bruno@clisp.org>
2420
2421         Fix cross-compilation guesses on Solaris.
2422         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
2423         not match "solaris2.10".
2424         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
2425         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
2426         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
2427
2428 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2429
2430         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
2431         This fixes a problem observed with the latest coreutils snapshot
2432         that caused a test to fail on Solaris 8.  src/csplit.c's call
2433         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
2434         earlier, instead of returning the number of bytes that would have
2435         been generated; this causes csplit to incorrectly report memory
2436         exhaustion.
2437         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
2438         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
2439         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
2440         comments to match.
2441         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
2442         Fix typo in matching older versions of Solaris: "solaris2.10"
2443         is matched by the shell pattern "solaris2.[0-9]*".  This matters
2444         only for guessing while cross-compiling.
2445         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
2446
2447 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2448
2449         ftoastr: fix comment again
2450         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
2451         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
2452         Also, simplify example a bit by using flags = 0.
2453
2454 2010-12-20  Bruno Haible  <bruno@clisp.org>
2455
2456         round*, trunc*: Update documentation regarding glibc.
2457         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
2458         * doc/posix-functions/round.texi: Likewise.
2459         * doc/posix-functions/roundl.texi: Likewise.
2460         * doc/posix-functions/truncf.texi: Likewise.
2461         * doc/posix-functions/trunc.texi: Likewise.
2462         * doc/posix-functions/truncl.texi: Likewise.
2463
2464 2010-12-20  Bruno Haible  <bruno@clisp.org>
2465
2466         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
2467         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
2468         * doc/posix-functions/round.texi: Likewise.
2469         * doc/posix-functions/roundl.texi: Likewise.
2470
2471 2010-12-20  Bruno Haible  <bruno@clisp.org>
2472
2473         ttyname_r: Add missing declaration on HP-UX 11.
2474         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
2475         HAVE_TTYNAME_R.
2476         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
2477         declared. Set HAVE_TTYNAME_R always.
2478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2479         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
2480         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
2481         HAVE_TTYNAME_R.
2482         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
2483
2484 2010-12-20  Bruno Haible  <bruno@clisp.org>
2485
2486         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
2487         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
2488         * doc/posix-functions/getlogin_r.texi: Likewise.
2489         * tests/test-getlogin.c: Include <errno.h>.
2490         (main): Avoid test failure on HP-UX 11.11.
2491         * tests/test-getlogin_r.c (main): Likewise.
2492
2493 2010-12-20  Bruno Haible  <bruno@clisp.org>
2494
2495         getlogin_r: Add missing declaration on HP-UX 11.
2496         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
2497         declared also when it exists as a function.
2498         * doc/posix-functions/getlogin_r.texi: Document this workaround.
2499
2500 2010-12-20  Bruno Haible  <bruno@clisp.org>
2501
2502         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
2503         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
2504         through wcrtomb.
2505
2506 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
2507
2508         ftoastr: fix comment
2509         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
2510         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
2511
2512 2010-12-19  Bruno Haible  <bruno@clisp.org>
2513
2514         isnan: Ensure it is a macro.
2515         * lib/math.in.h (isnan): Define as a macro if not already a macro.
2516         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
2517         Solaris.
2518
2519 2010-12-19  Bruno Haible  <bruno@clisp.org>
2520
2521         ldexpl test: Fix link error on OSF/1 5.1.
2522         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
2523
2524 2010-12-19  Bruno Haible  <bruno@clisp.org>
2525
2526         wctype: Make it work in C++ mode on OSF/1 5.1.
2527         * lib/wctype.in.h (iswblank): Declare but not define here.
2528         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
2529         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
2530         * modules/wctype (Files): Add lib/iswblank.c.
2531
2532 2010-12-19  Bruno Haible  <bruno@clisp.org>
2533
2534         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
2535         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
2536         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
2537
2538 2010-12-19  Bruno Haible  <bruno@clisp.org>
2539
2540         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
2541         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
2542         _POSIX_PII_SOCKET.
2543         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
2544         * doc/posix-functions/recvfrom.texi: Likewise.
2545         * doc/posix-functions/send.texi: Likewise.
2546         * doc/posix-functions/sendto.texi: Likewise.
2547
2548 2010-12-19  Bruno Haible  <bruno@clisp.org>
2549
2550         tcgetsid: Add missing declaration on OSF/1 5.1.
2551         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
2552         HAVE_TCGETSID.
2553         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
2554         Don't set HAVE_TCGETSID.
2555         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
2556         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
2557         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
2558         HAVE_TCGETSID.
2559         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
2560
2561 2010-12-19  Bruno Haible  <bruno@clisp.org>
2562
2563         stdio: Fix problem with popen() declaration on OSF/1 5.1.
2564         * lib/stdio.in.h: During the include_next statement, let recursive
2565         includes of this file include only the system header file.
2566
2567 2010-12-19  Bruno Haible  <bruno@clisp.org>
2568
2569         iconv_open: Fix regression from 2010-12-04.
2570         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
2571         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
2572
2573 2010-12-19  Bruno Haible  <bruno@clisp.org>
2574
2575         stdbool test: Avoid a gcc warning.
2576         * tests/test-stdbool.c (main): Fail if e1 is false.
2577         Reported by Jim Meyering.
2578
2579 2010-12-19  Jim Meyering  <meyering@redhat.com>
2580
2581         setenv: restore to working order
2582         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
2583         mistakenly removed.
2584         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
2585         HAVE_SETENV.
2586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
2587         HAVE_SETENV.
2588
2589 2010-12-19  Bruno Haible  <bruno@clisp.org>
2590
2591         Document some different function declarations on OSF/1 5.1.
2592         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
2593         * doc/posix-functions/inet_ntop.texi: Likewise.
2594         * doc/posix-functions/gethostname.texi: Likewise.
2595         * lib/unistd.in.h (gethostname): Update comment.
2596
2597 2010-12-19  Bruno Haible  <bruno@clisp.org>
2598
2599         doc: Mention vasprintf-posix module.
2600         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
2601         the 'vasprintf-posix' module.
2602         * doc/glibc-functions/vasprintf.texi: Likewise.
2603
2604 2010-12-19  Bruno Haible  <bruno@clisp.org>
2605
2606         unsetenv: Add missing declaration on OSF/1 5.1.
2607         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
2608         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
2609         Don't set HAVE_UNSETENV. In the test program, set _BSD.
2610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
2611         not HAVE_UNSETENV.
2612         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
2613         HAVE_UNSETENV.
2614         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
2615
2616 2010-12-19  Bruno Haible  <bruno@clisp.org>
2617
2618         setenv: Add missing declaration on OSF/1 5.1.
2619         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
2620         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
2621         declared. Don't set HAVE_SETENV.
2622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
2623         not HAVE_SETENV.
2624         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
2625         HAVE_SETENV.
2626         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
2627
2628 2010-12-19  Bruno Haible  <bruno@clisp.org>
2629
2630         nl_langinfo tests: Avoid gcc warning.
2631         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
2632
2633 2010-12-19  Bruno Haible  <bruno@clisp.org>
2634
2635         mknod: Avoid error in C++ mode on OSF/1 with GCC.
2636         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
2637         _GL_CXXALIAS_SYS.
2638
2639 2010-12-19  Bruno Haible  <bruno@clisp.org>
2640
2641         stdbool: Relax test.
2642         * tests/test-stdbool.c (e): Don't require that casts from a variable's
2643         address to 'bool' work in static initializer, for compilers other than
2644         GCC.
2645
2646 2010-12-19  Bruno Haible  <bruno@clisp.org>
2647
2648         ftello: Add missing declaration on OSF/1 5.1.
2649         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
2650         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
2651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
2652         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
2653         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
2654
2655 2010-12-19  Bruno Haible  <bruno@clisp.org>
2656
2657         fseeko: Add missing declaration on OSF/1 5.1.
2658         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
2659         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
2660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
2661         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
2662         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
2663
2664 2010-12-19  Bruno Haible  <bruno@clisp.org>
2665
2666         fchdir: Add missing declaration on OSF/1 5.1.
2667         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
2668         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
2669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
2670         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
2671         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
2672
2673 2010-12-19  Bruno Haible  <bruno@clisp.org>
2674
2675         relocatable-prog-wrapper: Separate from relocatable-prog.
2676         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
2677         uninstall-relocwrapper rule here.
2678         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
2679         Reported by Ian Beckwith <ianb@erislabs.net>.
2680
2681 2010-12-19  Bruno Haible  <bruno@clisp.org>
2682
2683         unistr/u8-mbsnlen: Add missing dependency.
2684         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
2685         Reported by Ian Beckwith <ianb@erislabs.net>.
2686
2687 2010-12-19  Bruno Haible  <bruno@clisp.org>
2688
2689         iconv: Make it possible again to use this module without 'iconv-h'.
2690         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
2691         if it is not defined.
2692         Reported by Ian Beckwith <ianb@erislabs.net>.
2693
2694 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2695
2696         acl: port to Solaris 8 when copying from tmpfs to ufs
2697         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
2698         error number.  Problem observed on Solaris 8 with latest
2699         coreutils, with "mv A B", where A is on a tmpfs file system and B
2700         is on a ufs file system.  This caused coreutils' mv/part-symlink
2701         test to fail.
2702
2703         tests: set fail=0 at start
2704         * tests/init.sh (setup_): Move fail=0 initialization here ...
2705         (mktempd_): ... from here, so that tests can rely on fail being
2706         set to 0 initially.  This fixes a problem in coreutils; see:
2707         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
2708
2709 2010-12-18  Bruno Haible  <bruno@clisp.org>
2710
2711         memmem-simple: Stylistic changes.
2712         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
2713         Fix preprocessor directive indentation.
2714
2715 2010-12-15  Pádraig Brady <P@draigBrady.com>
2716
2717         memmem, memmem-simple: reorganize and expand empty needle check
2718         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
2719         functional checks to memmem-simple so that one has a fully functional
2720         memmem by using just this module.
2721         Restrict the performance only check to the memmem module.
2722         Also expand the empty needle check to ensure the correct
2723         pointer is returned, not just a non NULL pointer.
2724         * doc/glibc-functions/memmem.texi: Rearrange the portability
2725         documentation to correlate with the rearranged checks.
2726         Clarify exactly how the memmem and memmem-simple modules
2727         relate to each other.
2728
2729 2010-12-15  Pádraig Brady <P@draigBrady.com>
2730             Bruno Haible  <bruno@clisp.org>
2731
2732         Improve cross-compilation guesses for uClibc.
2733         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
2734         that uClibc does not have the glibc bug.
2735         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
2736         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
2737
2738 2010-12-14  Eric Blake  <eblake@redhat.com>
2739
2740         configmake: provide fallbacks for oldest supported autotools
2741         * m4/configmake.m4: New file.
2742         * modules/configmake (Files): Ship it.
2743         (configure.ac): Use it to guarantee fallbacks.
2744
2745 2010-12-13  Pádraig Brady <P@draigBrady.com>
2746
2747         read-file: Improve handling of large files
2748         * lib/read-file.c (fread_file): Minimize realloc()s
2749         for regular files, and better manage sizes around SIZE_MAX.
2750
2751 2010-12-13  Eric Blake  <eblake@redhat.com>
2752
2753         cloexec, fcntl: relax license
2754         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
2755         consent from all contributors.
2756         * modules/fcntl (License): Likewise.
2757
2758 2010-12-10  Bruno Haible  <bruno@clisp.org>
2759
2760         Tests for module 'pipe-posix'.
2761         * modules/pipe-posix-tests: New file.
2762         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
2763
2764 2010-12-10  Bruno Haible  <bruno@clisp.org>
2765
2766         pipe-posix: Make it work in C++ mode.
2767         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
2768         (pipe): Use common idiom, not a macro definition.
2769         * lib/pipe.c: New file.
2770         * m4/pipe.m4: New file.
2771         * modules/pipe-posix (Description): Enhance.
2772         (Files): Add lib/pipe.c, m4/pipe.m4.
2773         (configure.ac): Invoke gl_FUNC_PIPE.
2774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
2775         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
2776         * tests/test-unistd-c++.cc: Check the signature of pipe.
2777
2778 2010-12-10  Bruno Haible  <bruno@clisp.org>
2779
2780         Rename module 'pipe' to 'spawn-pipe'.
2781         * modules/spawn-pipe: New file, renamed from modules/pipe.
2782         (Files, configure.ac, Makefile.am): Update.
2783         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
2784         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
2785         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
2786         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
2787         "spawn-pipe.h" instead of "pipe.h".
2788         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
2789         to gl_SPAWN_PIPE.
2790         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
2791         (Files, Makefile.am): Update.
2792         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
2793         Update.
2794         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
2795         Include "spawn-pipe.h" instead of "pipe.h".
2796         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
2797         * lib/javacomp.c: Likewise.
2798         * lib/javaversion.c: Likewise.
2799         * lib/pipe-filter-gi.c: Likewise.
2800         * lib/pipe-filter-ii.c: Likewise.
2801         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
2802         * modules/javacomp (Depends-on): Likewise.
2803         * modules/javaversion (Depends-on): Likewise.
2804         * modules/pipe-filter-gi (Depends-on): Likewise.
2805         * modules/pipe-filter-ii (Depends-on): Likewise.
2806         * MODULES.html.sh (Executing programs): Update.
2807         * NEWS: Mention the change.
2808
2809 2010-12-10  Eric Blake  <eblake@redhat.com>
2810
2811         pipe-posix: new module
2812         * modules/pipe-posix: New file.
2813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
2814         (gl_UNISTD_H): Check for declaration.
2815         * modules/unistd (Makefile.am): Substitute it.
2816         * lib/unistd.in.h (pipe): Provide it for mingw.
2817         * doc/posix-functions/pipe.texi (pipe): Update documentation.
2818         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
2819
2820 2010-12-07  Bruno Haible  <bruno@clisp.org>
2821
2822         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
2823         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
2824         u8_strcmp_gnu.
2825         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
2826
2827 2010-12-06  Bruno Haible  <bruno@clisp.org>
2828
2829         Update internal documentation.
2830         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
2831
2832 2010-12-04  Bruno Haible  <bruno@clisp.org>
2833
2834         Put more information about failed tests into the test return codes.
2835         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
2836         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
2837         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
2838         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2839         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
2840         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
2841         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2842         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
2843         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
2844         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2845         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
2846         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
2847         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
2848         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2849         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
2850         returns a bit mask.
2851         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
2852         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
2853         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
2854         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
2855         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2856         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
2857         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
2858         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
2859         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
2860         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
2861         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
2862         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
2863         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
2864         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
2865         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2866         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2867         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
2868         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
2869         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
2870         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
2871         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
2872         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2873         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
2874         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2875         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
2876         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
2877         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
2878         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
2879         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
2880         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
2881         gl_PRINTF_PRECISION): Likewise.
2882         * m4/regex.m4 (gl_REGEX): Likewise.
2883         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2884         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2885         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
2886         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2887         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2888         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
2889         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
2890         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
2891         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
2892         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
2893         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2894         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
2895         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
2896         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
2897         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2898         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2899         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
2900         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
2901         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2902         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
2903         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
2904         enumerated value.
2905         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
2906
2907 2010-12-04  Bruno Haible  <bruno@clisp.org>
2908
2909         Update for Solaris 11 2010-11.
2910         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
2911         Express, released in November 2010.
2912
2913 2010-12-04  Bruno Haible  <bruno@clisp.org>
2914
2915         nproc: Relax license.
2916         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
2917         and Paul Eggert.
2918         Requested by Ludovic Courtès <ludo@gnu.org>.
2919
2920 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
2921
2922         utimecmp: fine-grained src to nearby coarse-grained dest
2923
2924         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
2925         and the source is on a file system with higher-resolution time
2926         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
2927         not work, and the time stamps are close together, the algorithm to
2928         determine the exact resolution from the read-back mtime was buggy:
2929         it had a "!=" where it should have had an "==".  This bug has been
2930         in the code ever since it was introduced to gnulib.
2931         Problem reported by Dan Jacobson in
2932         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
2933
2934 2010-11-30  Bruno Haible  <bruno@clisp.org>
2935
2936         strerror_r-posix: Fix autoconf test.
2937         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
2938
2939 2010-11-28  Bruno Haible  <bruno@clisp.org>
2940             Paul Eggert  <eggert@cs.ucla.edu>
2941
2942         Tests for module 'getdomainname'.
2943         * modules/getdomainname-tests: New file.
2944         * tests/test-getdomainname.c: New file, based on
2945         tests/test-gethostname.c.
2946
2947 2010-11-28  Bruno Haible  <bruno@clisp.org>
2948             Paul Eggert  <eggert@cs.ucla.edu>
2949
2950         getdomainname: Use the system function when possible.
2951         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
2952         (getdomainname): Replace if needed. Provide the declaration if it is
2953         missing. Don't use _GL_CXXALIAS_SYS_CAST.
2954         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
2955         (getdomainname): When the system has getdomainname, call the system
2956         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
2957         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
2958         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
2959         found in libnsl. Look for the declaration also in <netdb.h>. Replace
2960         the function if its second argument is of type 'int' or if it is found
2961         in libnsl.
2962         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
2963         <sys/systeminfo.h> and sysinfo().
2964         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
2965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2966         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
2967         HAVE_GETDOMAINNAME.
2968         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
2969         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
2970         * doc/glibc-functions/getdomainname.texi: Document the problems with
2971         the getdomainname declaration.
2972
2973 2010-11-28  Bruno Haible  <bruno@clisp.org>
2974
2975         sys_socket: Ensure ss_family field on AIX.
2976         * lib/sys_socket.in.h (ss_family): New macro definition.
2977         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
2978         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
2979         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
2980         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
2981         * modules/sys_socket (Makefile.am): Substitute
2982         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
2983         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
2984
2985 2010-11-27  Bruno Haible  <bruno@clisp.org>
2986
2987         readline: Improve configure output.
2988         * m4/readline.m4 (gl_FUNC_READLINE): Make the
2989         "checking for readline..." result understandable.
2990
2991 2010-11-27  Bruno Haible  <bruno@clisp.org>
2992
2993         *printf-posix: Detect a bug on Solaris 10/x86.
2994         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
2995         for floating-point output.
2996         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
2997         directive.
2998         * tests/test-snprintf-posix.h (test_function): Likewise.
2999         * tests/test-sprintf-posix.h (test_function): Likewise.
3000         * tests/test-vasprintf-posix.c (test_function): Likewise.
3001         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
3002         * doc/posix-functions/printf.texi: Likewise.
3003         * doc/posix-functions/snprintf.texi: Likewise.
3004         * doc/posix-functions/sprintf.texi: Likewise.
3005         * doc/posix-functions/vfprintf.texi: Likewise.
3006         * doc/posix-functions/vprintf.texi: Likewise.
3007         * doc/posix-functions/vsnprintf.texi: Likewise.
3008         * doc/posix-functions/vsprintf.texi: Likewise.
3009         * doc/glibc-functions/obstack_printf.texi: Likewise.
3010         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3011
3012 2010-11-27  Bruno Haible  <bruno@clisp.org>
3013
3014         Fix link error when module libunistring-optional is in use.
3015         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
3016         * modules/striconveha-tests (Makefile.am): Likewise.
3017
3018 2010-11-27  Bruno Haible  <bruno@clisp.org>
3019
3020         regex: Mention link dependencies.
3021         * modules/regex (Link): New section.
3022         * modules/rpmatch (Link): Likewise.
3023         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
3024
3025 2010-11-27  Bruno Haible  <bruno@clisp.org>
3026
3027         ftoastr: Fix compilation error on Solaris.
3028         * lib/ftoastr.c: Include <config.h>.
3029
3030 2010-11-27  Bruno Haible  <bruno@clisp.org>
3031
3032         getloadavg: Update documentation.
3033         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
3034
3035 2010-11-27  Bruno Haible  <bruno@clisp.org>
3036
3037         sys_socket: Fix test whether the functions are declared.
3038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
3039         not <sys/select.h>.
3040
3041 2010-11-27  Bruno Haible  <bruno@clisp.org>
3042
3043         getpass: Make sure to get system declaration on some platforms.
3044         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
3045         gl_USE_SYSTEM_EXTENSIONS.
3046         * modules/getpass (Depends-on): Add extensions.
3047
3048 2010-11-26  Bruno Haible  <bruno@clisp.org>
3049
3050         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
3051         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
3052         'iconv' module is present.
3053         (ICONV_CONST): New macro.
3054         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
3055         ICONV_CONST.
3056         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
3057         set ICONV_CONST.
3058         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
3059         here.
3060         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
3061         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
3062         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
3063         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
3064         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
3065         present.
3066
3067 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3068
3069         ftoastr: comment fix
3070         * lib/ftoastr.c: "little" -> "little or no" in comment
3071
3072 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3073
3074         stdint: port to GCC 4.3 + OSX + Octave
3075         On this platform, stdint.h is buggy and defines int64_t to long
3076         long int.  The replacement defined it to long int, causing
3077         problems with C++ style name mangling.  Instead, trust the system
3078         definition if INT64_MAX is defined, and likewise for the unsigned
3079         variant.   Problem reported by Jarno Rajahalme in
3080         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
3081         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
3082         and don't mess with int64_t and INT64_MAX in this case.
3083         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
3084
3085 2010-11-24  Bruno Haible  <bruno@clisp.org>
3086
3087         doc: Corrections regarding MacOS X 10.4 and 10.5.
3088         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
3089         MacOS X.
3090         Reported by Simon Josefsson.
3091
3092 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
3093
3094         Uninstall ".bin" files installed by relocwrapper.
3095         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
3096         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
3097         unless it is already there.
3098
3099 2010-11-21  Bruno Haible  <bruno@clisp.org>
3100
3101         Update for NetBSD 5.0.
3102         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
3103         NetBSD; the test fails on NetBSD 5.0.
3104         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
3105         about NetBSD.
3106
3107 2010-11-21  Bruno Haible  <bruno@clisp.org>
3108
3109         Update for HP-UX 11.23 and HP-UX 11.31.
3110         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
3111         HP-UX.
3112
3113 2010-11-21  Bruno Haible  <bruno@clisp.org>
3114
3115         Update for MacOS X 10.5.
3116         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
3117         MacOS X; the test fails on MacOS X 10.5.8.
3118         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
3119         about MacOS X.
3120
3121 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
3122
3123         bootstrap: add bootstrap_sync option.
3124         See discussion at
3125         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
3126         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
3127         * build-aux/bootstrap: Accept --bootstrap-sync to update
3128         bootstrap if it is not identical to the local gnulib's
3129         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
3130         enable this by default.  Accept --no-bootstrap-sync to disable
3131         it.
3132
3133 2010-11-20  Bruno Haible  <bruno@clisp.org>
3134
3135         Ensure that <features.h> is included before __GLIBC__ is tested.
3136         * lib/printf-parse.h: Include <features.h>.
3137         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
3138         Reported by Mike Frysinger <vapier@gentoo.org>.
3139
3140         Ensure that <features.h> is included before __GLIBC__ is tested.
3141         * lib/wchar.in.h: Include <features.h>.
3142         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
3143         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
3144         Reported by Mike Frysinger <vapier@gentoo.org>.
3145
3146         Ensure that <features.h> is included before __GLIBC__ is tested.
3147         * lib/arpa_inet.in.h: Include <features.h>.
3148         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
3149         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
3150         Reported by Mike Frysinger <vapier@gentoo.org>.
3151
3152         Ensure that <features.h> is included before __GLIBC__ is tested.
3153         * build-aux/link-warning.h: Include <features.h>.
3154         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
3155         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
3156         Reported by Mike Frysinger <vapier@gentoo.org>.
3157
3158         Ensure that <features.h> is included before __GLIBC__ is tested.
3159         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
3160         Reported by Mike Frysinger <vapier@gentoo.org>.
3161
3162 2010-11-20  Bruno Haible  <bruno@clisp.org>
3163
3164         memmem: Fix autoconf test.
3165         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
3166
3167 2010-11-20  Bruno Haible  <bruno@clisp.org>
3168
3169         Port to uClibc.
3170         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
3171         * lib/fcntl.in.h: Likewise.
3172         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
3173         * lib/mbrtowc.c (mbrtowc): Likewise.
3174         * lib/relocatable.c (find_shared_library_fullname): Likewise.
3175         * lib/strerror_r.c: Likewise.
3176         * lib/unistr/u8-strnlen.c: Likewise.
3177         * lib/vasnprintf.c (decimal_point_char): Likewise.
3178         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
3179         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
3180         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
3181         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
3182         * tests/test-sigaction.c (handler, main): Likewise.
3183         * lib/freading.h: Treat uClibc like a non-glibc platform.
3184         * lib/freading.c: Likewise.
3185         * lib/gettext.h: Likewise.
3186         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
3187         Likewise.
3188         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
3189         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
3190         * lib/propername.c (proper_name_utf8): Likewise.
3191         * lib/spawn.in.h: Likewise.
3192         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
3193         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
3194         mem_cd_iconveh_internal): Likewise.
3195         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
3196         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
3197         strstr, strcasestr): Likewise.
3198         * lib/unicodeio.c (unicode_to_mb): Likewise.
3199         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
3200         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
3201         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
3202         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
3203         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
3204         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
3205         * lib/unistr/u8-stpncpy.c: Likewise.
3206         * lib/vasnprintf.c (VASNPRINTF): Likewise.
3207         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
3208         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
3209         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
3210         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
3211         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
3212         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
3213         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
3214         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
3215         Likewise.
3216         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
3217         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3218         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3219         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3220         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3221         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3222         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3223         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3224         * tests/test-getopt.h (OPTIND_MIN): Likewise.
3225         * tests/test-striconveha.c (main): Likewise.
3226         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3227         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
3228         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
3229         * doc/posix-functions/getline.texi: Likewise.
3230         Reported by Mike Frysinger <vapier@gentoo.org>.
3231
3232 2010-11-20  Bruno Haible  <bruno@clisp.org>
3233
3234         nproc: Fix condition.
3235         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
3236         HAVE_PTHREAD_AFFINITY_NP.
3237
3238 2010-11-20  Bruno Haible  <bruno@clisp.org>
3239
3240         Fix a comment.
3241         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
3242
3243 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3244
3245         ftoastr: don't assume snprintf
3246         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
3247         Implement a subset of snprintf here, by using sprintf safely.
3248         * modules/ftoastr (Depends-on): Remove snprintf.
3249
3250 2010-11-19  Jim Meyering  <meyering@redhat.com>
3251
3252         test-rename.h: fix compilation failure
3253         * tests/test-rename.h (test_rename): Add omitted "}".
3254
3255 2010-11-17  Jim Meyering  <meyering@redhat.com>
3256
3257         maint.mk: add a URL discussing the no-@acronym policy
3258         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
3259
3260 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3261
3262         ftoastr: depend on snprintf, improve comments
3263         * lib/ftoastr.c: Also mention Loitsch's draft.
3264         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
3265         needed in the current implementation, but it might simplify
3266         speeding up the code later.
3267         * modules/ftoastr: Depend on snprintf; this improves portability.
3268         Suggested by Bruno Haible in the same email.
3269
3270         ftoastr: port to hosts lacking strtof and strtold
3271         Problem reported by Bruno Haible in
3272         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
3273         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
3274         environment and strtold (and presumably strtof) are not available.
3275         * modules/ftoastr (Files): Add m4/c-strtod.m4.
3276         (configure.ac): Require gl_C99_STRTOLD.
3277
3278 2010-11-18  Bruno Haible  <bruno@clisp.org>
3279
3280         c-strtold: Avoid link error on AIX 7.
3281         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
3282         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
3283         (gl_C_STRTOLD): Test whether strtold_l exists.
3284         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3285
3286 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3287
3288         intprops: new macro INT_BITS_STRLEN_BOUND
3289         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
3290         ftoastr.h.  This exposes an internal of intprops.h that was formerly
3291         not exposed.  Also, it uses a slightly tighter bound than before;
3292         though this makes no practical difference, we might as well be as
3293         tight as we easily can.
3294
3295         ftoastr: new module, for lossless conversion of floats to short strings
3296         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
3297         * modules/ftoastr: New files.
3298
3299 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3300
3301         bootstrap: port to Solaris sed
3302         * build-aux/bootstrap (get_version): Port to Solaris sed.
3303         See Ralf Wildenhues's note in
3304         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
3305
3306 2010-11-14  Jim Meyering  <meyering@redhat.com>
3307
3308         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
3309         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
3310         and move definition closer to sole use.
3311
3312 2010-11-13  Jim Meyering  <meyering@redhat.com>
3313
3314         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
3315         Now we require at least autoconf-2.59, which means the work-around
3316         is no longer needed.
3317         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
3318         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3319         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3320         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
3321         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
3322
3323 2010-11-13  Bruno Haible  <bruno@clisp.org>
3324
3325         rename, renameat: Avoid test failures at NFS mounted locations.
3326         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
3327         functions.
3328         (test_rename): Use assert_nonexistent.
3329         * tests/test-rename.c: Include <dirent.h>.
3330         * tests/test-renameat.c: Likewise.
3331         Reported by Gary V. Vaughan <gary@gnu.org>.
3332
3333         rename, renameat: Document Linux bug with NFS
3334         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
3335         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
3336         * doc/posix-functions/renameat.texi: Likewise.
3337         Suggested by Eric Blake.
3338
3339 2010-11-13  Bruno Haible  <bruno@clisp.org>
3340
3341         rename test: Add comments.
3342         * tests/test-rename.h (test_rename): Add structure and comments.
3343
3344 2010-11-13  Eric Blake  <eblake@redhat.com>
3345
3346         maintainer-makefile: cover a few more files
3347         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
3348         scripts generated within C files, for libvirt.
3349
3350 2010-11-13  Bruno Haible  <bruno@clisp.org>
3351
3352         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
3353         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
3354         character, return the number of bytes that belong together, not always
3355         1.
3356         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
3357         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
3358         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
3359         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
3360         number of bytes of an invalid character.
3361         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
3362         (main): Invoke it.
3363         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
3364         results.
3365         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
3366         malformed byte sequences.
3367         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
3368         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
3369         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
3370         Reported by Ben Pfaff and Paolo Bonzini.
3371
3372 2010-11-13  Bruno Haible  <bruno@clisp.org>
3373
3374         openat: Work around glibc bug with fchownat() and empty file names.
3375         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
3376         (gl_FUNC_FCHOWNAT): Invoke it.
3377         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
3378         * doc/posix-functions/fchownat.texi: Document the glibc bug.
3379         Reported by Gary V. Vaughan <gary@gnu.org>.
3380
3381 2010-11-13  Bruno Haible  <bruno@clisp.org>
3382
3383         openat: Ensure autoconf macro ordering.
3384         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
3385         gl_USE_SYSTEM_EXTENSIONS.
3386         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
3387
3388 2010-11-13  Bruno Haible  <bruno@clisp.org>
3389
3390         Update comments.
3391         * lib/unistr/u8-check.c: Update file name in comments.
3392         * lib/unistr/u8-mblen.c: Likewise.
3393         * lib/unistr/u8-prev.c: Likewise.
3394         * lib/unistr/u8-strmblen.c: Likewise.
3395         * lib/unistr/u8-strmbtouc.c: Likewise.
3396
3397 2010-11-13  Jim Meyering  <meyering@redhat.com>
3398
3399         tests: avoid test failure on Solaris 10 due to lack of PATH export
3400         * tests/test-update-copyright.sh: Don't forget to export PATH.
3401
3402         init.sh: ensure that IFS is defined, just in case...
3403         * tests/init.sh (setup_): Ensure that IFS is defined,
3404         so that saving and restoring it works as expected.  This
3405         appears to be useful at least for an old version of dash
3406         from a long time ago (RH 6).  See here for details:
3407         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
3408
3409         maint.mk: tighten "test a == b" check
3410         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
3411         test to files that contain something like #!/bin/sh.
3412         Without this, coreutils would get two false positives in
3413         the comments of C source files.
3414
3415 2010-11-12  Eric Blake  <eblake@redhat.com>
3416
3417         bootstrap: fix typo in previous attempt
3418         * build-aux/bootstrap (buildreq): Correct the grouping.
3419         Reported by Paul Eggert.
3420
3421         maintainer-makefile: prohibit test x == x
3422         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
3423         Based on a report by Matthias Bolte.
3424
3425         bootstrap: allow FreeBSD gzip
3426         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
3427         which has no '.' and goes to stderr.
3428         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
3429         Reported by Matthias Bolte.
3430
3431         maintainer-makefile: check for i18n setup
3432         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
3433         will likely work.
3434
3435 2010-11-12  Bruno Haible  <bruno@clisp.org>
3436
3437         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
3438         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
3439         * lib/nanosleep.c (nanosleep): Likewise.
3440
3441 2010-11-11  Bruno Haible  <bruno@clisp.org>
3442
3443         fcntl-h: Fix for use of C++ on glibc systems.
3444         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
3445         also on glibc systems in C++ mode.
3446         Reported by Gary V. Vaughan <gary@gnu.org>.
3447
3448 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
3449
3450         mknod: avoid false failure with dash
3451         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
3452
3453 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3454
3455         unlink: Fix "is it should" typo in diagnostic.
3456         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
3457         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
3458
3459 2010-11-11  Bruno Haible  <bruno@clisp.org>
3460
3461         Tests for module 'strerror_r-posix'.
3462         * modules/strerror_r-posix-tests: New file.
3463         * tests/test-strerror_r.c: New file.
3464         * tests/test-string-c++.cc: Check the signature of strerror_r.
3465
3466         New module 'strerror_r-posix'.
3467         * lib/string.in.h (strerror_r): New declaration.
3468         * lib/strerror_r.c: New file.
3469         * m4/strerror_r.m4: New file.
3470         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
3471         of strerror_r.
3472         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
3473         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
3474         * modules/strerror_r-posix: New file.
3475         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
3476         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
3477         * doc/posix-functions/strerror_r.texi: Mention the new module and the
3478         portability problems.
3479
3480 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
3481
3482         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
3483         line is also considered for output. Quoted function name in shell
3484         command, so temporary files for functions like MyClass::operator()
3485         are removed correctly without errors.
3486
3487 2010-11-09  Bruno Haible  <bruno@clisp.org>
3488
3489         * doc/posix-functions/strerror.texi: List more failing platforms.
3490
3491         * doc/posix-functions/strerror.texi: Add a comment.
3492
3493 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3494
3495         fdopendir: fix bug on MacOS X when low on file descriptors
3496
3497         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
3498         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
3499         All callers changed.
3500         (fdopendir): Invoke save_cwd at the top level, not after using
3501         multiple dup() calls to use up file descriptors.  Then retry
3502         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
3503         less than the maximum number of open file descriptors, because
3504         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
3505         on Mac OS X 10.6.4 for tar 1.24
3506         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
3507         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
3508         and for tar 1.25
3509         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
3510
3511 2010-11-07  Bruno Haible  <bruno@clisp.org>
3512
3513         vasnprintf: Support I flag on glibc systems.
3514         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
3515         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
3516         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
3517         snprintf function.
3518         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
3519         glibc systems.
3520         * tests/test-vasnprintf-posix3.c: New file.
3521         * modules/vasnprintf-posix-tests (Files): Add it.
3522         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
3523
3524 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
3525
3526         [html] Fix copy/paste bug: Use unique name for compiler warnings.
3527         * MODULES.html.sh: For compiler warnings, use name
3528         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
3529
3530 2010-11-05  Eric Blake  <eblake@redhat.com>
3531
3532         ceil, floor: avoid spurious failure with icc
3533         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
3534         [denormals-as-zero] when optimizing without -mieee-fp option.
3535         * tests/test-floorf2.c (floorf_reference): Likewise.
3536         * tests/test-ceilf1.c (dummy): New function.
3537         (main): Use it to outsmart icc's optimization.
3538         * tests/test-floorf1.c (dummy, main): Likewise.
3539
3540         tests: require working signbit
3541         * modules/ceilf-tests (Depends-on): Add signbit.
3542         * modules/ceill-tests (Depends-on): Likewise.
3543         * modules/floorf-tests (Depends-on): Likewise.
3544         * modules/floorl-tests (Depends-on): Likewise.
3545         * modules/round-tests (Depends-on): Likewise.
3546         * modules/roundf-tests (Depends-on): Likewise.
3547         * modules/roundl-tests (Depends-on): Likewise.
3548         * modules/trunc-tests (Depends-on): Likewise.
3549         * modules/truncf-tests (Depends-on): Likewise.
3550         * modules/truncl-tests (Depends-on): Likewise.
3551
3552         strtod: work around icc bug
3553         * lib/strtod.c (minus_zero): Define to working value.
3554         (strtod): Use it to avoid icc bug.
3555
3556         copysign: enhance tests
3557         * modules/copysign-tests (Files): Add minus-zero.h.
3558         * tests/test-copysign.c (main): Also test zeros.
3559
3560 2010-11-04  Eric Blake  <eblake@redhat.com>
3561
3562         ceil, floor, round, trunc: enhance tests of -0
3563         * tests/test-ceilf1.c (main): Ensure correct sign of result.
3564         * tests/test-ceill.c (main): Likewise.
3565         * tests/test-floorf1.c (main): Likewise.
3566         * tests/test-floorl.c (main): Likewise.
3567         * tests/test-round1.c (main): Likewise.
3568         * tests/test-roundf1.c (main): Likewise.
3569         * tests/test-roundl.c (main): Likewise.
3570         * tests/test-trunc1.c (main): Likewise.
3571         * tests/test-truncf1.c (main): Likewise.
3572         * tests/test-truncl.c (main): Likewise.
3573
3574 2010-11-04  Eric Blake  <eblake@redhat.com>
3575
3576         frexp, tests: work around ICC bug with -zero
3577         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
3578         works with more compilers.
3579         * tests/minus-zero.h: New file.
3580         * modules/ceilf-tests (Files): Include it.
3581         * modules/ceill-tests (Files): Likewise.
3582         * modules/floorf-tests (Files): Likewise.
3583         * modules/floorl-tests (Files): Likewise.
3584         * modules/frexp-nolibm-tests (Files): Likewise.
3585         * modules/frexp-tests (Files): Likewise.
3586         * modules/frexpl-nolibm-tests (Files): Likewise.
3587         * modules/frexpl-tests (Files): Likewise.
3588         * modules/isnan-tests (Files): Likewise.
3589         * modules/isnand-nolibm-tests (Files): Likewise.
3590         * modules/isnand-tests (Files): Likewise.
3591         * modules/isnanf-nolibm-tests (Files): Likewise.
3592         * modules/isnanf-tests (Files): Likewise.
3593         * modules/isnanl-nolibm-tests (Files): Likewise.
3594         * modules/isnanl-tests (Files): Likewise.
3595         * modules/round-tests (Files): Likewise.
3596         * modules/roundf-tests (Files): Likewise.
3597         * modules/roundl-tests (Files): Likewise.
3598         * modules/ldexpl-tests (Files): Likewise.
3599         * modules/signbit-tests (Files): Likewise.
3600         * modules/snprintf-posix-tests (Files): Likewise.
3601         * modules/sprintf-posix-tests (Files): Likewise.
3602         * modules/strtod-tests (Files): Likewise.
3603         * modules/trunc-tests (Files): Likewise.
3604         * modules/truncf-tests (Files): Likewise.
3605         * modules/truncl-tests (Files): Likewise.
3606         * modules/vsnprintf-posix-tests (Files): Likewise.
3607         * modules/vsprintf-posix-tests (Files): Likewise.
3608         * modules/vasnprintf-posix-tests (Files): Likewise.
3609         * modules/vasprintf-posix-tests (Files): Likewise.
3610         * tests/test-ceilf1.c (main): Use it.
3611         * tests/test-ceill.c (main): Likewise.
3612         * tests/test-floorf1.c (main): Likewise.
3613         * tests/test-floorl.c (main): Likewise.
3614         * tests/test-frexp.c (main): Likewise.
3615         * tests/test-frexpl.c (main): Likewise.
3616         * tests/test-isnan.c (main): Likewise.
3617         * tests/test-isnand.h (main): Likewise.
3618         * tests/test-isnanf.h (main): Likewise.
3619         * tests/test-isnanl.h (main): Likewise.
3620         * tests/test-ldexpl.c (main): Likewise.
3621         * tests/test-round.c (main): Likewise.
3622         * tests/test-roundf.c (main): Likewise.
3623         * tests/test-roundl.c (main): Likewise.
3624         * tests/test-signbit.c (test_signbitf, test_signbitd)
3625         (test_signbitl): Likewise.
3626         * tests/test-snprintf-posix.h (test_function): Likewise.
3627         * tests/test-sprintf-posix.h (test_function): Likewise.
3628         * tests/test-strtod.c (main): Likewise.
3629         * tests/test-trunc1.c (main): Likewise.
3630         * tests/test-truncf1.c (main): Likewise.
3631         * tests/test-truncl.c (main): Likewise.
3632
3633         isnanl: work around icc bug
3634         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
3635
3636 2010-11-03  Eric Blake  <eblake@redhat.com>
3637
3638         tests: fix compiler warnings
3639         * tests/test-getopt.h (test_getopt): Fix condition.
3640         * tests/test-getopt_long.h (test_getopt_long): Likewise.
3641         * tests/test-pipe2.c (main): Likewise.
3642         * tests/test-quotearg-simple.c (main): Avoid icc warning.
3643
3644         utimens: fix broken m4 test
3645         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
3646
3647 2010-10-28  Bruno Haible  <bruno@clisp.org>
3648
3649         posix_spawn*, getdtablesize: Relax license.
3650         * modules/posix_spawn (License): Change to LGPLv2+.
3651         * modules/posix_spawnp (License): Likewise.
3652         * modules/posix_spawn-internal (License): Likewise.
3653         * modules/posix_spawnattr_init (License): Likewise.
3654         * modules/posix_spawnattr_getflags (License): Likewise.
3655         * modules/posix_spawnattr_setflags (License): Likewise.
3656         * modules/posix_spawnattr_getpgroup (License): Likewise.
3657         * modules/posix_spawnattr_setpgroup (License): Likewise.
3658         * modules/posix_spawnattr_getschedparam (License): Likewise.
3659         * modules/posix_spawnattr_setschedparam (License): Likewise.
3660         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
3661         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
3662         * modules/posix_spawnattr_getsigdefault (License): Likewise.
3663         * modules/posix_spawnattr_setsigdefault (License): Likewise.
3664         * modules/posix_spawnattr_getsigmask (License): Likewise.
3665         * modules/posix_spawnattr_setsigmask (License): Likewise.
3666         * modules/posix_spawnattr_destroy (License): Likewise.
3667         * modules/posix_spawn_file_actions_init (License): Likewise.
3668         * modules/posix_spawn_file_actions_addclose (License): Likewise.
3669         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
3670         * modules/posix_spawn_file_actions_addopen (License): Likewise.
3671         * modules/posix_spawn_file_actions_destroy (License): Likewise.
3672         * modules/getdtablesize (License): Likewise.
3673         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
3674
3675 2010-10-26  Bruno Haible  <bruno@clisp.org>
3676
3677         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
3678         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
3679         Cygwin and mingw.
3680         Suggested by Eric Blake.
3681
3682 2010-10-26  Bruno Haible  <bruno@clisp.org>
3683
3684         stdio: Work around compilation error due to renameat() on Solaris 10.
3685         * lib/stdio.in.h: Include <unistd.h> on Solaris.
3686         * lib/renameat.c: Don't include <unistd.h> here.
3687         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
3688         Reported by Paul Eggert and Eric Blake.
3689
3690 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3691
3692         renameat: port to Solaris 10, which declares renameat in unistd.h
3693
3694         * lib/renameat.c: Include unistd.h before stdio.h, because
3695         Solaris 10 declares renameat in unistd.h.  Problem encountered
3696         when building GNU tar 1.24 on Solaris 10.
3697
3698 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
3699
3700         fdopendir: fix C89 compilation
3701         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
3702         compilers.
3703
3704 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
3705
3706         inttostr: simplify by removing unnecessary redundancy
3707         * lib/anytostr.c: Don't include verify.h.
3708         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
3709         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
3710         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
3711         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
3712         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
3713         Likewise.
3714         * modules/inttostr (Depends-on): Remove 'verify'.
3715
3716 2010-10-23  Bruno Haible  <bruno@clisp.org>
3717
3718         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
3719         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
3720         Reported by Eric Blake.
3721
3722 2010-10-23  Bruno Haible  <bruno@clisp.org>
3723
3724         Tests: Fix LOCALE_JA on MirBSD 10.
3725         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
3726         to an UTF-8 locale.
3727         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
3728         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3729         Reported by Eric Blake.
3730
3731 2010-10-21  Bruno Haible  <bruno@clisp.org>
3732
3733         nl_langinfo test: Avoid test failure on NetBSD 5.
3734         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
3735         Reported by Eric Blake.
3736
3737 2010-10-21  Eric Blake  <eblake@redhat.com>
3738
3739         c-stack: work around libsigsegv 2.8 bug
3740         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
3741         overflow on at least PowerPC64.
3742
3743 2010-10-17  Bruno Haible  <bruno@clisp.org>
3744
3745         userspec: Drop redundant file.
3746         * modules/userspec (Files): Remove lib/inttostr.h.
3747
3748 2010-10-17  Bruno Haible  <bruno@clisp.org>
3749
3750         nl_langinfo tests: Silence some warnings.
3751         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
3752         Reported by Jim Meyering.
3753
3754 2010-10-17  Bruno Haible  <bruno@clisp.org>
3755
3756         Make use of GCC's attribute __alloc_size__.
3757         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
3758         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
3759         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
3760         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
3761         __alloc_size__.
3762         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
3763         Suggested by Jim Meyering.
3764
3765 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
3766
3767         bootstrap: anchor .gitignore entries.
3768         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
3769         with...
3770         (insert_vc_ignore): ... this new function, which prepends `/' to
3771         all .gitignore entries before passing them to
3772         insert_sorted_if_absent.
3773
3774 2010-10-16  Bruno Haible  <bruno@clisp.org>
3775
3776         nextafter: Fix configure check.
3777         * modules/nextafter (configure.ac): Correct expected prototype.
3778
3779 2010-10-16  Bruno Haible  <bruno@clisp.org>
3780
3781         termios: Update documentation.
3782         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
3783
3784 2010-10-16  Bruno Haible  <bruno@clisp.org>
3785
3786         tests: Make them compile with TinyCC.
3787         * tests/test-strstr.c (main): Remove parentheses around array
3788         initializer.
3789
3790 2010-10-15  Eric Blake  <eblake@redhat.com>
3791
3792         ignore-value: make header idempotent
3793         * lib/ignore-value.h: Add double-inclusion guards.
3794         Reported by Stefan Berger.
3795
3796 2010-10-15  Jim Meyering  <meyering@redhat.com>
3797
3798         GNUmakefile: handle "stable" target, not "major"
3799         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
3800         lists in maint.mk and announce-gen.  Without this, "make stable"
3801         would fail to ensure that $(VERSION) is up to date.
3802
3803 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
3804
3805         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
3806         & co.
3807
3808 2010-10-14  Bruno Haible  <bruno@clisp.org>
3809
3810         vasnprintf: Don't set errno to 0.
3811         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
3812         block that sets it to 0.
3813         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
3814
3815 2010-10-14  Bruno Haible  <bruno@clisp.org>
3816
3817         socketlib: Fix.
3818         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
3819         gl_PREREQ_SYS_H_WINSOCK2.
3820         Reported by Ian Beckwith <ianb@erislabs.net>.
3821
3822 2010-10-13  Jim Meyering  <meyering@redhat.com>
3823
3824         test-select-stdin.c: avoid warn_unused_result warnings
3825         * tests/test-select-stdin.c: Include "macros.h".
3826         ASSERT that read and fflush succeed.
3827
3828 2010-10-13  Jim Meyering  <meyering@redhat.com>
3829
3830         git-version-gen: do require git-VC'd files in cwd
3831         * build-aux/git-version-gen: Reject a git version string
3832         if there are no commits associated with the current directory.
3833         This avoids an unlikely false-positive (unrelated dir whose parent
3834         repository also contains a tag matching v*), as pointed out
3835         by Giuseppe Scrivano in
3836         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
3837
3838 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
3839
3840         argv-iter: omit nonconforming declaration
3841         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
3842         enum arg_iter_err declaration, which doesn't conform to C99.
3843         Solaris 10 cc warns about this.
3844
3845 2010-10-13  Eric Blake  <eblake@redhat.com>
3846
3847         termios: fix compilation on mingw
3848         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
3849         (gl_TERMIOS_H): Adjust it on mingw.
3850         * modules/termios (Makefile.am): Substitute new key.
3851         * lib/termios.in.h (includes): Make include_next conditional.
3852         * doc/posix-headers/termios.texi (termios.h): Update
3853         documentation.
3854         Reported by Daniel P. Berrange.
3855
3856 2010-10-13  Jim Meyering  <meyering@redhat.com>
3857
3858         git-version-gen: don't require that .git/ be in the current dir
3859         * build-aux/git-version-gen: Adjust this script so that it works
3860         when run from any working directory beneath the top-level .git/-
3861         containing directory.  Inspired by a patch from Giuseppe Scrivano,
3862         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
3863
3864         test-select: avoid warn_unused_result warnings
3865         * tests/test-select.c: Include "macros.h".
3866         ASSERT that each call to read, write, and pipe succeeds.
3867         While not technically required, also check each "close".
3868         * modules/select-tests (Files): Add tests/macros.h.
3869
3870         test-symlinkat: remove declaration of unused local
3871         * tests/test-symlinkat.c (main): Remove unused local, "buf".
3872
3873         test-inttostr: avoid shadowing warnings
3874         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
3875         and use malloc rather than the stack for the same reason as
3876         mentioned in the comment justifying the other allocation.
3877
3878 2010-10-11  Bruno Haible  <bruno@clisp.org>
3879
3880         stdlib: Allow multiple gnulib generated replacements to coexist.
3881         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
3882         Reported by Sam Steingold <sds@gnu.org>.
3883
3884 2010-10-11  Jim Meyering  <meyering@redhat.com>
3885
3886         fix a documentation typo
3887         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
3888
3889 2010-10-11  Eric Blake  <eblake@redhat.com>
3890
3891         futimens: work around Solaris 11 bug
3892         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
3893         * tests/test-futimens.h (test_futimens): Enhance, rather than
3894         weaken test.
3895         * doc/posix-functions/futimens.texi (futimens): Document the bug.
3896
3897 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3898
3899         Indentation.
3900         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
3901         higher-level operators more to the left.
3902
3903 2010-10-11  Jim Meyering  <meyering@redhat.com>
3904
3905         test-futimens: avoid unwarranted test failure on Solaris 5.11
3906         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
3907         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
3908         because it tries to dereference the NULL name argument.
3909
3910 2010-10-11  Bruno Haible  <bruno@clisp.org>
3911
3912         Indentation.
3913         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
3914         indentation.
3915
3916 2010-10-11  Jim Meyering  <meyering@redhat.com>
3917
3918         spawn.in.h: make indentation consistent with parentheses
3919         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
3920         Make indentation consistent with parentheses.
3921
3922 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
3923
3924         Fix mismatched parens in previous commit
3925         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
3926         parens.
3927
3928 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3929
3930         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
3931
3932         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
3933         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
3934         * lib/malloca.c: Include "verify.h".
3935         (verify1): Remove, replacing with a verify call.
3936         * lib/relocwrapper.c (verify1): Likewise.
3937         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
3938         Likewise.
3939         * modules/malloca (Depends-on): Add 'verify'.
3940         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
3941         * modules/vasnprintf (Depends-on): Add 'verify'.
3942         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
3943         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
3944         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
3945         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
3946         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
3947         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
3948         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
3949
3950         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
3951
3952         Formerly the style was sometimes 2*X - 1, because the C standard
3953         was wrongly thought to disallow ?: in integral constant expressions.
3954         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
3955         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
3956         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
3957         * lib/stdint.in.h (_verify_intmax_size): Likewise.
3958         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
3959         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
3960         verify that time_t cannot be floating.
3961
3962 2010-10-08  Eric Blake  <eblake@redhat.com>
3963
3964         time: enforce recent POSIX ruling that time_t is integral
3965         * lib/time.in.h (__time_t_must_be_integral): Detect any
3966         problematic systems, allowing the rest of gnulib to assume POSIX.
3967
3968 2010-10-08  Jim Meyering  <meyering@redhat.com>
3969
3970         fdopendir: fix a bug on systems lacking openat and /proc support
3971         OpenBSD 4.7 is one such system.  The most noticeable effect was
3972         failure of any application making nontrivial use of fts: rm, du,
3973         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
3974           ./rm: traversal failed: `a': Bad file descriptor
3975         Debugging that, you see that even though FD 6 was closed just
3976         prior to the opendir call in fd_clone_opendir, its resulting
3977         dir->dd_fd was 8, rather than the expected value of 6:
3978
3979         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
3980         93                close (fd);
3981         (gdb) n
3982         94                dir = fd_clone_opendir (dupfd);
3983         (gdb) n
3984         95                saved_errno = errno;
3985         (gdb) p dir->dd_fd
3986         $11 = 8
3987
3988         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
3989         The problem is that on OpenBSD, fd_clone_opendir has to resort
3990         to using the old-style save/restore CWD mechanism, due to its
3991         lack of openat/proc support, and *that* would steal the FD (6)
3992         that opendir was supposed to use.
3993
3994         The fix is to squirrel away the desired FD so that save_cwd uses a
3995         different one, and then free the dest FD right before calling opendir.
3996         That guarantees opendir will use the required file descriptor.
3997
3998         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
3999
4000 2010-10-08  Bruno Haible  <bruno@clisp.org>
4001
4002         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
4003         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
4004
4005 2010-10-08  Bruno Haible  <bruno@clisp.org>
4006
4007         nanosleep: Make replacement POSIX compliant.
4008         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
4009         is out of range.
4010         Reported by Jim Meyering.
4011
4012 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4013
4014         bootstrap: add hook for altering gnulib.mk, for Bison
4015         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
4016         the Bison bootstrapping process can rewrite file names and variables
4017         in this file before later parts of 'bootstrap' use the file.
4018         Bison wants to include lib/gnulib.mk from the top-level makefile,
4019         so it needs the file names in this file to be relative to the top
4020         level, not relative to lib; plus it needs variable names to be
4021         rewritten.
4022         (slurp): Use the new function.
4023
4024         bootstrap: reformat for readability
4025         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
4026
4027 2010-10-08  Eric Blake  <eblake@redhat.com>
4028
4029         docs: update cygwin progress
4030         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
4031         1.7.7.
4032         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
4033         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
4034         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
4035         * doc/posix-functions/carg.texi (carg): Likewise.
4036         * doc/posix-functions/cargf.texi (cargf): Likewise.
4037         * doc/posix-functions/casin.texi (casin): Likewise.
4038         * doc/posix-functions/casinf.texi (casinf): Likewise.
4039         * doc/posix-functions/casinh.texi (casinh): Likewise.
4040         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
4041         * doc/posix-functions/catan.texi (catan): Likewise.
4042         * doc/posix-functions/catanf.texi (catanf): Likewise.
4043         * doc/posix-functions/catanh.texi (catanh): Likewise.
4044         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
4045         * doc/posix-functions/ccos.texi (ccos): Likewise.
4046         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
4047         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
4048         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
4049         * doc/posix-functions/cexp.texi (cexp): Likewise.
4050         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
4051         * doc/posix-functions/cimag.texi (cimag): Likewise.
4052         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
4053         * doc/posix-functions/clog.texi (clog): Likewise.
4054         * doc/posix-functions/clogf.texi (clogf): Likewise.
4055         * doc/posix-functions/conj.texi (conj): Likewise.
4056         * doc/posix-functions/conjf.texi (conjf): Likewise.
4057         * doc/posix-functions/cpow.texi (cpow): Likewise.
4058         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
4059         * doc/posix-functions/cproj.texi (cproj): Likewise.
4060         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
4061         * doc/posix-functions/creal.texi (creal): Likewise.
4062         * doc/posix-functions/crealf.texi (crealf): Likewise.
4063         * doc/posix-functions/csin.texi (csin): Likewise.
4064         * doc/posix-functions/csinf.texi (csinf): Likewise.
4065         * doc/posix-functions/csinh.texi (csinh): Likewise.
4066         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
4067         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
4068         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
4069         * doc/posix-functions/ctan.texi (ctan): Likewise.
4070         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
4071         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
4072         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
4073         * doc/posix-headers/complex.texi (complex.h): Likewise.
4074
4075 2010-10-07  Jim Meyering  <meyering@redhat.com>
4076
4077         parse-datetime: avoid compilation failure on OpenBSD 4.7
4078         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
4079         This works around a compilation failure on OpenBSD 4.7:
4080         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
4081
4082 2010-10-07  Eric Blake  <eblake@redhat.com>
4083
4084         docs: update cygwin progress
4085         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
4086         1.7.6.
4087         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
4088         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
4089         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
4090         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
4091         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
4092         Likewise.
4093         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
4094         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
4095         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
4096         Likewise.
4097         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
4098         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
4099         Likewise.
4100         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
4101         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
4102         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
4103         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
4104         Likewise.
4105         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
4106         Likewise.
4107         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
4108
4109         docs: update parse-datetime history
4110         * doc/parse-datetime.texi (Authors of parse_datetime): Better
4111         documentation of this function's history and alternatives.
4112
4113         cygwin: use more robust version check
4114         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
4115         exclude an eventual cygwin 1.9.1.
4116         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
4117         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
4118         (gl_FUNC_STRCASESTR): Likewise.
4119         Reported by Bruno Haible.
4120
4121 2010-10-06  Bruno Haible  <bruno@clisp.org>
4122
4123         string, sys_select: Avoid #including large headers unless necessary.
4124         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
4125         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
4126         OSF/1, BeOS, Haiku.
4127         Reported by Jim Meyering.
4128
4129 2010-10-05  Eric Blake  <eblake@redhat.com>
4130
4131         memmem, strstr, strcasestr: fix bug with long periodic needle
4132         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
4133         periodic needle having false positive.
4134         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
4135         and cygwin 1.7.7.
4136         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
4137         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
4138         (gl_FUNC_STRCASESTR): Likewise.
4139         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
4140         * tests/test-memmem.c (main): Expose the bug.
4141         * tests/test-strcasestr.c (main): Likewise.
4142         * tests/test-strstr.c (main): Likewise.
4143         * tests/test-c-strcasestr.c (main): Likewise.
4144         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
4145         * doc/posix-functions/strstr.texi (strstr): Likewise.
4146         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
4147         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
4148
4149 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
4150
4151         parse-datetime: do some more renaming
4152         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
4153         parse_datetime, not get_date.  Mention the renaming.
4154         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
4155         in comments.
4156         * m4/bison.m4: Likewise.
4157
4158 2010-10-05  Eric Blake  <eblake@redhat.com>
4159
4160         parse-datetime: better name than get_date
4161         * NEWS: Reword the deprecation notice.
4162         * modules/get_date: Rename to modules/parse-datetime.
4163         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
4164         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
4165         * lib/get_date.y: Rename to lib/parse-datetime.y.
4166         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
4167         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
4168         * doc/getdate.texi: Provide fallback wrapper.
4169         * lib/getdate.h: Move guts, and wrap...
4170         * lib/parse-datetime.h: ...new file.
4171         * lib/parse-datetime.y (get_date): Rename...
4172         (parse_datetime): ...to this.
4173         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
4174         (gl_PARSE_DATETIME): ...to this.
4175         * doc/posix-functions/getdate.texi (get_date): Provide fallback
4176         documentation.
4177         * modules/getdate (Files): Provide fallback docs and header.
4178         (Notice, Depends-on): Update references.
4179         * tests/test-parse-datetime.c: Likewise.
4180         * DEPENDENCIES: Likewise.
4181         * MODULES.html.sh (Date and time <time.h>): Likewise.
4182         * doc/parse-datetime.texi (Date input formats)
4183         (Authors of parse_datetime): Likewise.
4184         * modules/parse-datetime (Files, configure.ac, Makefile.am)
4185         (Include): Likewise.
4186         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
4187         * gnulib-tool: Likewise.
4188         * m4/bison.m4 (gl_BISON): Likewise.
4189         Suggested by Bruno Haible.
4190
4191 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
4192
4193         more ports to Solaris tr, which needs [] around ranges
4194         * gnulib-tool: Solaris tr needs [] around ranges.
4195         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
4196         * tests/test-pipe-filter-gi1.c (main): Likewise.
4197         * tests/test-pipe-filter-ii1.c (main): Likewise.
4198
4199 2010-10-05  Eric Blake  <eblake@redhat.com>
4200
4201         bootstrap: fix Solaris regression
4202         * build-aux/bootstrap (check_versions): Solaris tr still needs []
4203         around ranges.
4204         Reported by Pádraig Brady.
4205
4206         bootstrap: work with pkg-config
4207         * build-aux/bootstrap (check_versions): Also transliterate - in
4208         prerequisite name.
4209         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
4210         prerequisites that were already found, to avoid confusion.
4211         Reported by Justin Clift.
4212
4213         faccessat: remove unused wrappers
4214         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
4215         presence of these wrappers dragged in -lgen on Solaris.
4216         Reported by Clemens Brogi; fix suggested by Paul Eggert.
4217
4218 2010-10-05  Jim Meyering  <meyering@redhat.com>
4219
4220         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
4221         * Makefile (sc_pragma_columns): New syntax-check rule.
4222
4223 2010-10-04  Bruno Haible  <bruno@clisp.org>
4224
4225         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
4226         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
4227         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
4228         Reported by Bruce Korb and Eric Blake.
4229
4230 2010-10-04  Bruno Haible  <bruno@clisp.org>
4231
4232         threadlib: Make option --with-libpth-prefix work.
4233         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
4234         use $LIBPTH, not just -lpth.
4235
4236 2010-10-04  Bruno Haible  <bruno@clisp.org>
4237
4238         Avoid line length limitation from HP NonStop system header files.
4239         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
4240         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
4241         * lib/ctype.in.h: Likewise.
4242         * lib/dirent.in.h: Likewise.
4243         * lib/errno.in.h: Likewise.
4244         * lib/fcntl.in.h: Likewise.
4245         * lib/float.in.h: Likewise.
4246         * lib/getopt.in.h: Likewise.
4247         * lib/iconv.in.h: Likewise.
4248         * lib/inttypes.in.h: Likewise.
4249         * lib/langinfo.in.h: Likewise.
4250         * lib/locale.in.h: Likewise.
4251         * lib/math.in.h: Likewise.
4252         * lib/netdb.in.h: Likewise.
4253         * lib/netinet_in.in.h: Likewise.
4254         * lib/poll.in.h: Likewise.
4255         * lib/pthread.in.h: Likewise.
4256         * lib/pty.in.h: Likewise.
4257         * lib/sched.in.h: Likewise.
4258         * lib/se-selinux.in.h: Likewise.
4259         * lib/search.in.h: Likewise.
4260         * lib/signal.in.h: Likewise.
4261         * lib/spawn.in.h: Likewise.
4262         * lib/stdarg.in.h: Likewise.
4263         * lib/stddef.in.h: Likewise.
4264         * lib/stdint.in.h: Likewise.
4265         * lib/stdio.in.h: Likewise.
4266         * lib/stdlib.in.h: Likewise.
4267         * lib/string.in.h: Likewise.
4268         * lib/strings.in.h: Likewise.
4269         * lib/sys_file.in.h: Likewise.
4270         * lib/sys_ioctl.in.h: Likewise.
4271         * lib/sys_select.in.h: Likewise.
4272         * lib/sys_socket.in.h: Likewise.
4273         * lib/sys_stat.in.h: Likewise.
4274         * lib/sys_time.in.h: Likewise.
4275         * lib/sys_times.in.h: Likewise.
4276         * lib/sys_utsname.in.h: Likewise.
4277         * lib/sys_wait.in.h: Likewise.
4278         * lib/sysexits.in.h: Likewise.
4279         * lib/termios.in.h: Likewise.
4280         * lib/time.in.h: Likewise.
4281         * lib/unistd.in.h: Likewise.
4282         * lib/wchar.in.h: Likewise.
4283         * lib/wctype.in.h: Likewise.
4284         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
4285         * modules/ctype (Makefile.am): Likewise.
4286         * modules/dirent (Makefile.am): Likewise.
4287         * modules/errno (Makefile.am): Likewise.
4288         * modules/fcntl-h (Makefile.am): Likewise.
4289         * modules/float (Makefile.am): Likewise.
4290         * modules/getopt-posix (Makefile.am): Likewise.
4291         * modules/iconv-h (Makefile.am): Likewise.
4292         * modules/inttypes (Makefile.am): Likewise.
4293         * modules/langinfo (Makefile.am): Likewise.
4294         * modules/locale (Makefile.am): Likewise.
4295         * modules/math (Makefile.am): Likewise.
4296         * modules/netdb (Makefile.am): Likewise.
4297         * modules/netinet_in (Makefile.am): Likewise.
4298         * modules/poll-h (Makefile.am): Likewise.
4299         * modules/pthread (Makefile.am): Likewise.
4300         * modules/pty (Makefile.am): Likewise.
4301         * modules/sched (Makefile.am): Likewise.
4302         * modules/search (Makefile.am): Likewise.
4303         * modules/selinux-h (Makefile.am): Likewise.
4304         * modules/signal (Makefile.am): Likewise.
4305         * modules/spawn (Makefile.am): Likewise.
4306         * modules/stdarg (Makefile.am): Likewise.
4307         * modules/stddef (Makefile.am): Likewise.
4308         * modules/stdint (Makefile.am): Likewise.
4309         * modules/stdio (Makefile.am): Likewise.
4310         * modules/stdlib (Makefile.am): Likewise.
4311         * modules/string (Makefile.am): Likewise.
4312         * modules/strings (Makefile.am): Likewise.
4313         * modules/sys_file (Makefile.am): Likewise.
4314         * modules/sys_ioctl (Makefile.am): Likewise.
4315         * modules/sys_select (Makefile.am): Likewise.
4316         * modules/sys_socket (Makefile.am): Likewise.
4317         * modules/sys_stat (Makefile.am): Likewise.
4318         * modules/sys_time (Makefile.am): Likewise.
4319         * modules/sys_times (Makefile.am): Likewise.
4320         * modules/sys_utsname (Makefile.am): Likewise.
4321         * modules/sys_wait (Makefile.am): Likewise.
4322         * modules/sysexits (Makefile.am): Likewise.
4323         * modules/termios (Makefile.am): Likewise.
4324         * modules/time (Makefile.am): Likewise.
4325         * modules/unistd (Makefile.am): Likewise.
4326         * modules/wchar (Makefile.am): Likewise.
4327         * modules/wctype (Makefile.am): Likewise.
4328
4329 2010-10-04  Bruno Haible  <bruno@clisp.org>
4330
4331         read-file tests: Avoid a test failure on NonStop Kernel.
4332         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
4333         a regular file.
4334         Reported by Joachim Schmitz <schmitz@hp.com>.
4335
4336 2010-10-03  Bruno Haible  <bruno@clisp.org>
4337
4338         gnulib-tool: Fixes for --create-testdir with --libtool.
4339         * gnulib-tool (func_get_automake_snippet): Don't augment
4340         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
4341         an executable.
4342         (func_create_testdir): Handle module 'alloca' like func_import.
4343         Reported by Bruce Korb <bruce.korb@gmail.com>.
4344
4345 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
4346
4347         Avoid some lines longer than 80 characters.
4348         * lib/stdint.in.h: Break long comment lines.
4349         * lib/math.in.h: Likewise.
4350         (_GL_NUM_UINT_WORDS): New macro, for readability.
4351         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
4352         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
4353         * lib/stdlib.in.h: Likewise.
4354         * lib/spawn.in.h: Likewise.
4355         * lib/sys_socket.in.h: Update an URL.
4356         * lib/sys_stat.in.h: Break long line.
4357
4358 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
4359
4360         Improve pmccabe2html.
4361         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
4362         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
4363         when the sources change. Remove the line in the HTML about "Used
4364         ranges" (which implied that there might be other unused ranges),
4365         rename "Resume" to "Summary" (easier to understand for more users).
4366         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
4367         styles, and some unnecessary blank lines.
4368
4369 2010-10-03  Bruno Haible  <bruno@clisp.org>
4370             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4371
4372         acl: Add support for ACLs on NonStop Kernel.
4373         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
4374         Check whether the function aclsort() exists.
4375         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
4376         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
4377         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
4378         (acl_nontrivial [HAVE_ACLSORT]: New function.
4379         (file_has_acl): Implement for NonStop Kernel.
4380         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
4381         (qset_acl): Implement for NonStop Kernel.
4382         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
4383         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
4384         (main): Implement for NonStop Kernel.
4385         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
4386         Kernel. Handle this flavor.
4387         * tests/test-set-mode-acl.sh: Likewise.
4388         * tests/test-copy-acl.sh: Likewise.
4389         * tests/test-copy-file.sh: Likewise.
4390
4391 2010-10-03  Bruno Haible  <bruno@clisp.org>
4392
4393         Info about ACLs on NonStop Kernel.
4394         * doc/acl-resources.txt: Add info about NonStop Kernel.
4395         References by Joachim Schmitz <schmitz@hp.com>.
4396
4397 2010-10-02  Bruno Haible  <bruno@clisp.org>
4398
4399         Define missing EDQUOT on NonStop Kernel.
4400         * lib/errno.in.h (EDQUOT): Assign a value if missing.
4401         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
4402         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
4403         missing.
4404         * doc/posix-headers/errno.texi: Mention the NSK bug.
4405         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
4406         Reported by Joachim Schmitz <schmitz@hp.com>.
4407
4408 2010-10-02  Bruno Haible  <bruno@clisp.org>
4409
4410         Update doc for POSIX:2008.
4411         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
4412         Update URL of POSIX specification.
4413
4414 2010-10-02  Bruno Haible  <bruno@clisp.org>
4415
4416         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
4417         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
4418         from gnulib, not from Automake.
4419
4420 2010-10-02  Bruno Haible  <bruno@clisp.org>
4421
4422         New module 'system-posix'.
4423         * modules/system-posix: New file.
4424         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
4425         module is present.
4426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4427         GNULIB_SYSTEM_POSIX.
4428         * modules/stdlib (Depends-on): Remove sys_wait.
4429         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
4430         * doc/posix-functions/system.texi: Mention the new module.
4431         * doc/posix-headers/stdlib.texi: Likewise.
4432         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
4433         define test_sys_wait_macros to a no-op.
4434         Reported by Sam Steingold <sds@gnu.org>.
4435
4436 2010-09-30  Bruno Haible  <bruno@clisp.org>
4437
4438         More renaming from 'getdate' to 'get_date'.
4439         * doc/get_date.texi: Renamed from doc/getdate.texi.
4440         * modules/get_date (Files): Update.
4441         * MODULES.html.sh (Date and time <time.h>): Update.
4442         * DEPENDENCIES: Update.
4443         * gnulib-tool: Update comment.
4444         * m4/bison.m4 (gl_BISON): Likewise.
4445         * m4/get_date.m4 (gl_GET_DATE): Likewise.
4446
4447 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
4448
4449         bootstrap: support ACLOCAL_FLAGS during aclocal
4450         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
4451         can add additional -I dir for third-party .m4 files.
4452
4453 2010-09-30  Eric Blake  <eblake@redhat.com>
4454
4455         bootstrap: use glibtoolize on MacOS
4456         * build-aux/bootstrap (check_versions): Convert libtool into
4457         libtoolize.
4458         (tool search): Move libtool check earlier, and look for
4459         glibtoolize for MacOS.
4460         (gnulib_tool_options): Auto-add --libtool when appropriate.
4461         Reported by Justin Clift.
4462
4463         poll: fix typo that broke test on MacOS
4464         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
4465         Reported by Justin Clift.
4466
4467         getdate: rename to get_date
4468         Note: getdate.h is not renamed, to minimize client impact.
4469         * modules/getdate: Mark obsolete.  Move old contents...
4470         * modules/get_date: ...to new module name.
4471         * modules/getdate-tests: Move...
4472         * modules/get_date-tests: ...here.
4473         * m4/getdate.m4: Move...
4474         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
4475         * lib/getdate.y: Move...
4476         * lib/get_date.y: ...here.
4477         * tests/test-getdate.c: Move...
4478         * tests/test-get_date.c: ...here.
4479         * doc/posix-functions/getdate.texi (getdate): Update name.
4480         * NEWS: Mention the change.
4481
4482 2010-09-29  Bruno Haible  <bruno@clisp.org>
4483
4484         Separate the module 'waitpid' from the module 'sys_wait'.
4485         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
4486         present.
4487         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
4488         gl_MODULE_INDICATOR_FOR_TESTS.
4489         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
4490         * modules/sys_wait (Depends-on): Remove waitpid.
4491         (Makefile.am): Substitute GNULIB_WAITPID.
4492         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
4493         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
4494         signature only if the 'waitpid' module is present.
4495         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
4496         * NEWS: Mention the change.
4497         * modules/grantpt (Depends-on): Add waitpid.
4498         * modules/wait-process (Depends-on): Likewise.
4499
4500 2010-09-29  Bruno Haible  <bruno@clisp.org>
4501
4502         More tests for module 'sys_wait'.
4503         * modules/sys_wait-c++-tests: New file.
4504         * tests/test-sys_wait-c++.cc: New file.
4505         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
4506         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4507
4508 2010-09-29  Bruno Haible  <bruno@clisp.org>
4509
4510         New module 'waitpid'.
4511         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
4512         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
4513         Don't include <process.h>.
4514         (waitpid): Declare only, using modern idiom.
4515         * m4/waitpid.m4: New file.
4516         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
4517         * modules/waitpid: New file.
4518         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
4519         (Makefile.am): Update.
4520         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4521
4522 2010-09-28  Bruno Haible  <bruno@clisp.org>
4523
4524         poll: Assume ANSI C.
4525         * lib/poll.c (poll): Use an ANSI C declaration.
4526
4527 2010-09-28  Bruno Haible  <bruno@clisp.org>
4528
4529         poll-h: Create poll.h on all platforms.
4530         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
4531         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
4532         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
4533         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
4534         (gl_REPLACE_POLL_H): Don't set POLL_H.
4535         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
4536         * modules/poll-h (Depends-on): Add include_next.
4537         (Makefile.am): Create poll.h unconditionally. Substitute also
4538         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
4539
4540 2010-09-28  Bruno Haible  <bruno@clisp.org>
4541
4542         Tests for module 'poll-h'.
4543         * modules/poll-h-c++-tests: New file.
4544         * tests/test-poll-h-c++.cc: New file.
4545
4546         Tests for module 'poll-h'.
4547         * modules/poll-h-tests: New file.
4548         * tests/test-poll-h.c: New file.
4549
4550 2010-09-28  Bruno Haible  <bruno@clisp.org>
4551
4552         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
4553         * modules/poll-h (Depends-on): Add 'extensions'.
4554
4555 2010-09-28  Bruno Haible  <bruno@clisp.org>
4556
4557         New module 'poll-h'.
4558         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
4559         (poll): Use modern idiom.
4560         * modules/poll-h: New file.
4561         * modules/poll (Files): Remove lib/poll.in.h.
4562         (Depends-on): Add poll-h.
4563         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
4564         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
4565         * m4/poll_h.m4: New file.
4566         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
4567         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
4568         and invoke gl_REPLACE_POLL_H.
4569         * lib/poll.c: Use common idiom.
4570         * tests/test-poll.c: Likewise.
4571         * doc/posix-headers/poll.texi: Mention the poll-h module.
4572         Suggested by Eric Blake.
4573
4574 2010-09-26  Bruno Haible  <bruno@clisp.org>
4575
4576         sys_wait: Implement WSTOPSIG.
4577         * lib/sys_wait.in.h (WSTOPSIG): New macro.
4578         Reported by Simon Josefsson.
4579
4580 2010-09-26  Simon Josefsson  <simon@josefsson.org>
4581
4582         stdlib, sys_wait: Avoid compilation error on mingw.
4583         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
4584
4585 2010-09-26  Bruno Haible  <bruno@clisp.org>
4586
4587         stdlib tests: Avoid code duplication.
4588         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
4589         * modules/sys_wait-tests (Files): Likewise.
4590         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
4591         * tests/test-stdlib.c: Include test-sys_wait.h.
4592         (main): Invoke test_sys_wait_macros.
4593         * tests/test-sys_wait.c: Include test-sys_wait.h.
4594         (main): Invoke test_sys_wait_macros.
4595
4596 2010-09-25  Simon Josefsson  <simon@josefsson.org>
4597
4598         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
4599         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
4600         sure Windows sockets are working before calling getaddrinfo.
4601         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
4602         * doc/gnulib.texi (Windows sockets): Fix typo.
4603
4604 2010-09-25  Bruno Haible  <bruno@clisp.org>
4605
4606         Tests for module 'regex-quote'.
4607         * modules/regex-quote-tests: New file.
4608         * tests/test-regex-quote.c: New file.
4609
4610         New module 'regex-quote'.
4611         * lib/regex-quote.h: New file.
4612         * lib/regex-quote.c: New file.
4613         * modules/regex-quote: New file.
4614         Suggested by Reuben Thomas <rrt@sc3d.org>.
4615
4616 2010-09-24  Bruno Haible  <bruno@clisp.org>
4617
4618         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
4619         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
4620
4621 2010-09-23  Bruno Haible  <bruno@clisp.org>
4622
4623         setenv: Relax license.
4624         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
4625         Blake.
4626         Requested by Eric Blake.
4627
4628 2010-09-22  Bruno Haible  <bruno@clisp.org>
4629
4630         termios: Relax license.
4631         * modules/termios (License): Change to LGPLv2+.
4632         Requested by Eric Blake.
4633
4634 2010-09-22  Bruno Haible  <bruno@clisp.org>
4635
4636         threadlib: Allow the package to change the default to 'no'.
4637         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
4638         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
4639         Reported by Paul Eggert.
4640
4641 2010-09-22  Pádraig Brady  <P@draigbrady.com>
4642             Bruno Haible  <bruno@clisp.org>
4643
4644         Fix endless loop in mbmemcasecoll.
4645         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
4646         byte.
4647         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
4648
4649 2010-09-22  Bruno Haible  <bruno@clisp.org>
4650
4651         Tests for module 'memcoll'.
4652         * modules/memcoll-tests: New file.
4653         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
4654
4655         memcoll, xmemcoll: Clarify size vs. length.
4656         * modules/memcoll.c (memcoll0): Clarify specification.
4657         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
4658         passed to collate_error.
4659
4660 2010-09-22  Bruno Haible  <bruno@clisp.org>
4661
4662         Tests for module 'memcasecmp'.
4663         * modules/memcasecmp-tests: New file.
4664         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
4665
4666 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
4667
4668         * lib/pthread.in.h: Add split double-inclusion guard, and include
4669         system <pthread.h> if there is one.  Use @@-style as in other
4670         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
4671         pthread.h doesn't.
4672         (pthread_mutexattr_destroy, pthread_mutexattr_init):
4673         (pthread_mutexattr_settype, pthread_mutex_trylock):
4674         New static inline functions, if there's no system <pthread.h>.
4675         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
4676         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
4677         Approximate with mutexes if the system lacks spinlocks, as in
4678         MacOS.
4679         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
4680         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
4681         @@-style.  Check for spinlocks separately.
4682         (gl_PTHREAD_DEFAULTS): New macro.
4683         * modules/pthread: Redo to use a more typical style for in.h files.
4684
4685 2010-09-21  Eric Blake  <eblake@redhat.com>
4686
4687         net_if: enhance tests
4688         * tests/test-net_if.c (main): Move signature checks earlier.
4689         Print failures to stderr.
4690         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
4691         Document the bug that we do not yet fix.
4692
4693 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
4694
4695         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
4696         about gnulib, not GSS.
4697
4698 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
4699
4700         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
4701         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
4702         for Emacs.
4703         * build-aux/pmccabe2html: Make Makefile.am example code more
4704         cut-and-paste friendly.
4705
4706 2010-09-21  Simon Josefsson  <simon@josefsson.org>
4707
4708         * tests/test-net_if.c: New file.
4709         * modules/net_if-tests: New file.
4710
4711 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4712
4713         pthread: add pthread_spin_destroy
4714         * lib/pthread.in.h (pthread_spin_destroy): New function.
4715
4716 2010-09-19  Bruno Haible  <bruno@clisp.org>
4717
4718         gnulib-tool: Fix --help output.
4719         * gnulib-tool (func_usage): Fix help message.
4720         Reported by Reuben Thomas <rrt@sc3d.org>.
4721
4722 2010-09-18  Jim Meyering  <meyering@redhat.com>
4723
4724         maint.mk: avoid unexpanded \n in two diagnostics
4725         * top/maint.mk (sc_prohibit_always_true_header_tests):
4726         Don't use a literal \n in a halt=... assignment.  It would not be
4727         expanded, and the two \n bytes would appear in the diagnostic output
4728         rather than the desired newline.  Use halt=$$(printf ... instead.
4729         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
4730
4731 2010-09-18  Bruno Haible  <bruno@clisp.org>
4732
4733         netinet_in: Doc tweak.
4734         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
4735         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
4736
4737 2010-09-18  Jim Meyering  <meyering@redhat.com>
4738
4739         init.sh: correct an outdated comment
4740         * tests/init.sh (create_exe_shims_):  s/function/alias/
4741
4742         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
4743         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
4744         a file named "*.exe" is removed between the glob expansion and the
4745         processing of that oddly named file.
4746
4747 2010-09-17  Eric Blake  <eblake@redhat.com>
4748
4749         mirbsd: add some more support
4750         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
4751         in BSD family.
4752         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
4753         devices as OpenBSD.
4754         * m4/host-os.m4 (mirbsd): Add MirBSD.
4755
4756         tests: fix unportable assumption on sys/wait.h
4757         * tests/test-sys_wait.c (main): Relax test.
4758         * tests/test-stdlib.c (main): Likewise.
4759
4760         init.sh: accomodate directory with no .exes
4761         * tests/init.sh: Accomodate directory containing only scripts.
4762
4763         tests: avoid compiler warning
4764         * tests/test-stdlib.c (main): Use the variable.
4765
4766         fdutimens, fdutimensat: update signature, again
4767         * lib/utimens.h (gl_futimens): Delete, and move signature...
4768         (fdutimens): ...here.
4769         (fdutimensat): Rearrange signature.
4770         (lutimensat): Rename variable for clarity.
4771         * lib/fdutimensat.c (fdutimensat): Update signature.
4772         * lib/utimens.c (fdutimens): Likewise.
4773         (gl_futimens): Delete.
4774         (utimens, lutimens): Update callers.
4775         * lib/futimens.c (futimens): Likewise.
4776         * tests/test-fdutimensat.c: Likewise.
4777         * tests/test-utimens.c: Likewise.
4778         * tests/test-futimens.h: Update comment.
4779         * NEWS: Mention this.
4780         Suggested by Paul Eggert.
4781
4782 2010-09-17  Bruno Haible  <bruno@clisp.org>
4783
4784         Take over the maintenance of some older macros from Autoconf.
4785         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
4786         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
4787         GNU Autoconf.
4788         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
4789         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
4790
4791 2010-09-17  Eric Blake  <eblake@redhat.com>
4792
4793         fdutimensat: drop atflag validation
4794         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
4795         with valid fd, to close a race scenario where futimens is
4796         unsupported and FILE was replaced by a symlink.
4797         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
4798         accordingly.
4799         Suggested by Paul Eggert.
4800
4801 2010-09-16  Bruno Haible  <bruno@clisp.org>
4802
4803         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
4804         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
4805
4806 2010-09-16  Bruno Haible  <bruno@clisp.org>
4807
4808         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
4809         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
4810         login_tty exists.
4811         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
4812
4813 2010-09-16  Bruno Haible  <bruno@clisp.org>
4814
4815         login_tty: Make the replacement code work on BSD systems.
4816         * lib/login_tty.c: Include <sys/ioctl.h>.
4817         (login_tty): Use ioctl TIOCSCTTY when available.
4818         * modules/login_tty (Depends-on): Add sys_ioctl.
4819         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
4820
4821 2010-09-16  Bruno Haible  <bruno@clisp.org>
4822
4823         login_tty: Stricter unit test.
4824         * modules/login_tty-tests (Depends-on): Add tcgetsid.
4825         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
4826         and tcgetsid() after login_tty.
4827         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
4828
4829 2010-09-16  Bruno Haible  <bruno@clisp.org>
4830
4831         New module 'tcgetsid'.
4832         * lib/tcgetsid.c: New file.
4833         * m4/tcgetsid.m4: New file.
4834         * modules/tcgetsid: New file.
4835         * modules/termios (Depends-on): Add c++defs, warn-on-use.
4836         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
4837         GNULIB_TCGETSID, HAVE_TCGETSID.
4838         * lib/termios.in.h: Include <sys/types.h>.
4839         (tcgetsid): New declaration.
4840         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
4841         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
4842         * doc/posix-functions/tcgetsid.texi: Mention the new module.
4843         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
4844
4845 2010-09-16  Bruno Haible  <bruno@clisp.org>
4846
4847         Tests for module 'termios'.
4848         * modules/termios-c++-tests: New file.
4849         * modules/termios-tests: New file.
4850         * tests/test-termios-c++.cc: New file.
4851         * tests/test-termios.c: New file.
4852
4853         New module 'termios'.
4854         * modules/termios: New file.
4855         * lib/termios.in.h: New file.
4856         * m4/termios_h.m4: New file.
4857         * doc/posix-headers/termios.texi: Mention the new module.
4858
4859 2010-09-16  Eric Blake  <eblake@redhat.com>
4860
4861         fdutimensat: add an atflag parameter
4862         * lib/fdutimensat.c (fdutimensat): Add new parameter.
4863         * lib/utimens.h (fdutimensat): Update prototype.
4864         * tests/test-fdutimensat.c: Adjust test to match.
4865         * NEWS: Document the change.
4866         Suggested by Paul Eggert.
4867
4868 2010-09-16  Bruno Haible  <bruno@clisp.org>
4869
4870         Fix typos in comments.
4871         * lib/striconveh.h: Fix typo in comment.
4872         * lib/login_tty.c (login_tty): Likewise.
4873
4874 2010-09-15  Bruno Haible  <bruno@clisp.org>
4875
4876         stdlib: clarify MirBSD WEXITSTATUS bug
4877         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
4878         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
4879
4880 2010-09-15  Eric Blake  <eblake@redhat.com>
4881
4882         stdlib: work around MirBSD WEXITSTATUS bug
4883         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
4884         * modules/stdlib (Depends-on): Add sys_wait.
4885         * tests/test-sys_wait.c (main): Enhance test.
4886         * tests/test-stdlib.c (main): Likewise.
4887         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
4888
4889         docs: mention MacOS issue with WEXITSTATUS(constant)
4890         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
4891         issue.
4892         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
4893
4894         strnlen: add tests
4895         * modules/strnlen-tests: New file.
4896         * tests/test-strnlen.c: Likewise.
4897
4898 2010-09-14  Bruno Haible  <bruno@clisp.org>
4899
4900         unistr/base: Avoid link errors when module 'libunistring' is also used.
4901         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
4902         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
4903         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
4904         Declare also when HAVE_LIBUNISTRING is set.
4905         Reported by Pádraig Brady <P@draigbrady.com>.
4906
4907 2010-09-14  Eric Blake  <eblake@redhat.com>
4908
4909         test-rawmemchr: make more robust
4910         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
4911         (Depends-on, configure.ac): Add needed prerequisites to use it.
4912         * modules/memchr-tests (Files, Depends-on, configure.ac):
4913         Likewise, to avoid implicit reliance on memchr module prereqs.
4914         * tests/test-memchr.c (main): Ensure proper masking.
4915         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
4916         reads.
4917
4918         memchr: detect glibc Alpha bug
4919         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
4920         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
4921         Alpha.
4922         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
4923         * tests/test-memchr.c (main): Enhance test.
4924         Reported by Nelson H. F. Beebe.
4925
4926 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4927
4928         fts, getcwd, glob: audit for dirfd returning -1
4929         * lib/fts.c (opendir): Remove #define; no longer used.
4930         (opendirat): New arg PDIR_FD.  All callers changed.
4931         (fts_build, _opendir2): Use new opendirat to avoid the need for
4932         dirfd, or for checking whether dirfd returns a negative value.
4933         Don't use opendir; always use openat followed by fdopendir.
4934         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
4935         it.
4936         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
4937         returns -1 here.
4938         * modules/fts (Depends-on): Remove dirfd.
4939         * modules/getcwd (Depends-on): Likewise.
4940
4941 2010-09-13  Eric Blake  <eblake@redhat.com>
4942
4943         float: fix broken MirBSD header
4944         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
4945         * doc/posix-headers/float.texi (float.h): Document it.
4946
4947 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4948
4949         fts: use O_NOFOLLOW to avoid race condition when opening a directory
4950         * lib/fts.c (opendirat): New arg extra_flags.
4951         (__opendir2): Use it to avoid following symlinks when opening
4952         a directory, if symlinks are not supposed to be followed.  See
4953         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
4954
4955         fdopendir: preserve argument fd before returning
4956         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
4957         (fdopendir_with_dup, fd_clone_opendir): New static functions.
4958         (fdopendir): Use them, arranging for FD to be open to the same
4959         directory that it was when it started.  (It might be temporarily
4960         closed while fdopendir is running, so this not thread- or
4961         signal-safe.)  Be careful to do the right thing even when file
4962         descriptors are scarce and dup fails with errno == EMFILE.  See
4963         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
4964
4965 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
4966
4967         regex: Pass the system regex if its only problem is 32-bit regoff_t.
4968         * NEWS: Document change.
4969         * m4/regex.m4: Disable test for regoff_t size.
4970
4971 2010-09-13  Jim Meyering  <meyering@redhat.com>
4972
4973         fts: don't operate on an invalid file descriptor after failed dup
4974         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
4975         negative file descriptor.
4976
4977 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4978
4979         savedir: add streamsavedir, deprecate fdsavedir
4980         * NEWS: Mention deprecation of fdsavedir.
4981         * lib/savedir.c (streamsavedir): New extern function, whose name
4982         ends in "savedir" to be consistent with the others.  This differs
4983         from savedirstream in that it doesn't close its argument.  The
4984         next version of GNU tar will use this instead of fdsavedir, to
4985         avoid some race conditions and conserve file descriptors.
4986         (savedirstream): Reimplement as a wrapper around streamsavedir.
4987         (fdsavedir): Add a comment deprecating this function.  As far as
4988         I know, only GNU tar used it, and GNU tar doesn't need it any more.
4989         * lib/savedir.h (streamsavedir): New decl.
4990         (fdsavedir): Add a comment deprecating this.
4991
4992 2010-09-10  Bruno Haible  <bruno@clisp.org>
4993
4994         langinfo: Fix last commit.
4995         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
4996         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
4997         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4998
4999 2010-09-10  Bruno Haible  <bruno@clisp.org>
5000
5001         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
5002         * lib/progreloc.c (O_EXEC): Define fallback.
5003
5004 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
5005
5006         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
5007         * NEWS: Document recent changes to fcntl-h.
5008         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
5009         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
5010         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
5011         Similarly for O_SEARCH; this last was already true, but not documented.
5012         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
5013         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
5014         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
5015         Likewise.
5016         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
5017         is zero, not whether it is defined.
5018         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
5019         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
5020         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
5021
5022 2010-09-10  Bruno Haible  <bruno@clisp.org>
5023
5024         langinfo, nl_langinfo: Fix for IRIX 5.3.
5025         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
5026         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
5027         HAVE_LANGINFO_YESEXPR.
5028         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
5029         HAVE_LANGINFO_YESEXPR.
5030         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
5031         HAVE_LANGINFO_T_FMT_AMPM is 0.
5032         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
5033         HAVE_LANGINFO_YESEXPR is 0.
5034         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
5035         NOEXPR.
5036         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
5037         * doc/posix-functions/nl_langinfo.texi: Likewise.
5038         Reported by Eric Blake.
5039
5040 2010-09-10  Bruno Haible  <bruno@clisp.org>
5041
5042         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
5043         * doc/glibc-functions/login_tty.texi: Mention the include file problem
5044         on FreeBSD 8.0 and OpenBSD 4.6.
5045         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
5046         * m4/pty_h.m4 (gl_PTY_H): Likewise.
5047         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
5048         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
5049         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
5050         ac_includes_default.
5051         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5052
5053 2010-09-09  Eric Blake  <eblake@redhat.com>
5054
5055         strsignal: work around NetBSD bug
5056         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
5057         * lib/string.in.h (includes): Likewise.
5058         * doc/posix-functions/strsignal.texi (strsignal): Document the
5059         bug.
5060         Reported by Nelson H. F. Beebe.
5061
5062         gnulib-tool: work with NetBSD /bin/sh
5063         * gnulib-tool (func_cache_var, func_cache_lookup_module)
5064         (func_get_description, func_get_comment, func_get_status)
5065         (func_get_notice, func_get_applicability, func_get_filelist)
5066         (func_get_dependencies, func_get_autoconf_early_snippet)
5067         (func_get_autoconf_snippet, func_get_automake_snippet)
5068         (func_get_include_directive, func_get_link_directive)
5069         (func_get_license, func_get_maintainer, func_import): Avoid
5070         shell syntax errors from parsing syntax extensions.
5071
5072 2010-09-09  Bruno Haible  <bruno@clisp.org>
5073
5074         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
5075         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
5076         a reliable way to determine whether the 'alias' command works.
5077
5078 2010-09-08  Jim Meyering  <meyering@redhat.com>
5079
5080         init.sh: penalize a set-x-impaired shell; don't disqualify it
5081         * tests/init.sh: Too many shells corrupt application stderr when
5082         you set -x, so we can't afford to disqualify them, since at least
5083         on Irix-6.5, that would disqualify all bourne shells.
5084         Instead, use a two-pass approach.
5085         On the first pass, try to find a shell that meets the stricter
5086         condition that set -x does not corrupt stderr.
5087         If no shell meets the stricter condition, retest each candidate
5088         shell, but without that extra condition.  Finally, when
5089         VERBOSE=yes is requested and set -x might cause trouble, simply
5090         issue a warning and refrain from enabling debug output.
5091
5092 2010-09-08  Eric Blake  <eblake@redhat.com>
5093
5094         unsetenv: fix OpenBSD bug
5095         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
5096         * doc/posix-functions/unsetenv.texi (unsetenv): Update
5097         documentation.
5098         Reported by Jim Meyering.
5099
5100         strtod: work around IRIX 6.5 bug
5101         * lib/strtod.c (strtod): Reparse number on shorter string if
5102         exponent parse was invalid.
5103         * tests/test-strtod.c (main): Add check for "0x1p 2".
5104         Reported by Tom G. Christensen.
5105
5106         getopt: optimize previous patch
5107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
5108         empty variable.  Speed up awk script.
5109         Reported by Paolo Bonzini.
5110
5111 2010-09-08  Jim Meyering  <meyering@redhat.com>
5112
5113         test.sh: disqualify shells for which set -x corrupts stderr
5114         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
5115         and OpenBSD 4.7.  They make it so with "set -x", environment settings
5116         appear in stderr output.  For example, this command:
5117             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
5118         prints "P=1" on those two systems:
5119
5120 2010-09-08  Bruno Haible  <bruno@clisp.org>
5121
5122         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
5123         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
5124         commands, because some shells ignore redirections when there is an
5125         error in the command lookup.
5126         Reported by Eric Blake.
5127
5128 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
5129
5130         * lib/regex.h: Fix a mention of `regex_compile' (should be
5131         `re_compile_pattern').
5132         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
5133         (re_set_registers): Correct name of parameter in comment.
5134
5135         * doc/regex.texi: Add documentation for missing syntax flags.
5136         Remove commented-out documentation of defunct syntax option
5137         RE_NO_EMPTY_ALTS.
5138         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
5139         Add documentation of re_set_registers.
5140         Document trick to re-use a pattern buffer by setting fastmap manually.
5141         Update documentation of struct re_pattern_buffer per public members.
5142         Uncomment documentation of equivalence class operators and
5143         collating symbol operators, since they are now implemented,
5144         Explain leftmost-longest matching in relation to alternatives.
5145         Tidy documentation of substring matching.
5146         Remove POSIX documentation, which is done better in
5147         glibc, and refer the reader there. Keep BSD API documentation, as
5148         that is not readily available elsewhere.
5149
5150 2010-09-07  Eric Blake  <eblake@redhat.com>
5151
5152         getopt: handle POSIXLY_CORRECT set but not exported
5153         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
5154         export state of POSIXLY_CORRECT, due to bash set -o posix.
5155         Reported by Dustin J. Mitchell.
5156
5157 2010-09-05  Bruno Haible  <bruno@clisp.org>
5158
5159         gnulib-tool: Highlight the changed options.
5160         * gnulib-tool (func_usage): Display the --import, --add-import,
5161         --remove-import explanations in bold font.
5162
5163 2010-09-06  Karl Berry  <karl@gnu.org>
5164
5165         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
5166
5167 2010-09-05  Bruno Haible  <bruno@clisp.org>
5168
5169         uniwidth/width: Update comment.
5170         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
5171         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
5172
5173 2010-09-05  Bruno Haible  <bruno@clisp.org>
5174
5175         isinf, isnan: Relax license.
5176         * modules/isinf (License): Change from GPL to LGPL, with consent from
5177         Ben Pfaff.
5178         * modules/isnan (License): Likewise.
5179         Requested by Ludovic Courtès.
5180
5181 2010-09-04  Bruno Haible  <bruno@clisp.org>
5182
5183         gnulib-tool: Help migration from --import to --add-import or --update.
5184         * gnulib-tool: Emit a verbose error message when --import is used
5185         without any module name.
5186
5187 2010-09-04  Bruno Haible  <bruno@clisp.org>
5188
5189         Update doc about gnulib-tool.
5190         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
5191         'gnulib-tool --update' in more detail.
5192         Reported by Eric Blake.
5193
5194 2010-09-04  Bruno Haible  <bruno@clisp.org>
5195
5196         gnulib-tool: Change --import. New options --add/remove-import.
5197         * gnulib-tool: New options --add-import, --remove-import.
5198         (func_usage): Document them.
5199         (have_associative): Define always.
5200         (func_import): In import mode, don't merge the specified settings with
5201         the cached settings. Implement remove-import mode.
5202         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
5203         Explain when to use them versus --import.
5204         (Simple update): Use --add-import instead of --import.
5205         * NEWS: Mention the change.
5206
5207 2010-09-04  Bruno Haible  <bruno@clisp.org>
5208
5209         * doc/gnulib-tool.texi (Initial import): Update paragraph about
5210         separate gnulib.mk.
5211
5212 2010-09-04  Bruno Haible  <bruno@clisp.org>
5213
5214         gnulib-tool: Don't talk about CVS any more.
5215         * gnulib-tool (func_usage, func_import): Write "version control"
5216         instead of CVS.
5217
5218 2010-09-04  Jim Meyering  <meyering@redhat.com>
5219
5220         maint.mk: avoid obscure sc_copyright_check failure in coreutils
5221         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
5222         false positives (whose names may be ill-chosen) when searching
5223         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
5224         would cause a false-positive.
5225
5226         avoid coreutils "make distcheck" failure
5227         Coreutils tests with an absolute build directory name that contains
5228         a space.  Not quoting this directory name caused a failure.
5229         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
5230         * tests/test-vc-list-files-cvs.sh: Likewise.
5231
5232 2010-09-04  Bruno Haible  <bruno@clisp.org>
5233
5234         gnulib-tool: Avoid error when run in a package without Makefile.am.
5235         * gnulib-tool: When collecting the m4dirs in a package that does not
5236         have a Makefile.am, eliminate those directories that contain no
5237         gnulib-cache.m4. Fix expression that counts these directories.
5238
5239 2010-09-04  Bruno Haible  <bruno@clisp.org>
5240
5241         update-copyright test: Improve output when perl is missing or too old.
5242         * tests/test-update-copyright.sh: Move test of Perl version down after
5243         the test whether Perl exists. Provide an explanation relating Perl's
5244         error message to Automake's SKIP: message.
5245
5246 2010-09-04  Bruno Haible  <bruno@clisp.org>
5247
5248         Don't augment PATH in TESTS_ENVIRONMENT.
5249         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
5250         set abs_aux_dir instead of augmenting PATH.
5251         * modules/vc-list-files-tests (Makefile.am): Likewise.
5252         * tests/test-update-copyright.sh: Augment PATH here.
5253         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
5254         path_prepend_.
5255         * tests/test-vc-list-files-git.sh: Likewise.
5256
5257 2010-09-04  Jim Meyering  <meyering@redhat.com>
5258
5259         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
5260         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
5261
5262 2010-09-04  Bruno Haible  <bruno@clisp.org>
5263
5264         strdup: Fix compilation error in C++ mode.
5265         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
5266         the macro.
5267
5268 2010-09-04  Bruno Haible  <bruno@clisp.org>
5269
5270         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
5271         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
5272         macro into a function.
5273         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5274
5275 2010-09-04  Bruno Haible  <bruno@clisp.org>
5276
5277         Set PATH_SEPARATOR the same way autoconf does.
5278         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
5279         the value of PATH_SEPARATOR the same way autoconf-generated configure
5280         scripts do.
5281         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
5282         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
5283
5284 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
5285
5286         Set PATH_SEPARATOR the same way autoconf does.
5287         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
5288         the same way autoconf-generated configure scripts do.
5289         * posix-modules: Likewise.
5290
5291 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
5292
5293         hash: fix safe_hasher const typo
5294         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
5295         const; otherwise, there is a type error later.
5296
5297 2010-09-02  Jim Meyering  <meyering@redhat.com>
5298
5299         test-update-copyright.sh: require perl 5.8.0
5300         * tests/test-update-copyright.sh: Require 5.8.0,
5301         which Tom G. Christensen has confirmed is adequate,
5302         while 5.6.1 is not.
5303
5304 2010-09-02  Eric Blake  <eblake@redhat.com>
5305
5306         tests: init.sh improvements for re-exec'ing with zsh
5307         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
5308         -vx through shell re-exec.
5309         Reported by Tom G. Christensen.
5310
5311         wctype: fix typo in previous commit
5312         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
5313         Reported by Ludovic Courtès.
5314
5315 2010-09-02  Jim Meyering  <meyering@redhat.com>
5316
5317         test-update-copyright.sh: skip test if Perl is too old
5318         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
5319         Reported by Tom G. Christensen.
5320
5321 2010-09-02  Bruno Haible  <bruno@clisp.org>
5322
5323         wctype: Avoid compilation error on IRIX 6.5.30.
5324         * lib/wctype.in.h (iswblank): Declare with a replacement if
5325         REPLACE_ISWBLANK is set.
5326         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
5327         declared. Set REPLACE_ISWBLANK.
5328         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
5329         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
5330         * doc/posix-headers/wctype.texi: Likewise.
5331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5332
5333 2010-09-01  Bruno Haible  <bruno@clisp.org>
5334
5335         New module 'socketlib'.
5336         * modules/socketlib: New file.
5337         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
5338         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
5339         * modules/sockets (Depends-on): Add socketlib.
5340         Suggested by Sam Steingold <sds@gnu.org>.
5341
5342 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5343
5344         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
5345
5346         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
5347         when one needs search access to a directory but not read access.
5348         On systems where it is available, it works in some cases where
5349         O_RDONLY does not, namely on directories that are searchable but
5350         not readable, and which need only to be searchable.  If O_SEARCH
5351         is not available, fall back to the traditional method of using
5352         O_RDONLY.
5353
5354         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
5355         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
5356         when opening a directory that needs only to be searchable.
5357         * lib/chdir-safer.c (chdir_no_follow): Likewise.
5358         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
5359         * lib/openat-proc.c (openat_proc_name): Likewise.
5360         * lib/openat.c (openat_needs_fchdir): Likewise.
5361         * lib/save-cwd.c (save_cwd): Likewise.
5362         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
5363
5364 2010-08-28  Bruno Haible  <bruno@clisp.org>
5365
5366         New module 'host-cpu-c-abi'.
5367         * modules/host-cpu-c-abi: New file.
5368         * m4/host-cpu-c-abi.m4: New file, based on part of
5369         clisp/src/m4/general.m4.
5370         Requested by Sam Steingold <sds@gnu.org>.
5371
5372 2010-08-31  Eric Blake  <eblake@redhat.com>
5373         and Jim Meyering  <meyering@redhat.com>
5374
5375         hash: factor, and guard against misbehaving hasher function
5376         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
5377         of table->hasher's return value.  Also protect against a hash value
5378         so large that adding it to table->bucket results in a NULL pointer.
5379         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
5380         Use it in place of open-coded check-and-abort.
5381
5382 2010-08-30  Bruno Haible  <bruno@clisp.org>
5383
5384         hash: silence spurious clang warning
5385         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
5386         Reported by Eric Blake.
5387
5388 2010-08-30  Eric Blake  <eblake@redhat.com>
5389
5390         strstr, memmem, strcasestr: avoid leaked shell message
5391         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
5392         FreeBSD.
5393         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5394         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5395
5396         tests: silence clang warning
5397         * tests/test-malloca.c (do_allocation): Avoid dead store.
5398
5399 2010-08-29  Bruno Haible  <bruno@clisp.org>
5400
5401         gettext: Fix recent mistake.
5402         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
5403
5404 2010-08-29  Bruno Haible  <bruno@clisp.org>
5405
5406         selinux-h: Offer a --without-selinux option.
5407         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
5408         --without-selinux was specified, skip all tests and define
5409         HAVE_SELINUX_SELINUX_H to 0.
5410         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
5411         set LIB_SELINUX to empty.
5412         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
5413         gl_LIBSELINUX. If --without-selinux was specified, replace
5414         selinux/context.h.
5415         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
5416
5417 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5418             Bruno Haible  <bruno@clisp.org>
5419
5420         Make the module 'realloc-gnu' work again on AIX and OSF/1.
5421         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
5422         of HAVE_REALLOC.
5423         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
5424         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
5425         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
5426         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
5427
5428 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5429             Bruno Haible  <bruno@clisp.org>
5430
5431         Make the module 'calloc-gnu' work again on AIX and OSF/1.
5432         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
5433         HAVE_CALLOC.
5434         * lib/xmalloc.c: Update accordingly.
5435         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
5436         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
5437         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
5438
5439 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5440             Bruno Haible  <bruno@clisp.org>
5441
5442         Make the module 'malloc-gnu' work again on AIX and OSF/1.
5443         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
5444         HAVE_MALLOC.
5445         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
5446         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
5447         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
5448
5449 2010-08-29  Bruno Haible  <bruno@clisp.org>
5450
5451         Update modules list.
5452         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
5453         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
5454         (String handling <string.h>): Add astrxfrm.
5455         (File system functions): Add readlinkat.
5456
5457 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5458
5459         Tests for module 'realloc-gnu'.
5460         * modules/realloc-gnu-tests: New file.
5461         * tests/test-realloc-gnu.c: New file.
5462
5463         Tests for module 'calloc-gnu'.
5464         * modules/calloc-gnu-tests: New file.
5465         * tests/test-calloc-gnu.c: New file.
5466
5467         Tests for module 'malloc-gnu'.
5468         * modules/malloc-gnu-tests: New file.
5469         * tests/test-malloc-gnu.c: New file.
5470
5471 2010-08-28  Bruno Haible  <bruno@clisp.org>
5472
5473         Rename module 'realloc' -> 'realloc-gnu'.
5474         * modules/realloc-gnu: New file, copied from modules/realloc.
5475         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
5476         obsolete.
5477         * modules/mgetgroups (Depends-on): Update.
5478         * doc/posix-functions/realloc.texi: Update.
5479         * NEWS: Mention the change.
5480
5481         Rename module 'calloc' -> 'calloc-gnu'.
5482         * modules/calloc-gnu: New file, copied from modules/calloc.
5483         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
5484         obsolete.
5485         * doc/posix-functions/calloc.texi: Update.
5486         * NEWS: Mention the change.
5487
5488         Rename module 'malloc' -> 'malloc-gnu'.
5489         * modules/malloc-gnu: New file, copied from modules/malloc.
5490         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
5491         obsolete.
5492         * modules/argp (Depends-on): Update.
5493         * modules/regex (Depends-on): Update.
5494         * doc/posix-functions/malloc.texi: Update.
5495         * NEWS: Mention the change.
5496
5497 2010-08-28  Eric Blake  <eblake@redhat.com>
5498
5499         pread, pwrite: add missing dependency
5500         * modules/pread (Depends-on): Add extensions.
5501         * modules/pwrite (Depends-on): Likewise.
5502
5503 2010-08-28  Bruno Haible  <bruno@clisp.org>
5504
5505         unistr/u*-strchr: Fix tests dependencies.
5506         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
5507         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
5508         Reported by Ian Beckwith <ianb@erislabs.net>.
5509
5510 2010-08-28  Bruno Haible  <bruno@clisp.org>
5511
5512         read-file: Don't occupy too much unused memory.
5513         * lib/read-file.c (fread_file): Shrink the buffer at the end.
5514
5515 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
5516             Eric Blake  <eblake@redhat.com>
5517             Bruno Haible  <bruno@clisp.org>
5518
5519         read-file: Avoid memory reallocations with regular files.
5520         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
5521         (fread_file): With regular files, use the remaining length as the
5522         initial buffer size.  Check against overflow.
5523         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
5524         sys_stat.
5525
5526 2010-08-28  Bruno Haible  <bruno@clisp.org>
5527
5528         ftello: Relax license.
5529         * modules/ftello (License): Relax to LGPLv2+.
5530         Reported by Eric Blake.
5531
5532 2010-08-28  Bruno Haible  <bruno@clisp.org>
5533
5534         Avoid relocwrapper link errors due to gnulib replacement functions.
5535         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
5536         function.
5537         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5538
5539 2010-08-28  Bruno Haible  <bruno@clisp.org>
5540
5541         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
5542         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
5543         defined.
5544         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
5545         Suggested by Eric Blake.
5546
5547 2010-08-28  Bruno Haible  <bruno@clisp.org>
5548
5549         sys_socket, netdb: Ensure socklen_t gets defined.
5550         * modules/sys_socket (Depends-on): Add socklen.
5551         * modules/netdb (Depends-on): Likewise.
5552         * modules/getaddrinfo (Depends-on): Remove socklen.
5553         * modules/getsockopt (Depends-on): Likewise.
5554         * modules/setsockopt (Depends-on): Likewise.
5555         * tests/test-sys_socket.c: Check that socklen_t is defined.
5556         * tests/test-netdb.c: Likewise.
5557         * m4/socklen.m4: Update comments.
5558         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5559
5560 2010-08-27  Eric Blake  <eblake@redhat.com>
5561
5562         login_tty: add missing dependency
5563         * modules/login_tty (Depends-on): Add pty.
5564
5565 2010-08-26  Eric Blake  <eblake@redhat.com>
5566
5567         lib-symbol-versions: fix m4 quoting
5568         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
5569         format for AC_LINK_IFELSE.
5570
5571         glob: fix compile test
5572         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
5573
5574         btowc: fix missing file
5575         * modules/btowc (Files): Also ship locale-fr.m4.
5576
5577         lseek: fix link test
5578         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
5579         AC_LINK_IFELSE.
5580
5581         include_next: silence autoconf 2.68 warning
5582         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
5583         AC_COMPILE_IFELSE as special.
5584         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
5585         autoconf < 2.68.
5586
5587         acl: fix compilation test
5588         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
5589         AC_COMPILE_IFELSE.
5590
5591 2010-08-26  Bruno Haible  <bruno@clisp.org>
5592
5593         Modernize AC_TRY_RUN invocations.
5594         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
5595         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
5596         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
5597         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
5598         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5599         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
5600         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5601         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5602         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5603         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5604         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5605         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5606         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5607         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5608         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5609         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
5610         gl_MBRLEN_NUL_RETVAL): Likewise.
5611         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
5612         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
5613         Likewise.
5614         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5615         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5616         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5617         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5618         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5619         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5620         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
5621         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5622         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
5623         Likewise.
5624         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
5625         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
5626         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5627         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
5628         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5629         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5630         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5631         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
5632         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5633         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5634
5635 2010-08-26  Bruno Haible  <bruno@clisp.org>
5636
5637         Modernize AC_TRY_LINK invocations.
5638         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
5639         AC_TRY_LINK.
5640         * m4/argp.m4 (gl_ARGP): Likewise.
5641         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
5642         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
5643         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
5644         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
5645         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
5646         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
5647         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
5648         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5649         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
5650         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
5651         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
5652         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
5653         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
5654         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5655         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
5656         * m4/hostent.m4 (gl_HOSTENT): Likewise.
5657         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5658         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
5659         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
5660         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
5661         Likewise.
5662         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
5663         Likewise.
5664         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
5665         Likewise.
5666         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
5667         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
5668         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
5669         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5670         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
5671         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
5672         * m4/servent.m4 (gl_SERVENT): Likewise.
5673         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5674         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
5675         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
5676         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
5677         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
5678         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5679         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5680         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5681         * modules/tsearch-tests (configure.ac): Likewise.
5682
5683 2010-08-26  Bruno Haible  <bruno@clisp.org>
5684
5685         Modernize AC_TRY_COMPILE invocations.
5686         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
5687         AC_TRY_COMPILE.
5688         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
5689         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
5690         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
5691         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
5692         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
5693         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
5694         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5695         * m4/lock.m4 (gl_LOCK): Likewise.
5696         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
5697         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5698         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
5699         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
5700         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
5701         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
5702         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
5703         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
5704         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
5705         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
5706         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
5707         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
5708         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
5709         extraneous semicolon.
5710
5711 2010-08-26  Jim Meyering  <meyering@redhat.com>
5712
5713         stat-time: relax license LGPL
5714         * modules/stat-time (License): Change from GPL to LGPL,
5715         with consent from all contributors, for use in libguile.
5716         Requested by Ludovic Courtès.
5717
5718 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
5719
5720         poll: return immediately on POLLHUP.
5721         * lib/poll.c (poll): Always set timeout before wait_timeout is
5722         computed.
5723
5724 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5725
5726         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
5727         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
5728         rmdir ("dir/.//"), unlinkat.
5729
5730 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5731
5732         stdbool: avoid spurious failure with modern xlc
5733         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
5734
5735 2010-08-24  Bruno Haible  <bruno@clisp.org>
5736
5737         getloadavg: simplify code
5738         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
5739         gl_have_func. Update comments.
5740
5741 2010-08-24  Eric Blake  <eblake@redhat.com>
5742
5743         getloadavg: don't define SVR4 on cygwin
5744         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
5745         only define SVR4 when -lkvm is required.
5746         Reported by Yaakov Selkowitz.
5747
5748 2010-08-24  Bruno Haible  <bruno@clisp.org>
5749
5750         priv-set: fix comment
5751         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
5752
5753 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5754
5755         priv-set: fix comments
5756         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
5757         to match code, as suggested by David Bartley in:
5758         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
5759
5760 2010-08-23  Eric Blake  <eblake@redhat.com>
5761
5762         stdbool: avoid rejecting clang
5763         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
5764         * tests/test-stdbool.c: Enable more tests if using the system
5765         <stdbool.h> instead of the gnulib replacement.
5766         (main): Move xlc bug test to a runtime test for all compilers.
5767         Reported by Anders Kaseorg.
5768
5769         argz: fix shell quoting issue
5770         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
5771         Reported by Charles Wilson.
5772
5773 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
5774             Erik Faye-Lund <kusmabite@gmail.com>
5775
5776         poll, select: handle ERROR_BROKEN_PIPE.
5777         * lib/poll.c (win32_compute_revents): Return POLLHUP when
5778         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
5779         * lib/select.c (win32_compute_revents): Do not mark a pipe
5780         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
5781
5782 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
5783
5784         fts: allow compilation with C++
5785         * lib/fts_.h: Specify extern "C" linkage with C++.
5786
5787 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5788
5789         Fix gnulib-tool sed script de-commentation for AIX sed.
5790         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
5791         sed.
5792
5793 2010-08-17  Eric Blake  <eblake@redhat.com>
5794
5795         test-stddef: test for (some) offsetof bugs
5796         * tests/test-stddef.c: Enhance test to ensure correct type of
5797         offsetof.
5798         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
5799         that we are not fixing at this time.
5800
5801 2010-08-15  Bruno Haible  <bruno@clisp.org>
5802
5803         stpncpy: Allow stpncpy to be defined as a macro.
5804         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
5805         if it's already correctly declared.
5806         * lib/string.in.h (stpncpy): Undefine before redefining.
5807         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
5808
5809 2010-08-14  Bruno Haible  <bruno@clisp.org>
5810
5811         Rename module 'memxfrm' to 'amemxfrm'.
5812         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
5813         (amemxfrm): Renamed from memxfrm.
5814         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
5815         (amemxfrm): Renamed from memxfrm.
5816         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
5817         * NEWS: Mention the change.
5818         * MODULES.html.sh (String handling <string.h>): Update.
5819         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
5820         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
5821         * lib/unicase/u16-casexfrm.c: Likewise.
5822         * lib/unicase/u32-casexfrm.c: Likewise.
5823         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
5824         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
5825         * lib/uninorm/u16-normxfrm.c: Likewise.
5826         * lib/uninorm/u32-normxfrm.c: Likewise.
5827         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
5828         memxfrm.
5829         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
5830         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
5831         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
5832         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
5833         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
5834         Suggested by Paul Eggert.
5835
5836 2010-08-14  Bruno Haible  <bruno@clisp.org>
5837
5838         Tests for module 'astrxfrm'.
5839         * modules/astrxfrm-tests: New file.
5840         * tests/test-astrxfrm.c: New file.
5841
5842         New module 'astrxfrm'.
5843         * lib/astrxfrm.h: New file.
5844         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
5845         * modules/astrxfrm: New file.
5846
5847 2010-08-14  Reuben Thomas <rrt@sc3d.org>
5848
5849         regex: Tweak doc.
5850         * doc/regex.texi (Overview): Don't mention regex.c.
5851         (GNU Regular Expression Compiling): Likewise.
5852         (Match-end-of-line Operator): Mention 'not_eol'.
5853
5854 2010-08-14  Brian Gough  <bjg@gnu.org>
5855             Bruno Haible  <bruno@clisp.org>
5856
5857         git-merge-changelog: add doc relating to use with bzr and hg.
5858         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
5859
5860 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
5861
5862         pthread: fix pthread.h creation for srcdir != builddir
5863         * modules/pthread (Makefile.am): Fix the rule to work also in a
5864         non-srcdir build.
5865
5866 2010-08-13  Karl Berry  <karl@gnu.org>
5867
5868         * doc/regex.texi (Predefined Syntaxes): @smallexample.
5869         * doc/posix-*/*: force line break before @url of POSIX
5870         specifications.
5871         Suggested by Werner Lemberg.
5872
5873 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5874
5875         strtod: fix const diagnostic
5876         * lib/strtod.c (strtod): Don't assign const char * to char *,
5877         as this elicits a warning from GCC when warnings are enabled.
5878
5879 2010-08-10  Pádraig Brady <P@draigbrady.com>
5880         and Eric Blake  <eblake@redhat.com>
5881
5882         copy-acl: ignore ENOTSUP on HP-UX
5883         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
5884         so that it is available for HP-UX.
5885         * lib/copy-acl.c (qcopy_acl): Use it.
5886         Reported by Patrick M. Callahan.
5887
5888 2010-08-10  Eric Blake  <eblake@redhat.com>
5889
5890         open, chown: relax license
5891         * modules/open (License): Change to LGPLv2+, with consent by all
5892         authors, for use in augeas.
5893         * modules/chown (License): Likewise.
5894         * modules/lchown (Likewise): Likewise.
5895         Requested by Adam Stokes.
5896
5897 2010-08-09  Karl Berry  <karl@gnu.org>
5898
5899         * build-aux/ar-lib: new file, import from Automake.
5900         * config/srclist.txt: autocheck for updates.
5901
5902 2010-08-09  Eric Blake  <eblake@redhat.com>
5903
5904         readlinkat: adjust client modules
5905         * modules/areadlinkat (Depends-on): Use readlinkat, not
5906         symlinkat.
5907         * modules/areadlinkat-with-size (Depends-on): Likewise.
5908
5909         mknod: be more vocal about danger of running tests as root
5910         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
5911         root, since that is just asking for problems.
5912         Suggested by Bruno Haible, based on a report by Rainer Tammer.
5913
5914         readlinkat: split into its own module
5915         * modules/symlinkat: Split readlinkat...
5916         * modules/readlinkat: ...into separate module.
5917         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
5918         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
5919         * lib/symlinkat.c (readlinkat): Move...
5920         * lib/readlinkat.c: ...into new file.
5921         * modules/symlinkat-tests: Split readlinkat test...
5922         * modules/readlinkat-tests: ...into separate module.
5923         * tests/test-symlinkat.c: Split...
5924         * tests/test-readlinkat.c: ...into new file.
5925         * NEWS: Document the split.
5926         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
5927         * lib/unistd.in.h (readlinkat): Likewise.
5928         Suggested by Bruno Haible.
5929
5930 2010-08-08  Bruno Haible  <bruno@clisp.org>
5931
5932         memxfrm: Speed up.
5933         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
5934         that usually only one call to strxfrm is necessary for each string
5935         part.
5936         Reported by Paul Eggert <eggert@cs.ucla.edu>.
5937
5938 2010-08-07  Karl Berry  <karl@gnu.org>
5939
5940         * doc/posix-headers/limits.texi,
5941         * doc/posix-functions/malloc.texi,
5942         * doc/posix-functions/strsignal.texi: missing @item.
5943         * doc/ld-version-script.texi: spurious leading i.
5944         * doc/regex.texi (Interval Operators): no commas inside @var.
5945
5946 2010-08-01  Bruno Haible  <bruno@clisp.org>
5947
5948         Integrate the regex documentation.
5949         * doc/gnulib.texi: Define 'cn' index.
5950         (Regular expressions): New a chapter that includes regex.texi and
5951         regexprops-generic.texi.
5952         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
5953         syntax.
5954
5955         Whitespace cleanup.
5956         * doc/regex.texi: Remove trailing spaces.
5957
5958         Add regex documentation.
5959         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
5960         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
5961         Written by Kathy A. Hargreaves and Karl Berry.
5962
5963 2010-08-01  Bruno Haible  <bruno@clisp.org>
5964
5965         link: Update documentation.
5966         * doc/posix-functions/link.texi: Update regarding Solaris.
5967
5968 2010-07-31  Bruno Haible  <bruno@clisp.org>
5969
5970         Update modules list.
5971         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
5972         (String handling <string.h>): Add memcmp2, memxfrm.
5973         (Container data structures): Add xlist, xsublist, xoset.
5974         (Core language properties): Add alignof, unused-parameter.
5975         (Process control, Numeric conversion functions <stdlib.h>): Renamed
5976         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
5977         (Unibyte characters <ctype.h>): New section.
5978         (String handling <string.h>): New section.
5979         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
5980         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
5981         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
5982         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
5983         tan, tanh, tanl, y0, y1, yn.
5984         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
5985         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
5986         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
5987         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
5988         unlockpt, vdprintf, vdprintf-posix.
5989         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
5990         (File system functions): Add concat-filename, sys_file, sys_ioctl,
5991         xconcat-filename.
5992         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
5993         getdtablesize, pipe2, pipe2-safer.
5994         (Security): New section.
5995         (Networking functions): Add accept4.
5996         (Signal handling): Add sigpipe.
5997         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
5998         mbmemcasecoll.
5999         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
6000         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
6001         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
6002         pipe-filter-ii.
6003         (Misc): Add argp-version-etc, login_tty, parse-duration.
6004
6005 2010-07-31  Bruno Haible  <bruno@clisp.org>
6006
6007         Improve doc in MODULES.html.
6008         * modules/linkat (Description): Add the word "function".
6009         * modules/mkfifo (Description): Likewise.
6010         * modules/mknod (Description): Likewise.
6011         * modules/remove (Description): Likewise.
6012         * modules/renameat (Description): Likewise.
6013         * modules/stat (Description): Likewise.
6014         * modules/symlink (Description): Likewise.
6015         * modules/unlink (Description): Likewise.
6016
6017 2010-07-31  Bruno Haible  <bruno@clisp.org>
6018
6019         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
6020         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
6021         option --enable/disable-c++ instead of --enable/disable-cxx.
6022         * NEWS: Mention the change.
6023
6024 2010-07-31  Bruno Haible  <bruno@clisp.org>
6025
6026         readlink, areadlink: Relax test a bit.
6027         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
6028         alternative to ENOTDIR.
6029         * tests/test-areadlink.h (test_areadlink): Likewise.
6030         Reported by Rainer Tammer.
6031
6032 2010-07-31  Bruno Haible  <bruno@clisp.org>
6033
6034         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
6035         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
6036         character, perform the search using U_STRCHR.
6037         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
6038         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
6039         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
6040         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
6041         Suggested by Paolo Bonzini.
6042
6043 2010-07-31  Bruno Haible  <bruno@clisp.org>
6044
6045         unistr/u*-strstr: Fix dependencies.
6046         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
6047         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
6048         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
6049
6050 2010-07-31  Bruno Haible  <bruno@clisp.org>
6051
6052         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
6053         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
6054         the beginning of the loop.
6055         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
6056         cases in 'switch' statement.
6057
6058         unistr/u8-strchr: Fix several bugs.
6059         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
6060         the string. When not found, return NULL, not a pointer near the end.
6061
6062         More tests for unistr/u8-strchr.
6063         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
6064         that the function does not read past the first occurrence of the byte
6065         being searched.
6066         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
6067         * tests/unistr/test-u16-strchr.c (main): New function.
6068         * tests/unistr/test-u32-strchr.c (main): New function.
6069
6070 2010-07-31  Bruno Haible  <bruno@clisp.org>
6071
6072         posix-modules: Ignore backup files of documentation files.
6073         * posix-modules: grep only through files named *.texi.
6074
6075 2010-07-31  Bruno Haible  <bruno@clisp.org>
6076
6077         symlinkat: Fix documentation.
6078         * doc/posix-functions/readlinkat.texi: Fix module name.
6079
6080 2010-07-31  Bruno Haible  <bruno@clisp.org>
6081
6082         fchownat: Replace also when chown has the trailing slash bug.
6083         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
6084         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
6085         introduced on 2010-04-10.
6086         Reported by Rainer Tammer.
6087
6088 2010-07-31  Bruno Haible  <bruno@clisp.org>
6089
6090         linkat: Work around AIX 7.1 bug.
6091         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
6092         whether linkat handles trailing slash correctly. If not, replace linkat
6093         and define LINKAT_TRAILING_SLASH_BUG.
6094         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
6095         check whether (fd1,file1) points to a directory if file1 or file2 ends
6096         in a slash. Code taken from lib/link.c.
6097         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
6098         Reported by Rainer Tammer.
6099
6100 2010-07-31  Bruno Haible  <bruno@clisp.org>
6101
6102         Correctly determine whether pow is available in libc on AIX 7 with xlc.
6103         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
6104         This disables an xlc optimization that was causing wrong test results.
6105         Reported by Rainer Tammer.
6106
6107 2010-07-31  Bruno Haible  <bruno@clisp.org>
6108
6109         iconv: Work around AIX 6.1..7.1 bug.
6110         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
6111         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
6112         cross-compiling, guess no on all versions of AIX.
6113         Reported by Rainer Tammer.
6114
6115 2010-07-31  Bruno Haible  <bruno@clisp.org>
6116
6117         readlink: Relax test a bit.
6118         * tests/test-readlink.h (test_readlink): Allow different errno value
6119         when readlink is called with a file name that ends in / and refers to
6120         a file.
6121         Suggested by Eric Blake.
6122         Reported by Rainer Tammer.
6123
6124 2010-07-31  Bruno Haible  <bruno@clisp.org>
6125
6126         copysign: Does not require -lm on glibc systems.
6127         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
6128         gl_COMMON_DOUBLE_MATHFUNC.
6129         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
6130
6131 2010-07-31  Bruno Haible  <bruno@clisp.org>
6132
6133         duplocale: Work around AIX 7.1 bug.
6134         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
6135         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
6136         * lib/duplocale.c (rpl_duplocale): Update comment.
6137         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
6138         Reported by Rainer Tammer.
6139
6140 2010-07-30  Bruno Haible  <bruno@clisp.org>
6141
6142         dirfd: Avoid link error on AIX 7.1.
6143         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
6144         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
6145         exist, set REPLACE_DIRFD.
6146         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
6147         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
6148         * doc/posix-functions/dirfd.texi: Update.
6149         Reported by Rainer Tammer.
6150
6151 2010-07-30  Eric Blake  <eblake@redhat.com>
6152
6153         strtod: next round of AIX fixes
6154         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
6155         exponent.
6156         * tests/test-strtod.c (main): Enhance tests.
6157         * doc/posix-functions/strtod.texi (strtod): Document next bug.
6158         Reported by Rainer Tammer.
6159
6160         futimens: fix configure check
6161         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
6162         Reported by Bruno Haible.
6163
6164 2010-07-30  Bruno Haible  <bruno@clisp.org>
6165
6166         getline: Update regarding AIX.
6167         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
6168         Reported by Rainer Tammer.
6169
6170 2010-07-30  Bruno Haible  <bruno@clisp.org>
6171
6172         wcwidth: Drop replacement on AIX 7.
6173         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
6174         AIX 7.
6175         Reported by Rainer Tammer.
6176
6177 2010-07-30  Bruno Haible  <bruno@clisp.org>
6178
6179         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
6180         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
6181         a 'char *'.
6182         Reported by Rainer Tammer.
6183
6184 2010-07-30  Bruno Haible  <bruno@clisp.org>
6185
6186         unlink: Update regarding AIX.
6187         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
6188         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
6189         Reported by Rainer Tammer.
6190
6191 2010-07-30  Bruno Haible  <bruno@clisp.org>
6192
6193         symlink: Update regarding AIX.
6194         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
6195         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
6196         Reported by Rainer Tammer.
6197
6198 2010-07-30  Bruno Haible  <bruno@clisp.org>
6199
6200         strndup: Update regarding AIX.
6201         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
6202         AIX 7.
6203         Reported by Rainer Tammer.
6204
6205 2010-07-30  Bruno Haible  <bruno@clisp.org>
6206
6207         stat: Update regarding AIX.
6208         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
6209         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
6210         Reported by Rainer Tammer.
6211
6212 2010-07-30  Bruno Haible  <bruno@clisp.org>
6213
6214         truncl: Fix autoconf test.
6215         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
6216         whether truncl works.
6217         Reported by Rainer Tammer.
6218
6219 2010-07-30  Bruno Haible  <bruno@clisp.org>
6220
6221         round: Update regarding AIX.
6222         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
6223         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
6224         Reported by Rainer Tammer.
6225
6226 2010-07-30  Bruno Haible  <bruno@clisp.org>
6227
6228         rename: Update regarding AIX.
6229         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
6230         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
6231         Reported by Rainer Tammer.
6232
6233 2010-07-30  Bruno Haible  <bruno@clisp.org>
6234
6235         printf.m4: Update regarding AIX.
6236         * m4/printf.m4: Update comments regarding AIX.
6237         Reported by Rainer Tammer.
6238
6239 2010-07-30  Bruno Haible  <bruno@clisp.org>
6240
6241         iconv: Update regarding AIX.
6242         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
6243         AIX 7.
6244         Reported by Rainer Tammer.
6245
6246 2010-07-30  Bruno Haible  <bruno@clisp.org>
6247
6248         getopt: Update regarding AIX.
6249         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
6250         no on AIX.
6251         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
6252         Reported by Rainer Tammer.
6253
6254 2010-07-30  Bruno Haible  <bruno@clisp.org>
6255
6256         ldexpl; Update regarding AIX.
6257         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
6258         on AIX 7.
6259         Reported by Rainer Tammer.
6260
6261 2010-07-30  Bruno Haible  <bruno@clisp.org>
6262
6263         frexpl: Update regarding AIX.
6264         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
6265         on AIX 7.
6266         Reported by Rainer Tammer.
6267
6268 2010-07-30  Bruno Haible  <bruno@clisp.org>
6269
6270         open, fopen: Update regarding AIX.
6271         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
6272         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
6273         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
6274         * doc/posix-functions/fopen.texi: Likewise.
6275         Reported by Rainer Tammer.
6276
6277 2010-07-30  Bruno Haible  <bruno@clisp.org>
6278
6279         chown: Update doc regarding AIX.
6280         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
6281         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
6282         Reported by Rainer Tammer.
6283
6284 2010-07-30  Eric Blake  <eblake@redhat.com>
6285
6286         strtod: fix bug in replacement function on AIX
6287         * lib/strtod.c (strtod): Special case broken "0x" parse in
6288         underlying strtod.
6289         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
6290         * doc/posix-functions/strtod.texi (strtod): Likewise.
6291         Reported by Rainer Tammer.
6292
6293 2010-07-30  Bruno Haible  <bruno@clisp.org>
6294
6295         mbrlen: Fix cross-compilation guess for AIX.
6296         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
6297         guess. Leftover from 2008-12-22.
6298
6299 2010-07-30  Bruno Haible  <bruno@clisp.org>
6300
6301         mbrtowc: Fix cross-compilation guess for AIX.
6302         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
6303         guess. Leftover from 2008-12-21.
6304
6305 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
6306
6307         init.sh: work around trap limitation of some shells
6308         * tests/init.sh (setup_): Move exit trap outside of shell function.
6309
6310 2010-07-29  Eric Blake  <eblake@redhat.com>
6311
6312         strtod: aid debugging
6313         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
6314         understanding why strtod is rejected.
6315
6316 2010-07-28  Bruno Haible  <bruno@clisp.org>
6317
6318         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
6319         * lib/unistr/u8-chr.c: Include <string.h>.
6320         * tests/unistr/test-u8-chr.c: Likewise.
6321         * tests/unistr/test-u16-chr.c: Likewise.
6322         * tests/unistr/test-u32-chr.c: Likewise.
6323         * tests/unistr/test-u8-strchr.c: Likewise.
6324         * tests/unistr/test-u16-strchr.c: Likewise.
6325         * tests/unistr/test-u32-strchr.c: Likewise.
6326         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
6327         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
6328         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
6329         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
6330
6331 2010-07-28  Bruno Haible  <bruno@clisp.org>
6332
6333         Use spaces for indentation, not tabs.
6334         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
6335
6336 2010-07-27  Bruno Haible  <bruno@clisp.org>
6337
6338         mbspcasecmp: Fix function specification.
6339         * lib/string.in.h (mbspcasecmp): Fix specification comment.
6340         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
6341         Reported by Eric Blake <eblake@redhat.com>.
6342
6343 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
6344
6345         timespec: use cast and not conditional, as truncation isn't possible
6346         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
6347         instead of a conditional.  Comment about the situation in more detail.
6348         This undoes most of the 2009-10-29 patch.
6349
6350 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
6351
6352         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
6353         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
6354         * lib/unistr/u8-strchr.c: Likewise.
6355         * modules/unistr/u8-chr: Depend on memchr.
6356
6357         unistr/u*-strchr: add tests
6358         * modules/unistr/u8-strchr-tests: New file.
6359         * modules/unistr/u16-strchr-tests: New file.
6360         * modules/unistr/u32-strchr-tests: New file.
6361         * tests/unistr/test-strchr.h: New file.
6362         * tests/unistr/test-u8-strchr.c: New file.
6363         * tests/unistr/test-u16-strchr.c: New file.
6364         * tests/unistr/test-u32-strchr.c: New file.
6365
6366         unistr/u*-chr: test multibyte sequences more
6367         * tests/unistr/test-chr.h: Do complete testing of the characters in the
6368         test vector.
6369         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
6370         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
6371         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
6372
6373         unistr/u*-chr: test multibyte sequences
6374         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
6375
6376         unistr/u*-chr: prepare for multibyte tests
6377         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
6378         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
6379         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
6380         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
6381         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
6382         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
6383
6384 2010-07-18  Bruno Haible  <bruno@clisp.org>
6385
6386         unistr/u8-strchr: Optimize non-ASCII argument case.
6387         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
6388         because the first byte often matches anyway.
6389         Reported by Pádraig Brady <P@draigbrady.com>.
6390
6391 2010-07-15  Karl Berry  <karl@gnu.org>
6392
6393         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
6394
6395 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
6396
6397         getcwd: on Solaris, work better if ancestors are inaccessible
6398         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
6399         buffer and size, try again with a large buffer.  This works better
6400         on Solaris, since its getcwd succeeds even if the path to the root
6401         is inaccessible, and this is helpful in common cases such as .zfs
6402         hidden directories.  Problem reported by J Chapman Flack in
6403         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
6404         Use system getcwd if it's declared, not merely if it's partly
6405         working; use the partly-working test only to avoid needless effort
6406         if the system getcwd fails.
6407         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
6408         comment that was already obsolete and is now even more obsolete.
6409         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
6410         now might call strdup.
6411
6412 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
6413
6414         pthread: Add enough so that coreutils/src/sort.c compiles.
6415         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
6416         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
6417         gnulib. Include <sched.h> and <time.h>, as per POSIX.
6418         Include <sys/types.h>, in case it defines pthread_t.
6419         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
6420         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
6421         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
6422         (pthread_rwlockattr_t, pthread_spinlock_t):
6423         New typedefs, if HAVE_PTHREAD_T is not defined.
6424         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
6425         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
6426         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
6427         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
6428         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
6429         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
6430         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
6431         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
6432         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
6433         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
6434         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
6435         New macros.
6436         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
6437         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
6438         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
6439         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
6440         (pthread_spin_unlock): New dummy functions.
6441         (pthread_create): Return EAGAIN; don't set errno.
6442         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
6443         require AC_C_INLINE.
6444         * modules/pthread (Depends-on): Add sched, time.
6445         (pthread.h): Use AM_V_GEN.
6446
6447 2010-07-13  Bruno Haible  <bruno@clisp.org>
6448
6449         striconveh: Don't malloc memory if the result buffer is sufficient.
6450         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
6451         buffer if its size is sufficient.
6452         Reported by Ludovic Courtès <ludo@gnu.org>.
6453
6454 2010-07-13  Bruno Haible  <bruno@clisp.org>
6455
6456         strtod: Add safety check.
6457         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
6458
6459 2010-07-12  Bruno Haible  <bruno@clisp.org>
6460
6461         Unify tests that set gl_cv_func_ldexpl_no_libm.
6462         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
6463         gl_FUNC_LDEXPL.
6464         (gl_FUNC_LDEXPL): Invoke it.
6465         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6466
6467 2010-07-12  Bruno Haible  <bruno@clisp.org>
6468
6469         Unify tests that set gl_cv_func_ldexp_no_libm.
6470         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
6471         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
6472         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
6473         (configure.ac): Simply invoke gl_FUNC_LDEXP.
6474         * modules/strtod (Files): Add m4/ldexp.m4.
6475
6476 2010-07-12  Bruno Haible  <bruno@clisp.org>
6477
6478         Unify tests that set gl_cv_func_frexpl_no_libm.
6479         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
6480         gl_FUNC_FREXPL_NO_LIBM.
6481         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
6482         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6483
6484 2010-07-12  Bruno Haible  <bruno@clisp.org>
6485
6486         Unify tests that set gl_cv_func_frexp_no_libm.
6487         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
6488         gl_FUNC_FREXP_NO_LIBM.
6489         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
6490         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
6491
6492 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
6493
6494         memcoll: clarify sizes versus lengths, document better, and tweak perf
6495         * lib/memcoll.c (strcoll_loop, memcoll0):
6496         Improve quality of descriptive comments.  Name variables
6497         consistently as to whether they are lengths (which do not include
6498         terminating null) versus sizes (which do).
6499         * lib/xmemcoll.c (xmemcoll0): Likewise.
6500         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
6501         returned when s1size == 0; this is easier to compile and saves
6502         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
6503
6504 2010-07-12  Bruno Haible  <bruno@clisp.org>
6505
6506         Tests for module '_Exit'.
6507         * modules/_Exit-tests: New file.
6508         * tests/test-_Exit.sh: New file.
6509         * tests/test-_Exit.c: New file.
6510
6511         New module '_Exit'.
6512         * lib/stdlib.in.h (__attribute__): New macro.
6513         (_Exit): New declaration.
6514         * lib/_Exit.c: New file.
6515         * m4/_Exit.m4: New file.
6516         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
6517         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
6518         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
6519         * modules/_Exit: New file.
6520         * tests/test-stdlib-c++.cc (_Exit): Check signature.
6521         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
6522
6523 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
6524
6525         strtod: make it more-accurate typically, and don't require libm
6526         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
6527         Include limits.h.  Don't include string.h.
6528         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
6529         (locale_isspace): New function, so that no casts are needed to
6530         check whether *s is a space.
6531         (ldexp): Provide an unused dummy if not available.
6532         (scale_radix_exp, parse_number, underlying_strtod): New functions.
6533         (strtod): Use them.  This implementation prefers to use the
6534         underlying strtod if available, falling back on our own code
6535         only to fix known bugs.  This is more likely to produce an
6536         accurate result.  Also, it avoids the use of libm functions.
6537         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
6538         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
6539         was absent, but it caused a test failure with coreutils.
6540         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
6541         with libm.
6542         * modules/strtod (Makefile.am, Link): libm is no longer needed.
6543         * modules/strtod-tests (Makefile.am): Likewise.
6544
6545 2010-07-11  Pádraig Brady  <P@draigBrady.com>
6546             Bruno Haible  <bruno@clisp.org>
6547
6548         unistr/u8-strchr: Optimize ASCII argument case.
6549         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
6550
6551 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6552
6553         (x)memcoll: minor tweaks
6554         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
6555         is after the type that it qualifies.
6556         (memcoll0): Likewise.
6557         * lib/memcoll.h (memcoll0): Likewise.
6558         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
6559         * lib/xmemcoll.h (xmemcoll0): Likewise.
6560         * lib/memcoll.c (memcoll0): Correct the comment.  This function
6561         differs from memcoll in that the NUL byte is part of the argument.
6562         Omit the abort-checks, as performance is a real issue here.  Plus,
6563         the checks were wrong anyway (an off-by-one error).  Omit local
6564         variable 'diff', as it's a bit clearer that way.
6565         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
6566         no longer needed.
6567
6568 2010-07-08  Chen Guo <chenguo4@yahoo.com>
6569
6570         (x)memcoll: speedup when input is known to be NUL delimited
6571         * lib/memcoll.c: Include stdlib.
6572         (memcoll0) New function.
6573         (strcoll_loop) New function, refactored for use in both memcoll
6574         and memcoll0.
6575         * lib/memcoll.h: Add prototype for memcoll0.
6576         * lib/xmemcoll.c: (xmemcoll0) New function.
6577         (collate_error) New function, refactored for use in both xmemcoll
6578         and xmemcoll0.
6579         * lib/xmemcoll.h: Add prototype for xmemcoll0.
6580         * m4/memcoll.m4: add inline invocation.
6581
6582 2010-07-06  Pádraig Brady  <P@draigBrady.com>
6583
6584         * build-aux/bootstrap: Remove any local translations
6585         from the translation project synchronization directory,
6586         so that local only translations are not distributed.
6587
6588 2010-07-04  Bruno Haible  <bruno@clisp.org>
6589
6590         fsusage: Clarify which code applies to which platforms.
6591         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
6592         platform.
6593         * lib/fsusage.c (get_fs_usage): Likewise.
6594
6595 2010-07-04  Bruno Haible  <bruno@clisp.org>
6596
6597         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
6598         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
6599         Reported by Martin Lambers <marlam@marlam.de>.
6600
6601 2010-07-04  Jim Meyering  <meyering@redhat.com>
6602
6603         hash: once again explicitly disallow insertion of NULL
6604         * lib/hash.c (hash_insert0): Reinstate just-removed test:
6605         inserting a NULL pointer cannot work with these functions.
6606         Add a comment with details.
6607         This reverts part of the 2010-07-01 commit, 5bef1a35
6608         "hash: extend module to deal with non-pointer keys".
6609
6610 2010-07-01  Bruno Haible  <bruno@clisp.org>
6611
6612         stdbool: Update doc.
6613         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
6614         Info from Christian Weisgerber <naddy@mips.inka.de>.
6615
6616 2010-07-01  Jim Meyering  <meyering@redhat.com>
6617
6618         hash: extend module to deal with non-pointer keys
6619         * lib/hash.c (hash_insert0): New interface, much like hash_insert
6620         but that allows insertion of non-pointer entries.
6621         Do not disallow an ENTRY value of NULL.
6622         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
6623         * lib/hash.h (hash_insert0): Declare.
6624
6625 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6626
6627         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
6628         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
6629         not present (i.e. with autoconf 2.59 and when using gettextize, not
6630         gnulib), require AC_GNU_SOURCE instead.
6631
6632 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
6633
6634         idpriv-drop: Fix tests.
6635         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
6636         not to the test-idpriv-droptemp program.
6637
6638 2010-06-29  Bruno Haible  <bruno@clisp.org>
6639
6640         string: Fix syntax error with g++ 2.96.
6641         * lib/string.in.h (__pure__): Remove definition.
6642         (_GL_ATTRIBUTE_PURE): New macro.
6643         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
6644         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
6645         Reported by Christian Weisgerber <naddy@mips.inka.de>.
6646
6647 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
6648
6649         unitypes: Fix bug introduced on 2010-05-18.
6650         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
6651
6652 2010-06-22  Eric Blake  <eblake@redhat.com>
6653
6654         memmem: slight optimization
6655         * lib/str-two-way.h (critical_factorization): Update comments.
6656         Reduce work during factorization phase.
6657         Reported by Carlos Bueno <carlos@bueno.org>.
6658
6659 2010-06-21  Bruno Haible  <bruno@clisp.org>
6660
6661         Fix HAVE_CALLOC_POSIX misnomer.
6662         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
6663         !HAVE_CALLOC_POSIX.
6664         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
6665         HAVE_CALLOC_POSIX.
6666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
6667         instead of HAVE_CALLOC_POSIX.
6668         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
6669         HAVE_CALLOC_POSIX.
6670
6671         Use modern idiom for calloc() replacement.
6672         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
6673         AC_FUNC_CALLOC.
6674         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
6675         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
6676         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
6677         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
6678         (gl_REPLACE_CALLOC): New macro.
6679
6680 2010-06-21  Bruno Haible  <bruno@clisp.org>
6681
6682         Fix HAVE_REALLOC_POSIX misnomer.
6683         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
6684         !HAVE_REALLOC_POSIX.
6685         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
6686         HAVE_REALLOC_POSIX.
6687         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
6688         instead of HAVE_REALLOC_POSIX.
6689         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
6690         HAVE_REALLOC_POSIX.
6691
6692         Use modern idiom for realloc() replacement.
6693         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
6694         AC_FUNC_REALLOC.
6695         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
6696         Autoconf's AC_FUNC_REALLOC.
6697         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
6698         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
6699         (gl_REPLACE_REALLOC): New macro.
6700         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
6701
6702 2010-06-21  Bruno Haible  <bruno@clisp.org>
6703
6704         Fix HAVE_MALLOC_POSIX misnomer.
6705         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
6706         !HAVE_MALLOC_POSIX.
6707         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
6708         HAVE_MALLOC_POSIX.
6709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
6710         instead of HAVE_MALLOC_POSIX.
6711         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
6712         HAVE_MALLOC_POSIX.
6713
6714         Use modern idiom for malloc() replacement.
6715         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
6716         AC_FUNC_MALLOC.
6717         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
6718         Autoconf's AC_FUNC_MALLOC.
6719         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
6720         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
6721         (gl_REPLACE_MALLOC): New macro.
6722         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
6723
6724 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
6725
6726         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
6727         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
6728         This macro takes 3 arguments, not 4.
6729
6730 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
6731
6732         ipv6: fix detection under mingw
6733         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
6734         in6_addr.
6735
6736 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
6737
6738         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
6739         that strtod() works when cross-compiling to a glibc version known
6740         to work.
6741
6742 2010-06-15  Bruno Haible  <bruno@clisp.org>
6743
6744         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
6745
6746 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
6747
6748         select: Correct timeout.
6749         * lib/select.c (rpl_select): Compute wait_timeout correctly.
6750
6751 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6752
6753         git-version-gen: init shell var to avoid env var influence
6754         * build-aux/git-version-gen (v): Init shell var to empty.
6755
6756 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
6757
6758         priv-set: Don't assume that priv.h exists merely because getppriv does.
6759         See Jan Andersen's bug report about AIX 5L in
6760         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
6761         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
6762         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
6763         * lib/priv-set.h: Likewise.
6764         * tests/test-priv-set.c: Likewise.
6765
6766 2010-06-13  Bruno Haible  <bruno@clisp.org>
6767
6768         relocatable: Make it easier to test whether to install wrappers.
6769         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
6770         RELOCATABLE_VIA_WRAPPER.
6771
6772 2010-06-13  Bruno Haible  <bruno@clisp.org>
6773
6774         gnulib-tool: Display specified modules and dependencies differently.
6775         * gnulib-tool (func_show_module_list): New function.
6776         (func_import, func_create_testdir): Invoke it.
6777         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
6778
6779 2010-06-13  Bruno Haible  <bruno@clisp.org>
6780
6781         gnulib-tool: Align code of func_import and func_create_testdir.
6782         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
6783         specified_modules.
6784
6785 2010-06-12  Jim Meyering  <meyering@redhat.com>
6786
6787         test-inttostr: avoid spurious failure on Solaris 9
6788         * tests/test-inttostr.c (main): Skip the test when snprintf fails
6789         to accept "%ju".  Reported by Bruno Haible.
6790
6791 2010-06-11  Jim Meyering  <meyering@redhat.com>
6792
6793         test-sys_socket: mark variables as used more readably
6794         * tests/test-sys_socket.c (main): Mark otherwise unused variables
6795         as "used" explicitly via (void) statement casts.  This is more
6796         readable than using them in an artificial return expression.
6797         Suggestion from Bruno Haible.
6798
6799 2010-06-11  Bruno Haible  <bruno@clisp.org>
6800
6801         Avoid some more warnings from "gcc -Wwrite-strings".
6802         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
6803         to 'const char *'.
6804         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
6805         * tests/test-c-strcasestr.c (main): Likewise.
6806         * tests/test-mbscasestr1.c (main): Likewise.
6807         * tests/test-mbscasestr2.c (main): Likewise.
6808         * tests/test-memmem.c (main): Likewise.
6809         * tests/test-strstr.c (main): Likewise.
6810         * tests/test-strcasestr.c (main): Likewise.
6811
6812 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6813
6814         init.sh: change framework_failure_ to fail with status 99, not 1
6815         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
6816         automake's parallel-tests rule that this is an unexpected failure,
6817         even if the test is listed in XFAIL_TESTS.
6818
6819 2010-06-11  Jim Meyering  <meyering@redhat.com>
6820
6821         test-inttostr: avoid warnings about 4-6KB literal strings
6822         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
6823         Include "macros.h", for its definition of ASSERT.
6824         (CK): s/assert/ASSERT/
6825         * modules/inttostr-tests (Files): Add macros.h.
6826
6827         init.sh: don't use $ME_ or skip_ before they are defined
6828         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
6829         their first uses.  Also hoist their companions: warn_, fail_,
6830         framework_failure_, $stderr_fileno.  Prompted by a patch from
6831         Stefano Lattarini.
6832
6833         test-sys_socket: avoid set-but-not-used warnings from gcc
6834         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
6835         avoid warning about set-but-not-used variables.
6836
6837         test-xvasprintf: avoid 'const' discard warnings
6838         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
6839         "const" when assigning from literal strings.
6840         (test_xasprintf): Add "void" in function argument list to placate
6841         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
6842
6843         tests: avoid compilation warnings in argmatch and exclude tests...
6844         in packages that define ARGMATCH_DIE_DECL, like coreutils.
6845         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
6846         Since it always exits, declare with the "noreturn" attribute.
6847         * tests/test-argmatch.c: Likewise.
6848
6849         tests: avoid 'const' discard warnings in mbsstr tests
6850         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
6851         * tests/test-mbsstr2.c (main): Likewise.
6852
6853         test-verify: avoid warning from gcc's -Wmissing-declarations
6854         * tests/test-verify.c (function): Declare to be static.
6855
6856         test-inttostr.c: include <string.h> for use of strcmp
6857         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
6858
6859         test-linkat: avoid failed assertion on "other" architectures
6860         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
6861         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
6862         sparc: https://bugs.launchpad.net/bugs/591968
6863
6864 2010-06-11  Jim Meyering  <meyering@redhat.com>
6865
6866         printf.m4: avoid autoconf's "Expanded Before Required" warning
6867         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
6868         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
6869         autoconf warning.
6870
6871 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
6872
6873         Replacement header templates are now named with ".in", not "_".
6874         * doc/gnulib-intro.texi: Correct.
6875
6876 2010-06-10  Jim Meyering  <meyering@redhat.com>
6877
6878         inttostr-tests: depend on snprintf, not snprintf-posix
6879         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
6880         snprintf-posix, to avoid this aclocal failure:
6881           missing file gnulib-tests/vasnprintf.c
6882           configure.ac:45: error: expected source file, required through \
6883           AC_LIBSOURCES, not found
6884
6885 2010-06-10  Jim Meyering  <meyering@redhat.com>
6886
6887         inttostr: add a new function, inttostr, and tests
6888         The namesake function was not available.  The existence of the
6889         template file, inttostr.c makes its addition nontrivial.
6890         * lib/anytostr.c: Rename from inttostr.c.
6891         (anytostr): Rename from inttostr.
6892         * lib/inttostr.c: New file.
6893         * modules/inttostr (Files): Add anytostr.c.
6894         (Makefile.am): Set lib_SOURCES instead of ...
6895         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
6896         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
6897         * lib/offtostr.c: Likewise.
6898         * lib/uinttostr.c: Likewise.
6899         * lib/umaxtostr.c: Likewise.
6900         * modules/inttostr-tests: New file.
6901         * tests/test-inttostr.c: New file.  Test these functions.
6902
6903 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
6904             Bruno Haible  <bruno@clisp.org>
6905
6906         Add "Extending Gnulib" chapter to manual.
6907         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
6908         chapter.
6909         (Extending Gnulib): New chapter.
6910         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
6911         chapter.
6912
6913 2010-06-09  Bruno Haible  <bruno@clisp.org>
6914
6915         Avoid relocwrapper link errors due to gnulib replacement functions.
6916         * lib/areadlink.c: Use the system's malloc, realloc functions.
6917         (areadlink): Set errno to ENOMEM explicitly.
6918         * modules/areadlink (Depends-on): Remove malloc-posix.
6919         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6920
6921 2010-06-09  Bruno Haible  <bruno@clisp.org>
6922
6923         Avoid relocwrapper link errors due to gnulib replacement functions.
6924         * lib/canonicalize-lgpl.c: Use the system's malloc function.
6925         * lib/malloca.c: Likewise.
6926         * lib/relocatable.c: Likewise.
6927         * lib/progreloc.c: Use the system's malloc, sprintf functions.
6928         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
6929         * lib/setenv.c: Use the system's malloc, realloc functions.
6930         * lib/strerror.c: Use the system's sprintf function.
6931         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6932
6933 2010-06-04  Bruno Haible  <bruno@clisp.org>
6934
6935         Prefer documented low-level autoconf macro names.
6936         * m4/lib-link.m4: Use m4_translit instead of translit.
6937         * m4/environ.m4: Likewise.
6938         * m4/mathfunc.m4: Likewise.
6939         * m4/onceonly.m4: Likewise.
6940         * m4/stdint.m4: Likewise.
6941         Suggested by Eric Blake.
6942
6943 2010-06-04  Martin Lambers  <marlam@marlam.de>
6944             Bruno Haible  <bruno@clisp.org>
6945
6946         havelib: Allow library names with '+' characters.
6947         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
6948         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
6949
6950 2010-06-09  Bruno Haible  <bruno@clisp.org>
6951
6952         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
6953         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
6954         realloc failed.
6955
6956 2010-06-08  Peter Simons  <simons@cryp.to>
6957
6958         maint.mk: make the news-check rule more configurable
6959         * top/maint.mk (news-check-lines-spec) New variable.
6960         (news-check): Use "sed -n 1,10p" in place of "head".
6961
6962 2010-06-07  Jim Meyering  <meyering@redhat.com>
6963
6964         do-release-commit-and-tag: fix typo in --help
6965         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
6966
6967         regex: avoid new dead-code warning with gcc-4.6.0
6968         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
6969         if-block containing a while-loop.  It's been unused for at least
6970         5 years.
6971
6972 2010-06-05  Bruno Haible  <bruno@clisp.org>
6973
6974         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
6975         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
6976
6977 2010-06-04  Bruno Haible  <bruno@clisp.org>
6978
6979         Update to GNU gettext 0.18.1.
6980         * modules/gettext (configure.ac): Require gettext infrastructure from
6981         version 0.18.1.
6982
6983 2010-06-03  Bruno Haible  <bruno@clisp.org>
6984
6985         Don't use AC_LIBOBJ with file names in subdirectories.
6986         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
6987         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
6988         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
6989         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
6990         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
6991         gl_LIBUNISTRING_LIBSOURCE.
6992         (Makefile.am): Augment lib_SOURCES here, conditionally.
6993         * NEWS: Drop requirement for Automake option 'subdir-objects'.
6994
6995 2010-06-03  Bruno Haible  <bruno@clisp.org>
6996
6997         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
6998         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
6999         expansion does not end with a newline.
7000         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
7001         unnecessary newline.
7002
7003 2010-06-03  Bruno Haible  <bruno@clisp.org>
7004
7005         Reduce dependencies.
7006         * tests/test-quotearg.h: New file, extracted from
7007         tests/test-quotearg.c.
7008         * tests/test-quotearg-simple.c: New file, extracted from
7009         tests/test-quotearg.c.
7010         * tests/test-quotearg.c: Don't include <ctype.h>.
7011         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
7012         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
7013         use_quote_double_quotes, use_quotearg_colon): Moved to
7014         tests/test-quotearg.h.
7015         (results_g, flag_results, custom_quotes, custom_results): Moved
7016         to tests/test-quotearg-simple.c.
7017         (main): Moved the part that does not depend on gettext to
7018         tests/test-quotearg-simple.c. Return 77 if the test cannot be
7019         performed.
7020         * modules/quotearg-simple: New file.
7021         * modules/quotearg-simple-tests: New file.
7022         * modules/quotearg (Depends-on): Add quotearg-simple.
7023         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
7024         (Files): Add tests/test-quotearg.h.
7025         Reported by Paolo Bonzini.
7026
7027 2010-06-03  Bruno Haible  <bruno@clisp.org>
7028
7029         Reduce dependencies.
7030         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
7031
7032 2010-06-03  Bruno Haible  <bruno@clisp.org>
7033
7034         time: Undefine more broken macros.
7035         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
7036         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
7037         Reported by Eric Blake.
7038
7039 2010-06-03  Bruno Haible  <bruno@clisp.org>
7040
7041         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
7042         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
7043         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
7044         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
7045         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
7046         Reported by Ludovic Courtès <ludo@gnu.org>.
7047
7048 2010-06-02  Eric Blake  <eblake@redhat.com>
7049
7050         time: work with mingw + pthreads-win32 library
7051         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
7052         if timespec is defined only in pthread.h.
7053         * modules/time (Makefile.am): Substitute it.
7054         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
7055         <pthread.h>, when needed.
7056         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
7057         from the library.
7058
7059 2010-05-31  Bruno Haible  <bruno@clisp.org>
7060
7061         Avoid expanding two macros in the wrong order.
7062         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
7063         gl_LIBUNISTRING if it is defined.
7064         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
7065         autoconf >= 2.64.
7066         Reported by Ludovic Courtès <ludo@gnu.org>.
7067
7068 2010-05-27  Jim Meyering  <meyering@redhat.com>
7069
7070         maint.mk: also prohibit "#undef" of always-defined symbols
7071         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
7072         Allow more than one space before the symbol name.
7073         (sc_prohibit_always-defined_macros): Use grep's -E, now that
7074         the regexp uses alternation.
7075
7076 2010-05-26  Eric Blake  <eblake@redhat.com>
7077
7078         maint.mk: avoid echo -e
7079         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
7080         Convert all uses of echo -* to printf.
7081         Reported by Matthias Bolte.
7082
7083 2010-05-25  Bruno Haible  <bruno@clisp.org>
7084
7085         Update to GNU gettext 0.18, part 2.
7086         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
7087         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
7088
7089 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7090
7091         Add missing include in test-pwrite.c.
7092         * tests/test-pwrite.c: Include string.h, for strcmp.
7093
7094 2010-05-24  Bruno Haible  <bruno@clisp.org>
7095
7096         * NEWS: Mention requirement for Automake option 'subdir-objects'.
7097
7098 2010-05-24  Bruno Haible  <bruno@clisp.org>
7099
7100         Don't use conversion with transliteration in u{8,16,32}_strcoll.
7101         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
7102         iconveh_error argument.
7103         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
7104         U_STRCONV_TO_LOCALE.
7105         * lib/unistr/u16-strcoll.c: Likewise.
7106         * lib/unistr/u32-strcoll.c: Likewise.
7107         * modules/unistr/u8-strcoll (Depends-on): Add
7108         uniconv/u8-strconv-to-enc, localcharset. Remove
7109         uniconv/u8-strconv-to-locale.
7110         (configure.ac): Bump version number.
7111         * modules/unistr/u16-strcoll (Depends-on): Add
7112         uniconv/u16-strconv-to-enc, localcharset. Remove
7113         uniconv/u16-strconv-to-locale.
7114         (configure.ac): Bump version number.
7115         * modules/unistr/u32-strcoll (Depends-on): Add
7116         uniconv/u32-strconv-to-enc, localcharset. Remove
7117         uniconv/u32-strconv-to-locale.
7118         (configure.ac): Bump version number.
7119
7120 2010-05-24  Bruno Haible  <bruno@clisp.org>
7121
7122         Avoid a test failure on NetBSD 5.0.
7123         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
7124         an iconv() bug.
7125
7126 2010-05-24  Bruno Haible  <bruno@clisp.org>
7127
7128         Adjust #include directive style.
7129         * modules/regex (Includes): Recommend to write <regex.h>.
7130
7131 2010-05-24  Bruno Haible  <bruno@clisp.org>
7132
7133         regex: Don't require alloca.
7134         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
7135         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
7136         only inside if (0).
7137
7138 2010-05-23  Jim Meyering  <meyering@redhat.com>
7139
7140         test-renameat.c: include <sys/stat.h>
7141         * tests/test-renameat.c: Include <sys/stat.h>; required for
7142         definition of S_IS* macros.
7143
7144 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
7145
7146         Update maintainer documentation for 'relocatable-prog' module.
7147         * doc/relocatable-maint.texi: Update.
7148         Comments by Bruno Haible.
7149
7150 2010-05-23  Bruno Haible  <bruno@clisp.org>
7151
7152         git-merge-changelog: Enable --split-merged-entry by default.
7153         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
7154         (usage): Don't mention this option any more.
7155         Reported by Ralf Wildenhues.
7156
7157 2010-05-23  Jim Meyering  <meyering@redhat.com>
7158
7159         test-pwrite: do not leave behind a test file named "out"
7160         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
7161         The trivial-looking use of init.sh is really necessary.
7162         It ensures that the temporary file, "out", is created in
7163         a temporary directory, and removed upon termination.
7164         * tests/test-pwrite.sh: Re-add file.
7165         * modules/pwrite-tests: Reference it.
7166
7167 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7168
7169         Fix output redirection buglet in init.sh.
7170         * tests/init.sh: Fix redirection of stderr.
7171
7172 2010-05-20  Simon Josefsson  <simon@josefsson.org>
7173
7174         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
7175
7176 2010-05-17  Simon Josefsson  <simon@josefsson.org>
7177
7178         * modules/valgrind-tests: New file.
7179         * m4/valgrind-tests.m4: New file.
7180         * doc/valgrind-tests.texi: New file.
7181         * doc/gnulib.texi (Running self-tests under valgrind): New
7182         section.
7183
7184 2010-05-19  Bruno Haible  <bruno@clisp.org>
7185
7186         Clean up dead code in recent commit.
7187         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
7188         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
7189         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
7190         Suggested by Paolo Bonzini.
7191
7192 2010-05-19  Bruno Haible  <bruno@clisp.org>
7193
7194         Avoid valgrind error reports from libunistring.
7195         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
7196         * modules/libunistring (Files): Add it.
7197         * modules/libunistring-optional (Files): Likewise.
7198
7199 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
7200             Bruno Haible  <bruno@clisp.org>
7201
7202         New module 'libunistring-optional'.
7203         * modules/libunistring-optional: New file.
7204         * m4/libunistring-base.m4: New file.
7205         * m4/libunistring-optional.m4: New file.
7206         * lib/unicase.in.h: Renamed from lib/unicase.h.
7207         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
7208         * lib/unictype.in.h: Renamed from lib/unictype.h.
7209         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
7210         * lib/uniname.in.h: Renamed from lib/uniname.h.
7211         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
7212         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
7213         * lib/unistr.in.h: Renamed from lib/unistr.h.
7214         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
7215         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
7216         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
7217         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
7218         gl_LIBUNISTRING. If the library was found, determine the installed
7219         version and set LIBUNISTRING_VERSION.
7220         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
7221         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
7222         handle a configuration option --with-included-libunistring.
7223         * modules/libunistring (Files): Add m4/absolute-header.m4.
7224         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
7225         Add m4/libunistring-base.m4.
7226         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7227         (Makefile.am): Build unicase.h from unicase.in.h.
7228         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
7229         Add m4/libunistring-base.m4.
7230         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7231         (Makefile.am): Build uniconv.h from uniconv.in.h.
7232         * modules/unictype/base (Files): Use unictype.in.h instead of
7233         unictype.h. Add m4/libunistring-base.m4.
7234         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7235         (Makefile.am): Build unictype.h from unictype.in.h.
7236         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
7237         Add m4/libunistring-base.m4.
7238         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7239         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
7240         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
7241         Add m4/libunistring-base.m4.
7242         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7243         (Makefile.am): Build uniname.h from uniname.in.h.
7244         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
7245         Add m4/libunistring-base.m4.
7246         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7247         (Makefile.am): Build uninorm.h from uninorm.in.h.
7248         * modules/unistdio/base (Files): Use unistdio.in.h instead of
7249         unistdio.h. Add m4/libunistring-base.m4.
7250         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7251         (Makefile.am): Build unistdio.h from unistdio.in.h.
7252         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
7253         Add m4/libunistring-base.m4.
7254         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7255         (Makefile.am): Build unistr.h from unistr.in.h.
7256         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
7257         Add m4/libunistring-base.m4.
7258         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7259         (Makefile.am): Build unitypes.h from unitypes.in.h.
7260         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
7261         Add m4/libunistring-base.m4.
7262         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7263         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
7264         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
7265         uniwidth.h. Add m4/libunistring-base.m4.
7266         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
7267         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
7268         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
7269         instead of augmenting lib_SOURCES.
7270         * modules/unicase/empty-suffix-context: Likewise.
7271         * modules/unicase/locale-language: Likewise.
7272         * modules/unicase/tolower: Likewise.
7273         * modules/unicase/totitle: Likewise.
7274         * modules/unicase/toupper: Likewise.
7275         * modules/unicase/u8-casecmp: Likewise.
7276         * modules/unicase/u8-casecoll: Likewise.
7277         * modules/unicase/u8-casefold: Likewise.
7278         * modules/unicase/u8-casexfrm: Likewise.
7279         * modules/unicase/u8-ct-casefold: Likewise.
7280         * modules/unicase/u8-ct-tolower: Likewise.
7281         * modules/unicase/u8-ct-totitle: Likewise.
7282         * modules/unicase/u8-ct-toupper: Likewise.
7283         * modules/unicase/u8-is-cased: Likewise.
7284         * modules/unicase/u8-is-casefolded: Likewise.
7285         * modules/unicase/u8-is-lowercase: Likewise.
7286         * modules/unicase/u8-is-titlecase: Likewise.
7287         * modules/unicase/u8-is-uppercase: Likewise.
7288         * modules/unicase/u8-prefix-context: Likewise.
7289         * modules/unicase/u8-suffix-context: Likewise.
7290         * modules/unicase/u8-tolower: Likewise.
7291         * modules/unicase/u8-totitle: Likewise.
7292         * modules/unicase/u8-toupper: Likewise.
7293         * modules/unicase/u16-casecmp: Likewise.
7294         * modules/unicase/u16-casecoll: Likewise.
7295         * modules/unicase/u16-casefold: Likewise.
7296         * modules/unicase/u16-casexfrm: Likewise.
7297         * modules/unicase/u16-ct-casefold: Likewise.
7298         * modules/unicase/u16-ct-tolower: Likewise.
7299         * modules/unicase/u16-ct-totitle: Likewise.
7300         * modules/unicase/u16-ct-toupper: Likewise.
7301         * modules/unicase/u16-is-cased: Likewise.
7302         * modules/unicase/u16-is-casefolded: Likewise.
7303         * modules/unicase/u16-is-lowercase: Likewise.
7304         * modules/unicase/u16-is-titlecase: Likewise.
7305         * modules/unicase/u16-is-uppercase: Likewise.
7306         * modules/unicase/u16-prefix-context: Likewise.
7307         * modules/unicase/u16-suffix-context: Likewise.
7308         * modules/unicase/u16-tolower: Likewise.
7309         * modules/unicase/u16-totitle: Likewise.
7310         * modules/unicase/u16-toupper: Likewise.
7311         * modules/unicase/u32-casecmp: Likewise.
7312         * modules/unicase/u32-casecoll: Likewise.
7313         * modules/unicase/u32-casefold: Likewise.
7314         * modules/unicase/u32-casexfrm: Likewise.
7315         * modules/unicase/u32-ct-casefold: Likewise.
7316         * modules/unicase/u32-ct-tolower: Likewise.
7317         * modules/unicase/u32-ct-totitle: Likewise.
7318         * modules/unicase/u32-ct-toupper: Likewise.
7319         * modules/unicase/u32-is-cased: Likewise.
7320         * modules/unicase/u32-is-casefolded: Likewise.
7321         * modules/unicase/u32-is-lowercase: Likewise.
7322         * modules/unicase/u32-is-titlecase: Likewise.
7323         * modules/unicase/u32-is-uppercase: Likewise.
7324         * modules/unicase/u32-prefix-context: Likewise.
7325         * modules/unicase/u32-suffix-context: Likewise.
7326         * modules/unicase/u32-tolower: Likewise.
7327         * modules/unicase/u32-totitle: Likewise.
7328         * modules/unicase/u32-toupper: Likewise.
7329         * modules/unicase/ulc-casecmp: Likewise.
7330         * modules/unicase/ulc-casecoll: Likewise.
7331         * modules/unicase/ulc-casexfrm: Likewise.
7332         * modules/uniconv/u8-conv-from-enc: Likewise.
7333         * modules/uniconv/u8-conv-to-enc: Likewise.
7334         * modules/uniconv/u8-strconv-from-enc: Likewise.
7335         * modules/uniconv/u8-strconv-from-locale: Likewise.
7336         * modules/uniconv/u8-strconv-to-enc: Likewise.
7337         * modules/uniconv/u8-strconv-to-locale: Likewise.
7338         * modules/uniconv/u16-conv-from-enc: Likewise.
7339         * modules/uniconv/u16-conv-to-enc: Likewise.
7340         * modules/uniconv/u16-strconv-from-enc: Likewise.
7341         * modules/uniconv/u16-strconv-from-locale: Likewise.
7342         * modules/uniconv/u16-strconv-to-enc: Likewise.
7343         * modules/uniconv/u16-strconv-to-locale: Likewise.
7344         * modules/uniconv/u32-conv-from-enc: Likewise.
7345         * modules/uniconv/u32-conv-to-enc: Likewise.
7346         * modules/uniconv/u32-strconv-from-enc: Likewise.
7347         * modules/uniconv/u32-strconv-from-locale: Likewise.
7348         * modules/uniconv/u32-strconv-to-enc: Likewise.
7349         * modules/uniconv/u32-strconv-to-locale: Likewise.
7350         * modules/unictype/bidicategory-byname: Likewise.
7351         * modules/unictype/bidicategory-name: Likewise.
7352         * modules/unictype/bidicategory-of: Likewise.
7353         * modules/unictype/bidicategory-test: Likewise.
7354         * modules/unictype/block-list: Likewise.
7355         * modules/unictype/block-test: Likewise.
7356         * modules/unictype/category-C: Likewise.
7357         * modules/unictype/category-Cc: Likewise.
7358         * modules/unictype/category-Cf: Likewise.
7359         * modules/unictype/category-Cn: Likewise.
7360         * modules/unictype/category-Co: Likewise.
7361         * modules/unictype/category-Cs: Likewise.
7362         * modules/unictype/category-L: Likewise.
7363         * modules/unictype/category-Ll: Likewise.
7364         * modules/unictype/category-Lm: Likewise.
7365         * modules/unictype/category-Lo: Likewise.
7366         * modules/unictype/category-Lt: Likewise.
7367         * modules/unictype/category-Lu: Likewise.
7368         * modules/unictype/category-M: Likewise.
7369         * modules/unictype/category-Mc: Likewise.
7370         * modules/unictype/category-Me: Likewise.
7371         * modules/unictype/category-Mn: Likewise.
7372         * modules/unictype/category-N: Likewise.
7373         * modules/unictype/category-Nd: Likewise.
7374         * modules/unictype/category-Nl: Likewise.
7375         * modules/unictype/category-No: Likewise.
7376         * modules/unictype/category-P: Likewise.
7377         * modules/unictype/category-Pc: Likewise.
7378         * modules/unictype/category-Pd: Likewise.
7379         * modules/unictype/category-Pe: Likewise.
7380         * modules/unictype/category-Pf: Likewise.
7381         * modules/unictype/category-Pi: Likewise.
7382         * modules/unictype/category-Po: Likewise.
7383         * modules/unictype/category-Ps: Likewise.
7384         * modules/unictype/category-S: Likewise.
7385         * modules/unictype/category-Sc: Likewise.
7386         * modules/unictype/category-Sk: Likewise.
7387         * modules/unictype/category-Sm: Likewise.
7388         * modules/unictype/category-So: Likewise.
7389         * modules/unictype/category-Z: Likewise.
7390         * modules/unictype/category-Zl: Likewise.
7391         * modules/unictype/category-Zp: Likewise.
7392         * modules/unictype/category-Zs: Likewise.
7393         * modules/unictype/category-and: Likewise.
7394         * modules/unictype/category-and-not: Likewise.
7395         * modules/unictype/category-byname: Likewise.
7396         * modules/unictype/category-name: Likewise.
7397         * modules/unictype/category-none: Likewise.
7398         * modules/unictype/category-of: Likewise.
7399         * modules/unictype/category-or: Likewise.
7400         * modules/unictype/category-test: Likewise.
7401         * modules/unictype/combining-class: Likewise.
7402         * modules/unictype/ctype-alnum: Likewise.
7403         * modules/unictype/ctype-alpha: Likewise.
7404         * modules/unictype/ctype-blank: Likewise.
7405         * modules/unictype/ctype-cntrl: Likewise.
7406         * modules/unictype/ctype-digit: Likewise.
7407         * modules/unictype/ctype-graph: Likewise.
7408         * modules/unictype/ctype-lower: Likewise.
7409         * modules/unictype/ctype-print: Likewise.
7410         * modules/unictype/ctype-punct: Likewise.
7411         * modules/unictype/ctype-space: Likewise.
7412         * modules/unictype/ctype-upper: Likewise.
7413         * modules/unictype/ctype-xdigit: Likewise.
7414         * modules/unictype/decimal-digit: Likewise.
7415         * modules/unictype/digit: Likewise.
7416         * modules/unictype/mirror: Likewise.
7417         * modules/unictype/numeric: Likewise.
7418         * modules/unictype/property-alphabetic: Likewise.
7419         * modules/unictype/property-ascii-hex-digit: Likewise.
7420         * modules/unictype/property-bidi-arabic-digit: Likewise.
7421         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
7422         * modules/unictype/property-bidi-block-separator: Likewise.
7423         * modules/unictype/property-bidi-boundary-neutral: Likewise.
7424         * modules/unictype/property-bidi-common-separator: Likewise.
7425         * modules/unictype/property-bidi-control: Likewise.
7426         * modules/unictype/property-bidi-embedding-or-override: Likewise.
7427         * modules/unictype/property-bidi-eur-num-separator: Likewise.
7428         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
7429         * modules/unictype/property-bidi-european-digit: Likewise.
7430         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
7431         * modules/unictype/property-bidi-left-to-right: Likewise.
7432         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
7433         * modules/unictype/property-bidi-other-neutral: Likewise.
7434         * modules/unictype/property-bidi-pdf: Likewise.
7435         * modules/unictype/property-bidi-segment-separator: Likewise.
7436         * modules/unictype/property-bidi-whitespace: Likewise.
7437         * modules/unictype/property-byname: Likewise.
7438         * modules/unictype/property-combining: Likewise.
7439         * modules/unictype/property-composite: Likewise.
7440         * modules/unictype/property-currency-symbol: Likewise.
7441         * modules/unictype/property-dash: Likewise.
7442         * modules/unictype/property-decimal-digit: Likewise.
7443         * modules/unictype/property-default-ignorable-code-point: Likewise.
7444         * modules/unictype/property-deprecated: Likewise.
7445         * modules/unictype/property-diacritic: Likewise.
7446         * modules/unictype/property-extender: Likewise.
7447         * modules/unictype/property-format-control: Likewise.
7448         * modules/unictype/property-grapheme-base: Likewise.
7449         * modules/unictype/property-grapheme-extend: Likewise.
7450         * modules/unictype/property-grapheme-link: Likewise.
7451         * modules/unictype/property-hex-digit: Likewise.
7452         * modules/unictype/property-hyphen: Likewise.
7453         * modules/unictype/property-id-continue: Likewise.
7454         * modules/unictype/property-id-start: Likewise.
7455         * modules/unictype/property-ideographic: Likewise.
7456         * modules/unictype/property-ids-binary-operator: Likewise.
7457         * modules/unictype/property-ids-trinary-operator: Likewise.
7458         * modules/unictype/property-ignorable-control: Likewise.
7459         * modules/unictype/property-iso-control: Likewise.
7460         * modules/unictype/property-join-control: Likewise.
7461         * modules/unictype/property-left-of-pair: Likewise.
7462         * modules/unictype/property-line-separator: Likewise.
7463         * modules/unictype/property-logical-order-exception: Likewise.
7464         * modules/unictype/property-lowercase: Likewise.
7465         * modules/unictype/property-math: Likewise.
7466         * modules/unictype/property-non-break: Likewise.
7467         * modules/unictype/property-not-a-character: Likewise.
7468         * modules/unictype/property-numeric: Likewise.
7469         * modules/unictype/property-other-alphabetic: Likewise.
7470         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
7471         * modules/unictype/property-other-grapheme-extend: Likewise.
7472         * modules/unictype/property-other-id-continue: Likewise.
7473         * modules/unictype/property-other-id-start: Likewise.
7474         * modules/unictype/property-other-lowercase: Likewise.
7475         * modules/unictype/property-other-math: Likewise.
7476         * modules/unictype/property-other-uppercase: Likewise.
7477         * modules/unictype/property-paired-punctuation: Likewise.
7478         * modules/unictype/property-paragraph-separator: Likewise.
7479         * modules/unictype/property-pattern-syntax: Likewise.
7480         * modules/unictype/property-pattern-white-space: Likewise.
7481         * modules/unictype/property-private-use: Likewise.
7482         * modules/unictype/property-punctuation: Likewise.
7483         * modules/unictype/property-quotation-mark: Likewise.
7484         * modules/unictype/property-radical: Likewise.
7485         * modules/unictype/property-sentence-terminal: Likewise.
7486         * modules/unictype/property-soft-dotted: Likewise.
7487         * modules/unictype/property-space: Likewise.
7488         * modules/unictype/property-terminal-punctuation: Likewise.
7489         * modules/unictype/property-test: Likewise.
7490         * modules/unictype/property-titlecase: Likewise.
7491         * modules/unictype/property-unassigned-code-value: Likewise.
7492         * modules/unictype/property-unified-ideograph: Likewise.
7493         * modules/unictype/property-uppercase: Likewise.
7494         * modules/unictype/property-variation-selector: Likewise.
7495         * modules/unictype/property-white-space: Likewise.
7496         * modules/unictype/property-xid-continue: Likewise.
7497         * modules/unictype/property-xid-start: Likewise.
7498         * modules/unictype/property-zero-width: Likewise.
7499         * modules/unictype/scripts: Likewise.
7500         * modules/unictype/syntax-c-ident: Likewise.
7501         * modules/unictype/syntax-c-whitespace: Likewise.
7502         * modules/unictype/syntax-java-ident: Likewise.
7503         * modules/unictype/syntax-java-whitespace: Likewise.
7504         * modules/unilbrk/u8-possible-linebreaks: Likewise.
7505         * modules/unilbrk/u8-width-linebreaks: Likewise.
7506         * modules/unilbrk/u16-possible-linebreaks: Likewise.
7507         * modules/unilbrk/u16-width-linebreaks: Likewise.
7508         * modules/unilbrk/u32-possible-linebreaks: Likewise.
7509         * modules/unilbrk/u32-width-linebreaks: Likewise.
7510         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
7511         * modules/unilbrk/ulc-width-linebreaks: Likewise.
7512         * modules/uniname/uniname: Likewise.
7513         * modules/uninorm/canonical-decomposition: Likewise.
7514         * modules/uninorm/composition: Likewise.
7515         * modules/uninorm/decomposing-form: Likewise.
7516         * modules/uninorm/decomposition: Likewise.
7517         * modules/uninorm/filter: Likewise.
7518         * modules/uninorm/nfc: Likewise.
7519         * modules/uninorm/nfd: Likewise.
7520         * modules/uninorm/nfkc: Likewise.
7521         * modules/uninorm/nfkd: Likewise.
7522         * modules/uninorm/u8-normalize: Likewise.
7523         * modules/uninorm/u8-normcmp: Likewise.
7524         * modules/uninorm/u8-normcoll: Likewise.
7525         * modules/uninorm/u8-normxfrm: Likewise.
7526         * modules/uninorm/u16-normalize: Likewise.
7527         * modules/uninorm/u16-normcmp: Likewise.
7528         * modules/uninorm/u16-normcoll: Likewise.
7529         * modules/uninorm/u16-normxfrm: Likewise.
7530         * modules/uninorm/u32-normalize: Likewise.
7531         * modules/uninorm/u32-normcmp: Likewise.
7532         * modules/uninorm/u32-normcoll: Likewise.
7533         * modules/uninorm/u32-normxfrm: Likewise.
7534         * modules/unistdio/u8-asnprintf: Likewise.
7535         * modules/unistdio/u8-asprintf: Likewise.
7536         * modules/unistdio/u8-snprintf: Likewise.
7537         * modules/unistdio/u8-sprintf: Likewise.
7538         * modules/unistdio/u8-u8-asnprintf: Likewise.
7539         * modules/unistdio/u8-u8-asprintf: Likewise.
7540         * modules/unistdio/u8-u8-snprintf: Likewise.
7541         * modules/unistdio/u8-u8-sprintf: Likewise.
7542         * modules/unistdio/u8-u8-vasnprintf: Likewise.
7543         * modules/unistdio/u8-u8-vasprintf: Likewise.
7544         * modules/unistdio/u8-u8-vsnprintf: Likewise.
7545         * modules/unistdio/u8-u8-vsprintf: Likewise.
7546         * modules/unistdio/u8-vasnprintf: Likewise.
7547         * modules/unistdio/u8-vasprintf: Likewise.
7548         * modules/unistdio/u8-vsnprintf: Likewise.
7549         * modules/unistdio/u8-vsprintf: Likewise.
7550         * modules/unistdio/u16-asnprintf: Likewise.
7551         * modules/unistdio/u16-asprintf: Likewise.
7552         * modules/unistdio/u16-snprintf: Likewise.
7553         * modules/unistdio/u16-sprintf: Likewise.
7554         * modules/unistdio/u16-u16-asnprintf: Likewise.
7555         * modules/unistdio/u16-u16-asprintf: Likewise.
7556         * modules/unistdio/u16-u16-snprintf: Likewise.
7557         * modules/unistdio/u16-u16-sprintf: Likewise.
7558         * modules/unistdio/u16-u16-vasnprintf: Likewise.
7559         * modules/unistdio/u16-u16-vasprintf: Likewise.
7560         * modules/unistdio/u16-u16-vsnprintf: Likewise.
7561         * modules/unistdio/u16-u16-vsprintf: Likewise.
7562         * modules/unistdio/u16-vasnprintf: Likewise.
7563         * modules/unistdio/u16-vasprintf: Likewise.
7564         * modules/unistdio/u16-vsnprintf: Likewise.
7565         * modules/unistdio/u16-vsprintf: Likewise.
7566         * modules/unistdio/u32-asnprintf: Likewise.
7567         * modules/unistdio/u32-asprintf: Likewise.
7568         * modules/unistdio/u32-snprintf: Likewise.
7569         * modules/unistdio/u32-sprintf: Likewise.
7570         * modules/unistdio/u32-u32-asnprintf: Likewise.
7571         * modules/unistdio/u32-u32-asprintf: Likewise.
7572         * modules/unistdio/u32-u32-snprintf: Likewise.
7573         * modules/unistdio/u32-u32-sprintf: Likewise.
7574         * modules/unistdio/u32-u32-vasnprintf: Likewise.
7575         * modules/unistdio/u32-u32-vasprintf: Likewise.
7576         * modules/unistdio/u32-u32-vsnprintf: Likewise.
7577         * modules/unistdio/u32-u32-vsprintf: Likewise.
7578         * modules/unistdio/u32-vasnprintf: Likewise.
7579         * modules/unistdio/u32-vasprintf: Likewise.
7580         * modules/unistdio/u32-vsnprintf: Likewise.
7581         * modules/unistdio/u32-vsprintf: Likewise.
7582         * modules/unistdio/ulc-asnprintf: Likewise.
7583         * modules/unistdio/ulc-asprintf: Likewise.
7584         * modules/unistdio/ulc-fprintf: Likewise.
7585         * modules/unistdio/ulc-snprintf: Likewise.
7586         * modules/unistdio/ulc-sprintf: Likewise.
7587         * modules/unistdio/ulc-vasnprintf: Likewise.
7588         * modules/unistdio/ulc-vasprintf: Likewise.
7589         * modules/unistdio/ulc-vfprintf: Likewise.
7590         * modules/unistdio/ulc-vsnprintf: Likewise.
7591         * modules/unistdio/ulc-vsprintf: Likewise.
7592         * modules/unistr/u8-check: Likewise.
7593         * modules/unistr/u8-chr: Likewise.
7594         * modules/unistr/u8-cmp: Likewise.
7595         * modules/unistr/u8-cmp2: Likewise.
7596         * modules/unistr/u8-cpy: Likewise.
7597         * modules/unistr/u8-cpy-alloc: Likewise.
7598         * modules/unistr/u8-endswith: Likewise.
7599         * modules/unistr/u8-mblen: Likewise.
7600         * modules/unistr/u8-mbsnlen: Likewise.
7601         * modules/unistr/u8-mbtouc: Likewise.
7602         * modules/unistr/u8-mbtouc-unsafe: Likewise.
7603         * modules/unistr/u8-mbtoucr: Likewise.
7604         * modules/unistr/u8-move: Likewise.
7605         * modules/unistr/u8-next: Likewise.
7606         * modules/unistr/u8-prev: Likewise.
7607         * modules/unistr/u8-set: Likewise.
7608         * modules/unistr/u8-startswith: Likewise.
7609         * modules/unistr/u8-stpcpy: Likewise.
7610         * modules/unistr/u8-stpncpy: Likewise.
7611         * modules/unistr/u8-strcat: Likewise.
7612         * modules/unistr/u8-strchr: Likewise.
7613         * modules/unistr/u8-strcmp: Likewise.
7614         * modules/unistr/u8-strcoll: Likewise.
7615         * modules/unistr/u8-strcpy: Likewise.
7616         * modules/unistr/u8-strcspn: Likewise.
7617         * modules/unistr/u8-strdup: Likewise.
7618         * modules/unistr/u8-strlen: Likewise.
7619         * modules/unistr/u8-strmblen: Likewise.
7620         * modules/unistr/u8-strmbtouc: Likewise.
7621         * modules/unistr/u8-strncat: Likewise.
7622         * modules/unistr/u8-strncmp: Likewise.
7623         * modules/unistr/u8-strncpy: Likewise.
7624         * modules/unistr/u8-strnlen: Likewise.
7625         * modules/unistr/u8-strpbrk: Likewise.
7626         * modules/unistr/u8-strrchr: Likewise.
7627         * modules/unistr/u8-strspn: Likewise.
7628         * modules/unistr/u8-strstr: Likewise.
7629         * modules/unistr/u8-strtok: Likewise.
7630         * modules/unistr/u8-to-u16: Likewise.
7631         * modules/unistr/u8-to-u32: Likewise.
7632         * modules/unistr/u8-uctomb: Likewise.
7633         * modules/unistr/u16-check: Likewise.
7634         * modules/unistr/u16-chr: Likewise.
7635         * modules/unistr/u16-cmp: Likewise.
7636         * modules/unistr/u16-cmp2: Likewise.
7637         * modules/unistr/u16-cpy: Likewise.
7638         * modules/unistr/u16-cpy-alloc: Likewise.
7639         * modules/unistr/u16-endswith: Likewise.
7640         * modules/unistr/u16-mblen: Likewise.
7641         * modules/unistr/u16-mbsnlen: Likewise.
7642         * modules/unistr/u16-mbtouc: Likewise.
7643         * modules/unistr/u16-mbtouc-unsafe: Likewise.
7644         * modules/unistr/u16-mbtoucr: Likewise.
7645         * modules/unistr/u16-move: Likewise.
7646         * modules/unistr/u16-next: Likewise.
7647         * modules/unistr/u16-prev: Likewise.
7648         * modules/unistr/u16-set: Likewise.
7649         * modules/unistr/u16-startswith: Likewise.
7650         * modules/unistr/u16-stpcpy: Likewise.
7651         * modules/unistr/u16-stpncpy: Likewise.
7652         * modules/unistr/u16-strcat: Likewise.
7653         * modules/unistr/u16-strchr: Likewise.
7654         * modules/unistr/u16-strcmp: Likewise.
7655         * modules/unistr/u16-strcoll: Likewise.
7656         * modules/unistr/u16-strcpy: Likewise.
7657         * modules/unistr/u16-strcspn: Likewise.
7658         * modules/unistr/u16-strdup: Likewise.
7659         * modules/unistr/u16-strlen: Likewise.
7660         * modules/unistr/u16-strmblen: Likewise.
7661         * modules/unistr/u16-strmbtouc: Likewise.
7662         * modules/unistr/u16-strncat: Likewise.
7663         * modules/unistr/u16-strncmp: Likewise.
7664         * modules/unistr/u16-strncpy: Likewise.
7665         * modules/unistr/u16-strnlen: Likewise.
7666         * modules/unistr/u16-strpbrk: Likewise.
7667         * modules/unistr/u16-strrchr: Likewise.
7668         * modules/unistr/u16-strspn: Likewise.
7669         * modules/unistr/u16-strstr: Likewise.
7670         * modules/unistr/u16-strtok: Likewise.
7671         * modules/unistr/u16-to-u32: Likewise.
7672         * modules/unistr/u16-to-u8: Likewise.
7673         * modules/unistr/u16-uctomb: Likewise.
7674         * modules/unistr/u32-check: Likewise.
7675         * modules/unistr/u32-chr: Likewise.
7676         * modules/unistr/u32-cmp: Likewise.
7677         * modules/unistr/u32-cmp2: Likewise.
7678         * modules/unistr/u32-cpy: Likewise.
7679         * modules/unistr/u32-cpy-alloc: Likewise.
7680         * modules/unistr/u32-endswith: Likewise.
7681         * modules/unistr/u32-mblen: Likewise.
7682         * modules/unistr/u32-mbsnlen: Likewise.
7683         * modules/unistr/u32-mbtouc: Likewise.
7684         * modules/unistr/u32-mbtouc-unsafe: Likewise.
7685         * modules/unistr/u32-mbtoucr: Likewise.
7686         * modules/unistr/u32-move: Likewise.
7687         * modules/unistr/u32-next: Likewise.
7688         * modules/unistr/u32-prev: Likewise.
7689         * modules/unistr/u32-set: Likewise.
7690         * modules/unistr/u32-startswith: Likewise.
7691         * modules/unistr/u32-stpcpy: Likewise.
7692         * modules/unistr/u32-stpncpy: Likewise.
7693         * modules/unistr/u32-strcat: Likewise.
7694         * modules/unistr/u32-strchr: Likewise.
7695         * modules/unistr/u32-strcmp: Likewise.
7696         * modules/unistr/u32-strcoll: Likewise.
7697         * modules/unistr/u32-strcpy: Likewise.
7698         * modules/unistr/u32-strcspn: Likewise.
7699         * modules/unistr/u32-strdup: Likewise.
7700         * modules/unistr/u32-strlen: Likewise.
7701         * modules/unistr/u32-strmblen: Likewise.
7702         * modules/unistr/u32-strmbtouc: Likewise.
7703         * modules/unistr/u32-strncat: Likewise.
7704         * modules/unistr/u32-strncmp: Likewise.
7705         * modules/unistr/u32-strncpy: Likewise.
7706         * modules/unistr/u32-strnlen: Likewise.
7707         * modules/unistr/u32-strpbrk: Likewise.
7708         * modules/unistr/u32-strrchr: Likewise.
7709         * modules/unistr/u32-strspn: Likewise.
7710         * modules/unistr/u32-strstr: Likewise.
7711         * modules/unistr/u32-strtok: Likewise.
7712         * modules/unistr/u32-to-u16: Likewise.
7713         * modules/unistr/u32-to-u8: Likewise.
7714         * modules/unistr/u32-uctomb: Likewise.
7715         * modules/uniwbrk/u8-wordbreaks: Likewise.
7716         * modules/uniwbrk/u16-wordbreaks: Likewise.
7717         * modules/uniwbrk/u32-wordbreaks: Likewise.
7718         * modules/uniwbrk/ulc-wordbreaks: Likewise.
7719         * modules/uniwbrk/wordbreak-property: Likewise.
7720         * modules/uniwidth/u8-strwidth: Likewise.
7721         * modules/uniwidth/u8-width: Likewise.
7722         * modules/uniwidth/u16-strwidth: Likewise.
7723         * modules/uniwidth/u16-width: Likewise.
7724         * modules/uniwidth/u32-strwidth: Likewise.
7725         * modules/uniwidth/u32-width: Likewise.
7726         * modules/uniwidth/width: Likewise.
7727         * modules/unicase/cased-tests (Makefile.am): Link all test programs
7728         with $(LIBUNISTRING).
7729         * modules/unicase/ignorable-tests: Likewise.
7730         * modules/unicase/locale-language-tests: Likewise.
7731         * modules/unicase/tolower-tests: Likewise.
7732         * modules/unicase/totitle-tests: Likewise.
7733         * modules/unicase/toupper-tests: Likewise.
7734         * modules/unicase/u8-casecmp-tests: Likewise.
7735         * modules/unicase/u8-casecoll-tests: Likewise.
7736         * modules/unicase/u8-casefold-tests: Likewise.
7737         * modules/unicase/u8-is-cased-tests: Likewise.
7738         * modules/unicase/u8-is-casefolded-tests: Likewise.
7739         * modules/unicase/u8-is-lowercase-tests: Likewise.
7740         * modules/unicase/u8-is-titlecase-tests: Likewise.
7741         * modules/unicase/u8-is-uppercase-tests: Likewise.
7742         * modules/unicase/u8-tolower-tests: Likewise.
7743         * modules/unicase/u8-totitle-tests: Likewise.
7744         * modules/unicase/u8-toupper-tests: Likewise.
7745         * modules/unicase/u16-casecmp-tests: Likewise.
7746         * modules/unicase/u16-casecoll-tests: Likewise.
7747         * modules/unicase/u16-casefold-tests: Likewise.
7748         * modules/unicase/u16-is-cased-tests: Likewise.
7749         * modules/unicase/u16-is-casefolded-tests: Likewise.
7750         * modules/unicase/u16-is-lowercase-tests: Likewise.
7751         * modules/unicase/u16-is-titlecase-tests: Likewise.
7752         * modules/unicase/u16-is-uppercase-tests: Likewise.
7753         * modules/unicase/u16-tolower-tests: Likewise.
7754         * modules/unicase/u16-totitle-tests: Likewise.
7755         * modules/unicase/u16-toupper-tests: Likewise.
7756         * modules/unicase/u32-casecmp-tests: Likewise.
7757         * modules/unicase/u32-casecoll-tests: Likewise.
7758         * modules/unicase/u32-casefold-tests: Likewise.
7759         * modules/unicase/u32-is-cased-tests: Likewise.
7760         * modules/unicase/u32-is-casefolded-tests: Likewise.
7761         * modules/unicase/u32-is-lowercase-tests: Likewise.
7762         * modules/unicase/u32-is-titlecase-tests: Likewise.
7763         * modules/unicase/u32-is-uppercase-tests: Likewise.
7764         * modules/unicase/u32-tolower-tests: Likewise.
7765         * modules/unicase/u32-totitle-tests: Likewise.
7766         * modules/unicase/u32-toupper-tests: Likewise.
7767         * modules/unicase/ulc-casecmp-tests: Likewise.
7768         * modules/unicase/ulc-casecoll-tests: Likewise.
7769         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
7770         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
7771         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
7772         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
7773         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
7774         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
7775         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
7776         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
7777         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
7778         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
7779         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
7780         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
7781         * modules/unictype/bidicategory-byname-tests: Likewise.
7782         * modules/unictype/bidicategory-name-tests: Likewise.
7783         * modules/unictype/bidicategory-of-tests: Likewise.
7784         * modules/unictype/bidicategory-test-tests: Likewise.
7785         * modules/unictype/block-list-tests: Likewise.
7786         * modules/unictype/block-of-tests: Likewise.
7787         * modules/unictype/block-test-tests: Likewise.
7788         * modules/unictype/category-C-tests: Likewise.
7789         * modules/unictype/category-Cc-tests: Likewise.
7790         * modules/unictype/category-Cf-tests: Likewise.
7791         * modules/unictype/category-Cn-tests: Likewise.
7792         * modules/unictype/category-Co-tests: Likewise.
7793         * modules/unictype/category-Cs-tests: Likewise.
7794         * modules/unictype/category-L-tests: Likewise.
7795         * modules/unictype/category-Ll-tests: Likewise.
7796         * modules/unictype/category-Lm-tests: Likewise.
7797         * modules/unictype/category-Lo-tests: Likewise.
7798         * modules/unictype/category-Lt-tests: Likewise.
7799         * modules/unictype/category-Lu-tests: Likewise.
7800         * modules/unictype/category-M-tests: Likewise.
7801         * modules/unictype/category-Mc-tests: Likewise.
7802         * modules/unictype/category-Me-tests: Likewise.
7803         * modules/unictype/category-Mn-tests: Likewise.
7804         * modules/unictype/category-N-tests: Likewise.
7805         * modules/unictype/category-Nd-tests: Likewise.
7806         * modules/unictype/category-Nl-tests: Likewise.
7807         * modules/unictype/category-No-tests: Likewise.
7808         * modules/unictype/category-P-tests: Likewise.
7809         * modules/unictype/category-Pc-tests: Likewise.
7810         * modules/unictype/category-Pd-tests: Likewise.
7811         * modules/unictype/category-Pe-tests: Likewise.
7812         * modules/unictype/category-Pf-tests: Likewise.
7813         * modules/unictype/category-Pi-tests: Likewise.
7814         * modules/unictype/category-Po-tests: Likewise.
7815         * modules/unictype/category-Ps-tests: Likewise.
7816         * modules/unictype/category-S-tests: Likewise.
7817         * modules/unictype/category-Sc-tests: Likewise.
7818         * modules/unictype/category-Sk-tests: Likewise.
7819         * modules/unictype/category-Sm-tests: Likewise.
7820         * modules/unictype/category-So-tests: Likewise.
7821         * modules/unictype/category-Z-tests: Likewise.
7822         * modules/unictype/category-Zl-tests: Likewise.
7823         * modules/unictype/category-Zp-tests: Likewise.
7824         * modules/unictype/category-Zs-tests: Likewise.
7825         * modules/unictype/category-and-not-tests: Likewise.
7826         * modules/unictype/category-and-tests: Likewise.
7827         * modules/unictype/category-byname-tests: Likewise.
7828         * modules/unictype/category-name-tests: Likewise.
7829         * modules/unictype/category-none-tests: Likewise.
7830         * modules/unictype/category-of-tests: Likewise.
7831         * modules/unictype/category-or-tests: Likewise.
7832         * modules/unictype/category-test-withtable-tests: Likewise.
7833         * modules/unictype/combining-class-tests: Likewise.
7834         * modules/unictype/ctype-alnum-tests: Likewise.
7835         * modules/unictype/ctype-alpha-tests: Likewise.
7836         * modules/unictype/ctype-blank-tests: Likewise.
7837         * modules/unictype/ctype-cntrl-tests: Likewise.
7838         * modules/unictype/ctype-digit-tests: Likewise.
7839         * modules/unictype/ctype-graph-tests: Likewise.
7840         * modules/unictype/ctype-lower-tests: Likewise.
7841         * modules/unictype/ctype-print-tests: Likewise.
7842         * modules/unictype/ctype-punct-tests: Likewise.
7843         * modules/unictype/ctype-space-tests: Likewise.
7844         * modules/unictype/ctype-upper-tests: Likewise.
7845         * modules/unictype/ctype-xdigit-tests: Likewise.
7846         * modules/unictype/decimal-digit-tests: Likewise.
7847         * modules/unictype/digit-tests: Likewise.
7848         * modules/unictype/mirror-tests: Likewise.
7849         * modules/unictype/numeric-tests: Likewise.
7850         * modules/unictype/property-alphabetic-tests: Likewise.
7851         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
7852         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
7853         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
7854         * modules/unictype/property-bidi-block-separator-tests: Likewise.
7855         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
7856         * modules/unictype/property-bidi-common-separator-tests: Likewise.
7857         * modules/unictype/property-bidi-control-tests: Likewise.
7858         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
7859         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
7860         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
7861         * modules/unictype/property-bidi-european-digit-tests: Likewise.
7862         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
7863         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
7864         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
7865         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
7866         * modules/unictype/property-bidi-pdf-tests: Likewise.
7867         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
7868         * modules/unictype/property-bidi-whitespace-tests: Likewise.
7869         * modules/unictype/property-byname-tests: Likewise.
7870         * modules/unictype/property-combining-tests: Likewise.
7871         * modules/unictype/property-composite-tests: Likewise.
7872         * modules/unictype/property-currency-symbol-tests: Likewise.
7873         * modules/unictype/property-dash-tests: Likewise.
7874         * modules/unictype/property-decimal-digit-tests: Likewise.
7875         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
7876         * modules/unictype/property-deprecated-tests: Likewise.
7877         * modules/unictype/property-diacritic-tests: Likewise.
7878         * modules/unictype/property-extender-tests: Likewise.
7879         * modules/unictype/property-format-control-tests: Likewise.
7880         * modules/unictype/property-grapheme-base-tests: Likewise.
7881         * modules/unictype/property-grapheme-extend-tests: Likewise.
7882         * modules/unictype/property-grapheme-link-tests: Likewise.
7883         * modules/unictype/property-hex-digit-tests: Likewise.
7884         * modules/unictype/property-hyphen-tests: Likewise.
7885         * modules/unictype/property-id-continue-tests: Likewise.
7886         * modules/unictype/property-id-start-tests: Likewise.
7887         * modules/unictype/property-ideographic-tests: Likewise.
7888         * modules/unictype/property-ids-binary-operator-tests: Likewise.
7889         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
7890         * modules/unictype/property-ignorable-control-tests: Likewise.
7891         * modules/unictype/property-iso-control-tests: Likewise.
7892         * modules/unictype/property-join-control-tests: Likewise.
7893         * modules/unictype/property-left-of-pair-tests: Likewise.
7894         * modules/unictype/property-line-separator-tests: Likewise.
7895         * modules/unictype/property-logical-order-exception-tests: Likewise.
7896         * modules/unictype/property-lowercase-tests: Likewise.
7897         * modules/unictype/property-math-tests: Likewise.
7898         * modules/unictype/property-non-break-tests: Likewise.
7899         * modules/unictype/property-not-a-character-tests: Likewise.
7900         * modules/unictype/property-numeric-tests: Likewise.
7901         * modules/unictype/property-other-alphabetic-tests: Likewise.
7902         * modules/unictype/property-other-default-ignorable-code-point-tests:
7903         Likewise.
7904         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
7905         * modules/unictype/property-other-id-continue-tests: Likewise.
7906         * modules/unictype/property-other-id-start-tests: Likewise.
7907         * modules/unictype/property-other-lowercase-tests: Likewise.
7908         * modules/unictype/property-other-math-tests: Likewise.
7909         * modules/unictype/property-other-uppercase-tests: Likewise.
7910         * modules/unictype/property-paired-punctuation-tests: Likewise.
7911         * modules/unictype/property-paragraph-separator-tests: Likewise.
7912         * modules/unictype/property-pattern-syntax-tests: Likewise.
7913         * modules/unictype/property-pattern-white-space-tests: Likewise.
7914         * modules/unictype/property-private-use-tests: Likewise.
7915         * modules/unictype/property-punctuation-tests: Likewise.
7916         * modules/unictype/property-quotation-mark-tests: Likewise.
7917         * modules/unictype/property-radical-tests: Likewise.
7918         * modules/unictype/property-sentence-terminal-tests: Likewise.
7919         * modules/unictype/property-soft-dotted-tests: Likewise.
7920         * modules/unictype/property-space-tests: Likewise.
7921         * modules/unictype/property-terminal-punctuation-tests: Likewise.
7922         * modules/unictype/property-test-tests: Likewise.
7923         * modules/unictype/property-titlecase-tests: Likewise.
7924         * modules/unictype/property-unassigned-code-value-tests: Likewise.
7925         * modules/unictype/property-unified-ideograph-tests: Likewise.
7926         * modules/unictype/property-uppercase-tests: Likewise.
7927         * modules/unictype/property-variation-selector-tests: Likewise.
7928         * modules/unictype/property-white-space-tests: Likewise.
7929         * modules/unictype/property-xid-continue-tests: Likewise.
7930         * modules/unictype/property-xid-start-tests: Likewise.
7931         * modules/unictype/property-zero-width-tests: Likewise.
7932         * modules/unictype/scripts-tests: Likewise.
7933         * modules/unictype/syntax-c-ident-tests: Likewise.
7934         * modules/unictype/syntax-c-whitespace-tests: Likewise.
7935         * modules/unictype/syntax-java-ident-tests: Likewise.
7936         * modules/unictype/syntax-java-whitespace-tests: Likewise.
7937         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
7938         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
7939         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
7940         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
7941         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
7942         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
7943         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
7944         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
7945         * modules/uniname/uniname-tests: Likewise.
7946         * modules/uninorm/canonical-decomposition-tests: Likewise.
7947         * modules/uninorm/compat-decomposition-tests: Likewise.
7948         * modules/uninorm/composition-tests: Likewise.
7949         * modules/uninorm/decomposing-form-tests: Likewise.
7950         * modules/uninorm/decomposition-tests: Likewise.
7951         * modules/uninorm/filter-tests: Likewise.
7952         * modules/uninorm/nfc-tests: Likewise.
7953         * modules/uninorm/nfd-tests: Likewise.
7954         * modules/uninorm/nfkc-tests: Likewise.
7955         * modules/uninorm/nfkd-tests: Likewise.
7956         * modules/uninorm/u8-normcmp-tests: Likewise.
7957         * modules/uninorm/u8-normcoll-tests: Likewise.
7958         * modules/uninorm/u16-normcmp-tests: Likewise.
7959         * modules/uninorm/u16-normcoll-tests: Likewise.
7960         * modules/uninorm/u32-normcmp-tests: Likewise.
7961         * modules/uninorm/u32-normcoll-tests: Likewise.
7962         * modules/unistdio/u8-asnprintf-tests: Likewise.
7963         * modules/unistdio/u8-vasnprintf-tests: Likewise.
7964         * modules/unistdio/u8-vasprintf-tests: Likewise.
7965         * modules/unistdio/u8-vsnprintf-tests: Likewise.
7966         * modules/unistdio/u8-vsprintf-tests: Likewise.
7967         * modules/unistdio/u16-asnprintf-tests: Likewise.
7968         * modules/unistdio/u16-vasnprintf-tests: Likewise.
7969         * modules/unistdio/u16-vasprintf-tests: Likewise.
7970         * modules/unistdio/u16-vsnprintf-tests: Likewise.
7971         * modules/unistdio/u16-vsprintf-tests: Likewise.
7972         * modules/unistdio/u32-asnprintf-tests: Likewise.
7973         * modules/unistdio/u32-vasnprintf-tests: Likewise.
7974         * modules/unistdio/u32-vasprintf-tests: Likewise.
7975         * modules/unistdio/u32-vsnprintf-tests: Likewise.
7976         * modules/unistdio/u32-vsprintf-tests: Likewise.
7977         * modules/unistdio/ulc-asnprintf-tests: Likewise.
7978         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
7979         * modules/unistdio/ulc-vasprintf-tests: Likewise.
7980         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
7981         * modules/unistdio/ulc-vsprintf-tests: Likewise.
7982         * modules/unistr/u8-check-tests: Likewise.
7983         * modules/unistr/u8-chr-tests: Likewise.
7984         * modules/unistr/u8-cmp-tests: Likewise.
7985         * modules/unistr/u8-cmp2-tests: Likewise.
7986         * modules/unistr/u8-cpy-alloc-tests: Likewise.
7987         * modules/unistr/u8-cpy-tests: Likewise.
7988         * modules/unistr/u8-mblen-tests: Likewise.
7989         * modules/unistr/u8-mbsnlen-tests: Likewise.
7990         * modules/unistr/u8-mbtouc-tests: Likewise.
7991         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
7992         * modules/unistr/u8-mbtoucr-tests: Likewise.
7993         * modules/unistr/u8-move-tests: Likewise.
7994         * modules/unistr/u8-next-tests: Likewise.
7995         * modules/unistr/u8-prev-tests: Likewise.
7996         * modules/unistr/u8-set-tests: Likewise.
7997         * modules/unistr/u8-stpcpy-tests: Likewise.
7998         * modules/unistr/u8-stpncpy-tests: Likewise.
7999         * modules/unistr/u8-strcat-tests: Likewise.
8000         * modules/unistr/u8-strcmp-tests: Likewise.
8001         * modules/unistr/u8-strcoll-tests: Likewise.
8002         * modules/unistr/u8-strcpy-tests: Likewise.
8003         * modules/unistr/u8-strdup-tests: Likewise.
8004         * modules/unistr/u8-strlen-tests: Likewise.
8005         * modules/unistr/u8-strmblen-tests: Likewise.
8006         * modules/unistr/u8-strmbtouc-tests: Likewise.
8007         * modules/unistr/u8-strncat-tests: Likewise.
8008         * modules/unistr/u8-strncmp-tests: Likewise.
8009         * modules/unistr/u8-strncpy-tests: Likewise.
8010         * modules/unistr/u8-strnlen-tests: Likewise.
8011         * modules/unistr/u8-to-u16-tests: Likewise.
8012         * modules/unistr/u8-to-u32-tests: Likewise.
8013         * modules/unistr/u8-uctomb-tests: Likewise.
8014         * modules/unistr/u16-check-tests: Likewise.
8015         * modules/unistr/u16-chr-tests: Likewise.
8016         * modules/unistr/u16-cmp-tests: Likewise.
8017         * modules/unistr/u16-cmp2-tests: Likewise.
8018         * modules/unistr/u16-cpy-alloc-tests: Likewise.
8019         * modules/unistr/u16-cpy-tests: Likewise.
8020         * modules/unistr/u16-mblen-tests: Likewise.
8021         * modules/unistr/u16-mbsnlen-tests: Likewise.
8022         * modules/unistr/u16-mbtouc-tests: Likewise.
8023         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
8024         * modules/unistr/u16-mbtoucr-tests: Likewise.
8025         * modules/unistr/u16-move-tests: Likewise.
8026         * modules/unistr/u16-next-tests: Likewise.
8027         * modules/unistr/u16-prev-tests: Likewise.
8028         * modules/unistr/u16-set-tests: Likewise.
8029         * modules/unistr/u16-stpcpy-tests: Likewise.
8030         * modules/unistr/u16-stpncpy-tests: Likewise.
8031         * modules/unistr/u16-strcat-tests: Likewise.
8032         * modules/unistr/u16-strcmp-tests: Likewise.
8033         * modules/unistr/u16-strcoll-tests: Likewise.
8034         * modules/unistr/u16-strcpy-tests: Likewise.
8035         * modules/unistr/u16-strdup-tests: Likewise.
8036         * modules/unistr/u16-strlen-tests: Likewise.
8037         * modules/unistr/u16-strmblen-tests: Likewise.
8038         * modules/unistr/u16-strmbtouc-tests: Likewise.
8039         * modules/unistr/u16-strncat-tests: Likewise.
8040         * modules/unistr/u16-strncmp-tests: Likewise.
8041         * modules/unistr/u16-strncpy-tests: Likewise.
8042         * modules/unistr/u16-strnlen-tests: Likewise.
8043         * modules/unistr/u16-to-u32-tests: Likewise.
8044         * modules/unistr/u16-to-u8-tests: Likewise.
8045         * modules/unistr/u16-uctomb-tests: Likewise.
8046         * modules/unistr/u32-check-tests: Likewise.
8047         * modules/unistr/u32-chr-tests: Likewise.
8048         * modules/unistr/u32-cmp-tests: Likewise.
8049         * modules/unistr/u32-cmp2-tests: Likewise.
8050         * modules/unistr/u32-cpy-alloc-tests: Likewise.
8051         * modules/unistr/u32-cpy-tests: Likewise.
8052         * modules/unistr/u32-mblen-tests: Likewise.
8053         * modules/unistr/u32-mbsnlen-tests: Likewise.
8054         * modules/unistr/u32-mbtouc-tests: Likewise.
8055         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
8056         * modules/unistr/u32-mbtoucr-tests: Likewise.
8057         * modules/unistr/u32-move-tests: Likewise.
8058         * modules/unistr/u32-next-tests: Likewise.
8059         * modules/unistr/u32-prev-tests: Likewise.
8060         * modules/unistr/u32-set-tests: Likewise.
8061         * modules/unistr/u32-stpcpy-tests: Likewise.
8062         * modules/unistr/u32-stpncpy-tests: Likewise.
8063         * modules/unistr/u32-strcat-tests: Likewise.
8064         * modules/unistr/u32-strcmp-tests: Likewise.
8065         * modules/unistr/u32-strcoll-tests: Likewise.
8066         * modules/unistr/u32-strcpy-tests: Likewise.
8067         * modules/unistr/u32-strdup-tests: Likewise.
8068         * modules/unistr/u32-strlen-tests: Likewise.
8069         * modules/unistr/u32-strmblen-tests: Likewise.
8070         * modules/unistr/u32-strmbtouc-tests: Likewise.
8071         * modules/unistr/u32-strncat-tests: Likewise.
8072         * modules/unistr/u32-strncmp-tests: Likewise.
8073         * modules/unistr/u32-strncpy-tests: Likewise.
8074         * modules/unistr/u32-strnlen-tests: Likewise.
8075         * modules/unistr/u32-to-u16-tests: Likewise.
8076         * modules/unistr/u32-to-u8-tests: Likewise.
8077         * modules/unistr/u32-uctomb-tests: Likewise.
8078         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
8079         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
8080         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
8081         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
8082         * modules/uniwidth/u8-strwidth-tests: Likewise.
8083         * modules/uniwidth/u8-width-tests: Likewise.
8084         * modules/uniwidth/u16-strwidth-tests: Likewise.
8085         * modules/uniwidth/u16-width-tests: Likewise.
8086         * modules/uniwidth/u32-strwidth-tests: Likewise.
8087         * modules/uniwidth/u32-width-tests: Likewise.
8088         * modules/uniwidth/width-tests: Likewise.
8089
8090 2010-05-18  Richard Jones  <rjones@redhat.com>
8091
8092         doc: users.txt: list hivex
8093         * users.txt: Add hivex.
8094
8095 2010-05-18  Richard Jones  <rjones@redhat.com>
8096
8097         doc: users.txt: list febootstrap
8098         * users.txt: Add febootstrap.
8099
8100 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
8101
8102         bootstrap: fix an error when gnulib is not used as a git submodule
8103         * build-aux/bootstrap (gnulib_path): If its length is zero then
8104         assign "gnulib" to it.
8105         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
8106
8107 2010-05-16  Bruno Haible  <bruno@clisp.org>
8108
8109         Avoid autoconf warnings about AM_ICONV.
8110         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
8111         2.64.
8112
8113 2010-05-16  Bruno Haible  <bruno@clisp.org>
8114
8115         absolute-header: Make the macro usable in more situations.
8116         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
8117         from gl_ABSOLUTE_HEADER.
8118         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
8119
8120 2010-05-16  James Youngman  <jay@gnu.org>
8121
8122         doc: update users.txt
8123         * users.txt: Add CSSC.
8124
8125 2010-05-16  Jim Meyering  <meyering@redhat.com>
8126
8127         init.sh: fix an error in the previous change; add more comments
8128         * tests/init.sh: Compare exit code in loop against 9, not 2.
8129         Patch by Bruno Haible.
8130         Make the two tests more similar by adding an empty "then" clause.
8131         Add comments.
8132
8133         init.sh: avoid unnecessary shell re-exec
8134         * tests/init.sh: Improve the re-exec-required check to first test the
8135         current shell.  If it passes the test, do not search for a shell that
8136         does pass, and do not re-exec.  This test is particularly contorted to
8137         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
8138         of $(...) evokes a syntax error and causes immediate shell exit with
8139         status 2.  Bruno Haible reported that the re-exec made it impossible
8140         to single-step through any init.sh-using script.
8141
8142 2010-05-16  Bruno Haible  <bruno@clisp.org>
8143
8144         Fix collision between gnulib's and libintl's printf replacements.
8145         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
8146         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
8147         (printf): When using GNU C, map the __printf__ function to rpl_printf
8148         via __asm__. When not using GNU C, define rpl_printf instead of
8149         __printf__.
8150         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
8151         commit.
8152         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
8153         commit.
8154         * m4/asm-underscore.m4: New file.
8155         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
8156         * modules/stdio (Files): Add m4/asm-underscore.m4.
8157         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
8158         Reported by Ben Pfaff.
8159
8160 2010-05-16  Bruno Haible  <bruno@clisp.org>
8161
8162         verify: Avoid skipping the test on openSUSE 11.0.
8163         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
8164
8165 2010-05-13  Bruno Haible  <bruno@clisp.org>
8166
8167         Avoid useless warnings from G++.
8168         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
8169         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
8170         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8171
8172 2010-05-11  Jim Meyering  <meyering@redhat.com>
8173
8174         maint.mk: tweak preceding change
8175         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
8176         regexps tighter by anchoring at EOL, and make the new group "shy"
8177         for slightly decreased overhead.
8178
8179 2010-05-11  Eric Blake  <eblake@redhat.com>
8180
8181         maint.mk: gnulib doesn't guarantee NSIG
8182         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
8183
8184 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
8185
8186         test-pwrite.c: Remove unused variable declaration.
8187         * tests/test-pwrite.c (main): Remove read_buf declaration.
8188
8189         Remove useless test-pwrite.sh file.
8190         * tests/test-pwrite.sh: Delete file.
8191         * modules/pwrite-tests: Remove references.
8192         Reported by Bruno Haible.
8193
8194 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
8195
8196         init.sh: fix a typo
8197         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
8198
8199 2010-05-10  Jim Meyering  <meyering@redhat.com>
8200
8201         maint.mk: avoid using a temporary file in the always-defined-macros check
8202         * top/maint.mk (.re-defmac): Remove rule.
8203         (gl_trap_): Remove definition.
8204         (sc_prohibit_always-defined_macros): Rewrite not to create and
8205         depend on a temporary file.  Instead, depend on GNU grep's ability
8206         to read a list of regular expressions from stdin when given "-f -".
8207
8208 2010-05-09  Bruno Haible  <bruno@clisp.org>
8209
8210         Update to GNU gettext 0.18, part 1.
8211         * m4/gettext.m4: Update to GNU gettext 0.18.
8212         * m4/intl.m4: Likewise.
8213         * m4/po.m4: Likewise.
8214         * modules/gettext (Files): Add m4/fcntl-o.m4.
8215         (configure.ac): Require gettext infrastructure from version 0.18.
8216
8217 2010-05-09  Jim Meyering  <meyering@redhat.com>
8218
8219         init.sh: enable MALLOC_PERTURB_
8220         * tests/init.sh: Enable glibc's malloc-perturbing option.
8221
8222         maint.mk: improve sc_cross_check_PATH_usage_in_tests
8223         With my recent change in init.sh from the two-line form:
8224             -#   : ${srcdir=.}
8225             -#   . "$srcdir/init.sh"; path_prepend_ .
8226             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
8227         I noticed that using the one-line form would cause this test
8228         to fail with a false-positive, or to stop working altogether,
8229         depending on whether help-version changed or all the tests did.
8230         * top/maint.mk (_hv_regex): Remove this definition.
8231         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
8232         (_hv_regex_strong): Use a stronger regex to check for conformance.
8233         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
8234         Give a separate diagnostic for lack of conforming use.
8235
8236         maint.mk: prohibit definition of symbols defined by gnulib
8237         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
8238         definition of symbols defined by gnulib.
8239
8240 2010-05-09  Bruno Haible  <bruno@clisp.org>
8241
8242         acl: Avoid test failure on Cygwin-hosted mingw.
8243         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
8244
8245 2010-05-09  Bruno Haible  <bruno@clisp.org>
8246
8247         error: Use system's fcntl function.
8248         * lib/error.c (fcntl): Undefine.
8249
8250 2010-05-09  Jim Meyering  <meyering@redhat.com>
8251
8252         verify: adjust formatting to be more consistent
8253         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
8254         argument-list '('s, and after one comma.
8255
8256 2010-05-09  Bruno Haible  <bruno@clisp.org>
8257
8258         error: More reliable output on mingw.
8259         * lib/error.c: Include <windows.h>.
8260         (is_open): New function.
8261         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
8262         defined.
8263
8264 2010-05-09  Bruno Haible  <bruno@clisp.org>
8265
8266         vasnprintf: Fix syntax errors in libintl build on mingw.
8267         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
8268         pad_ourselves and prec_ourselves after use.
8269
8270 2010-05-08  Bruno Haible  <bruno@clisp.org>
8271
8272         * lib/config.charset: Update comments for Cygwin 1.7.
8273         * lib/localcharset.c: Likewise.
8274
8275 2010-05-07  Jim Meyering  <meyering@redhat.com>
8276
8277         init.sh: improve comments
8278         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
8279         . "${srcdir=.}/init.sh"; path_prepend_ .
8280         Add a note about path_prepend_ and the alternative of using
8281         TESTS_ENVIRONMENT.
8282
8283 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
8284
8285         exclude: Unescape hashed patterns in wildcard mode.
8286         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
8287         to the hash list.
8288         * tests/test-exclude8.sh: New test case.
8289         * modules/exclude-tests: Add new test.
8290
8291 2010-05-05  Eric Blake  <eblake@redhat.com>
8292
8293         verify: automate tests
8294         * modules/verify-tests: New module.
8295         * tests/test-verify.sh: New file.
8296         * tests/test-verify.c: Guard each negative test with a unique id.
8297         Also avoid warning about unused left hand of comma expressions.
8298
8299 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         Further improvements to verify.h, suggested by Eric Blake.
8302         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
8303         the GL_* versions, to avoid collision with OpenGL.
8304         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
8305         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
8306         than testing merely whether it's defined.
8307
8308         Modify verify.h to pacify gcc -Wredundant_decls.
8309         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
8310         These use the prefix "GL_" since they're likely to be useful elsewhere.
8311         We may need to break them out into a different .h file.
8312         (__COUNTER__): Define to 0 if the compiler doesn't support it.
8313         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
8314         of verify_function__.
8315
8316 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
8317
8318         Tests for module pwrite.
8319         * modules/pwrite-tests: New file.
8320         * tests/test-pwrite.sh: New file.
8321         * tests/test-pwrite.c: New file.
8322
8323         New module pwrite.
8324         * lib/unistd.in.h (pwrite): New declaration.
8325         * lib/pwrite.c: New file, from glibc with modifications.
8326         * m4/pwrite.m4: New file.
8327         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
8328         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
8329         REPLACE_PWRITE.
8330         * modules/pwrite: New file.
8331         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
8332         REPLACE_PWRITE.
8333         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
8334         * doc/posix-functions/pwrite.texi: Mention the new module.
8335
8336 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
8337
8338         pread: Update documentation.
8339         * doc/posix-functions/pread.texi: Mention the 'pread' module.
8340
8341 2010-05-04  Eric Blake  <eblake@redhat.com>
8342
8343         docs: update cygwin progress
8344         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
8345         this bug.
8346         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
8347         Added in cygwin 1.7.2.
8348         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
8349         Likewise.
8350         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
8351         Likewise.
8352         * doc/glibc-functions/dup3.texi (dup3): Likewise.
8353         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8354         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8355         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
8356         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
8357         Mention nproc module.
8358         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
8359         bug in cygwin 1.7.5 addition.
8360         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
8361         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
8362         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
8363         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
8364         1.7.5.
8365         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
8366         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
8367         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
8368         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
8369         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
8370         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
8371         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
8372         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
8373         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
8374         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
8375         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
8376         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
8377         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
8378         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
8379         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
8380         Likewise.
8381         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
8382         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
8383         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
8384         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
8385         Likewise.
8386         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
8387         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
8388         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
8389         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
8390         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
8391         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
8392         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
8393         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
8394         Likewise.
8395         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
8396         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
8397         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
8398         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
8399         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
8400         Likewise.
8401         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
8402         Likewise.
8403         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
8404         Likewise.
8405         * doc/glibc-functions/xdrrec_endofrecord.texi
8406         (xdrrec_endofrecord): Likewise.
8407         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
8408         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
8409         Likewise.
8410         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
8411         Likewise.
8412
8413 2010-05-04  Jim Meyering  <meyering@redhat.com>
8414
8415         gendocs.sh: make its "-s FILE" option more useful
8416         * build-aux/gendocs.sh: When honoring the -s FILE option, update
8417         $PACKAGE to reflect the probably-different basename of "FILE".
8418
8419 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
8420
8421         bootstrap: don't ignore download_po_files failure
8422         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
8423         failure.
8424
8425 2010-05-03  Jim Meyering  <meyering@redhat.com>
8426
8427         maint.mk: allow to pass options to gendocs.sh
8428         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
8429         (gendocs_options_): New overridable variable.
8430
8431         gnu-web-doc-update: don't ignore configure or build failure
8432         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
8433
8434         announce-gen: backslash-escape '@'s in --help output
8435         * build-aux/announce-gen: Fix syntax errors.
8436
8437         maint.mk, announce-gen: allow project-specific announcement mail headers
8438         * top/maint.mk (translation_project_): Define default.
8439         (announcement_Cc_, announcement_mail_headers_): Likewise.
8440         (announcement): Invoke announce-gen with new --mail-headers option.
8441         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
8442
8443         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
8444         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
8445         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
8446         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
8447         line in the "err2" output file when running "make check" in verbose
8448         mode (i.e., with set -x enabled).
8449
8450 2010-05-03  Bruno Haible  <bruno@clisp.org>
8451
8452         wctob: Fix for weird platforms.
8453         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
8454         argument value.
8455
8456 2010-05-03  Jim Meyering  <meyering@redhat.com>
8457
8458         maint.mk: prohibit unwarranted use of <strings.h>
8459         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
8460         strings.h in a file that does not also use strcasecmp, strncasecmp,
8461         ffs or ffsll.
8462
8463         maint.mk: remove obsolete comments
8464         * top/maint.mk: Remove stale, commented-out rules.
8465
8466 2010-05-02  Bruno Haible  <bruno@clisp.org>
8467
8468         wcwidth: Declare also when it's aliased.
8469         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
8470         macro.
8471
8472 2010-05-02  Bruno Haible  <bruno@clisp.org>
8473
8474         Fix regression from 2010-04-25.
8475         * gnulib-tool (func_modules_transitive_closure): Check the status of
8476         all modules, not only of the tests that are of the form foo-tests where
8477         foo is a module.
8478
8479 2010-05-02  Bruno Haible  <bruno@clisp.org>
8480
8481         wctob: Work around nasty Cygwin 1.7.2 bug.
8482         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
8483         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
8484
8485 2010-05-01  Bruno Haible  <bruno@clisp.org>
8486
8487         fpurge: Sharper test.
8488         * tests/test-fpurge.c (main): Add one more ftell check.
8489         * modules/fpurge-tests (Depends-on): Add ftell.
8490         Suggested by Eric Blake.
8491
8492 2010-05-01  Bruno Haible  <bruno@clisp.org>
8493
8494         ftello: Another test.
8495         * tests/test-ftello3.c: New file.
8496         * modules/ftello-tests (Files): Add it.
8497         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
8498         MOSTLYCLEANFILES.
8499
8500         ftell: Another test.
8501         * tests/test-ftell3.c: New file.
8502         * modules/ftell-tests (Files): Add it.
8503         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
8504         MOSTLYCLEANFILES.
8505
8506 2010-05-01  Bruno Haible  <bruno@clisp.org>
8507
8508         ftell, ftello: Work around Solaris bug.
8509         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
8510         * lib/ftello.c: Include stdio-impl.h.
8511         (ftello): On Solaris, when _IOWRT is set, compute the result without
8512         looking at _IOREAD.
8513         * modules/ftello (Files): Add lib/stdio-impl.h.
8514         * doc/posix-functions/ftell.texi: Mention Solaris bug.
8515         * doc/posix-functions/ftello.texi: Likewise.
8516         Reported by Eric Blake.
8517
8518 2010-05-01  Bruno Haible  <bruno@clisp.org>
8519
8520         freading: Adapt to special meaning of _IOREAD flag on Solaris.
8521         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
8522         the _IOWRT flag is also set.
8523
8524 2010-05-01  Bruno Haible  <bruno@clisp.org>
8525
8526         Fix doc about a HP-UX stdio bug.
8527         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
8528         * doc/posix-functions/ftello.texi: Likewise.
8529
8530 2010-05-01  Bruno Haible  <bruno@clisp.org>
8531
8532         lseek test: Fix failure on Solaris.
8533         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
8534         output.
8535
8536 2010-04-30  Jim Meyering  <meyering@redhat.com>
8537
8538         bootstrap: don't ignore failure to generate po*/Makevars
8539         * build-aux/bootstrap (with_gettext): Don't ignore failure
8540         to create po/Makevars or runtime-po/Makevars.
8541
8542 2010-04-29  Eric Blake  <eblake@redhat.com>
8543
8544         headers: relax license to LGPLv2+
8545         * modules/fcntl-h (License): Relax license.
8546         * modules/getopt-posix (License): Likewise.
8547         * modules/locale (License): Likewise.
8548         * modules/math (License): Likewise.
8549         * modules/pty (License): Likewise.
8550         * modules/sched (License): Likewise.
8551         * modules/search (License): Likewise.
8552         * modules/spawn (License): Likewise.
8553         * modules/stdarg (License): Likewise.
8554         * modules/sysexits (License): Likewise.
8555
8556 2010-04-29  Jim Meyering  <meyering@redhat.com>
8557
8558         inttypes: relax license to LGPLv2+
8559         * modules/inttypes (License): Relax license.
8560
8561 2010-04-29  Simon Josefsson  <simon@josefsson.org>
8562
8563         * top/maint.mk (indent): Run twice to produce idempotent results.
8564
8565 2010-04-28  Bruno Haible  <bruno@clisp.org>
8566
8567         getdate: Generate getdate.c in the source directory.
8568         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
8569         MOSTLYCLEANFILES.
8570         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
8571
8572 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
8573
8574         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
8575         is not declared as a const *; avoid warnings in that case.
8576
8577 2010-04-28  Eric Blake  <eblake@redhat.com>
8578
8579         canonicalize-lgpl: avoid compiler warning
8580         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
8581         declaration' / 'extraneous semicolon' warning with some compilers.
8582         Reported by Andreas Gruenbacher.
8583
8584 2010-04-28  Jim Meyering  <meyering@redhat.com>
8585
8586         init.sh: ensure a more reliable exit status when exiting via trap
8587         * tests/init.sh (setup_): Don't rely on $? in signal handler.
8588         Inspired by patches from Dmitry V. Levin.
8589         Also trap on signal 3 (SIGQUIT).
8590
8591 2010-04-27  Bruno Haible  <bruno@clisp.org>
8592
8593         Update doc about utimes().
8594         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
8595         'utimens' module.
8596         Reported by Andreas Gruenbacher <agruen@suse.de>.
8597
8598 2010-04-27  Eric Blake  <eblake@redhat.com>
8599
8600         full-read, full-write: relax license
8601         * modules/full-read (License): Drop to LGPLv2+.
8602         * modules/full-write (License): Likewise.
8603         * modules/safe-read (License): Likewise.
8604         * modules/safe-write (License): Likewise.
8605
8606         pthread: mention library for linking
8607         * modules/pthread (Link): Mention $(LIB_PTHREAD).
8608
8609 2010-04-27  Jim Meyering  <meyering@redhat.com>
8610
8611         maint.mk: fix a bug introduced in last change
8612         * top/maint.mk (gl_assured_headers_): Now that all names are on
8613         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
8614         is not anchored to end of word, it should be adequate.
8615
8616         maint.mk: avoid side-effect in latest syntax-check
8617         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
8618         to run commands via $(shell...), and hence to incur cost only when
8619         the new rule is actually run.
8620
8621         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
8622         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
8623         and use that to create a regexp used to detect all #if HAVE_..._H uses.
8624         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
8625         (gl_assured_headers_, az_, AZ_): Define.
8626         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
8627
8628 2010-04-26  Jim Meyering  <jim@meyering.net>
8629             Bruno Haible  <bruno@clisp.org>
8630
8631         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
8632         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
8633         Prompted by an exchange with Gilles Espinasse.
8634
8635 2010-04-26  Jim Meyering  <meyering@redhat.com>
8636
8637         git-version-gen: aesthetic tweak
8638         * build-aux/git-version-gen: Use "$nl" rather than a literal,
8639         so that the command remains on a single line.
8640
8641 2010-04-26  Eric Blake  <eblake@redhat.com>
8642
8643         git-version-gen: allow use on EBCDIC hosts
8644         * build-aux/git-version-gen (dirty): Use literal rather than tying
8645         ourselves to ascii.
8646         Reported by Steve Goetze.
8647
8648 2010-04-25  Bruno Haible  <bruno@clisp.org>
8649
8650         netdb: Add support for GNULIB_POSIXCHECK.
8651         * lib/netdb.in.h: Include warn-on-use.h.
8652         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
8653         functions are used when GNULIB_POSIXCHECK is defined and the
8654         getaddrinfo module is not in use.
8655         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
8656         freeaddrinfo, gai_strerror, getnameinfo are declared.
8657         * modules/netdb (Depends-on): Add warn-on-use.
8658         (Makefile.am): Include warn-on-use.h in netdb.h.
8659
8660 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
8661
8662         build: avoid "make check" failure without .git/ directory
8663         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
8664         there is no .git/ directory.
8665
8666 2010-04-25  Bruno Haible  <bruno@clisp.org>
8667
8668         ptsname: Fix misuse of ttyname_r.
8669         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
8670         of errno.
8671
8672 2010-04-25  Bruno Haible  <bruno@clisp.org>
8673
8674         ttyname_r: Make it work on Solaris 10.
8675         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
8676         if the system function has the POSIX declaration. Test whether the
8677         function fails if the buffer is less than 128 bytes large.
8678         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
8679         system's ttyname_r function. Provide a reasonably large buffer.
8680         * modules/ttyname_r (Depends-on): Add extensions.
8681         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
8682
8683 2010-04-25  Bruno Haible  <bruno@clisp.org>
8684
8685         Use the 'extensions' module for some more functions on Solaris.
8686         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
8687         module.
8688         * doc/posix-functions/ctime_r.texi: Likewise.
8689         * doc/posix-functions/getgrgid_r.texi: Likewise.
8690         * doc/posix-functions/getgrnam_r.texi: Likewise.
8691         * doc/posix-functions/getpwnam_r.texi: Likewise.
8692         * doc/posix-functions/getpwuid_r.texi: Likewise.
8693         * doc/posix-functions/readdir_r.texi: Likewise.
8694         * doc/posix-functions/sigwait.texi: Likewise.
8695         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
8696         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
8697
8698 2010-04-25  Bruno Haible  <bruno@clisp.org>
8699
8700         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
8701         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
8702         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
8703         * lib/ttyname_r.c: Include <limits.h>.
8704         (ttyname_r): Define using the system's ttyname_r function, if it exists
8705         and not on Solaris.
8706         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
8707         set.
8708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
8709         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
8710         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
8711         Reported by Simon Josefsson.
8712
8713 2010-04-25  Bruno Haible  <bruno@clisp.org>
8714
8715         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
8716         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
8717         * doc/posix-functions/ctime_r.texi: Likewise.
8718         * doc/posix-functions/getgrgid_r.texi: Likewise.
8719         * doc/posix-functions/getgrnam_r.texi: Likewise.
8720         * doc/posix-functions/getlogin_r.texi: Likewise.
8721         * doc/posix-functions/getpwnam_r.texi: Likewise.
8722         * doc/posix-functions/getpwuid_r.texi: Likewise.
8723         * doc/posix-functions/readdir_r.texi: Likewise.
8724         * doc/posix-functions/sigwait.texi: Likewise.
8725         * doc/posix-functions/ttyname_r.texi: Likewise.
8726         Reported by Simon Josefsson.
8727
8728 2010-04-25  Bruno Haible  <bruno@clisp.org>
8729
8730         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
8731         * gnulib-tool (func_usage): Document that --with-*-tests options apply
8732         also to --create-testdir.
8733         (func_acceptable): Don't consider the status of *-tests modules here.
8734         (func_modules_transitive_closure): Consider it here, before including a
8735         test module.
8736         (func_import, func_create_testdir): Set inc_all_direct_tests,
8737         inc_all_indirect_tests.
8738         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
8739         --create-testdir and --create-megatestdir.
8740
8741 2010-04-25  Bruno Haible  <bruno@clisp.org>
8742
8743         gnulib-tool: Add --without-*-tests options.
8744         * gnulib-tool (func_usage): Document the --without-*-tests options.
8745         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
8746         excl_unportable_tests): New variables.
8747         Fail if they are specified with --import or --update.
8748         (func_acceptable): Respect the excl_*_tests variables.
8749         (func_import): Set the excl_*_tests variables to empty.
8750
8751 2010-04-25  Simon Josefsson  <simon@josefsson.org>
8752             Bruno Haible  <bruno@clisp.org>
8753
8754         Work around a MacOS X 10.4 bug with openpty.
8755         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
8756         * tests/test-openpty.c (main): Close the master side explicitly.
8757
8758 2010-04-25  Bruno Haible  <bruno@clisp.org>
8759
8760         strnlen: Fix a C++ test error on MacOS X and Solaris.
8761         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
8762         the function is not declared.
8763         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
8764         Simon Josefsson.
8765
8766 2010-04-24  Bruno Haible  <bruno@clisp.org>
8767
8768         Avoid a gcc warning.
8769         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
8770         of correct type for %08lx directive.
8771         Reported by Eric Blake.
8772
8773 2010-04-24  Bruno Haible  <bruno@clisp.org>
8774
8775         vasnprintf: Correct errno value in case of out-of-memory.
8776         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
8777         or sprintf. Use the errno value from SNPRINTF or sprintf.
8778         Reported by Ian Beckwith <ianb@erislabs.net>.
8779
8780 2010-04-24  Bruno Haible  <bruno@clisp.org>
8781
8782         ansi-c++-opt: Find correct compiler when cross-compiling.
8783         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
8784         AC_CHECK_PROGS.
8785         Reported by Simon Josefsson.
8786
8787 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
8788
8789         vc-list-files: Add support for subversion
8790         * build-aux/vc-list-files: Use "svn list" to generate the list of
8791         files controlled by subversion.
8792
8793 2010-04-23  Jim Meyering  <meyering@redhat.com>
8794
8795         vc-list-files tests: convert to use init.sh
8796         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
8797         path_prepend_.
8798         Use Exit, not exit.
8799         Use skip_ rather than open coding it.
8800         Remove trap set-up and compare definitions.
8801         * tests/test-vc-list-files-git.sh: Likewise.
8802         * modules/vc-list-files-tests (Files): Add tests/init.sh.
8803
8804 2010-04-22  Simon Josefsson  <simon@josefsson.org>
8805
8806         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
8807         backup files.
8808
8809 2010-04-21  Simon Josefsson  <simon@josefsson.org>
8810
8811         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
8812
8813 2010-04-20  Eric Blake  <eblake@redhat.com>
8814
8815         tests: be robust to ignored SIGPIPE
8816         * tests/test-select-in.sh: Consume all output.
8817         * tests/test-lseek.sh: Check correct exit status, while avoiding
8818         EPIPE.
8819
8820 2010-04-20  Simon Josefsson  <simon@josefsson.org>
8821             Bruno Haible  <bruno@clisp.org>
8822
8823         visibility: Don't use -fvisibility if it leads to a warning.
8824         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
8825         yes, don't pretend that visibility works if it leads to a warning.
8826         Reported by Mike Gran <spk121@yahoo.com>.
8827
8828 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
8829
8830         * build-aux/bootstrap: Use "git -h" for testing for supported options
8831         instead of "git --help".  The short-form option only shows a summary,
8832         and doesn't layout the full man page.  Grep for the full option name
8833         in the summary, too.
8834
8835 2010-04-19  Bruno Haible  <bruno@clisp.org>
8836
8837         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
8838         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
8839         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
8840         mention of RELOCATABLE_STRIP.
8841         Reported by Sylvain Beucler <beuc@beuc.net>.
8842
8843 2010-04-19  Bruno Haible  <bruno@clisp.org>
8844
8845         * lib/diffseq.h: Fix typo in comment.
8846         Reported by Eric Blake.
8847
8848 2010-04-19  Bruno Haible  <bruno@clisp.org>
8849
8850         ioctl: Move autoconf macro to a .m4 file.
8851         * m4/ioctl.m4: New file, extracted from modules/ioctl.
8852         * modules/ioctl (Files): Add it.
8853         (configure.ac): Simply invoke gl_FUNC_IOCTL.
8854         Reported by Ian Beckwith <ianb@erislabs.net>.
8855
8856 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
8857             Bruno Haible  <bruno@clisp.org>
8858
8859         diffseq: Accommodate use-case with abstract arrays.
8860         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
8861         is not defined.
8862         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
8863         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
8864
8865 2010-04-18  Bruno Haible  <bruno@clisp.org>
8866
8867         * doc/posix-headers/stdbool.texi: More precise wording.
8868
8869 2010-04-17  Jim Meyering  <meyering@redhat.com>
8870
8871         maint.mk: use gnu-style indentation in an embedded perl script
8872         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
8873         Rename variable: s/two/last_two_bytes/
8874
8875 2010-04-16  Eric Blake  <eblake@redhat.com>
8876
8877         test-stdbool: skip test that fails with Solaris CC
8878         * tests/test-stdbool.c (f): Skip test that causes compilation
8879         error under buggy C++ compiler.
8880         * lib/stdbool.in.h: Document the limitation.
8881         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
8882
8883         setenv: allow compilation with C++
8884         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
8885         register keyword.
8886
8887         stdint: allow test to pass with C++
8888         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
8889
8890         getopt: allow compilation with C++
8891         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
8892         struct.
8893         * lib/getopt.c (_getopt_internal_r): Use correct type.
8894         Reported by Dagobert Michelson, via Joel E. Denny.
8895
8896 2010-04-16  Bruno Haible  <bruno@clisp.org>
8897
8898         Override netdb.h always.
8899         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
8900         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
8901         Reported by Ludovic Courtès <ludo@gnu.org>.
8902
8903 2010-04-15  Bruno Haible  <bruno@clisp.org>
8904
8905         openpty: Fix mistake from 2010-03-21.
8906         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
8907         Reported by Simon Josefsson.
8908
8909 2010-04-15  Eric Blake  <eblake@redhat.com>
8910
8911         test-forkpty: fix expected signature
8912         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
8913         Reported by Simon Josefsson.
8914
8915 2010-04-15  Jim Meyering  <meyering@redhat.com>
8916
8917         maint.mk: texinfo_suffix_re_: correct the default regexp
8918         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
8919
8920         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
8921         make it configurable via texinfo_suffix_re_.
8922
8923 2010-04-14  Eric Blake  <eblake@redhat.com>
8924
8925         strtok_r: relax license to LGPLv2+
8926         * modules/strtok_r (License): Relax license.
8927         Reported by Matthias Bolte.
8928
8929 2010-04-14  Simon Josefsson  <simon@josefsson.org>
8930
8931         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
8932         version 1.4.4 by default instead of requiring the libgcrypt
8933         version used during build.  This makes it possible to use the
8934         application with older but still binary compatible libgcrypt
8935         versions.
8936
8937 2010-04-13  Eric Blake  <eblake@redhat.com>
8938
8939         getopt-gnu: match recent glibc fixes and posix ruling
8940         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
8941         '+' handling, when requesting extensions.
8942         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
8943         'W;' handling.
8944         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
8945         * doc/posix-functions/getopt.texi (getopt): Document this.
8946         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8947         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8948         Likewise.
8949
8950         getopt: merge bug fixes from glibc
8951         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
8952         diagnostics.  Honor '+:' correctly.  Reject ';'.
8953
8954         getopt-posix: detect MacOS bug
8955         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
8956         optind when missing a required argument.
8957         * doc/posix-functions/getopt.texi (getopt): Document the bug.
8958         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8959         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8960         Likewise.
8961
8962         getopt-posix: avoid spurious failure on Solaris
8963         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
8964         an indicator that setting optind=1 is sufficient for reset.
8965
8966         getopt-posix: avoid spurious failure on FreeBSD
8967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
8968         in POSIX mode, since the m4 test uses it.
8969
8970         gnulib-tool: silence warning on BSD sh
8971         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
8972
8973 2010-04-13  Jim Meyering  <meyering@redhat.com>
8974
8975         doc: users.txt: GNU patch now uses gnulib
8976         * users.txt: Add patch.
8977
8978 2010-04-12  Jim Meyering  <meyering@redhat.com>
8979
8980         maint.mk: generate more concise timing data for syntax-check rules
8981         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
8982         " done" from each line that reports a syntax-check test duration.
8983
8984 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
8985
8986         git-version-gen: use "git update-index..." rather than "git status"
8987         * build-aux/git-version-gen: Use git update-index --refresh, not
8988         "git status".  With some versions of git, "git status" would fail
8989         to update the index and result in an unwarranted "-dirty" suffix.
8990
8991 2010-04-11  Jim Meyering  <meyering@redhat.com>
8992
8993         openat: correct formatting (no semantic change)
8994         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
8995         Suggested by Bruno Haible.
8996
8997 2010-04-11  Bruno Haible  <bruno@clisp.org>
8998
8999         Stricter declaration checking in testdirs.
9000         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9001         If for_tests is true, augment AM_CPPFLAGS to define
9002         GNULIB_STRICT_CHECKING.
9003         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
9004         GNULIB_STRICT_CHECKING is defined, verify that the function is
9005         declared.
9006
9007 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
9008             Bruno Haible  <bruno@clisp.org>
9009
9010         libunistring: Improve configure output.
9011         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
9012         Don't say "consider installing GNU libunistring" when checking again
9013         with libiconv.
9014
9015 2010-04-11  Bruno Haible  <bruno@clisp.org>
9016
9017         libunistring: Correct value of $LTLIBUNISTRING.
9018         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
9019         correct the value of $LTLIBUNISTRING.
9020
9021 2010-04-11  Bruno Haible  <bruno@clisp.org>
9022
9023         havelib: Add static libraries to LIBS in the right order.
9024         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
9025         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
9026
9027 2010-04-11  Bruno Haible  <bruno@clisp.org>
9028
9029         libunistring: Detect libunistring also when it depends on libiconv.
9030         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
9031         the second AC_LIB_HAVE_LINKFLAGS invocation.
9032
9033 2010-04-11  James Youngman  <jay@gnu.org>
9034
9035         close-stream: declare local scalars to be "const"
9036         * lib/close-stream.c (close_stream): Make boolean variables const
9037         to document the fact that we set but do not change them.
9038
9039 2010-04-11  Bruno Haible  <bruno@clisp.org>
9040
9041         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
9042
9043 2010-04-11  Jim Meyering  <meyering@redhat.com>
9044
9045         maint.mk: don't include dist-check.mk
9046         * top/maint.mk: Remove bogus include directive.
9047
9048         maint.mk: improve empty-line-at-EOF check
9049         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
9050         solution, rather than tail+Perl-based one.  The latter would read
9051         a few kilobytes from the end of each file, and did not handle empty
9052         files properly.
9053
9054         maint.mk: print the elapsed time for each syntax-check rule
9055         * top/maint.mk (sc_m_rules_): Save start time in a file.
9056         (sc_z_rules_): New rules: remove temp file and print elapsed time.
9057         (local-check): Interpose the .z rules
9058
9059 2010-04-11  Jim Meyering  <meyering@redhat.com>
9060
9061         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
9062         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
9063         empty file with one that ends in an empty line.
9064
9065 2010-04-10  Bruno Haible  <bruno@clisp.org>
9066
9067         mkdir: Make it work on mingw64.
9068         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
9069         * lib/mkdir.c: Update comment.
9070         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
9071
9072 2010-04-10  Bruno Haible  <bruno@clisp.org>
9073
9074         Don't override improved macro from newer autoconf.
9075         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
9076         autoconf >= 2.62.
9077         Reported by Joel E. Denny <jdenny@clemson.edu>.
9078
9079 2010-04-10  Jim Meyering  <meyering@redhat.com>
9080
9081         maint.mk: new syntax-check rule: prohibit empty lines at end of file
9082         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
9083
9084         maint.mk: correct a diagnostic
9085         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
9086         in diagnostic; now use $prohibit.
9087
9088 2010-04-10  Bruno Haible  <address@hidden>
9089
9090         fchownat: Fix a C++ test error on Solaris 8.
9091         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
9092         the function does not exist.
9093
9094 2010-04-10  Bruno Haible  <bruno@clisp.org>
9095
9096         vasnprintf: Add more tests.
9097         * tests/test-vasnprintf-posix.c: Include <errno.h>.
9098         (test_function): Test converting an invalid wide string.
9099
9100         vasnprintf: Correct handling of unconvertible wide string arguments.
9101         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
9102         VASNPRINTF.
9103         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
9104         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
9105         smaller than the expected maximum need for the directive. Set errno to
9106         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
9107         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
9108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
9109         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
9110         * modules/vasnprintf (Files): Add m4/printf.m4.
9111         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9112
9113 2010-04-10  Bruno Haible  <bruno@clisp.org>
9114
9115         vasnprintf: Fix crash in %ls directive.
9116         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
9117         string is passed as argument to %ls, with no precision and no width.
9118         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9119
9120 2010-04-10  Bruno Haible  <bruno@clisp.org>
9121
9122         vasnprintf: Fix multiple test failures on mingw.
9123         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
9124         _snprintf, or snwprintf, not _snwprintf.
9125
9126 2010-04-10  Bruno Haible  <bruno@clisp.org>
9127
9128         write: Fix a C++ test error on mingw.
9129         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
9130
9131 2010-04-10  Bruno Haible  <bruno@clisp.org>
9132
9133         vasnprintf test: Reduce code duplication.
9134         * tests/test-vasnprintf.c (test_function): New function, extracted from
9135         test_vasnprintf.
9136         (test_vasnprintf, test_asnprintf): Invoke it.
9137
9138 2010-04-10  Bruno Haible  <bruno@clisp.org>
9139
9140         strnlen: Fix warning in C++ mode on MacOS X.
9141         * lib/string.in.h (strnlen): Use the modern idiom.
9142         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
9143         defining strnlen as a macro already in <config.h>.
9144         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
9145         REPLACE_STRNLEN.
9146         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
9147         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9148
9149 2010-04-08  James Youngman  <jay@gnu.org>
9150
9151         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
9152         the example.
9153
9154 2010-04-09  Jim Meyering  <meyering@redhat.com>
9155
9156         maint.mk: print better diagnostic when there is no $(_hv_file)
9157         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
9158         announce that when $(_hv_file) (aka help-version) does not exist.
9159
9160         init.sh: run tr in the "C" locale to avoid multibyte interpretation
9161         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
9162         not try to interpret its random input bytes.  Jarno Rajahalme reported
9163         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
9164         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
9165         (mktempd_): Likewise, just in case.
9166
9167         ftruncate: add two years to projected module removal date: 2012
9168         * m4/ftruncate.m4: Adjust comments.
9169
9170         ftruncate: mark module as obsolete; even MinGW provides it, now
9171         * modules/ftruncate (Status): Obsolete.
9172         (Notice): Say that.
9173         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
9174         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
9175
9176 2010-04-08  Bruno Haible  <bruno@clisp.org>
9177
9178         Fix side effects from tests-related modules.
9179         * modules/dprintf-posix (Comment): New section.
9180         * modules/fprintf-posix (Comment): Likewise.
9181         * modules/obstack-printf-posix (Comment): Likewise.
9182         * modules/printf-posix (Comment): Likewise.
9183         * modules/snprintf-posix (Comment): Likewise.
9184         * modules/sprintf-posix (Comment): Likewise.
9185         * modules/vasnprintf-posix (Comment): Likewise.
9186         * modules/vasprintf-posix (Comment): Likewise.
9187         * modules/vdprintf-posix (Comment): Likewise.
9188         * modules/vfprintf-posix (Comment): Likewise.
9189         * modules/vprintf-posix (Comment): Likewise.
9190         * modules/vsnprintf-posix (Comment): Likewise.
9191         * modules/vsprintf-posix (Comment): Likewise.
9192         * modules/xprintf-posix (Comment): Likewise.
9193         * modules/xvasprintf-posix (Comment): Likewise.
9194         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
9195         * modules/floorf-tests (Depends-on): Likewise.
9196         * modules/round-tests (Depends-on): Likewise.
9197         * modules/roundf-tests (Depends-on): Likewise.
9198         * modules/trunc-tests (Depends-on): Likewise.
9199         * modules/truncf-tests (Depends-on): Likewise.
9200         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
9201         'fprintf-posix' module is not present.
9202         * tests/test-floorf2.c (check): Likewise.
9203         * tests/test-trunc2.c (check): Likewise.
9204         * tests/test-truncf2.c (check): Likewise.
9205         * tests/test-round2.c (equal): Likewise.
9206         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9207
9208 2010-04-07  Karl Berry  <karl@gnu.org>
9209
9210         * config/srclist.txt,
9211         * config/srclistvars.sh,
9212         * config/srclist-update: doc fixes.
9213
9214 2010-04-07  Jim Meyering  <meyering@redhat.com>
9215
9216         maint.mk: add a PATH crosschecking syntax-check rule
9217         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
9218         Useful if you use a test like the one in help-version (coreutils,
9219         diffutils, grep, gzip) that ensures $(VERSION) matches what is
9220         printed by prog --version.
9221
9222 2010-04-06  Bruno Haible  <bruno@clisp.org>
9223
9224         Fix link error on mingw.
9225         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
9226         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
9227
9228 2010-04-06  Bruno Haible  <bruno@clisp.org>
9229
9230         Assume rmdir exists.
9231         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
9232
9233 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
9234
9235         doc: update users.txt
9236         * users.txt: Add gcal.
9237
9238 2010-04-06  Jim Meyering  <meyering@redhat.com>
9239
9240         init.sh: simply unset TMPDIR rather than risking env -i
9241         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
9242         although it probably works fine on all Unix-based systems, some
9243         systems (Cygwin?) cannot tolerate a totally cleared environment.
9244         Suggestion from Eric Blake.
9245
9246 2010-04-06  Jim Meyering  <meyering@redhat.com>
9247
9248         init.sh: portability fix: use env's POSIX-specified -i option not -u
9249         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
9250         than unportable env -u.  Solaris 5.11's env lacks support for -u.
9251
9252 2010-04-05  Bruno Haible  <bruno@clisp.org>
9253
9254         btowc: Work around Cygwin 1.7.2 bug.
9255         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
9256         does not map NUL to 0.
9257         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
9258
9259 2010-04-05  Bruno Haible  <bruno@clisp.org>
9260
9261         Make the multithread modules work on Cygwin 1.7.2.
9262         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
9263         imported symbols can be declared weak, so that it returns "no" on
9264         Cygwin 1.7.2.
9265
9266 2010-04-05  Bruno Haible  <bruno@clisp.org>
9267
9268         Use the module 'strncat'.
9269         * modules/unistr/u8-strncat (Depends-on): Add strncat.
9270
9271         Tests for module 'strncat'.
9272         * modules/strncat-tests: New file.
9273         * tests/test-strncat.c: New file.
9274
9275         New module 'strncat'.
9276         * lib/string.in.h (strncat): New declaration.
9277         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
9278         * m4/strncat.m4: New file, based on m4/memchr.m4.
9279         * modules/strncat: New file.
9280         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
9281         is declared.
9282         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
9283         REPLACE_STRNCAT.
9284         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
9285         REPLACE_STRNCAT.
9286         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
9287         module.
9288         * tests/test-string-c++.cc: Check signature of strncat.
9289
9290 2010-04-05  Jim Meyering  <meyering@redhat.com>
9291
9292         xstrtoumax-tests: convert to use init.sh
9293         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
9294         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
9295         Use Exit, not exit.
9296         Remove uses of $EXEEXT and "./" to run a program in the current dir.
9297
9298         xstrtoimax-tests: convert to use init.sh
9299         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
9300         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
9301         Use Exit, not exit.
9302         Remove uses of $EXEEXT and "./" to run a program in the current dir.
9303
9304 2010-04-05  Bruno Haible  <bruno@clisp.org>
9305
9306         sys_socket: Avoid #define replacements in C++ mode.
9307         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
9308         warning to the function if possible, rather than #defining the symbol
9309         to a dysfunctional alias.
9310
9311 2010-04-05  Bruno Haible  <bruno@clisp.org>
9312
9313         fseeko: Fix C++ test error on mingw.
9314         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
9315         gl_FUNC_FSEEKO.
9316         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
9317         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
9318         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
9319         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
9320
9321 2010-04-05  Bruno Haible  <bruno@clisp.org>
9322
9323         duplocale: Improve test output.
9324         * tests/test-duplocale.c (main): Print reason for skipped test.
9325
9326 2010-04-05  Bruno Haible  <bruno@clisp.org>
9327
9328         Assume rmdir exists.
9329         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
9330         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
9331
9332 2010-04-05  Bruno Haible  <bruno@clisp.org>
9333
9334         Fix link error on Solaris 8 with cc.
9335         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
9336
9337 2010-04-05  Bruno Haible  <bruno@clisp.org>
9338
9339         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
9340         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
9341
9342 2010-04-05  Bruno Haible  <bruno@clisp.org>
9343
9344         vasprintf: Update documentation.
9345         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
9346
9347 2010-04-05  Bruno Haible  <bruno@clisp.org>
9348
9349         ptsname: Improve test.
9350         * tests/test-ptsname.c (main): Also try the various master names of BSD
9351         systems.
9352
9353 2010-04-05  Bruno Haible  <bruno@clisp.org>
9354
9355         memchr: Avoid a possible C++ test error.
9356         * lib/string.in.h (memchr): Provide declaration if function is missing.
9357         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
9358         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
9359         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
9360         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
9361
9362 2010-04-05  Bruno Haible  <bruno@clisp.org>
9363
9364         strtok_r: Improve idiom.
9365         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
9366         AC_LIBOBJ is used.
9367
9368 2010-04-05  Bruno Haible  <bruno@clisp.org>
9369
9370         strdup: Improve idiom.
9371         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
9372         AC_LIBOBJ is used.
9373         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
9374         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
9375         when AC_LIBOBJ is used.
9376
9377 2010-04-05  Bruno Haible  <bruno@clisp.org>
9378
9379         mbsinit, mbrtowc, wcrtomb: Improve idioms.
9380         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
9381         don't set REPLACE_MBSINIT to 1.
9382         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
9383         don't set REPLACE_MBRTOWC to 1.
9384         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
9385         exist, don't set REPLACE_MBSRTOWCS to 1.
9386         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
9387         exist, don't set REPLACE_MBSNRTOWCS to 1.
9388         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
9389         don't set REPLACE_WCRTOMB to 1.
9390         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
9391         exist, don't set REPLACE_WCSRTOMBS to 1.
9392         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
9393         exist, don't set REPLACE_WCSNRTOMBS to 1.
9394
9395 2010-04-05  Bruno Haible  <bruno@clisp.org>
9396
9397         ldexpl: Improve idiom.
9398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
9399         make sure to set HAVE_DECL_LDEXPL to 0.
9400
9401 2010-04-05  Jim Meyering  <meyering@redhat.com>
9402
9403         xstrtol-tests: convert to use init.sh
9404         * modules/xstrtol-tests (Files): Add tests/init.sh.
9405         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
9406         Use Exit, not exit.
9407         Remove uses of $EXEEXT and "./" to run a program in the current dir.
9408
9409         atexit-tests: convert to use init.sh
9410         * modules/atexit-tests (Files): Add tests/init.sh.
9411         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
9412         Use Exit, not exit.
9413         Remove uses of $EXEEXT and "./" to run a program in the current dir.
9414
9415         init.sh: fix typo
9416         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
9417
9418         init.sh: make it easier for a test script to write to the tty, ...
9419         when using automake's parallel-tests mode.
9420         * tests/init.sh (stderr_fileno_): Define overridable variable.
9421         (warn_): New function, to use it.
9422         (fail_, skip_, framework_failure_): Use warn_.
9423
9424 2010-04-04  Bruno Haible  <bruno@clisp.org>
9425
9426         btowc: Avoid warning.
9427         * lib/btowc.c: Include <stdlib.h>.
9428         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
9429
9430 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
9431             Bruno Haible  <bruno@clisp.org>
9432
9433         wchar: Port to NetBSD 1.5.
9434         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
9435         * lib/wctype.in.h (WEOF): Likewise.
9436
9437 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
9438             Bruno Haible  <bruno@clisp.org>
9439
9440         Port extended stdio to NetBSD 1.5.
9441         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
9442         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
9443         older.
9444
9445 2010-04-04  Bruno Haible  <bruno@clisp.org>
9446
9447         string: Remove unused substitution.
9448         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
9449         HAVE_DECL_STRERROR.
9450         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
9451
9452 2010-04-04  Bruno Haible  <bruno@clisp.org>
9453
9454         strtod: Avoid a possible C++ test error.
9455         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
9456         set REPLACE_STRTOD.
9457
9458 2010-04-04  Bruno Haible  <bruno@clisp.org>
9459
9460         strerror: Update documentation.
9461         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
9462
9463 2010-04-04  Bruno Haible  <bruno@clisp.org>
9464
9465         stdio: Fix some C++ test errors on Solaris 8 with GCC.
9466         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
9467         _GL_CXXALIAS_SYS_CAST.
9468
9469 2010-04-04  Bruno Haible  <bruno@clisp.org>
9470
9471         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
9472         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
9473         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
9474         REPLACE_FREXPL to 1.
9475         * doc/posix-functions/frexpl.texi: Update documentation.
9476
9477 2010-04-04  Bruno Haible  <bruno@clisp.org>
9478
9479         math: Fix some C++ test errors on Solaris 8 and Cygwin.
9480         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
9481
9482 2010-04-04  Bruno Haible  <bruno@clisp.org>
9483
9484         Implement nanosleep for native Windows.
9485         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
9486
9487 2010-04-04  Bruno Haible  <bruno@clisp.org>
9488
9489         math: Fix some C++ test errors on Solaris 8.
9490         * lib/math.in.h (truncf, trunc): Use simpler idiom.
9491
9492 2010-04-04  Bruno Haible  <bruno@clisp.org>
9493
9494         math: Fix some C++ test errors on Cygwin.
9495         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
9496         truncl): Provide declaration if the system does not have it.
9497         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
9498         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
9499         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
9500         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
9501         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
9502         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
9503         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
9504         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
9505         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
9506         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
9507         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
9508         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
9509         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
9510         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
9511         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
9512         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
9513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
9514         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
9515         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
9516         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
9517         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
9518         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
9519
9520 2010-04-04  Bruno Haible  <bruno@clisp.org>
9521
9522         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
9523         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9524         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9525         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9526         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9527         * m4/isinf.m4 (gl_ISINF): Likewise.
9528         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9529
9530 2010-04-04  Bruno Haible  <bruno@clisp.org>
9531
9532         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
9533         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9534
9535 2010-04-04  Bruno Haible  <bruno@clisp.org>
9536
9537         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
9538         * modules/tmpfile (configure.ac): Update.
9539
9540         tmpfile: Fix C++ test error on mingw.
9541         * lib/stdio.in.h (tmpfile): New declaration.
9542         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
9543         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
9544         * modules/tmpfile (Depends-on): Add stdio.
9545         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
9546         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
9547         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
9548         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
9549         REPLACE_TMPFILE.
9550         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
9551
9552 2010-04-04  Bruno Haible  <bruno@clisp.org>
9553
9554         ioctl: Fix C++ test error on mingw.
9555         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
9556         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
9557         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
9558
9559 2010-04-03  Bruno Haible  <bruno@clisp.org>
9560
9561         wcwidth: Fix C++ test error on mingw.
9562         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
9563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
9564         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
9565
9566 2010-04-03  Bruno Haible  <bruno@clisp.org>
9567
9568         nanosleep: Fix C++ test error on mingw.
9569         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
9570         * lib/time.in.h (nanosleep): Use modern idiom.
9571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
9572         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
9573         REPLACE_NANOSLEEP to 1.
9574         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
9575         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
9576
9577 2010-04-03  Bruno Haible  <bruno@clisp.org>
9578
9579         strptime: Fix C++ test error on mingw.
9580         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
9581         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
9582         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
9583         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
9584         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
9585         not REPLACE_STRPTIME.
9586         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
9587         REPLACE_STRPTIME.
9588
9589 2010-04-03  Bruno Haible  <bruno@clisp.org>
9590
9591         timegm: Fix C++ test error on mingw.
9592         * lib/time.in.h (timegm): Use modern idiom.
9593         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
9594         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
9595         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
9596         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
9597
9598 2010-04-03  Bruno Haible  <bruno@clisp.org>
9599
9600         timegm: Assume declaration if function exists.
9601         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
9602         if it exists. Don't clobber ac_cv_func_timegm.
9603
9604 2010-04-03  Bruno Haible  <bruno@clisp.org>
9605
9606         time_r: Fix C++ test error on mingw.
9607         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
9608         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
9609         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
9610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
9611         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
9612
9613 2010-04-03  Bruno Haible  <bruno@clisp.org>
9614
9615         time_r: Minor updates.
9616         * modules/time_r (Description): Mention the provided functions.
9617         * lib/time_r.c: Don't include <string.h>.
9618         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
9619         * doc/posix-functions/localtime_r.texi: Likewise.
9620
9621 2010-04-03  Bruno Haible  <bruno@clisp.org>
9622
9623         time: Fix regression introduced on 2010-03-08.
9624         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
9625         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
9626
9627 2010-04-03  Jim Meyering  <meyering@redhat.com>
9628
9629         maint.mk: don't silently disable project-specific syntax-check rules
9630         * top/maint.mk (_prohibit_regexp): Define, to help people realize
9631         that they need to convert their project-specific syntax-check rules
9632         to use the new _sc_search_regexp.
9633
9634 2010-04-03  Bruno Haible  <bruno@clisp.org>
9635
9636         fchdir: Fix regression introduced on 2010-03-08.
9637         * lib/unistd.in.h (fchdir): Fix declaration.
9638         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
9639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
9640         REPLACE_FCHDIR.
9641         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
9642         REPLACE_FCHDIR.
9643
9644 2010-04-03  Bruno Haible  <bruno@clisp.org>
9645
9646         getpagesize: Fix C++ test error on mingw.
9647         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
9648         system does not declare the function.
9649         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
9650         declared.
9651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9652         HAVE_DECL_GETPAGESIZE.
9653         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
9654
9655 2010-04-03  Bruno Haible  <bruno@clisp.org>
9656
9657         stdio: Make C++ tests work on mingw.
9658         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
9659         does not declare the function.
9660
9661 2010-04-03  Bruno Haible  <bruno@clisp.org>
9662
9663         ftello: Fix C++ test error on mingw.
9664         * lib/stdio.in.h (ftello): Use modern idiom.
9665         * lib/ftello.c (ftello): Renamed from rpl_ftello.
9666         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
9667         is missing and that it needs to be replaced.
9668         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
9669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
9670         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
9671
9672 2010-04-03  Bruno Haible  <bruno@clisp.org>
9673
9674         fseeko: Fix C++ test error on mingw.
9675         * lib/stdio.in.h (fseeko): Use modern idiom.
9676         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
9677         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
9678         is missing and that it needs to be replaced.
9679         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
9680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
9681         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
9682
9683 2010-04-03  Bruno Haible  <bruno@clisp.org>
9684
9685         mkstemp: Fix C++ test error on mingw.
9686         * lib/stdlib.in.h (mkstemp): Use modern idiom.
9687         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
9688         function is missing and that it needs to be replaced.
9689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
9690         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
9691
9692 2010-04-03  Bruno Haible  <bruno@clisp.org>
9693
9694         stpncpy: Fix C++ test error on mingw.
9695         * lib/string.in.h (stpncpy): Use modern idiom.
9696         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
9697         function is missing and that it needs to be replaced.
9698         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
9699         REPLACE_STPNCPY.
9700         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
9701
9702 2010-04-03  Bruno Haible  <bruno@clisp.org>
9703
9704         sys_stat: Fix C++ test error on mingw.
9705         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
9706         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
9707
9708 2010-04-03  Bruno Haible  <bruno@clisp.org>
9709
9710         pty: Update doc.
9711         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
9712
9713 2010-04-03  Bruno Haible  <bruno@clisp.org>
9714
9715         unistd: Fix C++ test error on mingw.
9716         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
9717
9718 2010-04-03  Bruno Haible  <bruno@clisp.org>
9719
9720         Update doc regarding mingw.
9721         * doc/glibc-functions/openpty.texi: Update regarding mingw.
9722         * doc/glibc-functions/login_tty.texi: Likewise.
9723         * doc/glibc-functions/forkpty.texi: Likewise.
9724
9725 2010-04-03  Bruno Haible  <bruno@clisp.org>
9726
9727         stdlib: Avoid compilation failure of c-strtold on mingw.
9728         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
9729
9730 2010-04-03  Bruno Haible  <bruno@clisp.org>
9731
9732         locale: Make C++ tests work on Cygwin and mingw.
9733         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
9734         cannot provide the function.
9735         Reported by Simon Josefsson.
9736
9737 2010-04-03  Bruno Haible  <bruno@clisp.org>
9738
9739         localename: Port to MacOS X 10.6.
9740         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
9741         memory layout of the locales in MacOS X 10.6 as well.
9742         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
9743
9744 2010-04-02  Bruno Haible  <bruno@clisp.org>
9745
9746         gnulib-tool: Ensure that long-running tests are executed last.
9747         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
9748         running tests after the one for the other tests.
9749
9750 2010-04-02  Bruno Haible  <bruno@clisp.org>
9751
9752         gnulib-tool: Ensure the tests in the main directory are executed first.
9753         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
9754         start with the current directory.
9755
9756 2010-04-02  Bruno Haible  <bruno@clisp.org>
9757
9758         Tests for module 'havelib', moved here from GNU gettext.
9759         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
9760         modifications.
9761         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
9762         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
9763         with modifications.
9764         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
9765         modifications.
9766         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
9767         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
9768         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
9769         with modifications.
9770         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
9771         with modifications.
9772         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
9773         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
9774         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
9775         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
9776         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
9777         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
9778         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
9779         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
9780         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
9781         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
9782         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
9783         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
9784         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
9785         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
9786         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
9787         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
9788         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
9789         with modifications.
9790         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
9791         with modifications.
9792         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
9793         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
9794         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
9795         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
9796         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
9797         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
9798         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
9799         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
9800         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
9801         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
9802         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
9803         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
9804         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
9805         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
9806         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
9807         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
9808         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
9809         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
9810         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
9811         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
9812         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
9813         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
9814         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
9815         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
9816         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
9817         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
9818         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
9819         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
9820         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
9821         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
9822         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
9823         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
9824         * tests/havelib/rpathx/rpathx.c: New file, from
9825         gettext/autoconf-lib-link.
9826         * tests/havelib/rpathx/Makefile.am: New file, from
9827         gettext/autoconf-lib-link.
9828         * tests/havelib/rpathx/configure.ac: New file, from
9829         gettext/autoconf-lib-link with modifications.
9830         * tests/havelib/rpathy/rpathy.c: New file, from
9831         gettext/autoconf-lib-link.
9832         * tests/havelib/rpathy/Makefile.am: New file, from
9833         gettext/autoconf-lib-link.
9834         * tests/havelib/rpathy/configure.ac: New file, from
9835         gettext/autoconf-lib-link with modifications.
9836         * tests/havelib/rpathz/rpathz.c: New file, from
9837         gettext/autoconf-lib-link.
9838         * tests/havelib/rpathz/Makefile.am: New file, from
9839         gettext/autoconf-lib-link.
9840         * tests/havelib/rpathz/configure.ac: New file, from
9841         gettext/autoconf-lib-link with modifications.
9842         * tests/havelib/rpathlx/usex.c: New file, from
9843         gettext/autoconf-lib-link.
9844         * tests/havelib/rpathlx/Makefile.am: New file, from
9845         gettext/autoconf-lib-link.
9846         * tests/havelib/rpathlx/configure.ac: New file, from
9847         gettext/autoconf-lib-link with modifications.
9848         * tests/havelib/rpathly/usey.c: New file, from
9849         gettext/autoconf-lib-link.
9850         * tests/havelib/rpathly/Makefile.am: New file, from
9851         gettext/autoconf-lib-link.
9852         * tests/havelib/rpathly/configure.ac: New file, from
9853         gettext/autoconf-lib-link with modifications.
9854         * tests/havelib/rpathlz/usez.c: New file, from
9855         gettext/autoconf-lib-link.
9856         * tests/havelib/rpathlz/Makefile.am: New file, from
9857         gettext/autoconf-lib-link.
9858         * tests/havelib/rpathlz/configure.ac: New file, from
9859         gettext/autoconf-lib-link with modifications.
9860         * tests/havelib/rpathlyx/usey.c: New file, from
9861         gettext/autoconf-lib-link.
9862         * tests/havelib/rpathlyx/Makefile.am: New file, from
9863         gettext/autoconf-lib-link.
9864         * tests/havelib/rpathlyx/configure.ac: New file, from
9865         gettext/autoconf-lib-link with modifications.
9866         * tests/havelib/rpathlzyx/usez.c: New file, from
9867         gettext/autoconf-lib-link.
9868         * tests/havelib/rpathlzyx/Makefile.am: New file, from
9869         gettext/autoconf-lib-link.
9870         * tests/havelib/rpathlzyx/configure.ac: New file, from
9871         gettext/autoconf-lib-link with modifications.
9872         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
9873         with modifications.
9874
9875 2010-04-02  Bruno Haible  <bruno@clisp.org>
9876
9877         gnulib-tool: Create distributed built sources also for the tests.
9878         * gnulib-tool (func_create_testdir): Also generate distributed built
9879         sources in the tests directory.
9880
9881 2010-04-02  Bruno Haible  <bruno@clisp.org>
9882
9883         gnulib-tool: Obey user's environment variables.
9884         * gnulib-tool (func_create_testdir): When creating built sources,
9885         respect the environment variables for autoconf, automake, etc. given by
9886         the user.
9887
9888 2010-04-02  Bruno Haible  <bruno@clisp.org>
9889
9890         gnulib-tool: Provide the value of --m4-base to modules.
9891         * gnulib-tool (func_import, func_create_testdir): Emit a definition
9892         of gl_m4_base.
9893
9894 2010-04-02  Eric Blake  <eblake@redhat.com>
9895
9896         maint.mk: fix some fallout
9897         * NEWS: Document the incompatible change, and its effect on cfg.mk.
9898         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
9899
9900 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
9901
9902         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
9903         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
9904         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
9905         (sc_cast_of_x_alloc_return_value): Likewise.
9906         (sc_cast_of_alloca_return_value): Likewise.
9907         (sc_space_tab): Likewise.
9908         (sc_prohibit_atoi_atof): Likewise.
9909         (sc_prohibit_magic_number_exit): Likewise.
9910         (sc_error_exit_success): Likewise.
9911         (sc_file_system): Likewise.
9912         (sc_prohibit_have_config_h): Likewise.
9913         (sc_require_config_h): Likewise.
9914         (sc_prohibit_HAVE_MBRTOWC): Likewise.
9915         (sc_obsolete_symbols): Likewise.
9916         (sc_changelog): Likewise.
9917         (sc_program_name): Likewise.
9918         (sc_the_the): Likewise.
9919         (sc_trailing_blank): Likewise.
9920         (sc_two_space_separator_in_usage): Likewise.
9921         (sc_useless_cpp_parens): Likewise.
9922         (sc_GPL_version): Likewise.
9923         (sc_GFDL_version): Likewise.
9924         (sc_texinfo_acronym): Likewise.
9925         (sc_prohibit_cvs_keyword): Likewise.
9926         (sc_prohibit_stat_st_blocks): Likewise.
9927         (sc_prohibit_S_IS_definition): Likewise.
9928         (sc_redundant_const): Likewise.
9929         (sc_makefile_TAB_only_indentation): Likewise.
9930         (sc_m4_quote_check): Likewise.
9931         (sc_makefile_path_separator_check): Likewise.
9932         (sc_copyright_check): Likewise.
9933         (sc_Wundef_boolean): Likewise.
9934         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9935
9936         maint.mk: match 0 or more whitespace-before-function-call '('
9937         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
9938         that have zero or two-and-more spaces between the function name
9939         and the open parenthesis.
9940         (sc_error_message_warn_fatal): Likewise.
9941         (sc_error_message_uppercase): Likewise.
9942         (sc_error_message_period): Likewise.
9943
9944 2010-03-31  Eric Blake  <eblake@redhat.com>
9945
9946         maint.mk: check for [ as well as test
9947         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
9948         Based on a libvirt report by Matthias Bolte.
9949
9950         gnumakefile: don't squelch _version output
9951         * top/GNUmakefile (_version): Create one-shot dependency rather
9952         than using $(shell) when version must be regenerated.
9953         (_autoreconf): Run verbosely, by default.
9954
9955         sys_time: avoid compiler warnings
9956         * lib/sys_time.in.h (includes): Ensure gcc pragma is
9957         unconditional, fixing regression from 2010-03-29.
9958         Reported by Simon Josefsson.
9959
9960 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
9961
9962         maint.mk: s/_header_without_use/_sc_header_without_use/
9963         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
9964         (sc_prohibit_assert_without_use): Use the new name.
9965         (sc_prohibit_close_stream_without_use): Likewise.
9966         (sc_prohibit_getopt_without_use): Likewise.
9967         (sc_prohibit_quotearg_without_use): Likewise.
9968         (sc_prohibit_quote_without_use): Likewise.
9969         (sc_prohibit_long_options_without_use): Likewise.
9970         (sc_prohibit_inttostr_without_use): Likewise.
9971         (sc_prohibit_ignore_value_without_use): Likewise.
9972         (sc_prohibit_error_without_use): Likewise.
9973         (sc_prohibit_xalloc_without_use): Likewise.
9974         (sc_prohibit_hash_without_use): Likewise.
9975         (sc_prohibit_hash_pjw_without_use): Likewise.
9976         (sc_prohibit_safe_read_without_use): Likewise.
9977         (sc_prohibit_argmatch_without_use): Likewise.
9978         (sc_prohibit_canonicalize_without_use): Likewise.
9979         (sc_prohibit_root_dev_ino_without_use): Likewise.
9980         (sc_prohibit_openat_without_use): Likewise.
9981         (sc_prohibit_c_ctype_without_use): Likewise.
9982         (sc_prohibit_signal_without_use): Likewise.
9983         (sc_prohibit_intprops_without_use): Likewise.
9984
9985 2010-03-30  Eric Blake  <eblake@redhat.com>
9986
9987         maint: improve module indicators
9988         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
9989         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
9990         columns, and avoid extra macro expansion.
9991
9992         fdopendir: work around FreeBSD bug
9993         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
9994         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
9995         * modules/dirent (Makefile.am): Substitute it.
9996         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
9997         declaration.
9998         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
9999         fix.
10000         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10001
10002 2010-03-29  Bruno Haible  <bruno@clisp.org>
10003
10004         Emit #pragma system_header after the inclusion guard, not before.
10005         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
10006         guard that spans the entire file, not before. This enables an
10007         optimization in GCC's preprocessor.
10008         * lib/ctype.in.h: Likewise.
10009         * lib/dirent.in.h: Likewise.
10010         * lib/errno.in.h: Likewise.
10011         * lib/float.in.h: Likewise.
10012         * lib/getopt.in.h: Likewise.
10013         * lib/iconv.in.h: Likewise.
10014         * lib/langinfo.in.h: Likewise.
10015         * lib/locale.in.h: Likewise.
10016         * lib/math.in.h: Likewise.
10017         * lib/netdb.in.h: Likewise.
10018         * lib/netinet_in.in.h: Likewise.
10019         * lib/pty.in.h: Likewise.
10020         * lib/sched.in.h: Likewise.
10021         * lib/se-selinux.in.h: Likewise.
10022         * lib/search.in.h: Likewise.
10023         * lib/spawn.in.h: Likewise.
10024         * lib/stdarg.in.h: Likewise.
10025         * lib/stdint.in.h: Likewise.
10026         * lib/string.in.h: Likewise.
10027         * lib/strings.in.h: Likewise.
10028         * lib/sys_file.in.h: Likewise.
10029         * lib/sys_ioctl.in.h: Likewise.
10030         * lib/sys_time.in.h: Likewise.
10031         * lib/sys_times.in.h: Likewise.
10032         * lib/sys_utsname.in.h: Likewise.
10033         * lib/sys_wait.in.h: Likewise.
10034         * lib/sysexits.in.h: Likewise.
10035         * lib/wctype.in.h: Likewise.
10036
10037 2010-03-28  James Youngman  <jay@gnu.org>
10038
10039         save-cwd: don't leak a file descriptor when the caller execs.
10040         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
10041         saved file descriptor.
10042         * modules/save-cwd (Depends-on): Depend on cloexec.
10043
10044 2010-03-29  Bruno Haible  <bruno@clisp.org>
10045
10046         Remove vestiges of fts-lgpl module.
10047         * lib/fts_.h: Assume GNULIB_FTS is 1.
10048         * lib/fts.c: Likewise.
10049         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
10050
10051 2010-03-28  Bruno Haible  <bruno@clisp.org>
10052
10053         Fix definition of tests witness macro.
10054         * gnulib-tool (func_import): Fix definition of witness macro.
10055
10056 2010-03-28  Bruno Haible  <bruno@clisp.org>
10057
10058         Fix ioctl's protoype on glibc systems.
10059         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
10060         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
10061         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
10062         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
10063         signature. If not, arrange to replace the ioctl function.
10064         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
10065         REPLACE_IOCTL.
10066         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
10067         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
10068         Reported by Ludovic Courtès <ludo@gnu.org>.
10069
10070 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
10071
10072         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
10073         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
10074         made it so grep -r --include=GLOB* ... did not work.
10075
10076 2010-03-26  Jim Meyering  <meyering@redhat.com>
10077             Eric Blake  <eblake@redhat.com>
10078
10079         maint.mk: prohibit use of test's -o and -a operators
10080         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
10081
10082 2010-03-28  Bruno Haible  <bruno@clisp.org>
10083
10084         Remove unused GNULIB_XYZ macro definitions.
10085         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
10086         invocation.
10087
10088 2010-03-28  Bruno Haible  <bruno@clisp.org>
10089
10090         Mark privileged tests modules.
10091         * modules/idpriv-drop-tests (Status): New section.
10092         * modules/idpriv-droptemp-tests (Status): New section.
10093
10094 2010-03-28  Bruno Haible  <bruno@clisp.org>
10095
10096         Split C++ tests into separate tests modules.
10097         * modules/dirent-c++-tests: New file, extracted from
10098         modules/dirent-tests.
10099         * modules/dirent-tests: Depend on it.
10100         * modules/fcntl-h-c++-tests: New file, extracted from
10101         modules/fcntl-h-tests.
10102         * modules/fcntl-h-tests: Depend on it.
10103         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
10104         * modules/glob-tests: Depend on it.
10105         * modules/iconv-h-c++-tests: New file, extracted from
10106         modules/iconv-h-tests.
10107         * modules/iconv-h-tests: Depend on it.
10108         * modules/langinfo-c++-tests: New file, extracted from
10109         modules/langinfo-tests.
10110         * modules/langinfo-tests: Depend on it.
10111         * modules/locale-c++-tests: New file, extracted from
10112         modules/locale-tests.
10113         * modules/locale-tests: Depend on it.
10114         * modules/math-c++-tests: New file, extracted from modules/math-tests.
10115         * modules/math-tests: Depend on it.
10116         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
10117         * modules/pty-tests: Depend on it.
10118         * modules/search-c++-tests: New file, extracted from
10119         modules/search-tests.
10120         * modules/search-tests: Depend on it.
10121         * modules/signal-c++-tests: New file, extracted from
10122         modules/signal-tests.
10123         * modules/signal-tests: Depend on it.
10124         * modules/spawn-c++-tests: New file, extracted from
10125         modules/spawn-tests.
10126         * modules/spawn-tests: Depend on it.
10127         * modules/stdio-c++-tests: New file, extracted from
10128         modules/stdio-tests.
10129         * modules/stdio-tests: Depend on it.
10130         * modules/stdlib-c++-tests: New file, extracted from
10131         modules/stdlib-tests.
10132         * modules/stdlib-tests: Depend on it.
10133         * modules/string-c++-tests: New file, extracted from
10134         modules/string-tests.
10135         * modules/string-tests: Depend on it.
10136         * modules/sys_ioctl-c++-tests: New file, extracted from
10137         modules/sys_ioctl-tests.
10138         * modules/sys_ioctl-tests: Depend on it.
10139         * modules/sys_select-c++-tests: New file, extracted from
10140         modules/sys_select-tests.
10141         * modules/sys_select-tests: Depend on it.
10142         * modules/sys_socket-c++-tests: New file, extracted from
10143         modules/sys_socket-tests.
10144         * modules/sys_socket-tests: Depend on it.
10145         * modules/sys_stat-c++-tests: New file, extracted from
10146         modules/sys_stat-tests.
10147         * modules/sys_stat-tests: Depend on it.
10148         * modules/sys_time-c++-tests: New file, extracted from
10149         modules/sys_time-tests.
10150         * modules/sys_time-tests: Depend on it.
10151         * modules/time-c++-tests: New file, extracted from modules/time-tests.
10152         * modules/time-tests: Depend on it.
10153         * modules/unistd-c++-tests: New file, extracted from
10154         modules/unistd-tests.
10155         * modules/unistd-tests: Depend on it.
10156         * modules/wchar-c++-tests: New file, extracted from
10157         modules/wchar-tests.
10158         * modules/wchar-tests: Depend on it.
10159         * modules/wctype-c++-tests: New file, extracted from
10160         modules/wctype-tests.
10161         * modules/wctype-tests: Depend on it.
10162         Reported by Simon Josefsson.
10163
10164 2010-03-28  Bruno Haible  <bruno@clisp.org>
10165
10166         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
10167         * gnulib-tool (func_exists_module): New function, extracted from
10168         func_verify_module.
10169         (func_verify_module): Use it.
10170         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
10171         'foo' only if 'foo' exists.
10172         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
10173         module.
10174
10175 2010-03-28  Bruno Haible  <bruno@clisp.org>
10176
10177         gnulib-tool: Add support for special categories of tests.
10178         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
10179         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
10180         (func_usage): Document them.
10181         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
10182         inc_unportable_tests, inc_all_tests): New variables.
10183         (func_acceptable): Consider these variables.
10184         (func_modules_transitive_closure): Make it work when the 'Status' field
10185         consists of multiple words.
10186         (func_import): Store and restore the values of inc_cxx_tests,
10187         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
10188         inc_all_tests in gnulib-comp.m4.
10189         (func_create_testdir): Set inc_all_tests to true.
10190         * doc/gnulib.texi (Extra tests modules): New section.
10191         Suggested by Jim Meyering.
10192
10193 2010-03-28  Bruno Haible  <bruno@clisp.org>
10194
10195         ansi-c++-opt: Allow turning off the C++ build by default.
10196         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
10197         gl_CXX_CHOICE_DEFAULT_NO is defined.
10198         Requested by Eric Blake.
10199
10200 2010-03-28  Bruno Haible  <bruno@clisp.org>
10201
10202         unistd: Avoid #define replacements in C++ mode.
10203         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10204         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10205         setsockopt, shutdown, select): In C++, attach a warning to the function
10206         if possible, rather than #defining the symbol to a dysfunctional alias.
10207         Reported by John W. Eaton <jwe@gnu.org>.
10208
10209 2010-03-28  Bruno Haible  <bruno@clisp.org>
10210
10211         Fix link errors on mingw.
10212         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
10213         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
10214         $(LIBSOCKET).
10215         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
10216         $(LIBSOCKET).
10217
10218 2010-03-28  Bruno Haible  <bruno@clisp.org>
10219             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10220
10221         lib-ignore: Determine different options for different compilers.
10222         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
10223         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
10224         Add comments.
10225         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
10226         * NEWS: Mention the change.
10227
10228 2010-03-27  Bruno Haible  <bruno@clisp.org>
10229
10230         Remove unused GNULIB_XYZ macro definitions.
10231         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
10232         * modules/fseek (configure.ac): Likewise.
10233         * modules/ioctl (configure.ac): Likewise.
10234         * modules/open (configure.ac): Likewise.
10235         * modules/stdlib-safer (configure.ac): Likewise.
10236
10237 2010-03-27  Bruno Haible  <bruno@clisp.org>
10238
10239         Add a remark about certain modules.
10240         * modules/malloc (Comment): New section.
10241         * modules/realloc (Comment): Likewise.
10242         * modules/sigpipe (Comment): Likewise.
10243
10244 2010-03-27  Bruno Haible  <bruno@clisp.org>
10245
10246         Resolve conflict between the two kinds of module indicators.
10247         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
10248         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
10249         * modules/canonicalize (configure.ac): Invoke
10250         gl_MODULE_INDICATOR_FOR_TESTS.
10251         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
10252         GNULIB_XYZ.
10253         * tests/test-dirent-c++.cc: Likewise.
10254         * tests/test-dirent-safer.c: Likewise.
10255         * tests/test-dup2.c: Likewise.
10256         * tests/test-fchdir.c: Likewise.
10257         * tests/test-fcntl-h-c++.cc: Likewise.
10258         * tests/test-getopt.c: Likewise.
10259         * tests/test-getopt.h: Likewise.
10260         * tests/test-langinfo-c++.cc: Likewise.
10261         * tests/test-locale-c++.cc: Likewise.
10262         * tests/test-math-c++.cc: Likewise.
10263         * tests/test-pty-c++.cc: Likewise.
10264         * tests/test-search-c++.cc: Likewise.
10265         * tests/test-signal-c++.cc: Likewise.
10266         * tests/test-spawn-c++.cc: Likewise.
10267         * tests/test-stdio-c++.cc: Likewise.
10268         * tests/test-stdlib-c++.cc: Likewise.
10269         * tests/test-string-c++.cc: Likewise.
10270         * tests/test-sys_ioctl-c++.cc: Likewise.
10271         * tests/test-sys_select-c++.cc: Likewise.
10272         * tests/test-sys_socket-c++.cc: Likewise.
10273         * tests/test-sys_stat-c++.cc: Likewise.
10274         * tests/test-sys_time-c++.cc: Likewise.
10275         * tests/test-time-c++.cc: Likewise.
10276         * tests/test-unistd-c++.cc: Likewise.
10277         * tests/test-wchar-c++.cc: Likewise.
10278         * tests/uninorm/test-u8-nfc.c: Likewise.
10279         * tests/uninorm/test-u8-nfd.c: Likewise.
10280         * tests/uninorm/test-u8-nfkc.c: Likewise.
10281         * tests/uninorm/test-u8-nfkd.c: Likewise.
10282         * tests/uninorm/test-u16-nfc.c: Likewise.
10283         * tests/uninorm/test-u16-nfd.c: Likewise.
10284         * tests/uninorm/test-u16-nfkc.c: Likewise.
10285         * tests/uninorm/test-u16-nfkd.c: Likewise.
10286         * tests/uninorm/test-u32-nfc.c: Likewise.
10287         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10288         * tests/uninorm/test-u32-nfd.c: Likewise.
10289         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10290         * tests/uninorm/test-u32-nfkc.c: Likewise.
10291         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10292         * tests/uninorm/test-u32-nfkd.c: Likewise.
10293         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10294         * tests/uninorm/test-u32-normalize-big.c: Likewise.
10295
10296 2010-03-27  Bruno Haible  <bruno@clisp.org>
10297
10298         Distinguish two kinds of module indicators.
10299         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
10300         gl_MODULE_INDICATOR.
10301         (gl_MODULE_INDICATOR): New macro.
10302         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
10303         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
10304         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
10305         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
10306         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
10307         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
10308         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
10309         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
10310         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
10311         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
10312         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
10313         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
10314         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
10315         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
10316         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
10317         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
10318         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
10319         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
10320         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
10321         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
10322         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
10323         * modules/cloexec (configure.ac): Likewise.
10324         * modules/getopt-gnu (configure.ac): Likewise.
10325         * modules/uninorm/u8-normalize (configure.ac): Likewise.
10326         * modules/uninorm/u16-normalize (configure.ac): Likewise.
10327         * modules/uninorm/u32-normalize (configure.ac): Likewise.
10328         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
10329
10330 2010-03-27  Bruno Haible  <bruno@clisp.org>
10331
10332         New module description field 'Comment'.
10333         * gnulib-tool: New option --extract-comment.
10334         (func_usage): Document it.
10335         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
10336         (func_get_comment): New function.
10337         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
10338
10339 2010-03-27  Bruno Haible  <bruno@clisp.org>
10340
10341         Addendum to 2010-02-07 commit.
10342         * gnulib-tool (func_usage): Document --extract-applicability option.
10343
10344 2010-03-27  Bruno Haible  <bruno@clisp.org>
10345
10346         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
10347         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
10348         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
10349         rather than link errors.
10350
10351 2010-03-27  Bruno Haible  <bruno@clisp.org>
10352
10353         Avoid side effects from tests-related modules on the compilation of lib.
10354         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
10355         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
10356         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
10357         parameter. Emit into AM_CPPFLAGS a definition of the designated C
10358         macro.
10359         (func_import): Define a witness macro. Assign it a value that depends
10360         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
10361         tests-related modules.
10362         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
10363         Reported by Jim Meyering.
10364
10365 2010-03-27  Bruno Haible  <bruno@clisp.org>
10366
10367         Factorize common .m4 code.
10368         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
10369         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
10370         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
10371         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
10372         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
10373         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
10374         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
10375         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
10376         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
10377         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
10378         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
10379         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
10380         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
10381         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
10382         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
10383         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
10384         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
10385         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
10386         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
10387         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
10388         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
10389         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
10390         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
10391         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
10392         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
10393         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
10394         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
10395         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
10396         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
10397         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
10398         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
10399         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
10400
10401 2010-03-27  Bruno Haible  <bruno@clisp.org>
10402
10403         Fix a compilation error on Cygwin with g++ >= 4.3.
10404         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
10405         if it is undefined or if we alias it to chmod.
10406         (lstat): Don't warn about the use of this function if it is undefined
10407         or if we alias it to stat.
10408         Reported by Simon Josefsson.
10409
10410 2010-03-27  Bruno Haible  <bruno@clisp.org>
10411
10412         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
10413         * modules/getlogin (configure.ac): Update.
10414
10415         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
10416         * modules/getlogin_r (configure.ac): Update.
10417
10418         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
10419         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
10420         * modules/inet_ntop (configure.ac): Update.
10421
10422         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
10423         * modules/inet_pton (configure.ac): Update.
10424
10425         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
10426         * modules/mbslen (configure.ac): Update.
10427
10428         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
10429         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
10430         * modules/forkpty (configure.ac): Update.
10431         * modules/openpty (configure.ac): Update.
10432
10433 2010-03-26  Simon Josefsson  <simon@josefsson.org>
10434
10435         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
10436         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
10437
10438 2010-03-25  Eric Blake  <eblake@redhat.com>
10439
10440         maint: use pragma consistently across replacement headers
10441         * lib/ctype.in.h (system_header): Hoist for consistent placement.
10442         * lib/dirent.in.h (system_header): Likewise.
10443         * lib/errno.in.h (system_header): Likewise.
10444         * lib/float.in.h (system_header): Likewise.
10445         * lib/getopt.in.h (system_header): Likewise.
10446         * lib/iconv.in.h (system_header): Likewise.
10447         * lib/inttypes.in.h (system_header): Likewise.
10448         * lib/langinfo.in.h (system_header): Likewise.
10449         * lib/locale.in.h (system_header): Likewise.
10450         * lib/math.in.h (system_header): Likewise.
10451         * lib/netdb.in.h (system_header): Likewise.
10452         * lib/netinet_in.in.h (system_header): Likewise.
10453         * lib/pty.in.h (system_header): Likewise.
10454         * lib/sched.in.h (system_header): Likewise.
10455         * lib/se-selinux.in.h (system_header): Likewise.
10456         * lib/search.in.h (system_header): Likewise.
10457         * lib/spawn.in.h (system_header): Likewise.
10458         * lib/stdarg.in.h (system_header): Likewise.
10459         * lib/stdint.in.h (system_header): Likewise.
10460         * lib/string.in.h (system_header): Likewise.
10461         * lib/strings.in.h (system_header): Likewise.
10462         * lib/sys_file.in.h (system_header): Likewise.
10463         * lib/sys_ioctl.in.h (system_header): Likewise.
10464         * lib/sys_socket.in.h (system_header): Likewise.
10465         * lib/sys_times.in.h (system_header): Likewise.
10466         * lib/sys_utsname.in.h (system_header): Likewise.
10467         * lib/sys_wait.in.h (system_header): Likewise.
10468         * lib/sysexits.in.h (system_header): Likewise.
10469         * lib/unistd.in.h (system_header): Likewise.
10470         * lib/wctype.in.h (system_header): Likewise.
10471
10472         arpa/inet: fix mingw compilation warning
10473         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
10474         Reported by Matthew Bolte.
10475
10476 2010-03-25  Bruno Haible  <bruno@clisp.org>
10477
10478         Avoid collision between gnulib wrapper and libintl wrapper.
10479         * lib/printf.c (printf): Don't define if a printf wrapper is already
10480         defined in intl/printf.c.
10481         Reported by Michel Boaventura <michel@michelboaventura.com>.
10482
10483 2010-03-25  Bruno Haible  <bruno@clisp.org>
10484
10485         Use ANSI C.
10486         * lib/readutmp.h (getutent): Provide ANSI C prototype.
10487
10488 2010-03-25  Bruno Haible  <bruno@clisp.org>
10489
10490         Minor formatting changes.
10491         * lib/acosl.c: Insert space before function argument list.
10492         * lib/argz.c: Likewise.
10493         * lib/asinl.c: Likewise.
10494         * lib/expl.c: Likewise.
10495         * lib/gen-uni-tables.c: Likewise.
10496         * lib/gettext.h: Likewise.
10497         * lib/glthread/lock.h: Likewise.
10498         * lib/tanl.c: Likewise.
10499         * lib/uniname/uniname.c: Likewise.
10500         * tests/test-idpriv-drop.c: Likewise.
10501         * tests/test-idpriv-droptemp.c: Likewise.
10502         * tests/test-lock.c: Likewise.
10503         * tests/test-tls.c: Likewise.
10504         * lib/argp-help.c: Insert space before function-like macro argument
10505         list.
10506         * lib/memcmp.c: Likewise.
10507         * tests/test-base64.c: Likewise.
10508         * lib/localename.c: Insert space before sizeof's argument list.
10509         * lib/safe-alloc.h: Likewise.
10510         * lib/file-set.h: Insert space before macro argument list.
10511         * tests/test-argp.c: Likewise.
10512         * lib/argp-namefrob.h: Insert space before function parameter list.
10513         * lib/getaddrinfo.c: Likewise.
10514         * lib/netdb.in.h: Likewise.
10515         * lib/parse-duration.h: Likewise.
10516         * lib/parse-duration.c: Likewise.
10517         * lib/poll.c: Likewise.
10518         * lib/select.c: Likewise.
10519         * lib/trim.h: Likewise.
10520         * tests/test-usleep.c: Likewise.
10521         * lib/ldexpl.c: Insert space before function parameter list and before
10522         function argument list.
10523         * lib/logl.c: Likewise.
10524         * lib/sqrtl.c: Likewise.
10525         * lib/trim.c: Likewise.
10526         * lib/cosl.c: Use GNU style indentation. Insert space before function
10527         argument list.
10528         * lib/sinl.c: Likewise.
10529         * lib/tsearch.c: Insert space after 'for'.
10530         Reported by Jim Meyering.
10531
10532 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
10533
10534         * maint.mk (sc_Wundef_boolean): Check for the presence of the
10535         config header before grepping, as it's not present before
10536         autoreconf/configure are run.  Reported by Simon Josefsson.
10537
10538 2010-03-23  Bruno Haible  <bruno@clisp.org>
10539
10540         pt_chown: Make it work with automake < 1.11.
10541         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
10542         Reported by Simon Josefsson.
10543
10544 2010-03-23  Bruno Haible  <bruno@clisp.org>
10545
10546         pt_chown: Don't depend on GPLed modules.
10547         * lib/pt_chown.c: Don't include idpriv.h.
10548         (main): Don't drop privileges.
10549         * modules/pt_chown (Depends-on): Remove idpriv-drop.
10550         Reported by Simon Josefsson.
10551
10552 2010-03-24  Simon Josefsson  <simon@josefsson.org>
10553
10554         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
10555         suggestions from karl@freefriends.org (Karl Berry).
10556
10557 2010-03-22  Eric Blake  <eblake@redhat.com>
10558
10559         gethostname: further tweaks
10560         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
10561         are overriding gethostname.
10562         Suggested by Bruno Haible.
10563
10564 2010-03-21  Bruno Haible  <bruno@clisp.org>
10565
10566         Fix comments.
10567         * lib/forkpty.c (rpl_forkpty): Fix comment.
10568         * lib/openpty.c (rpl_openpty): Likewise.
10569         Reported by Eric Blake.
10570
10571 2010-03-22  Eric Blake  <eblake@redhat.com>
10572
10573         gethostname: fix build on mingw
10574         * lib/unistd.in.h (includes): Work around fact that mingw
10575         <winsock2.h> re-includes <unistd.h>, by avoiding any
10576         redeclarations if we are being included by <winsock2.h>.
10577         Reported by Matthias Bolte.
10578
10579 2010-03-21  Bruno Haible  <bruno@clisp.org>
10580
10581         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
10582         * lib/forkpty.c (forkpty): New replacement function, from glibc with
10583         modifications.
10584         * lib/pty.in.h (forkpty): Update declaration. Add comments.
10585         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
10586         provide the replacement.
10587         * modules/forkpty (Depends-on): Add openpty, login_tty.
10588         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
10589         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
10590         * doc/glibc-functions/forkpty.texi: More supported platforms.
10591         * config/srclist.txt: Add forkpty.c (commented).
10592
10593 2010-03-21  Bruno Haible  <bruno@clisp.org>
10594
10595         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
10596         (Makefile.am): Verify that PTY_LIB is defined.
10597
10598         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
10599
10600 2010-03-21  Bruno Haible  <bruno@clisp.org>
10601
10602         Tests for module 'login_tty'.
10603         * modules/login_tty-tests: New file.
10604         * tests/test-login_tty.c: New file.
10605
10606         New module 'login_tty'.
10607         * lib/login_tty.c: New file.
10608         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
10609         * modules/login_tty: New file.
10610         * doc/glibc-functions/login_tty.texi: Mention the new module.
10611
10612 2010-03-21  Bruno Haible  <bruno@clisp.org>
10613
10614         login_tty: Documentation.
10615         * doc/glibc-functions/login_tty.texi: New file.
10616         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
10617
10618 2010-03-21  Bruno Haible  <bruno@clisp.org>
10619
10620         pty: Consistent macro naming.
10621         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
10622         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
10623         * modules/pty (configure.ac): Update.
10624
10625 2010-03-21  Bruno Haible  <bruno@clisp.org>
10626
10627         Tests for openpty: Make stricter.
10628         * tests/test-openpty.c (main): Add test of canonical processing and
10629         erase.
10630         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
10631
10632         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
10633         * lib/openpty.c (openpty): New replacement function.
10634         * lib/pty.in.h: Include <termios.h>.
10635         (openpty): Update declaration. Add comments.
10636         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
10637         is not declared, arrange to provide the replacement. Check for _getpty
10638         and posix_openpt.
10639         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
10640         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
10641         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
10642         * modules/pty-tests (test_pty_c___LDADD): New variable.
10643         * doc/glibc-functions/openpty.texi: More supported platforms.
10644
10645 2010-03-21  Bruno Haible  <bruno@clisp.org>
10646
10647         setenv: Tweaks.
10648         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
10649         the test program.
10650         * doc/posix-functions/setenv.texi: Update platforms list.
10651
10652 2010-03-21  Bruno Haible  <bruno@clisp.org>
10653
10654         New module 'unlockpt'.
10655         * lib/unlockpt.c: New file, from glibc with modifications.
10656         * m4/unlockpt.m4: New file.
10657         * modules/unlockpt: New file.
10658         * lib/stdlib.in.h (unlockpt): New declaration.
10659         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
10660         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
10661         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
10662         HAVE_UNLOCKPT.
10663         * doc/posix-functions/unlockpt.texi: Mention the new module.
10664         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
10665         * config/srclist.txt: Add unlockpt.c (commented).
10666
10667 2010-03-21  Jim Meyering  <meyering@redhat.com>
10668
10669         maint.mk: prohibit inclusion of "intprops.h" without use
10670         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
10671
10672 2010-03-21  Bruno Haible  <bruno@clisp.org>
10673
10674         New module 'grantpt'.
10675         * lib/grantpt.c: New file, from glibc with modifications.
10676         * m4/grantpt.m4: New file.
10677         * modules/grantpt: New file.
10678         * lib/stdlib.in.h (grantpt): New declaration.
10679         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
10680         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
10681         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
10682         HAVE_GRANTPT.
10683         * doc/posix-functions/grantpt.texi: Mention the new module.
10684         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
10685         * config/srclist.txt: Add grantpt.c (commented).
10686
10687 2010-03-21  Bruno Haible  <bruno@clisp.org>
10688
10689         New module 'pt_chown'.
10690         * lib/pt_chown.c: New file, from glibc with modifications.
10691         * lib/pty-private.h: New file, from glibc with modifications.
10692         * modules/pt_chown: New file.
10693         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
10694
10695 2010-03-21  Bruno Haible  <bruno@clisp.org>
10696
10697         Tests for module 'ptsname'.
10698         * modules/ptsname-tests: New file.
10699         * tests/test-ptsname.c: New file.
10700
10701         New module 'ptsname'.
10702         * lib/ptsname.c: New file, from glibc with modifications.
10703         * m4/ptsname.m4: New file.
10704         * modules/ptsname: New file.
10705         * lib/stdlib.in.h (ptsname): New declaration.
10706         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
10707         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
10708         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
10709         HAVE_PTSNAME.
10710         * doc/posix-functions/ptsname.texi: Mention the new module.
10711         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
10712         * config/srclist.txt: Add ptsname.c (commented).
10713
10714 2010-03-21  Bruno Haible  <bruno@clisp.org>
10715
10716         Tests for module 'ttyname_r'.
10717         * modules/ttyname_r-tests: New file.
10718         * tests/test-ttyname_r.c: New file.
10719
10720         New module 'ttyname_r'.
10721         * lib/ttyname_r.c: New file.
10722         * m4/ttyname_r.m4: New file.
10723         * modules/ttyname_r: New file.
10724         * lib/unistd.in.h (ttyname_r): New declaration.
10725         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
10726         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
10727         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
10728         HAVE_TTYNAME_R.
10729         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
10730         * doc/posix-functions/ttyname_r.texi: Mention the new module.
10731
10732 2010-03-20  Bruno Haible  <bruno@clisp.org>
10733
10734         signal: Undefine macro definitions in C++ mode.
10735         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
10736         sigfillset): Undefine macro definitions from the system header in C++
10737         mode.
10738         Reported by John W. Eaton <jwe@gnu.org>.
10739
10740 2010-03-20  Bruno Haible  <bruno@clisp.org>
10741
10742         Ensure no #include statements inside extern "C" { ... }.
10743         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
10744         contain #include statements.
10745         * lib/time.in.h: Likewise.
10746
10747 2010-03-20  Bruno Haible  <bruno@clisp.org>
10748
10749         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
10750         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
10751         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
10752         Reported by John W. Eaton <jwe@gnu.org>.
10753
10754 2010-03-20  Bruno Haible  <bruno@clisp.org>
10755
10756         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
10757         Reported by Jim Meyering.
10758
10759 2010-03-20  Bruno Haible  <bruno@clisp.org>
10760
10761         pipe: Set errno upon failure.
10762         * lib/pipe.h: Specify that when -1 is returned, errno is set.
10763         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
10764         errno value in error message.
10765
10766 2010-03-20  Bruno Haible  <bruno@clisp.org>
10767             Jim Meyering  <meyering@redhat.com>
10768
10769         lchown: Avoid "unused variable" warning.
10770         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
10771
10772 2010-03-20  Bruno Haible  <bruno@clisp.org>
10773
10774         Work around unlink() bug on MacOS X 10.5.6.
10775         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
10776         attempting to unlink a parent directory.
10777         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
10778         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
10779         activate for the replacement function.
10780         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
10781
10782 2010-03-20  Bruno Haible  <bruno@clisp.org>
10783
10784         Fix link errors on Solaris 8.
10785         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
10786         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
10787
10788 2010-03-19  Jim Meyering  <meyering@redhat.com>
10789
10790         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
10791         The _LIBC implementation of build_range_exp correctly honors the
10792         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
10793         However, the non-_LIBC implementation would ignore that syntax-bit
10794         flag and return REG_ERANGE unconditionally.
10795         This change makes it honor that flag.
10796         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
10797         Make two pointer parameters "const".
10798         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
10799         (parse_bracket_exp): Update caller.
10800
10801         regex.m4: correct the reversed range endpoint ([b-a]) test
10802         * m4/regex.m4: When requiring that [b-a] evoke failure,
10803         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
10804         test pass once again for x86-based systems.
10805
10806 2010-03-19  Bruno Haible  <bruno@clisp.org>
10807
10808         scandir: Fix link error on Solaris 8.
10809         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
10810         macros.
10811
10812 2010-03-19  Bruno Haible  <bruno@clisp.org>
10813
10814         getusershell: Fix documentation.
10815         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
10816         module.
10817         * doc/glibc-functions/setusershell.texi: Likewise.
10818
10819         getusershell: Provide declaration, missing on Solaris 9.
10820         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
10821         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
10822         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
10823         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
10824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10825         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
10826         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
10827         HAVE_GETUSERSHELL.
10828         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
10829
10830 2010-03-19  Bruno Haible  <bruno@clisp.org>
10831
10832         wctype: Provide iswblank function.
10833         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
10834         exists and is fine.
10835         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
10836         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
10837         * tests/test-wctype.c (main): Re-enable the iswblank tests.
10838         * doc/posix-functions/iswblank.texi: Update.
10839
10840 2010-03-19  Bruno Haible  <bruno@clisp.org>
10841
10842         Tests of module 'pty' in C++ mode.
10843         * modules/pty-tests: New file.
10844         * tests/test-pty-c++.cc: New file.
10845         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
10846
10847 2010-03-19  Eric Blake  <eblake@redhat.com>
10848
10849         logb: fix documentation
10850         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
10851         1.5 declaration bug.
10852
10853         forkpty, openpty: prefer glibc's const-safe prototype
10854         * lib/forkpty.c (rpl_forkpty): New file.
10855         * lib/openpty.c (rpl_openpty): Likewise.
10856         * modules/forkpty (Files): Distribute it.
10857         * modules/openpty (Files): Likewise.
10858         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
10859         check...
10860         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
10861         replacement for for non-const BSD signature.
10862         * modules/pty (Makefile.am): Substitute witnesses.
10863         * lib/pty.in.h (forkpty, openpty): Declare replacements.
10864         * tests/test-forkpty.c: Update signature check.
10865         * tests/test-openpty.c: Likewise.
10866         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
10867         * doc/glibc-functions/openpty.texi (openpty): Likewise.
10868
10869         forkpty, openpty: split functions into new modules
10870         * modules/pty (Makefile.am): Substitute new witnesses.
10871         (Libraries): Move library detection...
10872         * modules/forkpty: ...into new module.
10873         * modules/openpty: Another new module.
10874         * modules/pty-tests: Rename and split...
10875         * modules/forkpty-tests: ...to this...
10876         * modules/openpty-tests: ...and this.
10877         * tests/test-pty.c: Rename and split...
10878         * tests/test-forkpty.c: ...to this...
10879         * tests/test-openpty.c: ...and this.
10880         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
10881         (gl_PTY): Split library searching...
10882         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
10883         (gl_FORKPTY, gl_OPENPTY): New macros.
10884         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
10885         * NEWS: Mention the split.
10886         * MODULES.html.sh (Misc): Document the modules.
10887         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
10888         * doc/glibc-functions/openpty.texi (openpty): Likewise.
10889
10890         pty: improve replacement header
10891         * lib/pty.in.h: New file.
10892         * modules/pty (Files): Ship it.
10893         (Makefile.am): Always build replacement.
10894         * m4/pty.m4: Rename...
10895         * m4/pty_h.m4: ...to this.
10896         (gl_PTY): Modernize setting of witness macros; update check of
10897         forkpty to take proper advantage of cache.
10898         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
10899
10900         getopt: avoid compiler warning
10901         * lib/getopt.c (attribute_hidden): Remove unused macro.
10902
10903 2010-03-18  Bruno Haible  <bruno@clisp.org>
10904
10905         Fix link errors on Solaris 8.
10906         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
10907         * modules/search-tests (test_search_c___LDADD): Likewise.
10908         * modules/signal-tests (test_signal_c___LDADD): Likewise.
10909         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
10910         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
10911         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
10912         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
10913         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
10914         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
10915
10916 2010-03-18  Bruno Haible  <bruno@clisp.org>
10917
10918         Fix bug introduced on 2010-03-14.
10919         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
10920         (gl_SPAWN_H): Require it.
10921         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
10922         Reported by Simon Josefsson.
10923
10924 2010-03-18  Bruno Haible  <bruno@clisp.org>
10925
10926         Fix typo introduced on 2009-12-31.
10927         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
10928         posix_spawn_file_actions_adddup2.
10929
10930 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
10931         and Eric Blake  <eblake@redhat.com>
10932
10933         test-vc-list-files-git: make more robust
10934         * tests/test-vc-list-files-git.sh: Unset problematic environment
10935         variables.  Chain commands together.
10936
10937 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
10938
10939         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
10940         `AC_CHECK_DECL' invocation.
10941
10942 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
10943
10944         * lib/inttostr.c (inttostr): Make sure the invocation of verify
10945         appears before executable statements. Suggested by Petr Sumbera
10946         <Petr.Sumbera@Sun.COM>.
10947
10948 2010-03-14  Bruno Haible  <bruno@clisp.org>
10949
10950         * tests/test-flock.c (test_exclusive): Comment out a test that causes
10951         portability problems. Instead use a simpler test.
10952         (main): Check that invalid arguments are rejected only on Linux.
10953
10954 2010-03-14  Bruno Haible  <bruno@clisp.org>
10955
10956         Fix bug introduced on 2009-12-31.
10957         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
10958         gl_PREREQ_SYS_H_WINSOCK2 always.
10959         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
10960         SYS_SOCKET_H variable.
10961         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
10962         Update comments.
10963         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
10964         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
10965         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10966         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10967         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10968
10969 2010-03-14  Bruno Haible  <bruno@clisp.org>
10970
10971         Fix values returned by sinl, cosl.
10972         * lib/trigl.h: Add specification comments.
10973         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
10974         that combines the values from the precomputed table with the values of
10975         the Chebyshev polynomials.
10976
10977 2010-03-14  Bruno Haible  <bruno@clisp.org>
10978
10979         Fix compilation error when modules 'posix_spawn[p]' are not used.
10980         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
10981         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
10982
10983 2010-03-14  Bruno Haible  <bruno@clisp.org>
10984
10985         Fix compilation error on mingw when module 'time_r' is not used.
10986         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
10987         is 1.
10988         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
10989         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
10990         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
10991         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
10992
10993 2010-03-14  Bruno Haible  <bruno@clisp.org>
10994
10995         Fix compilation error with Sun C.
10996         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
10997         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
10998         instead of GCC specific ULONG_LONG_MAX.
10999         * lib/xstrtoll.c: Likewise.
11000         * lib/xstrtoull.c: Likewise.
11001
11002 2010-03-13  Bruno Haible  <bruno@clisp.org>
11003
11004         Allow the user to disable C++ code and tests.
11005         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
11006         (gl_PROG_ANSI_CXX): Require it.
11007
11008 2010-03-13  Bruno Haible  <bruno@clisp.org>
11009
11010         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
11011         cases.
11012
11013 2010-03-13  Bruno Haible  <bruno@clisp.org>
11014
11015         Test that gnulib does not break the standard C++ headers.
11016         * tests/test-locale-c++2.cc: New file.
11017         * modules/locale-tests (Files): Add it.
11018         (Makefile.am): Compile it for test-locale-c++.
11019         * tests/test-math-c++2.cc: New file.
11020         * modules/math-tests (Files): Add it.
11021         (Makefile.am): Compile it for test-math-c++.
11022         * tests/test-signal-c++2.cc: New file.
11023         * modules/signal-tests (Files): Add it.
11024         (Makefile.am): Compile it for test-signal-c++.
11025         * tests/test-stdio-c++2.cc: New file.
11026         * modules/stdio-tests (Files): Add it.
11027         (Makefile.am): Compile it for test-stdio-c++.
11028         * tests/test-stdlib-c++2.cc: New file.
11029         * modules/stdlib-tests (Files): Add it.
11030         (Makefile.am): Compile it for test-stdlib-c++.
11031         * tests/test-string-c++2.cc: New file.
11032         * modules/string-tests (Files): Add it.
11033         (Makefile.am): Compile it for test-string-c++.
11034         * tests/test-time-c++2.cc: New file.
11035         * modules/time-tests (Files): Add it.
11036         (Makefile.am): Compile it for test-time-c++.
11037         Reported by John W. Eaton <jwe@gnu.org>.
11038
11039 2010-03-13  Bruno Haible  <bruno@clisp.org>
11040
11041         * gnulib-tool (func_usage): Clarify which options are available for
11042         --create-testdir and --create-megatestdir.
11043
11044 2010-03-13  Bruno Haible  <bruno@clisp.org>
11045
11046         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
11047         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
11048         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
11049         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
11050         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
11051         when appropriate.
11052         Reported by Jim Meyering.
11053
11054 2010-03-12  Simon Josefsson  <simon@josefsson.org>
11055
11056         * gnulib-tool (func_import): Explain origin of code.
11057
11058 2010-03-12  Bruno Haible  <bruno@clisp.org>
11059
11060         Fix problem with automake's definition of CXXLINK.
11061         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
11062         Reported by Simon Josefsson and Ludovic Courtès.
11063
11064 2010-03-12  Bruno Haible  <bruno@clisp.org>
11065
11066         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
11067         stable releases.
11068
11069 2010-03-11  Bruno Haible  <bruno@clisp.org>
11070
11071         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
11072         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
11073         whether the system provides one variant or multiple variants of the
11074         function.
11075         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
11076         C++ compilers.
11077         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
11078         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
11079         Reported by Jim Meyering.
11080
11081 2010-03-09  Simon Josefsson  <simon@josefsson.org>
11082
11083         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
11084
11085 2010-03-08  Bruno Haible  <bruno@clisp.org>
11086
11087         gnulib-tool: Add support for --libtool in --create-testdir.
11088         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
11089         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
11090
11091 2010-03-08  Eric Blake  <eblake@redhat.com>
11092
11093         gnulib-tool.texi: mention possibility of git submodule
11094         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
11095         submodules.
11096         * doc/.gitignore: Ignore another generated file.
11097
11098 2010-03-08  Karl Berry  <karl@gnu.org>
11099
11100         * doc/gnulib-tool.texi (VCS Issues): Mention third option
11101         of committing gnulib files while skipping others.
11102
11103 2010-03-07  Bruno Haible  <bruno@clisp.org>
11104
11105         Tests of module 'wctype' in C++ mode.
11106         * tests/test-wctype-c++.cc: New file.
11107         * modules/wctype-tests (Files): Add it and tests/signature.h.
11108         (Depends-on): Add ansi-c++-opt.
11109         (Makefile.am): Arrange to compile and run test-wctype-c++.
11110
11111         Tests of module 'wchar' in C++ mode.
11112         * tests/test-wchar-c++.cc: New file.
11113         * modules/wchar-tests (Files): Add it and tests/signature.h.
11114         (Depends-on): Add ansi-c++-opt.
11115         (Makefile.am): Arrange to compile and run test-wchar-c++.
11116         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
11117         gl_MODULE_INDICATOR.
11118
11119         Tests of module 'unistd' in C++ mode.
11120         * tests/test-unistd-c++.cc: New file.
11121         * modules/unistd-tests (Files): Add it and tests/signature.h.
11122         (Depends-on): Add ansi-c++-opt.
11123         (Makefile.am): Arrange to compile and run test-unistd-c++.
11124         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
11125         gl_MODULE_INDICATOR.
11126
11127         Tests of module 'time' in C++ mode.
11128         * tests/test-time-c++.cc: New file.
11129         * modules/time-tests (Files): Add it and tests/signature.h.
11130         (Depends-on): Add ansi-c++-opt.
11131         (Makefile.am): Arrange to compile and run test-time-c++.
11132         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
11133
11134         Tests of module 'sys_time' in C++ mode.
11135         * tests/test-sys_time-c++.cc: New file.
11136         * modules/sys_time-tests (Files): Add it and tests/signature.h.
11137         (Depends-on): Add ansi-c++-opt.
11138         (Makefile.am): Arrange to compile and run test-sys_time-c++.
11139         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
11140         gl_MODULE_INDICATOR.
11141
11142         Tests of module 'sys_stat' in C++ mode.
11143         * tests/test-sys_stat-c++.cc: New file.
11144         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
11145         (Depends-on): Add ansi-c++-opt.
11146         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
11147         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
11148         gl_MODULE_INDICATOR.
11149
11150         Tests of module 'sys_socket' in C++ mode.
11151         * tests/test-sys_socket-c++.cc: New file.
11152         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
11153         (Depends-on): Add ansi-c++-opt.
11154         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
11155         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
11156         gl_MODULE_INDICATOR.
11157
11158         Tests of module 'sys_select' in C++ mode.
11159         * tests/test-sys_select-c++.cc: New file.
11160         * modules/sys_select-tests (Files): Add it and tests/signature.h.
11161         (Depends-on): Add ansi-c++-opt.
11162         (Makefile.am): Arrange to compile and run test-sys_select-c++.
11163         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
11164         gl_MODULE_INDICATOR.
11165
11166         Tests of module 'sys_ioctl' in C++ mode.
11167         * tests/test-sys_ioctl-c++.cc: New file.
11168         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
11169         (Depends-on): Add ansi-c++-opt.
11170         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
11171         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
11172         gl_MODULE_INDICATOR.
11173
11174         Tests of module 'string' in C++ mode.
11175         * tests/test-string-c++.cc: New file.
11176         * modules/string-tests (Files): Add it and tests/signature.h.
11177         (Depends-on): Add ansi-c++-opt.
11178         (Makefile.am): Arrange to compile and run test-string-c++.
11179         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
11180         gl_MODULE_INDICATOR.
11181
11182         Tests of module 'stdlib' in C++ mode.
11183         * tests/test-stdlib-c++.cc: New file.
11184         * modules/stdlib-tests (Files): Add it and tests/signature.h.
11185         (Depends-on): Add ansi-c++-opt.
11186         (Makefile.am): Arrange to compile and run test-stdlib-c++.
11187         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
11188         gl_MODULE_INDICATOR.
11189
11190         Tests of module 'stdio' in C++ mode.
11191         * tests/test-stdio-c++.cc: New file.
11192         * modules/stdio-tests (Files): Add it and tests/signature.h.
11193         (Depends-on): Add ansi-c++-opt.
11194         (Makefile.am): Arrange to compile and run test-stdio-c++.
11195         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
11196         gl_MODULE_INDICATOR.
11197
11198         Tests of module 'spawn' in C++ mode.
11199         * tests/test-spawn-c++.cc: New file.
11200         * modules/spawn-tests (Files): Add it and tests/signature.h.
11201         (Depends-on): Add ansi-c++-opt.
11202         (Makefile.am): Arrange to compile and run test-spawn-c++.
11203         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
11204         gl_MODULE_INDICATOR.
11205
11206         Tests of module 'signal' in C++ mode.
11207         * tests/test-signal-c++.cc: New file.
11208         * modules/signal-tests (Files): Add it and tests/signature.h.
11209         (Depends-on): Add ansi-c++-opt.
11210         (Makefile.am): Arrange to compile and run test-signal-c++.
11211         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
11212         gl_MODULE_INDICATOR.
11213
11214         Tests of module 'search' in C++ mode.
11215         * tests/test-search-c++.cc: New file.
11216         * modules/search-tests (Files): Add it and tests/signature.h.
11217         (Depends-on): Add ansi-c++-opt.
11218         (Makefile.am): Arrange to compile and run test-search-c++.
11219         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
11220         gl_MODULE_INDICATOR.
11221
11222         Tests of module 'math' in C++ mode.
11223         * tests/test-math-c++.cc: New file.
11224         * modules/math-tests (Files): Add it and tests/signature.h.
11225         (Depends-on): Add ansi-c++-opt.
11226         (Makefile.am): Arrange to compile and run test-math-c++.
11227         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
11228
11229         Tests of module 'locale' in C++ mode.
11230         * tests/test-locale-c++.cc: New file.
11231         * modules/locale-tests (Files): Add it and tests/signature.h.
11232         (Depends-on): Add ansi-c++-opt.
11233         (Makefile.am): Arrange to compile and run test-locale-c++.
11234         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
11235         gl_MODULE_INDICATOR.
11236
11237         Tests of module 'langinfo' in C++ mode.
11238         * tests/test-langinfo-c++.cc: New file.
11239         * modules/langinfo-tests (Files): Add it and tests/signature.h.
11240         (Depends-on): Add ansi-c++-opt.
11241         (Makefile.am): Arrange to compile and run test-langinfo-c++.
11242         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
11243         gl_MODULE_INDICATOR.
11244
11245         Tests of module 'iconv-h' in C++ mode.
11246         * tests/test-iconv-h-c++.cc: New file.
11247         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
11248         (Depends-on): Add ansi-c++-opt.
11249         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
11250
11251         Tests of module 'glob' in C++ mode.
11252         * tests/test-glob-c++.cc: New file.
11253         * modules/glob-tests (Files): Add it.
11254         (Depends-on): Add ansi-c++-opt.
11255         (Makefile.am): Arrange to compile and run test-glob-c++.
11256
11257         Tests of module 'fcntl-h' in C++ mode.
11258         * tests/test-fcntl-h-c++.cc: New file.
11259         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
11260         (Depends-on): Add ansi-c++-opt.
11261         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
11262         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
11263         gl_MODULE_INDICATOR.
11264
11265         Tests of module 'dirent' in C++ mode.
11266         * tests/test-dirent-c++.cc: New file.
11267         * modules/dirent-tests (Files): Add it and tests/signature.h.
11268         (Depends-on): Add ansi-c++-opt.
11269         (Makefile.am): Arrange to compile and run test-dirent-c++.
11270         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
11271         gl_MODULE_INDICATOR.
11272
11273         New module 'ansi-c++-opt'.
11274         * modules/ansi-c++-opt: New file.
11275         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
11276
11277         Document C++ namespace mode.
11278         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
11279
11280         wctype: Avoid #define replacements in C++ mode.
11281         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
11282         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
11283         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
11284         In C++, define a namespaced alias symbol.
11285         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
11286         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
11287         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
11288         rule.
11289
11290         wchar: Avoid #define replacements in C++ mode.
11291         * lib/wchar.in.h: Include c++defs.h.
11292         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
11293         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
11294         symbol.
11295         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
11296         * modules/wchar (Depends-on): Add c++defs.
11297         (Makefile.am): Update wchar.h rule.
11298
11299         unistd: Avoid #define replacements in C++ mode.
11300         * lib/unistd.in.h: Include c++defs.h.
11301         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
11302         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
11303         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
11304         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
11305         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
11306         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
11307         symbol.
11308         (environ): Update.
11309         * modules/unistd (Depends-on): Add c++defs.
11310         (Makefile.am): Update unistd.h rule.
11311
11312         time: Avoid #define replacements in C++ mode.
11313         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
11314         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
11315         define a namespaced alias symbol.
11316         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
11317         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
11318         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
11319         * modules/time (Depends-on): Add c++defs, warn-on-use.
11320         (Makefile.am): Update time.h rule.
11321         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
11322         * modules/nanosleep (configure.ac): Likewise.
11323         * modules/strptime (configure.ac): Likewise.
11324         * modules/timegm (configure.ac): Likewise.
11325
11326         sys_time: Avoid #define replacements in C++ mode.
11327         * lib/sys_time.in.h: Include c++defs.h.
11328         (gettimeofday): In C++, define a namespaced alias symbol.
11329         * modules/sys_time (Depends-on): Add c++defs.
11330         (Makefile.am): Update sys/time.h rule.
11331
11332         sys_stat: Avoid #define replacements in C++ mode.
11333         * lib/sys_stat.in.h: Include c++defs.h.
11334         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
11335         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
11336         namespaced alias symbol.
11337         In C++, define a namespaced alias symbol.
11338         * modules/sys_stat (Depends-on): Add c++defs.
11339         (Makefile.am): Update sys/stat.h rule.
11340
11341         sys_socket: Avoid #define replacements in C++ mode.
11342         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
11343         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
11344         definitions also when the system has a <sys/socket.h>.
11345         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11346         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
11347         In C++, define a namespaced alias symbol.
11348         * modules/sys_socket (Depends-on): Add c++defs.
11349         (Makefile.am): Update sys/socket.h rule.
11350
11351         sys_select: Avoid #define replacements in C++ mode.
11352         * lib/sys_select.in.h: Include c++defs.h. Enable the function
11353         definitions also when the system has a <sys/select.h>.
11354         (select): In C++, define a namespaced alias symbol.
11355         * modules/sys_select (Depends-on): Add c++defs.
11356         (Makefile.am): Update sys/select.h rule.
11357
11358         sys_ioctl: Avoid #define replacements in C++ mode.
11359         * lib/sys_ioctl.in.h: Include c++defs.h.
11360         (ioctl): In C++, define a namespaced alias symbol.
11361         * modules/sys_ioctl (Depends-on): Add c++defs.
11362         (Makefile.am): Update sys/ioctl.h rule.
11363
11364         string: Avoid #define replacements in C++ mode.
11365         * lib/string.in.h: Include c++defs.h.
11366         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
11367         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
11368         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
11369         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
11370         strsignal, strverscmp): In C++, define a namespaced alias symbol.
11371         * modules/string (Depends-on): Add c++defs.
11372         (Makefile.am): Update string.h rule.
11373
11374         stdlib: Avoid #define replacements in C++ mode.
11375         * lib/stdlib.in.h: Include c++defs.h.
11376         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
11377         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
11378         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
11379         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
11380         symbol.
11381         * modules/stdlib (Depends-on): Add c++defs.
11382         (Makefile.am): Update stdlib.h rule.
11383
11384         stdio: Avoid #define replacements in C++ mode.
11385         * lib/stdio.in.h: Include c++defs.h.
11386         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
11387         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
11388         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
11389         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
11390         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
11391         namespaced alias symbol.
11392         * modules/stdio (Depends-on): Add c++defs.
11393         (Makefile.am): Update stdio.h rule.
11394
11395         spawn: Avoid #define replacements in C++ mode.
11396         * lib/spawn.in.h: Include c++defs.h.
11397         (posix_spawn, posix_spawnp, posix_spawnattr_init,
11398         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
11399         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
11400         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
11401         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
11402         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
11403         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11404         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
11405         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
11406         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11407         In C++, define a namespaced alias symbol.
11408         * modules/spawn (Depends-on): Add c++defs.
11409         (Makefile.am): Update spawn.h rule.
11410
11411         signal: Avoid #define replacements in C++ mode.
11412         * lib/signal.in.h: Include c++defs.h.
11413         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
11414         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
11415         namespaced alias symbol.
11416         * modules/signal (Depends-on): Add c++defs.
11417         (Makefile.am): Update signal.h rule.
11418
11419         search: Avoid #define replacements in C++ mode.
11420         * lib/search.in.h: Include c++defs.h.
11421         (_gl_search_compar_fn, _gl_search_action_fn): New types.
11422         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
11423         symbol.
11424         * modules/search (Depends-on): Add c++defs.
11425         (Makefile.am): Update search.h rule.
11426
11427         math: Avoid #define replacements in C++ mode.
11428         * lib/math.in.h: Include c++defs.h.
11429         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
11430         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
11431         trunc, truncl): In C++, define a namespaced alias symbol.
11432         * modules/math (Depends-on): Add c++defs.
11433         (Makefile.am): Update math.h rule.
11434
11435         locale: Avoid #define replacements in C++ mode.
11436         * lib/locale.in.h: Include c++defs.h.
11437         (duplocale): In C++, define a namespaced alias symbol.
11438         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
11439         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
11440         * modules/locale (Depends-on): Add c++defs.
11441         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
11442
11443         langinfo: Avoid #define replacements in C++ mode.
11444         * lib/langinfo.in.h: Include c++defs.h.
11445         (nl_langinfo): In C++, define a namespaced alias symbol.
11446         * modules/langinfo (Depends-on): Add c++defs.
11447         (Makefile.am): Update langinfo.h rule.
11448
11449         iconv-h: Avoid #define replacements in C++ mode.
11450         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
11451         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
11452         symbol.
11453         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
11454         whenever iconv is present.
11455         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
11456         (Makefile.am): Update iconv.h rule.
11457
11458         glob: Avoid #define replacements in C++ mode.
11459         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
11460         (_gl_glob_errfunc_fn): New type.
11461         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
11462         symbol.
11463         * modules/glob (Depends-on): Add c++defs, warn-on-use.
11464         (Makefile.am): Update glob.h rule.
11465
11466         fcntl-h: Avoid #define replacements in C++ mode.
11467         * lib/fcntl.in.h: Include c++defs.h.
11468         (fcntl, open, openat): In C++, define a namespaced alias symbol.
11469         * modules/fcntl-h (Depends-on): Add c++defs.
11470         (Makefile.am): Update fcntl.h rule.
11471
11472         dirent: Avoid #define replacements in C++ mode.
11473         * lib/dirent.in.h: Include c++defs.h.
11474         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
11475         namespaced alias symbol.
11476         (dirfd): Update declaration.
11477         * modules/dirent (Depends-on): Add c++defs.
11478         (Makefile.am): Update dirent.h rule.
11479
11480         ctype: Make it usable in C++ code.
11481         * lib/ctype.in.h: Include c++defs.h.
11482         (isblank): Declare as extern "C".
11483         * modules/ctype (Depends-on): Add c++defs.
11484         (Makefile.am): Update ctype.h rule.
11485
11486         New module 'c++defs'.
11487         * modules/c++defs: New file.
11488         * build-aux/c++defs.h: New file.
11489         Reported by John W. Eaton <jwe@gnu.org>.
11490
11491 2010-03-07  Bruno Haible  <bruno@clisp.org>
11492
11493         logb: Provide missing declaration for Cygwin.
11494         * lib/math.in.h (logb): New declaration.
11495         * m4/logb.m4: New file.
11496         * modules/logb (Files): Add m4/logb.m4.
11497         (Depends-on): Add math.
11498         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
11499         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
11500         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
11501         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
11502         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
11503
11504 2010-03-07  Bruno Haible  <bruno@clisp.org>
11505
11506         Fix test-cond link error.
11507         * tests/test-cond.c: Include <stdio.h>.
11508
11509 2010-03-07  Bruno Haible  <bruno@clisp.org>
11510
11511         Fix test-dirent-safer link error.
11512         * modules/dirent-safer-tests (Makefile.am): Define
11513         test_dirent_safer_LDADD.
11514
11515 2010-03-07  Bruno Haible  <bruno@clisp.org>
11516
11517         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
11518         among default module list.
11519
11520 2010-03-07  Bruno Haible  <bruno@clisp.org>
11521
11522         Fix link error on platforms with GNU libiconv.
11523         * modules/unistr/u8-strcoll-tests (Makefile): Define
11524         test_u8_strcoll_LDADD.
11525         * modules/unistr/u16-strcoll-tests (Makefile): Define
11526         test_u16_strcoll_LDADD.
11527         * modules/unistr/u32-strcoll-tests (Makefile): Define
11528         test_u32_strcoll_LDADD.
11529
11530 2010-03-07  Bruno Haible  <bruno@clisp.org>
11531
11532         Use POSIX declarations for socket functions.
11533         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
11534         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
11535         rpl_sendto): Change declaration to match POSIX.
11536         * lib/connect.c (rpl_connect): Likewise.
11537         * lib/accept.c (rpl_accept): Likewise.
11538         * lib/bind.c (rpl_bind): Likewise.
11539         * lib/getpeername.c (rpl_getpeername): Likewise.
11540         * lib/getsockname.c (rpl_getsockname): Likewise.
11541         * lib/recv.c (rpl_recv): Likewise.
11542         * lib/send.c (rpl_send): Likewise.
11543         * lib/recvfrom.c (rpl_recvfrom): Likewise.
11544         * lib/sendto.c (rpl_sendto): Likewise.
11545
11546 2010-03-06  Bruno Haible  <bruno@clisp.org>
11547
11548         Clarify access, euidaccess, faccessat.
11549         * doc/posix-functions/faccessat.texi: Mention security problem under
11550         "Other problems", not "Portability problems".
11551         * doc/posix-functions/access.texi: Likewise. Mention a related security
11552         problem.
11553         * doc/glibc-functions/euidaccess.texi: Mention security problems.
11554         * lib/euidaccess.c: Add comments about platforms.
11555         * lib/unistd.in.h (access, euidaccess): Add warnings.
11556
11557 2010-03-07  Bruno Haible  <bruno@clisp.org>
11558
11559         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
11560         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
11561         (POSIX_SPAWN_SETSCHEDULER): Likewise.
11562         (POSIX_SPAWN_USEVFORK): Define in a way that works when
11563         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
11564         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
11565         declare when POSIX_SPAWN_SETSCHEDULER is zero.
11566         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
11567         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
11568         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
11569         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
11570         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
11571         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
11572         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
11573         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
11574         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
11575         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
11576         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
11577         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
11578         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
11579         Likewise.
11580         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
11581         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
11582         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
11583         Likewise.
11584         * tests/test-spawn.c (main): Make it work when
11585         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
11586
11587 2010-03-07  Bruno Haible  <bruno@clisp.org>
11588
11589         Fix incorrect Makefile.am generation in German locale.
11590         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11591         Execute sed command with character range in C locale.
11592
11593 2010-03-06  Bruno Haible  <bruno@clisp.org>
11594
11595         Tests for module 'iconv-h'.
11596         * modules/iconv-h-tests: New file.
11597         * tests/test-iconv-h.c: New file.
11598
11599         New module 'iconv-h'.
11600         * modules/iconv-h: New file.
11601         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
11602         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
11603         (configure.ac): Remove gl_ICONV_H.
11604         (Makefile.am): Remove rule for iconv.h.
11605
11606 2010-03-06  Bruno Haible  <bruno@clisp.org>
11607
11608         More consistent naming of *.m4 files.
11609         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
11610         * modules/wctype (Files): Update.
11611
11612         More consistent naming of *.m4 files.
11613         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
11614         * modules/wchar (Files): Update.
11615
11616 2010-03-06  Jim Meyering  <meyering@redhat.com>
11617
11618         euidaccess: relax license to LGPLv2+
11619         * modules/euidaccess (License): Relax to LGPLv2+.
11620
11621 2010-03-06  Bruno Haible  <bruno@clisp.org>
11622
11623         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
11624         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
11625         (Makefile.am): Augment lib_SOURCES instead.
11626
11627 2010-03-04  Jim Meyering  <meyering@redhat.com>
11628
11629         utime: remove obsolete module
11630         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
11631         unnecessary for years, and has been marked as obsolete for 10 months.
11632         * modules/utime: Remove file.
11633         * lib/utime.c: Remove file.
11634         * m4/utime.m4: Remove file.
11635         * m4/utimes-null.m4: Remove file.
11636         * doc/posix-functions/utime.texi (utime): Remove reference to
11637         the module.  Move the sole "fixed by gnulib" item into the
11638         "problems not fixed by Gnulib" list.
11639         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
11640
11641 2010-03-05  Simon Josefsson  <simon@josefsson.org>
11642
11643         * modules/exit (License): Relax license to LGPLv2+.
11644         (Status): Mark as obsolete.
11645         * NEWS: Mention deprecated 'exit' module.
11646         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
11647         of now obsolete 'exit'.
11648
11649 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11650
11651         fts-lgpl: remove unused module
11652         * modules/fts-lgpl: Remove.
11653         * MODULES.html.sh (func_all_modules): Adjust.
11654         * check-module (find_included_lib_files): Adjust.
11655         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
11656
11657 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
11658
11659         copy-acl: enhance Solaris ACL error handling
11660         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
11661         * lib/set-mode-acl.c (qset_acl): Likewise.
11662
11663 2010-03-02  Bruno Haible  <bruno@clisp.org>
11664
11665         spawn: Don't override the system defined values on FreeBSD 8.
11666         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
11667         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
11668         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
11669         if HAVE_POSIX_SPAWN is 1.
11670         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
11671
11672 2010-03-01  Bruno Haible  <bruno@clisp.org>
11673
11674         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
11675         regarding Automake.
11676
11677 2010-02-25  Bruno Haible  <bruno@clisp.org>
11678
11679         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
11680         * gnulib-tool: Define 'echo' as a function only before the ksh alias
11681         setting, not afterwards.
11682         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
11683
11684 2010-02-24  Eric Blake  <eblake@redhat.com>
11685
11686         bootstrap, git-version-gen: use timestamp
11687         * build-aux/git-version-gen (scriptversion): Force UTC.
11688         * build-aux/bootstrap (scriptversion): New variable.
11689
11690         bootstrap: allow older git
11691         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
11692         older than 1.6.4.  Requested by the libvirt project.
11693
11694 2010-02-23  Eric Blake  <eblake@redhat.com>
11695
11696         warn-on-use: work with old autoconf
11697         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
11698         AS_VAR semantics of autoconf 2.60.
11699         Reported by Bruno Haible.
11700
11701         bootstrap: improve some comments
11702         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
11703         clarification comments.
11704
11705         gettimeofday: provide correct function
11706         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
11707         when replacement is declared, otherwise provide gettimeofday.
11708         Reported by Michael Goffioul.
11709
11710 2010-02-23  Jim Meyering  <meyering@redhat.com>
11711
11712         lib-ignore: relax license to "unlimited", not LGPLv2+
11713         * modules/lib-ignore (License): Relax to "unlimited".
11714
11715 2010-02-23  Jim Meyering  <meyering@redhat.com>
11716
11717         lib-ignore: relax license to LGPLv2+
11718         * modules/lib-ignore (License): Relax to LGPLv2+.
11719
11720 2010-02-22  Eric Blake  <eblake@redhat.com>
11721
11722         lseek: avoid bash 3.2 broken pipe bug
11723         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
11724         warning from bash 3.2.
11725         Reported by Ben Pfaff, with analysis from Bruno Haible.
11726
11727         bootstrap: support non-FSF copyright holder
11728         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
11729         bootstrap.conf override of COPYRIGHT_HOLDER.
11730         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
11731
11732         bootstrap: interoperate with gettext 0.14.1
11733         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
11734
11735         bootstrap: allow for alternate submodule location
11736         * build-aux/bootstrap (gnulib_path): New variable; use instead of
11737         hardcoding submodule location.
11738         (gnulib_mk): Allow direct use of Makefile.am.
11739
11740         bootstrap: use GNULIB_SRCDIR to reduce disk usage
11741         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
11742         rather than reconfiguring where the submodule points.
11743
11744         gettimeofday: restore support for platforms that lack function
11745         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
11746         replacement if function is missing.
11747         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
11748         * modules/sys_time (Makefile.am): Substitute it.
11749         * lib/sys_time.in.h (gettimeofday): Check it.
11750         Reported by Michael Goffioul.
11751
11752 2010-02-21  Bruno Haible  <bruno@clisp.org>
11753
11754         * lib/stdio.in.h (obstack_printf): Fix typo.
11755
11756 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
11757
11758         vc-list-files: use bzr ls's -R option
11759         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
11760         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
11761
11762 2010-02-21  Jim Meyering  <meyering@redhat.com>
11763
11764         init.sh: fix EXEEXT shims to work also for names like test-prog
11765         * tests/init.sh: Re-exec a better shell, when needed.
11766         If the current shell lacks support for posix $(...), an init.sh-using
11767         test will now try to find a shell that supports that.  If EXEEXT is
11768         nonempty, we also require support for hyphen-in-alias-name and shell
11769         substitutions like ${var#glob}.  Failure to find such a shell results
11770         in a skipped test.
11771
11772 2010-02-21  Bruno Haible  <bruno@clisp.org>
11773
11774         Really work around around "broken pipe" error message from bash 3.2.
11775         * gnulib-tool (func_reset_sigpipe): Remove function.
11776         (echo): In bash 3.2, define to a function that uses printf.
11777         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
11778
11779 2010-02-20  Bruno Haible  <bruno@clisp.org>
11780
11781         Restore support for automake 1.9.6 with autoconf 2.61.
11782         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
11783         Reported by James Youngman <jay@gnu.org>.
11784
11785 2010-02-20  Bruno Haible  <bruno@clisp.org>
11786
11787         Improve *printf warning condition.
11788         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
11789         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
11790         and the function is overridden due to SIGPIPE emulation.
11791
11792 2010-02-20  Bruno Haible  <bruno@clisp.org>
11793
11794         * lib/stdio.in.h: Tweak comments.
11795
11796 2010-02-19  Bruno Haible  <bruno@clisp.org>
11797
11798         Make it easier to find modules. New gnulib-tool option '--find'.
11799         * gnulib-tool: New option --find.
11800         (func_usage): Document it.
11801         (func_sanitize_modulelist): New function, extracted from
11802         func_all_modules.
11803         (func_all_modules): Invoke it.
11804         * doc/gnulib-tool.texi (Which modules?): New node.
11805
11806 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
11807
11808         * lib/sys_select.in.h: Provide select replacement even if
11809         sys/select.h exists on a system, for Interix.
11810
11811 2010-02-18  Jim Meyering  <meyering@redhat.com>
11812
11813         init.sh: don't use $(...) just yet
11814         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
11815         to accommodate e.g., Solaris' /bin/sh.
11816
11817 2010-02-17  Bruno Haible  <bruno@clisp.org>
11818
11819         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
11820         Reported by Ludovic Courtès <ludo@gnu.org>.
11821
11822 2010-02-16  Simon Josefsson  <simon@josefsson.org>
11823
11824         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
11825         linking with -lintl.
11826
11827 2010-02-17  Simon Josefsson  <simon@josefsson.org>
11828
11829         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
11830         if not provided by the system's netdb.h.  Reported by
11831         ludo@gnu.org (Ludovic Courtès).
11832
11833 2010-02-15  Jim Meyering  <meyering@redhat.com>
11834
11835         init.sh: improve portability and efficiency
11836         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
11837         "dummy" in a for loop.
11838         Use '!', not '^' to select the complement of a character set used
11839         in a "case" statement.
11840         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
11841         Suggestions from Eric Blake.
11842
11843         init.sh: automatically accommodate programs with the .exe suffix
11844         Automatically arrange for an invocation of "prog" to execute the
11845         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
11846         may use the simpler "prog", yet still work when built on a system
11847         that requires specifying the added suffix.
11848         Do this by constructing a function named "prog" that invokes
11849         "prog.exe" for each .exe file in selected directories.
11850         * tests/init.sh (find_exe_basenames_): New function.
11851         (create_exe_shim_functions_): New function.
11852         (path_prepend_): Use it.
11853
11854         maint.mk: mark syntax-check sc_*.m rules as .PHONY
11855         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
11856         "make -t syntax-check" doesn't create a ton of sc_*.m files.
11857
11858 2010-02-14  Jim Meyering  <meyering@redhat.com>
11859
11860         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
11861         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
11862         (sc_prohibit_hash_pjw_without_use): New rule.
11863
11864         maint.mk: allow the default upload destination dir to be overridden
11865         * top/maint.mk (upload_dest_dir_): Define with a default that
11866         preserves the status quo.
11867         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
11868         Reported by Peter Simons.
11869
11870         maint.mk: prohibit inclusion of "hash.h" without_use
11871         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
11872
11873 2010-02-10  Jim Meyering  <meyering@redhat.com>
11874
11875         maint.mk: prohibit inclusion of "ignore-value.h" without_use
11876         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
11877
11878 2010-02-09  Eric Blake  <ebb9@byu.net>
11879         and Bruno Haible  <bruno@clisp.org>
11880
11881         obstack-printf-posix: ensure declaration
11882         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
11883         extracted from gl_FUNC_OBSTACK_PRINTF.
11884         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
11885         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
11886         Likewise.
11887         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
11888         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
11889         0.
11890
11891 2010-02-08  Bruno Haible  <bruno@clisp.org>
11892
11893         gnulib-tool: Fix typo in 2010-02-07 commit.
11894         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
11895         Reported by Eric Blake.
11896
11897 2010-02-07  Bruno Haible  <bruno@clisp.org>
11898
11899         gnulib-tool: Fix up caching patches.
11900         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
11901         option --no-cache. Use associative arrays when supported by the shell.
11902         (sed_comments): New variable.
11903         (modcache): Renamed from do_cache.
11904         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
11905         abbreviate unnecessarily.
11906         (have_associative): New variable.
11907         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
11908         way also for ksh and zsh.
11909         (func_init_sed_convert_to_cache_statements): New function, extracted
11910         from func_cache_lookup_module. Add support for associative arrays.
11911         Don't set the c_MODULE_cached variable here. Ignore all lines before
11912         the first field header. Remove only the final newline, not all trailing
11913         newlines. Support empty fields correctly. Limit the use of 'eval' to
11914         assignments.
11915         (func_get_description, func_get_status, func_get_notice,
11916         func_get_applicability, func_get_filelist, func_get_dependencies,
11917         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
11918         func_get_automake_snippet, func_get_include_directive,
11919         func_get_link_directive, func_get_license, func_get_maintainer):
11920         Update documentation. List the unoptimized code first. Add support for
11921         associative arrays. Limit the use of 'eval' to assignments.
11922         (func_get_applicability): Undo stylistic pessimisations.
11923         (func_get_automake_snippet, func_get_include_directive): Reduce code
11924         duplication.
11925         (func_modules_transitive_closure, func_modules_add_dummy,
11926         func_modules_notice, func_modules_to_filelist, func_add_file,
11927         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
11928         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
11929         func_create_testdir, func_create_megatestdir): Update documentation.
11930
11931 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11932
11933         * gnulib-tool (func_cache_lookup_module): Store the module name
11934         belonging to the cache variable; error out if two different
11935         module names map to the same cache variable name.
11936
11937 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11938
11939         gnulib-tool: Make caching optional.
11940         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
11941         Update matching short versions of --no-changelog.
11942         (func_usage): Update.
11943         (sed_extract_cache_prog): Renamed from ...
11944         (sed_extract_prog): ... this; revert to old extraction script.
11945         (func_get_description, func_get_status)
11946         (func_get_notice, func_get_applicability, func_get_filelist)
11947         (func_get_dependencies, func_get_autoconf_early_snippet)
11948         (func_get_autoconf_snippet, func_get_automake_snippet)
11949         (func_get_include_directive, func_get_link_directive)
11950         (func_get_license, func_get_maintainer): If $do_cache is false,
11951         use old, non-caching extraction scripts.
11952         Suggestion by Bruno Haible.
11953
11954 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11955
11956         gnulib-tool: cache module metainformation.
11957         * gnulib-tool (sed_extract_prog): Match newline before each
11958         header, and rewrite header to a shell variable suffix.
11959         (func_cache_var, func_cache_lookup_module): New functions,
11960         to turn a module name into a cache variable prefix, and to
11961         look up and cache module metainformation.
11962         (func_get_description, func_get_status)
11963         (func_get_notice, func_get_applicability, func_get_filelist)
11964         (func_get_dependencies, func_get_autoconf_early_snippet)
11965         (func_get_autoconf_snippet, func_get_automake_snippet)
11966         (func_get_include_directive, func_get_link_directive)
11967         (func_get_license, func_get_maintainer): Use
11968         func_cache_lookup_module.
11969
11970 2010-02-07  Bruno Haible  <bruno@clisp.org>
11971
11972         fnctl: Fix missing dependency.
11973         * modules/fcntl (Depends-on): Add getdtablesize.
11974         Reported by John W. Eaton <jwe@gnu.org>.
11975
11976 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
11977
11978         Argp: fix recognition of short alias options.
11979
11980         * lib/argp-parse.c (convert_options): Fix improper use of
11981         `|' between character values.
11982         * tests/test-argp.c (group1_option): New alias option
11983         --read (-r).
11984         (group1_parser): Special handling for 'r'.
11985         (test15): New test case.
11986         (test_fun): Add test15.
11987         * tests/test-argp-2.sh: Update expected --help and --usage
11988         outputs.
11989
11990 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
11991
11992         * tests/test-argp.c: Fix indentation.
11993
11994 2010-02-04  Eric Blake  <ebb9@byu.net>
11995
11996         gettimeofday: expose type of second argument
11997         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
11998         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
11999         * tests/test-gettimeofday.c: Use it to silence warning.
12000         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
12001         the issue.
12002
12003 2010-02-03  Jim Meyering  <meyering@redhat.com>
12004
12005         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
12006         * lib/regcomp.c (TYPE_SIGNED): Define.
12007         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
12008
12009         regcomp.c: avoid a new -Wshadow warning
12010         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
12011
12012 2010-02-01  Jim Meyering  <meyering@redhat.com>
12013
12014         removing useless parentheses in cpp #define directives
12015         For motivation, see commit c0221df4, "define STREQ(a,b)
12016         consistently, removing useless parentheses"
12017         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
12018         * lib/mountlist.c (MNT_IGNORE): Likewise.
12019         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
12020
12021 2010-02-01  Eric Blake  <ebb9@byu.net>
12022
12023         sys_time: use link-warning
12024         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
12025         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
12026         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
12027         * modules/sys_time (Depends-on): Add warn-on-use.
12028         (Makefile.am): Always build replacement.
12029         (configure.ac): Update substitutions.
12030         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
12031         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
12032         bother with SYS_TIME_H.
12033         * modules/gettimeofday (configure.ac): Declare indicator.
12034         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
12035         in use.
12036
12037         closein-tests: silence compiler warning
12038         * tests/test-closein.c (main): Ignore fread result.
12039         * modules/closein-tests (Depends-on): Add ignore-value.
12040
12041         tests: silence warning about system return
12042         * tests/test-areadlink-with-size.c (main): Ignore system result.
12043         * tests/test-areadlink.c (main): Likewise.
12044         * tests/test-areadlinkat-with-size.c (main): Likewise.
12045         * tests/test-areadlinkat.c (main): Likewise.
12046         * tests/test-canonicalize-lgpl.c (main): Likewise.
12047         * tests/test-canonicalize.c (main): Likewise.
12048         * tests/test-chown.c (main): Likewise.
12049         * tests/test-fchownat.c (main): Likewise.
12050         * tests/test-fdutimensat.c (main): Likewise.
12051         * tests/test-fstatat.c (main): Likewise.
12052         * tests/test-futimens.c (main): Likewise.
12053         * tests/test-lchown.c (main): Likewise.
12054         * tests/test-link.c (main): Likewise.
12055         * tests/test-linkat.c (main): Likewise.
12056         * tests/test-lstat.c (main): Likewise.
12057         * tests/test-mkdir.c (main): Likewise.
12058         * tests/test-mkdirat.c (main): Likewise.
12059         * tests/test-mkfifo.c (main): Likewise.
12060         * tests/test-mkfifoat.c (main): Likewise.
12061         * tests/test-mknod.c (main): Likewise.
12062         * tests/test-readlink.c (main): Likewise.
12063         * tests/test-remove.c (main): Likewise.
12064         * tests/test-rename.c (main): Likewise.
12065         * tests/test-renameat.c (main): Likewise.
12066         * tests/test-rmdir.c (main): Likewise.
12067         * tests/test-symlink.c (main): Likewise.
12068         * tests/test-symlinkat.c (main): Likewise.
12069         * tests/test-unlink.c (main): Likewise.
12070         * tests/test-unlinkat.c (main): Likewise.
12071         * tests/test-utimens.c (main): Likewise.
12072         * tests/test-utimensat.c (main): Likewise.
12073         * modules/areadlink-tests (Depends-on): Add ignore-value.
12074         * modules/areadlink-with-size-tests (Depends-on): Likewise.
12075         * modules/areadlinkat-tests (Depends-on): Likewise.
12076         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
12077         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
12078         * modules/canonicalize-tests (Depends-on): Likewise.
12079         * modules/chown-tests (Depends-on): Likewise.
12080         * modules/fdutimensat-tests (Depends-on): Likewise.
12081         * modules/futimens-tests (Depends-on): Likewise.
12082         * modules/lchown-tests (Depends-on): Likewise.
12083         * modules/link-tests (Depends-on): Likewise.
12084         * modules/linkat-tests (Depends-on): Likewise.
12085         * modules/lstat-tests (Depends-on): Likewise.
12086         * modules/mkdir-tests (Depends-on): Likewise.
12087         * modules/mkfifo-tests (Depends-on): Likewise.
12088         * modules/mkfifoat-tests (Depends-on): Likewise.
12089         * modules/mknod-tests (Depends-on): Likewise.
12090         * modules/openat-tests (Depends-on): Likewise.
12091         * modules/readlink-tests (Depends-on): Likewise.
12092         * modules/remove-tests (Depends-on): Likewise.
12093         * modules/rename-tests (Depends-on): Likewise.
12094         * modules/renameat-tests (Depends-on): Likewise.
12095         * modules/rmdir-tests (Depends-on): Likewise.
12096         * modules/symlink-tests (Depends-on): Likewise.
12097         * modules/symlinkat-tests (Depends-on): Likewise.
12098         * modules/unlink-tests (Depends-on): Likewise.
12099         * modules/utimens-tests (Depends-on): Likewise.
12100         * modules/utimensat-tests (Depends-on): Likewise.
12101
12102 2010-01-31  Bruno Haible  <bruno@clisp.org>
12103
12104         Perform the same test for many <math.h> functions.
12105         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
12106         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
12107         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
12108         of gl_MATHFUNC.
12109         * modules/acos (configure.ac): Likewise.
12110         * modules/asin (configure.ac): Likewise.
12111         * modules/atan (configure.ac): Likewise.
12112         * modules/atan2 (configure.ac): Likewise.
12113         * modules/cbrt (configure.ac): Likewise.
12114         * modules/copysign (configure.ac): Likewise.
12115         * modules/cos (configure.ac): Likewise.
12116         * modules/cosh (configure.ac): Likewise.
12117         * modules/erf (configure.ac): Likewise.
12118         * modules/erfc (configure.ac): Likewise.
12119         * modules/exp (configure.ac): Likewise.
12120         * modules/fmod (configure.ac): Likewise.
12121         * modules/hypot (configure.ac): Likewise.
12122         * modules/j0 (configure.ac): Likewise.
12123         * modules/j1 (configure.ac): Likewise.
12124         * modules/jn (configure.ac): Likewise.
12125         * modules/lgamma (configure.ac): Likewise.
12126         * modules/log (configure.ac): Likewise.
12127         * modules/log10 (configure.ac): Likewise.
12128         * modules/log1p (configure.ac): Likewise.
12129         * modules/pow (configure.ac): Likewise.
12130         * modules/remainder (configure.ac): Likewise.
12131         * modules/sin (configure.ac): Likewise.
12132         * modules/sinh (configure.ac): Likewise.
12133         * modules/tan (configure.ac): Likewise.
12134         * modules/tanh (configure.ac): Likewise.
12135         * modules/y0 (configure.ac): Likewise.
12136         * modules/y1 (configure.ac): Likewise.
12137         * modules/yn (configure.ac): Likewise.
12138         Suggested by Paolo Bonzini.
12139
12140 2010-01-31  Bruno Haible  <bruno@clisp.org>
12141
12142         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
12143
12144 2010-01-31  Bruno Haible  <bruno@clisp.org>
12145
12146         Work around getdelim() bug on FreeBSD 8.0.
12147         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
12148         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
12149         not work.
12150         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
12151         is 1.
12152         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
12153         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
12154         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
12155         a non-zero size.
12156         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
12157
12158 2010-01-31  Bruno Haible  <bruno@clisp.org>
12159
12160         Work around getline() bug on FreeBSD 8.0.
12161         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
12162         and a non-zero size.
12163         * tests/test-getline.c (main): Likewise.
12164         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
12165         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
12166
12167 2010-01-28  Eric Blake  <ebb9@byu.net>
12168
12169         regex: fix build failure
12170         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
12171         platforms.
12172
12173 2010-01-28  Jim Meyering  <meyering@redhat.com>
12174
12175         regex: do not ignore memory allocation failure
12176         * lib/regex_internal.c (create_cd_newstate): Detect
12177         re_node_set_init_copy failure.   Extracted from glibc commit
12178         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
12179
12180         regex: sync more white-space changes from libc
12181         * lib/regex_internal.c: White-space only changes.
12182         * lib/regexec.c: Likewise.
12183
12184         regex: add many uses of __attribute_warn_unused_result__
12185         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
12186         * lib/regexec.c: Likewise.
12187         Extracted from a messy glibc commit.
12188
12189         regcomp.c: spelling and merge-artifact from glibc
12190         * lib/regcomp.c: Merge remainder of glibc's
12191         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
12192
12193         regcomp.c: sync white-space changes from glibc
12194         * lib/regcomp.c: Merge to accommodate white space
12195         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
12196
12197         regcomp.c: do not ignore internal return values
12198         * lib/regcomp.c: Do not ignore internal return values.
12199         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
12200         but without its white-space changes and spelling fixes.
12201
12202         regex_internal.h: define __attribute_warn_unused_result__
12203         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
12204
12205         maint: add a syntax-check rule to check for vulnerable Makefile.in
12206         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
12207
12208 2010-01-27  Jim Meyering  <meyering@redhat.com>
12209
12210         ncftpput-ftp: clean up spaces
12211         * build-aux/ncftpput-ftp: Make Copyright line consistent.
12212         Remove trailing blanks.
12213
12214 2010-01-27  Simon Josefsson  <simon@josefsson.org>
12215
12216         * build-aux/git-version-gen: Fix copyright statement.
12217         * build-aux/gnupload: Likewise.
12218         * tests/test-arcfour.c: Likewise.
12219         * tests/test-arctwo.c: Likewise.
12220         * tests/test-count-one-bits.c: Likewise.
12221         * tests/test-crc.c: Likewise.
12222         * tests/test-des.c: Likewise.
12223         * tests/test-gc-arcfour.c: Likewise.
12224         * tests/test-gc-arctwo.c: Likewise.
12225         * tests/test-gc-des.c: Likewise.
12226         * tests/test-gc-hmac-md5.c: Likewise.
12227         * tests/test-gc-hmac-sha1.c: Likewise.
12228         * tests/test-gc-md2.c: Likewise.
12229         * tests/test-gc-md4.c: Likewise.
12230         * tests/test-gc-md5.c: Likewise.
12231         * tests/test-gc-pbkdf2-sha1.c: Likewise.
12232         * tests/test-gc-rijndael.c: Likewise.
12233         * tests/test-gc-sha1.c: Likewise.
12234         * tests/test-gc.c: Likewise.
12235         * tests/test-gethostname.c: Likewise.
12236         * tests/test-gettimeofday.c: Likewise.
12237         * tests/test-hash.c: Likewise.
12238         * tests/test-hmac-md5.c: Likewise.
12239         * tests/test-hmac-sha1.c: Likewise.
12240         * tests/test-md2.c: Likewise.
12241         * tests/test-md4.c: Likewise.
12242         * tests/test-md5.c: Likewise.
12243         * tests/test-memchr.c: Likewise.
12244         * tests/test-memchr2.c: Likewise.
12245         * tests/test-memcmp.c: Likewise.
12246         * tests/test-memmem.c: Likewise.
12247         * tests/test-memrchr.c: Likewise.
12248         * tests/test-rawmemchr.c: Likewise.
12249         * tests/test-read-file.c: Likewise.
12250         * tests/test-rijndael.c: Likewise.
12251         * tests/test-sockets.c: Likewise.
12252         * tests/test-strchrnul.c: Likewise.
12253         * tests/test-strstr.c: Likewise.
12254         * tests/test-strtod.c: Likewise.
12255         * build-aux/ncftpput-ftp: Likewise.
12256
12257 2010-01-26  Eric Blake  <ebb9@byu.net>
12258
12259         ignore-value: update recommended header name
12260         * modules/ignore-value (Include): Only use <> for headers that
12261         exist in glibc.
12262
12263 2010-01-26  Jim Meyering  <meyering@redhat.com>
12264
12265         test-userspec.c: avoid compiler warnings
12266         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
12267         and "initialization discards qualifiers..." warnings.
12268         Put the first "uid" in its own scope, and make char* members "const".
12269
12270 2010-01-25  Bruno Haible  <bruno@clisp.org>
12271
12272         gnulib-tool: Make warning diagnostics consistent.
12273         * gnulib-tool (func_warning): New function.
12274         Use it everywhere where gnulib-tool produces output to stderr and it is
12275         not a fatal error.
12276
12277 2010-01-25  Bruno Haible  <bruno@clisp.org>
12278
12279         Fix test dependencies.
12280         * modules/xstrtol-tests (Depends-on): Add inttypes.
12281         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
12282
12283 2010-01-25 Pádraig Brady <P@draigBrady.com>
12284
12285         syntax-check: detect incorrect boolean macro values in config.h
12286         * modules/maintainer-makefile (configure.ac): Parameterize the location
12287         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
12288         The logic is from Eric Blake and the location indicated by Jim Meyering.
12289         Note the more natural CONFIG_HEADER name is prohibited by automake
12290         for backwards compatibility reasons.
12291         * top/maint.mk (sc_Wundef_boolean): New rule.
12292
12293 2010-01-25  Jim Meyering  <meyering@redhat.com>
12294
12295         bootstrap: detect MacOS 10.6's shasum, too
12296         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
12297         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
12298
12299 2010-01-23  Jim Meyering  <meyering@redhat.com>
12300
12301         xstrtoll: new module
12302         * modules/xstrtoll: New file.
12303         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
12304         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
12305         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
12306         ./configure fails if you use this module and lack "long long".
12307         * modules/xstrtoll-tests: New module.
12308         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
12309         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
12310         new init.sh-based test framework.
12311
12312 2010-01-24  Bruno Haible  <bruno@clisp.org>
12313
12314         Tests for module 'yn'.
12315         * modules/yn-tests: New file.
12316         * tests/test-yn.c: New file.
12317
12318         Tests for module 'y1'.
12319         * modules/y1-tests: New file.
12320         * tests/test-y1.c: New file.
12321
12322         Tests for module 'y0'.
12323         * modules/y0-tests: New file.
12324         * tests/test-y0.c: New file.
12325
12326         Tests for module 'tanh'.
12327         * modules/tanh-tests: New file.
12328         * tests/test-tanh.c: New file.
12329
12330         Tests for module 'tan'.
12331         * modules/tan-tests: New file.
12332         * tests/test-tan.c: New file.
12333
12334         Tests for module 'sqrt'.
12335         * modules/sqrt-tests: New file.
12336         * tests/test-sqrt.c: New file.
12337
12338         Tests for module 'sinh'.
12339         * modules/sinh-tests: New file.
12340         * tests/test-sinh.c: New file.
12341
12342         Tests for module 'sin'.
12343         * modules/sin-tests: New file.
12344         * tests/test-sin.c: New file.
12345
12346         Tests for module 'rint'.
12347         * modules/rint-tests: New file.
12348         * tests/test-rint.c: New file.
12349
12350         Tests for module 'remainder'.
12351         * modules/remainder-tests: New file.
12352         * tests/test-remainder.c: New file.
12353
12354         Tests for module 'pow'.
12355         * modules/pow-tests: New file.
12356         * tests/test-pow.c: New file.
12357
12358         Tests for module 'nextafter'.
12359         * modules/nextafter-tests: New file.
12360         * tests/test-nextafter.c: New file.
12361
12362         Tests for module 'modf'.
12363         * modules/modf-tests: New file.
12364         * tests/test-modf.c: New file.
12365
12366         Tests for module 'logb'.
12367         * modules/logb-tests: New file.
12368         * tests/test-logb.c: New file.
12369
12370         Tests for module 'log1p'.
12371         * modules/log1p-tests: New file.
12372         * tests/test-log1p.c: New file.
12373
12374         Tests for module 'log10'.
12375         * modules/log10-tests: New file.
12376         * tests/test-log10.c: New file.
12377
12378         Tests for module 'log'.
12379         * modules/log-tests: New file.
12380         * tests/test-log.c: New file.
12381
12382         Tests for module 'lgamma'.
12383         * modules/lgamma-tests: New file.
12384         * tests/test-lgamma.c: New file.
12385
12386         Tests for module 'ldexp'.
12387         * modules/ldexp-tests: New file.
12388         * tests/test-ldexp.c: New file.
12389
12390         Tests for module 'jn'.
12391         * modules/jn-tests: New file.
12392         * tests/test-jn.c: New file.
12393
12394         Tests for module 'j1'.
12395         * modules/j1-tests: New file.
12396         * tests/test-j1.c: New file.
12397
12398         Tests for module 'j0'.
12399         * modules/j0-tests: New file.
12400         * tests/test-j0.c: New file.
12401
12402         Tests for module 'hypot'.
12403         * modules/hypot-tests: New file.
12404         * tests/test-hypot.c: New file.
12405
12406         Tests for module 'fmod'.
12407         * modules/fmod-tests: New file.
12408         * tests/test-fmod.c: New file.
12409
12410         Tests for module 'fabs'.
12411         * modules/fabs-tests: New file.
12412         * tests/test-fabs.c: New file.
12413
12414         Tests for module 'exp'.
12415         * modules/exp-tests: New file.
12416         * tests/test-exp.c: New file.
12417
12418         Tests for module 'erfc'.
12419         * modules/erfc-tests: New file.
12420         * tests/test-erfc.c: New file.
12421
12422         Tests for module 'erf'.
12423         * modules/erf-tests: New file.
12424         * tests/test-erf.c: New file.
12425
12426         Tests for module 'cosh'.
12427         * modules/cosh-tests: New file.
12428         * tests/test-cosh.c: New file.
12429
12430         Tests for module 'cos'.
12431         * modules/cos-tests: New file.
12432         * tests/test-cos.c: New file.
12433
12434         Tests for module 'copysign'.
12435         * modules/copysign-tests: New file.
12436         * tests/test-copysign.c: New file.
12437
12438         Tests for module 'cbrt'.
12439         * modules/cbrt-tests: New file.
12440         * tests/test-cbrt.c: New file.
12441
12442         Tests for module 'atan2'.
12443         * modules/atan2-tests: New file.
12444         * tests/test-atan2.c: New file.
12445
12446         Tests for module 'atan'.
12447         * modules/atan-tests: New file.
12448         * tests/test-atan.c: New file.
12449
12450         Tests for module 'asin'.
12451         * modules/asin-tests: New file.
12452         * tests/test-asin.c: New file.
12453
12454         Tests for module 'acos'.
12455         * modules/acos-tests: New file.
12456         * tests/test-acos.c: New file.
12457
12458 2010-01-24  Bruno Haible  <bruno@clisp.org>
12459
12460         Fix tests for common <math.h> functions.
12461         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
12462         code snippet that references the function pointer, rather than merely
12463         calling the function. Substitute the FUNC_LIBM variable.
12464         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
12465         * modules/acos (configure.ac): Likewise.
12466         * modules/asin (configure.ac): Likewise.
12467         * modules/atan (configure.ac): Likewise.
12468         * modules/atan2 (configure.ac): Likewise.
12469         * modules/cbrt (configure.ac): Likewise.
12470         * modules/copysign (configure.ac): Likewise.
12471         * modules/cos (configure.ac): Likewise.
12472         * modules/cosh (configure.ac): Likewise.
12473         * modules/erf (configure.ac): Likewise.
12474         * modules/erfc (configure.ac): Likewise.
12475         * modules/exp (configure.ac): Likewise.
12476         * modules/fabs (configure.ac): Likewise.
12477         * modules/fmod (configure.ac): Likewise.
12478         * modules/hypot (configure.ac): Likewise.
12479         * modules/j0 (configure.ac): Likewise.
12480         * modules/j1 (configure.ac): Likewise.
12481         * modules/jn (configure.ac): Likewise.
12482         * modules/ldexp (configure.ac): Likewise.
12483         * modules/lgamma (configure.ac): Likewise.
12484         * modules/log (configure.ac): Likewise.
12485         * modules/log10 (configure.ac): Likewise.
12486         * modules/log1p (configure.ac): Likewise.
12487         * modules/logb (configure.ac): Likewise.
12488         * modules/modf (configure.ac): Likewise.
12489         * modules/nextafter (configure.ac): Likewise.
12490         * modules/pow (configure.ac): Likewise.
12491         * modules/remainder (configure.ac): Likewise.
12492         * modules/rint (configure.ac): Likewise.
12493         * modules/sin (configure.ac): Likewise.
12494         * modules/sinh (configure.ac): Likewise.
12495         * modules/tan (configure.ac): Likewise.
12496         * modules/tanh (configure.ac): Likewise.
12497         * modules/y0 (configure.ac): Likewise.
12498         * modules/y1 (configure.ac): Likewise.
12499         * modules/yn (configure.ac): Likewise.
12500
12501 2010-01-24  Bruno Haible  <bruno@clisp.org>
12502
12503         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
12504         * tests/test-acosl.c (x): New variable.
12505         (main): Store argument in x and fetch it from x.
12506         * tests/test-asinl.c (x): New variable.
12507         (main): Store argument in x and fetch it from x.
12508         * tests/test-atanl.c (x): New variable.
12509         (main): Store argument in x and fetch it from x.
12510         * tests/test-cosl.c (x): New variable.
12511         (main): Store argument in x and fetch it from x.
12512         * tests/test-expl.c (x): New variable.
12513         (main): Store argument in x and fetch it from x.
12514         * tests/test-logl.c (x): New variable.
12515         (main): Store argument in x and fetch it from x.
12516         * tests/test-sinl.c (x): New variable.
12517         (main): Store argument in x and fetch it from x.
12518         * tests/test-sqrtl.c (x): New variable.
12519         (main): Store argument in x and fetch it from x.
12520         * tests/test-tanl.c (x): New variable.
12521         (main): Store argument in x and fetch it from x.
12522
12523 2010-01-24  Bruno Haible  <bruno@clisp.org>
12524
12525         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
12526         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
12527         assignments to the initial TESTS_ENVIRONMENT.
12528         * doc/gnulib.texi (Unit test modules): Document it.
12529         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
12530         TESTS_ENVIRONMENT.
12531         * modules/btowc-tests (Makefile.am): Likewise.
12532         * modules/c-stack-tests (Makefile.am): Likewise.
12533         * modules/c-strcase-tests (Makefile.am): Likewise.
12534         * modules/copy-file-tests (Makefile.am): Likewise.
12535         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
12536         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
12537         * modules/mbrtowc-tests (Makefile.am): Likewise.
12538         * modules/mbscasecmp-tests (Makefile.am): Likewise.
12539         * modules/mbscasestr-tests (Makefile.am): Likewise.
12540         * modules/mbschr-tests (Makefile.am): Likewise.
12541         * modules/mbscspn-tests (Makefile.am): Likewise.
12542         * modules/mbsinit-tests (Makefile.am): Likewise.
12543         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
12544         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
12545         * modules/mbspbrk-tests (Makefile.am): Likewise.
12546         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
12547         * modules/mbsrchr-tests (Makefile.am): Likewise.
12548         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
12549         * modules/mbsspn-tests (Makefile.am): Likewise.
12550         * modules/mbsstr-tests (Makefile.am): Likewise.
12551         * modules/nl_langinfo-tests (Makefile.am): Likewise.
12552         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
12553         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
12554         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
12555         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
12556         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
12557         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
12558         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
12559         * modules/wcrtomb-tests (Makefile.am): Likewise.
12560         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
12561         * modules/wcsrtombs-tests (Makefile.am): Likewise.
12562         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
12563         assignments from TESTS_ENVIRONMENT.
12564         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
12565         augmentation.
12566         * modules/argp-version-etc-tests (Makefile.am): Likewise.
12567         * modules/atexit-tests (Makefile.am): Likewise.
12568         * modules/binary-io-tests (Makefile.am): Likewise.
12569         * modules/closein-tests (Makefile.am): Likewise.
12570         * modules/dprintf-posix-tests (Makefile.am): Likewise.
12571         * modules/exclude-tests (Makefile.am): Likewise.
12572         * modules/fflush-tests (Makefile.am): Likewise.
12573         * modules/fpending-tests (Makefile.am): Likewise.
12574         * modules/fprintf-posix-tests (Makefile.am): Likewise.
12575         * modules/freadahead-tests (Makefile.am): Likewise.
12576         * modules/freadptr-tests (Makefile.am): Likewise.
12577         * modules/freadseek-tests (Makefile.am): Likewise.
12578         * modules/fseek-tests (Makefile.am): Likewise.
12579         * modules/fseeko-tests (Makefile.am): Likewise.
12580         * modules/ftell-tests (Makefile.am): Likewise.
12581         * modules/ftello-tests (Makefile.am): Likewise.
12582         * modules/idpriv-drop-tests (Makefile.am): Likewise.
12583         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
12584         * modules/lseek-tests (Makefile.am): Likewise.
12585         * modules/parse-duration-tests (Makefile.am): Likewise.
12586         * modules/perror-tests (Makefile.am): Likewise.
12587         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
12588         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
12589         * modules/pipe-tests (Makefile.am): Likewise.
12590         * modules/pread-tests (Makefile.am): Likewise.
12591         * modules/printf-posix-tests (Makefile.am): Likewise.
12592         * modules/select-tests (Makefile.am): Likewise.
12593         * modules/sigpipe-tests (Makefile.am): Likewise.
12594         * modules/tsearch-tests (Makefile.am): Likewise.
12595         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
12596         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
12597         * modules/uniname/uniname-tests (Makefile.am): Likewise.
12598         * modules/uniwidth/width-tests (Makefile.am): Likewise.
12599         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
12600         * modules/version-etc-tests (Makefile.am): Likewise.
12601         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
12602         * modules/vprintf-posix-tests (Makefile.am): Likewise.
12603         * modules/xalloc-die-tests (Makefile.am): Likewise.
12604         * modules/xprintf-posix-tests (Makefile.am): Likewise.
12605         * modules/xstrtoimax-tests (Makefile.am): Likewise.
12606         * modules/xstrtol-tests (Makefile.am): Likewise.
12607         * modules/xstrtoumax-tests (Makefile.am): Likewise.
12608         * modules/yesno-tests (Makefile.am): Likewise.
12609         Suggested by Jim Meyering.
12610
12611 2010-01-24  Bruno Haible  <bruno@clisp.org>
12612
12613         More documentation.
12614         * doc/gnulib.texi (Writing modules): New chapter.
12615         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
12616         the new chapter.
12617
12618 2010-01-24  Jim Meyering  <meyering@redhat.com>
12619
12620         maint.mk: do not prepend "./" after filtering
12621         * top/maint.mk (_prepend_srcdir_prefix): New variable
12622         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
12623         "./" when $(srcdir) is ".".
12624
12625         define STREQ(a,b) consistently, removing useless parentheses
12626         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
12627         since the only risk is that "a" or "b" contains an unparenthesized
12628         comma, but if either did that, STREQ would have 3 or more arguments.
12629         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
12630         * lib/fts.c (STREQ): Remove unnecessary parentheses.
12631         * lib/hash-triple.c (STREQ): Likewise.
12632         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
12633         * lib/getugroups.c (STREQ): Likewise.
12634
12635 2010-01-23  Jim Meyering  <meyering@redhat.com>
12636
12637         maint.mk: fix syntax-check in a non-srcdir build directory
12638         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
12639         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
12640
12641 2010-01-22  Jim Meyering  <meyering@redhat.com>
12642
12643         userspec: add unit tests
12644         * tests/test-userspec.c: New file.
12645         * modules/userspec-tests: Likewise.
12646
12647 2010-01-21  Jim Meyering  <meyering@redhat.com>
12648
12649         maint.mk: handle source file names containing "." robustly
12650         * top/maint.mk (_dot_escaped_srcdir): Define.
12651         (VC_LIST): Use it in LHS of sed substitution.
12652
12653 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
12654
12655         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
12656         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
12657         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
12658         from a non-srcdir build.
12659
12660 2010-01-20  Eric Blake  <ebb9@byu.net>
12661
12662         warn-on-use: use instead of link-warning
12663         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
12664         * modules/unistd (Depends-on, Makefile.am): Likewise.
12665         * modules/arpa_inet (Depends-on): Replace link-warning with
12666         warn-on-use.
12667         (Makefile.am): Update rules accordingly.
12668         * modules/ctype (Depends-on, Makefile.am): Likewise.
12669         * modules/dirent (Depends-on, Makefile.am): Likewise.
12670         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
12671         * modules/inttypes (Depends-on, Makefile.am): Likewise.
12672         * modules/langinfo (Depends-on, Makefile.am): Likewise.
12673         * modules/locale (Depends-on, Makefile.am): Likewise.
12674         * modules/math (Depends-on, Makefile.am): Likewise.
12675         * modules/search (Depends-on, Makefile.am): Likewise.
12676         * modules/signal (Depends-on, Makefile.am): Likewise.
12677         * modules/spawn (Depends-on, Makefile.am): Likewise.
12678         * modules/stdlib (Depends-on, Makefile.am): Likewise.
12679         * modules/string (Depends-on, Makefile.am): Likewise.
12680         * modules/strings (Depends-on, Makefile.am): Likewise.
12681         * modules/sys_file (Depends-on, Makefile.am): Likewise.
12682         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
12683         * modules/sys_select (Depends-on, Makefile.am): Likewise.
12684         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
12685         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
12686         * modules/sys_times (Depends-on, Makefile.am): Likewise.
12687         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
12688         * modules/wchar (Depends-on, Makefile.am): Likewise.
12689         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
12690         should be poisoned.
12691         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
12692         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
12693         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
12694         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
12695         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
12696         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
12697         * m4/math_h.m4 (gl_MATH_H): Likewise.
12698         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
12699         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
12700         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12701         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
12702         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
12703         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
12704         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12705         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
12706         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
12707         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12708         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
12709         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
12710         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12711         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12712         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12713         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12714         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
12715         GL_LINK_WARNING.
12716         * lib/ctype.in.h: Likewise.
12717         * lib/dirent.in.h: Likewise.
12718         * lib/fcntl.in.h: Likewise.
12719         * lib/inttypes.in.h: Likewise.
12720         * lib/langinfo.in.h: Likewise.
12721         * lib/locale.in.h: Likewise.
12722         * lib/math.in.h: Likewise.
12723         * lib/search.in.h: Likewise.
12724         * lib/signal.in.h: Likewise.
12725         * lib/spawn.in.h: Likewise.
12726         * lib/stdio.in.h: Likewise.
12727         * lib/stdlib.in.h: Likewise.
12728         * lib/string.in.h: Likewise.
12729         * lib/strings.in.h: Likewise.
12730         * lib/sys_file.in.h: Likewise.
12731         * lib/sys_ioctl.in.h: Likewise.
12732         * lib/sys_select.in.h: Likewise.
12733         * lib/sys_socket.in.h: Likewise.
12734         * lib/sys_stat.in.h: Likewise.
12735         * lib/sys_times.in.h: Likewise.
12736         * lib/sys_utsname.in.h: Likewise.
12737         * lib/unistd.in.h: Likewise.
12738         * lib/wchar.in.h: Likewise.
12739
12740 2010-01-20  Bruno Haible  <bruno@clisp.org>
12741
12742         Avoid duplicate -lm.
12743         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
12744         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
12745         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
12746         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
12747         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
12748         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
12749         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
12750         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
12751         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
12752         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
12753         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
12754         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12755         Reported by Paolo Bonzini.
12756
12757 2010-01-19  Bruno Haible  <bruno@clisp.org>
12758
12759         langinfo, nl_langinfo: Relicense under LGPLv2+.
12760         * modules/langinfo (License): Change to LGPLv2+.
12761         * modules/nl_langinfo (License): Likewise.
12762         Patch by David Lutterkort <lutter@redhat.com>.
12763
12764 2010-01-19  Bruno Haible  <bruno@clisp.org>
12765
12766         Avoid compilation error with cc on OSF/1 5.1.
12767         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
12768         statement, not before.
12769         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12770
12771 2010-01-18  Bruno Haible  <bruno@clisp.org>
12772
12773         Avoid a link error due to the __printf__ symbol.
12774         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
12775         and 2.6.x.
12776         (__format__, __printf__): Remove definitions.
12777         * lib/argp-fmtstream.h: Likewise.
12778         * lib/argp.h: Likewise.
12779         * lib/error.h: Likewise.
12780         * lib/vasnprintf.h: Likewise.
12781         * lib/xprintf.h: Likewise.
12782         * lib/xvasprintf.h: Likewise.
12783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12784
12785 2010-01-18  Bruno Haible  <bruno@clisp.org>
12786
12787         Tests for module 'tanl'.
12788         * modules/tanl-tests: New file.
12789         * tests/test-tanl.c: New file.
12790
12791         Tests for module 'sqrtl'.
12792         * modules/sqrtl-tests: New file.
12793         * tests/test-sqrtl.c: New file.
12794
12795         Tests for module 'sinl'.
12796         * modules/sinl-tests: New file.
12797         * tests/test-sinl.c: New file.
12798
12799         Tests for module 'logl'.
12800         * modules/logl-tests: New file.
12801         * tests/test-logl.c: New file.
12802
12803         Tests for module 'expl'.
12804         * modules/expl-tests: New file.
12805         * tests/test-expl.c: New file.
12806
12807         Tests for module 'cosl'.
12808         * modules/cosl-tests: New file.
12809         * tests/test-cosl.c: New file.
12810
12811         Tests for module 'atanl'.
12812         * modules/atanl-tests: New file.
12813         * tests/test-atanl.c: New file.
12814
12815         Tests for module 'asinl'.
12816         * modules/asinl-tests: New file.
12817         * tests/test-asinl.c: New file.
12818
12819         Tests for module 'acosl'.
12820         * modules/acosl-tests: New file.
12821         * tests/test-acosl.c: New file.
12822
12823         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
12824         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
12825         tanl): Use the standard gnulib idiom.
12826         * lib/cosl.c: Don't include trigl.c and sincosl.c.
12827         * lib/sinl.c: Likewise.
12828         * lib/tanl.c: Don't include trigl.c.
12829         (kernel_tanl): Make static.
12830         * lib/sincosl.c: Include trigl.h first.
12831         * lib/trigl.c: Likewise.
12832         * m4/acosl.m4: New file.
12833         * m4/asinl.m4: New file.
12834         * m4/atanl.m4: New file.
12835         * m4/cosl.m4: New file.
12836         * m4/expl.m4: New file.
12837         * m4/logl.m4: New file.
12838         * m4/sinl.m4: New file.
12839         * m4/sqrtl.m4: New file.
12840         * m4/tanl.m4: New file.
12841         * m4/mathl.m4: Remove file.
12842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
12843         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
12844         Don't initialize GNULIB_MATHL.
12845         * modules/acosl: New file.
12846         * modules/asinl: New file.
12847         * modules/atanl: New file.
12848         * modules/cosl: New file.
12849         * modules/expl: New file.
12850         * modules/logl: New file.
12851         * modules/sinl: New file.
12852         * modules/sqrtl: New file.
12853         * modules/tanl: New file.
12854         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
12855         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
12856         substitute GNULIB_MATHL.
12857         * modules/mathl: Rewritten.
12858         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
12859         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
12860         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
12861         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
12862         * doc/posix-functions/expl.texi: Mention the 'expl' module.
12863         * doc/posix-functions/logl.texi: Mention the 'logl' module.
12864         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
12865         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
12866         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
12867
12868 2010-01-18  Bruno Haible  <bruno@clisp.org>
12869
12870         sqrt: Make gl_FUNC_SQRT requirable.
12871         * m4/sqrt.m4: New file.
12872         * modules/sqrt (Files): Add it.
12873         (configure.ac): Invoke gl_FUNC_SQRT.
12874
12875 2010-01-18  Bruno Haible  <bruno@clisp.org>
12876
12877         New modules for common <math.h> functions.
12878         * m4/mathfunc.m4: New file.
12879         * modules/acos: New file.
12880         * modules/asin: New file.
12881         * modules/atan: New file.
12882         * modules/atan2: New file.
12883         * modules/cbrt: New file.
12884         * modules/copysign: New file.
12885         * modules/cos: New file.
12886         * modules/cosh: New file.
12887         * modules/erf: New file.
12888         * modules/erfc: New file.
12889         * modules/exp: New file.
12890         * modules/fabs: New file.
12891         * modules/fmod: New file.
12892         * modules/hypot: New file.
12893         * modules/j0: New file.
12894         * modules/j1: New file.
12895         * modules/jn: New file.
12896         * modules/ldexp: New file.
12897         * modules/lgamma: New file.
12898         * modules/log: New file.
12899         * modules/log10: New file.
12900         * modules/log1p: New file.
12901         * modules/logb: New file.
12902         * modules/modf: New file.
12903         * modules/nextafter: New file.
12904         * modules/pow: New file.
12905         * modules/remainder: New file.
12906         * modules/rint: New file.
12907         * modules/sin: New file.
12908         * modules/sinh: New file.
12909         * modules/sqrt: New file.
12910         * modules/tan: New file.
12911         * modules/tanh: New file.
12912         * modules/y0: New file.
12913         * modules/y1: New file.
12914         * modules/yn: New file.
12915         * doc/posix-functions/acos.texi: Mention the 'acos' module.
12916         * doc/posix-functions/asin.texi: Mention the 'asin' module.
12917         * doc/posix-functions/atan.texi: Mention the 'atan' module.
12918         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
12919         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
12920         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
12921         * doc/posix-functions/cos.texi: Mention the 'cos' module.
12922         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
12923         * doc/posix-functions/erf.texi: Mention the 'erf' module.
12924         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
12925         * doc/posix-functions/exp.texi: Mention the 'exp' module.
12926         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
12927         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
12928         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
12929         * doc/posix-functions/j0.texi: Mention the 'j0' module.
12930         * doc/posix-functions/j1.texi: Mention the 'j1' module.
12931         * doc/posix-functions/jn.texi: Mention the 'jn' module.
12932         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
12933         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
12934         * doc/posix-functions/log.texi: Mention the 'log' module.
12935         * doc/posix-functions/log10.texi: Mention the 'log10' module.
12936         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
12937         * doc/posix-functions/logb.texi: Mention the 'logb' module.
12938         * doc/posix-functions/modf.texi: Mention the 'modf' module.
12939         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
12940         * doc/posix-functions/pow.texi: Mention the 'pow' module.
12941         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
12942         * doc/posix-functions/rint.texi: Mention the 'rint' module.
12943         * doc/posix-functions/sin.texi: Mention the 'sin' module.
12944         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
12945         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
12946         * doc/posix-functions/tan.texi: Mention the 'tan' module.
12947         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
12948         * doc/posix-functions/y0.texi: Mention the 'y0' module.
12949         * doc/posix-functions/y1.texi: Mention the 'y1' module.
12950         * doc/posix-functions/yn.texi: Mention the 'yn' module.
12951
12952 2010-01-18  Jim Meyering  <meyering@redhat.com>
12953
12954         ignore-value: relax license to LGPLv2+
12955         * modules/ignore-value (License): Relax to LGPLv2+.
12956
12957         getdate: don't leak when TZ contains two or more '"'s
12958         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
12959         double quote in TZ after the first one.
12960
12961         readtokens: do not leak internal token_lengths buffer
12962         * lib/readtokens.c (readtokens): Free the local, lengths,
12963         when the supplied "token_lengths" parameter is NULL.
12964
12965 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12966
12967         Fix a couple of missing LIBTHREAD link failures on AIX.
12968         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
12969         $(LIBTHREAD).
12970         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
12971
12972         Link test-poll against INET_PTON_LIB.
12973         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
12974         for inet_pton on Solaris 10.
12975
12976 2010-01-17  Bruno Haible  <bruno@clisp.org>
12977
12978         unistdio/*-sprintf: Fix typo in module description.
12979         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
12980         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
12981         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
12982         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
12983         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
12984         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
12985         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
12986         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12987
12988 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12989
12990         gnulib-tool: fix filelist for AIX, HP-UX ksh.
12991         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
12992         variables in shell case patterns, for AIX and HP-UX ksh.
12993
12994         Split large sed scripts, for HP-UX sed.
12995         * modules/stdio: Split sed scripts around 50 sed commands,
12996         to avoid HP-UX limit of 99 commands, in the near future.
12997         * modules/string: Likewise.
12998         * modules/unistd: Likewise.
12999
13000         gnulib-tool: avoid writing in the current directory.
13001         * gnulib-tool (func_emit_lib_Makefile_am)
13002         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
13003         not in the current directory, so concurrent gnulib-tool
13004         instances do not interfere.
13005
13006 2010-01-16  Jim Meyering  <meyering@redhat.com>
13007
13008         doc: update users.txt
13009         * users.txt: Add grep.
13010         (diffutils, gzip): Update URLs.
13011
13012 2010-01-12  Bruno Haible  <bruno@clisp.org>
13013
13014         posix_spawn: Avoid test failure on Cygwin.
13015         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
13016         characters.
13017         Reported by Simon Josefsson.
13018
13019 2010-01-12  Bruno Haible  <bruno@clisp.org>
13020
13021         * tests/test-cond.c (main): When skipping the test, show the reason.
13022
13023 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13024
13025         * lib/striconv.c (str_cd_iconv): Avoid if before free.
13026
13027 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13028
13029         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
13030         VC_LIST_ALWAYS_EXCLUDE_REGEX.
13031
13032 2010-01-12  Eric Blake  <ebb9@byu.net>
13033
13034         build: guarantee AS_VAR_IF
13035         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
13036         (gl_AS_VAR_IF): Move...
13037         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
13038         Reported by Simon Josefsson.
13039
13040 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13041
13042         * lib/stdio.in.h: Fix typo.
13043
13044 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13045
13046         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
13047         libgpg-error.
13048
13049 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13050
13051         * tests/test-xalloc-die.sh: Use $EXEEXT.
13052
13053 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13054             Bruno Haible  <bruno@clisp.org>
13055
13056         getlogin, getlogin_r: Avoid test failure.
13057         * tests/test-getlogin.c: Include <stdio.h>.
13058         (main): Skip the test when the function fails because stdin is not a
13059         tty.
13060         * tests/test-getlogin_r.c: Include <stdio.h>.
13061         (main): Skip the test when the function fails because stdin is not a
13062         tty.
13063
13064 2010-01-11  Eric Blake  <ebb9@byu.net>
13065
13066         tests: avoid more large file warnings
13067         * tests/test-fflush.c: Avoid warning about ftell use.
13068         * tests/test-fseek.c: Avoid warning about fseek use.
13069
13070 2010-01-10  Bruno Haible  <bruno@clisp.org>
13071
13072         nproc: Work better on Linux when /proc and /sys are not mounted.
13073         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
13074         as lower bound when, on glibc/Linux systems,
13075         sysconf (_SC_NPROCESSORS_CONF) returns 1.
13076         Suggested by Pádraig Brady <P@draigbrady.com>.
13077         Reported by Dmitry V. Levin <ldv@altlinux.org>.
13078
13079         nproc: Refactor.
13080         * lib/nproc.c (num_processors_via_affinity_mask): New function,
13081         extracted from num_processors.
13082         (num_processors): Call it.
13083
13084 2010-01-11  Jim Meyering  <meyering@redhat.com>
13085
13086         utimecmp: avoid new warning from upcoming gcc-4.5.0
13087         * lib/utimecmp.c (BILLION): Define using #define rather than an
13088         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
13089
13090 2010-01-11  Eric Blake  <ebb9@byu.net>
13091
13092         math: add portability warnings for classification macros
13093         * modules/math (Depends-on): Add warn-on-use.
13094         (Makefile.am): Provide new substitutions.
13095         * m4/math_h.m4 (gl_MATH_H): Require inline.
13096         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
13097         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
13098         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
13099         implement warnings.
13100
13101         unistd: warn on use of environ without module
13102         * modules/unistd (Depends-on): Add warn-on-use.
13103         (Makefile.am): Provide new substitutions.
13104         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
13105         * lib/unistd.in.h (environ): Wrap with a warning helper function.
13106
13107         stdio: warn on suspicious uses
13108         * modules/stdio (Depends-on): Add warn-on-use.
13109         (Makefile.am): Provide new substitutions.
13110         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
13111         fseeko.
13112         * lib/stdio.in.h (gets): Always warn on use.
13113         (fseek, ftell): Adjust when warnings are issued, and honor
13114         _GL_NO_LARGE_FILES as a way to silence the warning.
13115         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
13116         any warning about large file offsets.
13117         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
13118         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
13119         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
13120         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
13121         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
13122         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
13123         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
13124         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
13125
13126         warn-on-use: new module
13127         * modules/warn-on-use: New file.
13128         * build-aux/warn-on-use.h: Likewise.
13129         * m4/warn-on-use.m4: Likewise.
13130         * MODULES.html.sh (Support for building): Mention it.
13131
13132 2010-01-10  Bruno Haible  <bruno@clisp.org>
13133
13134         Tests for module 'unistr/u32-strdup'.
13135         * modules/unistr/u32-strdup-tests: New file.
13136         * tests/unistr/test-u32-strdup.c: New file.
13137
13138         Tests for module 'unistr/u16-strdup'.
13139         * modules/unistr/u16-strdup-tests: New file.
13140         * tests/unistr/test-u16-strdup.c: New file.
13141
13142         Tests for module 'unistr/u8-strdup'.
13143         * modules/unistr/u8-strdup-tests: New file.
13144         * tests/unistr/test-u8-strdup.c: New file.
13145         * tests/unistr/test-strdup.h: New file.
13146
13147         Tests for module 'unistr/u32-strncmp'.
13148         * modules/unistr/u32-strncmp-tests: New file.
13149         * tests/unistr/test-u32-strncmp.c: New file.
13150
13151         Tests for module 'unistr/u16-strncmp'.
13152         * modules/unistr/u16-strncmp-tests: New file.
13153         * tests/unistr/test-u16-strncmp.c: New file.
13154
13155         Tests for module 'unistr/u8-strncmp'.
13156         * modules/unistr/u8-strncmp-tests: New file.
13157         * tests/unistr/test-u8-strncmp.c: New file.
13158         * tests/unistr/test-strncmp.h: New file.
13159
13160         Tests for module 'unistr/u32-strcoll'.
13161         * modules/unistr/u32-strcoll-tests: New file.
13162         * tests/unistr/test-u32-strcoll.c: New file.
13163
13164         Tests for module 'unistr/u16-strcoll'.
13165         * modules/unistr/u16-strcoll-tests: New file.
13166         * tests/unistr/test-u16-strcoll.c: New file.
13167
13168         Tests for module 'unistr/u8-strcoll'.
13169         * modules/unistr/u8-strcoll-tests: New file.
13170         * tests/unistr/test-u8-strcoll.c: New file.
13171
13172         Tests for module 'unistr/u32-strcmp'.
13173         * modules/unistr/u32-strcmp-tests: New file.
13174         * tests/unistr/test-u32-strcmp.c: New file.
13175         * tests/unistr/test-u32-strcmp.h: New file.
13176
13177         Tests for module 'unistr/u16-strcmp'.
13178         * modules/unistr/u16-strcmp-tests: New file.
13179         * tests/unistr/test-u16-strcmp.c: New file.
13180         * tests/unistr/test-u16-strcmp.h: New file.
13181
13182         Tests for module 'unistr/u8-strcmp'.
13183         * modules/unistr/u8-strcmp-tests: New file.
13184         * tests/unistr/test-u8-strcmp.c: New file.
13185         * tests/unistr/test-u8-strcmp.h: New file.
13186         * tests/unistr/test-strcmp.h: New file.
13187
13188         Tests for module 'unistr/u32-strncat'.
13189         * modules/unistr/u32-strncat-tests: New file.
13190         * tests/unistr/test-u32-strncat.c: New file.
13191
13192         Tests for module 'unistr/u16-strncat'.
13193         * modules/unistr/u16-strncat-tests: New file.
13194         * tests/unistr/test-u16-strncat.c: New file.
13195
13196         Tests for module 'unistr/u8-strncat'.
13197         * modules/unistr/u8-strncat-tests: New file.
13198         * tests/unistr/test-u8-strncat.c: New file.
13199         * tests/unistr/test-strncat.h: New file.
13200
13201         Tests for module 'unistr/u32-strcat'.
13202         * modules/unistr/u32-strcat-tests: New file.
13203         * tests/unistr/test-u32-strcat.c: New file.
13204
13205         Tests for module 'unistr/u16-strcat'.
13206         * modules/unistr/u16-strcat-tests: New file.
13207         * tests/unistr/test-u16-strcat.c: New file.
13208
13209         Tests for module 'unistr/u8-strcat'.
13210         * modules/unistr/u8-strcat-tests: New file.
13211         * tests/unistr/test-u8-strcat.c: New file.
13212         * tests/unistr/test-strcat.h: New file.
13213
13214         Tests for module 'unistr/u32-stpncpy'.
13215         * modules/unistr/u32-stpncpy-tests: New file.
13216         * tests/unistr/test-u32-stpncpy.c: New file.
13217
13218         Tests for module 'unistr/u16-stpncpy'.
13219         * modules/unistr/u16-stpncpy-tests: New file.
13220         * tests/unistr/test-u16-stpncpy.c: New file.
13221
13222         Tests for module 'unistr/u8-stpncpy'.
13223         * modules/unistr/u8-stpncpy-tests: New file.
13224         * tests/unistr/test-u8-stpncpy.c: New file.
13225         * tests/unistr/test-stpncpy.h: New file.
13226
13227         Tests for module 'unistr/u32-strncpy'.
13228         * modules/unistr/u32-strncpy-tests: New file.
13229         * tests/unistr/test-u32-strncpy.c: New file.
13230
13231         Tests for module 'unistr/u16-strncpy'.
13232         * modules/unistr/u16-strncpy-tests: New file.
13233         * tests/unistr/test-u16-strncpy.c: New file.
13234
13235         Tests for module 'unistr/u8-strncpy'.
13236         * modules/unistr/u8-strncpy-tests: New file.
13237         * tests/unistr/test-u8-strncpy.c: New file.
13238         * tests/unistr/test-strncpy.h: New file.
13239
13240         Tests for module 'unistr/u32-stpcpy'.
13241         * modules/unistr/u32-stpcpy-tests: New file.
13242         * tests/unistr/test-u32-stpcpy.c: New file.
13243
13244         Tests for module 'unistr/u16-stpcpy'.
13245         * modules/unistr/u16-stpcpy-tests: New file.
13246         * tests/unistr/test-u16-stpcpy.c: New file.
13247
13248         Tests for module 'unistr/u8-stpcpy'.
13249         * modules/unistr/u8-stpcpy-tests: New file.
13250         * tests/unistr/test-u8-stpcpy.c: New file.
13251         * tests/unistr/test-stpcpy.h: New file.
13252
13253         Tests for module 'unistr/u32-strcpy'.
13254         * modules/unistr/u32-strcpy-tests: New file.
13255         * tests/unistr/test-u32-strcpy.c: New file.
13256
13257         Tests for module 'unistr/u16-strcpy'.
13258         * modules/unistr/u16-strcpy-tests: New file.
13259         * tests/unistr/test-u16-strcpy.c: New file.
13260
13261         Tests for module 'unistr/u8-strcpy'.
13262         * modules/unistr/u8-strcpy-tests: New file.
13263         * tests/unistr/test-u8-strcpy.c: New file.
13264         * tests/unistr/test-strcpy.h: New file.
13265
13266         Tests for module 'unistr/u32-strnlen'.
13267         * modules/unistr/u32-strnlen-tests: New file.
13268         * tests/unistr/test-u32-strnlen.c: New file.
13269
13270         Tests for module 'unistr/u16-strnlen'.
13271         * modules/unistr/u16-strnlen-tests: New file.
13272         * tests/unistr/test-u16-strnlen.c: New file.
13273
13274         Tests for module 'unistr/u8-strnlen'.
13275         * modules/unistr/u8-strnlen-tests: New file.
13276         * tests/unistr/test-u8-strnlen.c: New file.
13277         * tests/unistr/test-strnlen.h: New file.
13278
13279         Tests for module 'unistr/u32-strlen'.
13280         * modules/unistr/u32-strlen-tests: New file.
13281         * tests/unistr/test-u32-strlen.c: New file.
13282
13283         Tests for module 'unistr/u16-strlen'.
13284         * modules/unistr/u16-strlen-tests: New file.
13285         * tests/unistr/test-u16-strlen.c: New file.
13286
13287         Tests for module 'unistr/u8-strlen'.
13288         * modules/unistr/u8-strlen-tests: New file.
13289         * tests/unistr/test-u8-strlen.c: New file.
13290
13291         Tests for module 'unistr/u32-prev'.
13292         * modules/unistr/u32-prev-tests: New file.
13293         * tests/unistr/test-u32-prev.c: New file.
13294
13295         Tests for module 'unistr/u16-prev'.
13296         * modules/unistr/u16-prev-tests: New file.
13297         * tests/unistr/test-u16-prev.c: New file.
13298
13299         Tests for module 'unistr/u8-prev'.
13300         * modules/unistr/u8-prev-tests: New file.
13301         * tests/unistr/test-u8-prev.c: New file.
13302
13303         Tests for module 'unistr/u32-next'.
13304         * modules/unistr/u32-next-tests: New file.
13305         * tests/unistr/test-u32-next.c: New file.
13306
13307         Tests for module 'unistr/u16-next'.
13308         * modules/unistr/u16-next-tests: New file.
13309         * tests/unistr/test-u16-next.c: New file.
13310
13311         Tests for module 'unistr/u8-next'.
13312         * modules/unistr/u8-next-tests: New file.
13313         * tests/unistr/test-u8-next.c: New file.
13314
13315         Tests for module 'unistr/u32-strmbtouc'.
13316         * modules/unistr/u32-strmbtouc-tests: New file.
13317         * tests/unistr/test-u32-strmbtouc.c: New file.
13318
13319         Tests for module 'unistr/u16-strmbtouc'.
13320         * modules/unistr/u16-strmbtouc-tests: New file.
13321         * tests/unistr/test-u16-strmbtouc.c: New file.
13322
13323         Tests for module 'unistr/u8-strmbtouc'.
13324         * modules/unistr/u8-strmbtouc-tests: New file.
13325         * tests/unistr/test-u8-strmbtouc.c: New file.
13326
13327         Tests for module 'unistr/u32-strmblen'.
13328         * modules/unistr/u32-strmblen-tests: New file.
13329         * tests/unistr/test-u32-strmblen.c: New file.
13330
13331         Tests for module 'unistr/u16-strmblen'.
13332         * modules/unistr/u16-strmblen-tests: New file.
13333         * tests/unistr/test-u16-strmblen.c: New file.
13334
13335         Tests for module 'unistr/u8-strmblen'.
13336         * modules/unistr/u8-strmblen-tests: New file.
13337         * tests/unistr/test-u8-strmblen.c: New file.
13338
13339         Tests for module 'unistr/u32-cpy-alloc'.
13340         * modules/unistr/u32-cpy-alloc-tests: New file.
13341         * tests/unistr/test-u32-cpy-alloc.c: New file.
13342
13343         Tests for module 'unistr/u16-cpy-alloc'.
13344         * modules/unistr/u16-cpy-alloc-tests: New file.
13345         * tests/unistr/test-u16-cpy-alloc.c: New file.
13346
13347         Tests for module 'unistr/u8-cpy-alloc'.
13348         * modules/unistr/u8-cpy-alloc-tests: New file.
13349         * tests/unistr/test-u8-cpy-alloc.c: New file.
13350         * tests/unistr/test-cpy-alloc.h: New file.
13351
13352         Tests for module 'unistr/u32-mbsnlen'.
13353         * modules/unistr/u32-mbsnlen-tests: New file.
13354         * tests/unistr/test-u32-mbsnlen.c: New file.
13355
13356         Tests for module 'unistr/u16-mbsnlen'.
13357         * modules/unistr/u16-mbsnlen-tests: New file.
13358         * tests/unistr/test-u16-mbsnlen.c: New file.
13359
13360         Tests for module 'unistr/u8-mbsnlen'.
13361         * modules/unistr/u8-mbsnlen-tests: New file.
13362         * tests/unistr/test-u8-mbsnlen.c: New file.
13363
13364         Tests for module 'unistr/u32-chr'.
13365         * modules/unistr/u32-chr-tests: New file.
13366         * tests/unistr/test-u32-chr.c: New file.
13367
13368         Tests for module 'unistr/u16-chr'.
13369         * modules/unistr/u16-chr-tests: New file.
13370         * tests/unistr/test-u16-chr.c: New file.
13371
13372         Tests for module 'unistr/u8-chr'.
13373         * modules/unistr/u8-chr-tests: New file.
13374         * tests/unistr/test-u8-chr.c: New file.
13375         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
13376
13377         Tests for module 'unistr/u32-cmp2'.
13378         * modules/unistr/u32-cmp2-tests: New file.
13379         * tests/unistr/test-u32-cmp2.c: New file.
13380
13381         Tests for module 'unistr/u16-cmp2'.
13382         * modules/unistr/u16-cmp2-tests: New file.
13383         * tests/unistr/test-u16-cmp2.c: New file.
13384
13385         Tests for module 'unistr/u8-cmp2'.
13386         * modules/unistr/u8-cmp2-tests: New file.
13387         * tests/unistr/test-u8-cmp2.c: New file.
13388         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
13389
13390         Tests for module 'unistr/u32-cmp'.
13391         * modules/unistr/u32-cmp-tests: New file.
13392         * tests/unistr/test-u32-cmp.c: New file.
13393
13394         Tests for module 'unistr/u16-cmp'.
13395         * modules/unistr/u16-cmp-tests: New file.
13396         * tests/unistr/test-u16-cmp.c: New file.
13397
13398         Tests for module 'unistr/u8-cmp'.
13399         * modules/unistr/u8-cmp-tests: New file.
13400         * tests/unistr/test-u8-cmp.c: New file.
13401         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
13402
13403         Tests for module 'unistr/u32-set'.
13404         * modules/unistr/u32-set-tests: New file.
13405         * tests/unistr/test-u32-set.c: New file.
13406
13407         Tests for module 'unistr/u16-set'.
13408         * modules/unistr/u16-set-tests: New file.
13409         * tests/unistr/test-u16-set.c: New file.
13410
13411         Tests for module 'unistr/u8-set'.
13412         * modules/unistr/u8-set-tests: New file.
13413         * tests/unistr/test-u8-set.c: New file.
13414         * tests/unistr/test-set.h: New file.
13415
13416         Tests for module 'unistr/u32-move'.
13417         * modules/unistr/u32-move-tests: New file.
13418         * tests/unistr/test-u32-move.c: New file.
13419
13420         Tests for module 'unistr/u16-move'.
13421         * modules/unistr/u16-move-tests: New file.
13422         * tests/unistr/test-u16-move.c: New file.
13423
13424         Tests for module 'unistr/u8-move'.
13425         * modules/unistr/u8-move-tests: New file.
13426         * tests/unistr/test-u8-move.c: New file.
13427         * tests/unistr/test-move.h: New file.
13428
13429         Tests for module 'unistr/u32-cpy'.
13430         * modules/unistr/u32-cpy-tests: New file.
13431         * tests/unistr/test-u32-cpy.c: New file.
13432
13433         Tests for module 'unistr/u16-cpy'.
13434         * modules/unistr/u16-cpy-tests: New file.
13435         * tests/unistr/test-u16-cpy.c: New file.
13436
13437         Tests for module 'unistr/u8-cpy'.
13438         * modules/unistr/u8-cpy-tests: New file.
13439         * tests/unistr/test-u8-cpy.c: New file.
13440         * tests/unistr/test-cpy.h: New file.
13441
13442 2010-01-09  Bruno Haible  <bruno@clisp.org>
13443
13444         Tests for module 'unistr/u32-uctomb'.
13445         * modules/unistr/u32-uctomb-tests: New file.
13446         * tests/unistr/test-u32-uctomb.c: New file.
13447
13448         Tests for module 'unistr/u16-uctomb'.
13449         * modules/unistr/u16-uctomb-tests: New file.
13450         * tests/unistr/test-u16-uctomb.c: New file.
13451
13452         Tests for module 'unistr/u8-uctomb'.
13453         * modules/unistr/u8-uctomb-tests: New file.
13454         * tests/unistr/test-u8-uctomb.c: New file.
13455
13456         Tests for module 'unistr/u32-mbtoucr'.
13457         * modules/unistr/u32-mbtoucr-tests: New file.
13458         * tests/unistr/test-u32-mbtoucr.c: New file.
13459
13460         Tests for module 'unistr/u16-mbtoucr'.
13461         * modules/unistr/u16-mbtoucr-tests: New file.
13462         * tests/unistr/test-u16-mbtoucr.c: New file.
13463
13464         Tests for module 'unistr/u8-mbtoucr'.
13465         * modules/unistr/u8-mbtoucr-tests: New file.
13466         * tests/unistr/test-u8-mbtoucr.c: New file.
13467
13468         Tests for module 'unistr/u32-mbtouc'.
13469         * modules/unistr/u32-mbtouc-tests: New file.
13470         * tests/unistr/test-u32-mbtouc.c: New file.
13471
13472         Tests for module 'unistr/u16-mbtouc'.
13473         * modules/unistr/u16-mbtouc-tests: New file.
13474         * tests/unistr/test-u16-mbtouc.c: New file.
13475
13476         Tests for module 'unistr/u8-mbtouc'.
13477         * modules/unistr/u8-mbtouc-tests: New file.
13478         * tests/unistr/test-u8-mbtouc.c: New file.
13479
13480         Tests for module 'unistr/u32-mbtouc-unsafe'.
13481         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
13482         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
13483         * tests/unistr/test-u32-mbtouc.h: New file.
13484
13485         Tests for module 'unistr/u16-mbtouc-unsafe'.
13486         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
13487         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
13488         * tests/unistr/test-u16-mbtouc.h: New file.
13489
13490         Tests for module 'unistr/u8-mbtouc-unsafe'.
13491         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
13492         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
13493         * tests/unistr/test-u8-mbtouc.h: New file.
13494
13495         Tests for module 'unistr/u32-mblen'.
13496         * modules/unistr/u32-mblen-tests: New file.
13497         * tests/unistr/test-u32-mblen.c: New file.
13498
13499         Tests for module 'unistr/u16-mblen'.
13500         * modules/unistr/u16-mblen-tests: New file.
13501         * tests/unistr/test-u16-mblen.c: New file.
13502
13503         Tests for module 'unistr/u8-mblen'.
13504         * modules/unistr/u8-mblen-tests: New file.
13505         * tests/unistr/test-u8-mblen.c: New file.
13506
13507         Tests for module 'unistr/u32-to-u16'.
13508         * modules/unistr/u32-to-u16-tests: New file.
13509         * tests/unistr/test-u32-to-u16.c: New file.
13510
13511         Tests for module 'unistr/u32-to-u8'.
13512         * modules/unistr/u32-to-u8-tests: New file.
13513         * tests/unistr/test-u32-to-u8.c: New file.
13514
13515         Tests for module 'unistr/u16-to-u32'.
13516         * modules/unistr/u16-to-u32-tests: New file.
13517         * tests/unistr/test-u16-to-u32.c: New file.
13518
13519         Tests for module 'unistr/u16-to-u8'.
13520         * modules/unistr/u16-to-u8-tests: New file.
13521         * tests/unistr/test-u16-to-u8.c: New file.
13522
13523         Tests for module 'unistr/u8-to-u32'.
13524         * modules/unistr/u8-to-u32-tests: New file.
13525         * tests/unistr/test-u8-to-u32.c: New file.
13526
13527         Tests for module 'unistr/u8-to-u16'.
13528         * modules/unistr/u8-to-u16-tests: New file.
13529         * tests/unistr/test-u8-to-u16.c: New file.
13530
13531         Tests for module 'unistr/u32-check'.
13532         * modules/unistr/u32-check-tests: New file.
13533         * tests/unistr/test-u32-check.c: New file.
13534
13535         Tests for module 'unistr/u16-check'.
13536         * modules/unistr/u16-check-tests: New file.
13537         * tests/unistr/test-u16-check.c: New file.
13538
13539         Tests for module 'unistr/u8-check'.
13540         * modules/unistr/u8-check-tests: New file.
13541         * tests/unistr/test-u8-check.c: New file.
13542
13543         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
13544         (category_equals): New function.
13545         (main): Add more tests.
13546         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
13547
13548         * tests/unictype/test-bidi_byname.c (main): Add more tests.
13549
13550 2010-01-10  Bruno Haible  <bruno@clisp.org>
13551
13552         unistr/u*-strcoll: Try harder to distinguish different strings.
13553         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
13554         compare s1 and s2 to see if they are different.
13555
13556 2010-01-10  Bruno Haible  <bruno@clisp.org>
13557
13558         unistr/u*-stpncpy: Fix the return value.
13559         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
13560         description of the return value consistent with stpncpy in glibc.
13561         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
13562         written non-NUL unit.
13563
13564 2010-01-10  Bruno Haible  <bruno@clisp.org>
13565
13566         unistr/u*-next: Add missing dependencies.
13567         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
13568         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
13569         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
13570
13571 2010-01-10  Bruno Haible  <bruno@clisp.org>
13572
13573         unistr/u8-mbsnlen: Fix return value for incomplete character.
13574         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
13575         u8_mblen.
13576         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
13577         Remove unistr/u8-mblen.
13578         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
13579         u16_mblen.
13580         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
13581         Remove unistr/u16-mblen.
13582
13583 2010-01-10  Bruno Haible  <bruno@clisp.org>
13584
13585         wchar: Fix compilation error when <wchar.h> is used from coreutils.
13586         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
13587         Reported by Brian Gough <bjg@gnu.org> and
13588         Chris Clayton <chris2553@googlemail.com> via
13589         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
13590
13591 2010-01-09  Bruno Haible  <bruno@clisp.org>
13592
13593         unistr/u16-to-u32: Reject invalid input.
13594         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
13595         u16_mbtouc.
13596         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
13597         Remove unistr/u16-mbtouc.
13598
13599         unistr/u16-to-u8: Reject invalid input.
13600         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
13601         u16_mbtouc.
13602         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
13603         Remove unistr/u16-mbtouc.
13604
13605         unistr/u8-to-u32: Reject invalid input.
13606         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
13607         u8_mbtouc.
13608         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
13609         Remove unistr/u8-mbtouc.
13610
13611         unistr/u8-to-u16: Reject invalid input.
13612         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
13613         u8_mbtouc.
13614         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
13615         Remove unistr/u8-mbtouc.
13616
13617 2010-01-09  Bruno Haible  <bruno@clisp.org>
13618
13619         Tests for module 'getlogin'.
13620         * modules/getlogin-tests: New file.
13621         * tests/test-getlogin.c: New file.
13622
13623         New module 'getlogin'.
13624         * lib/unistd.in.h (getlogin): New declaration.
13625         * lib/getlogin.c: New file.
13626         * m4/getlogin.m4: New file.
13627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
13628         HAVE_GETLOGIN.
13629         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
13630         HAVE_GETLOGIN.
13631         * modules/getlogin: New file.
13632         * doc/posix-functions/getlogin.texi: Mention the new module.
13633         Reported by John W. Eaton <jwe@gnu.org>.
13634
13635 2010-01-09  Bruno Haible  <bruno@clisp.org>
13636
13637         getlogin_r: Support for native Windows.
13638         * lib/getlogin_r.c: Include <windows.h>
13639         (getlogin_r): Implement for native Windows.
13640         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
13641         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
13642         via John W. Eaton <jwe@gnu.org>.
13643
13644 2010-01-09  Bruno Haible  <bruno@clisp.org>
13645
13646         getlogin_r: Small fixes.
13647         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
13648         succeeds.
13649         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
13650         before testing whether getlogin_r is declared. No need to set
13651         HAVE_DECL_GETLOGIN_R to 1.
13652         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
13653
13654 2010-01-09  Bruno Haible  <bruno@clisp.org>
13655
13656         * lib/unistd.in.h (getlogin_r): Add comment.
13657
13658 2010-01-09  Bruno Haible  <bruno@clisp.org>
13659
13660         Tests for module 'getlogin_r'.
13661         * modules/getlogin_r-tests: New file.
13662         * tests/test-getlogin_r.c: New file.
13663
13664 2010-01-09  Jim Meyering  <meyering@redhat.com>
13665
13666         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
13667         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
13668         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
13669
13670 2010-01-08  Simon Josefsson  <simon@josefsson.org>
13671
13672         * lib/dup2.c (rpl_dup2): Improve comment.
13673
13674 2010-01-08  Eric Blake  <ebb9@byu.net>
13675
13676         maint.mk: allow packages to add makefile @@ exceptions
13677         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
13678         (sc_makefile_check): Rename...
13679         (sc_makefile_at_at_check): ...to this, and use hook.
13680
13681         dup2: work around mingw bug
13682         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
13683         Reported by Simon Josefsson.
13684
13685 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
13686
13687         glob: Fix C++ compilation.
13688         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
13689         C++.
13690
13691 2010-01-07  Bruno Haible  <bruno@clisp.org>
13692
13693         Fix indentation of wctype.in.h, broken since 2007-01-06.
13694         * lib/wctype.in.h: Fix indentation of preprocessor directives.
13695
13696 2010-01-07  Bruno Haible  <bruno@clisp.org>
13697
13698         mbslen: Avoid collision with system function.
13699         * lib/string.in.h [MirBSD]: Include <wchar.h>.
13700         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
13701         * m4/mbslen.m4: New file.
13702         * modules/mbslen (Files): Add it.
13703         (configure.ac): Invoke gl_MBSLEN.
13704         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
13705         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
13706         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
13707         via Ian Beckwith <ianb@erislabs.net>.
13708
13709 2010-01-07  Bruno Haible  <bruno@clisp.org>
13710
13711         dirent: Document the last fix.
13712         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
13713
13714 2010-01-07  Bruno Haible  <bruno@clisp.org>
13715
13716         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
13717         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
13718         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
13719         va_list are defined.
13720         * doc/posix-headers/stdio.texi: Document the bug of missing types.
13721         Reported by Eric Blake.
13722
13723 2010-01-07  Bruno Haible  <bruno@clisp.org>
13724
13725         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
13726         * modules/xlist (Depends-on): Add 'list',
13727         * modules/xoset (Depends-on): Add 'oset'.
13728         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13729
13730 2010-01-07  Bruno Haible  <bruno@clisp.org>
13731
13732         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
13733         * doc/posix-functions/strncasecmp.texi: Likewise.
13734
13735 2010-01-07  Bruno Haible  <bruno@clisp.org>
13736
13737         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
13738
13739 2010-01-07  John W. Eaton  <jwe@octave.org>
13740
13741         wctype: allow C++ use
13742         * lib/wctype.in.h: Add extern "C" block for C++.
13743
13744 2010-01-06  Eric Blake  <ebb9@byu.net>
13745
13746         maint.mk: detect incorrect GFDL usage
13747         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
13748
13749 2010-01-06  Jim Meyering  <meyering@redhat.com>
13750         and Eric Blake  <ebb9@byu.net>
13751
13752         maint.mk: ignore multi-line copyright in NEWS
13753         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
13754
13755 2010-01-06  Eric Blake  <ebb9@byu.net>
13756
13757         select: add missing dependency
13758         * modules/select-tests (Depends-on): Move sockets dependency...
13759         * modules/select (Depends-on): ...here.
13760         Reported by Ian Beckwith.
13761
13762         doc: regenerate INSTALL
13763         * doc/INSTALL: Reflect recent autoconf update.
13764         * doc/INSTALL.ISO: Likewise.
13765         * doc/INSTALL.UTF-8: Likewise.
13766
13767         pread: fix compilation on glibc
13768         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
13769         Reported by Ralf Wildenhues.
13770
13771         dirent: fix test failure
13772         * lib/dirent.in.h (includes): Guarantee ino_t.
13773         Reported by Ralf Wildenhues.
13774
13775 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
13776
13777         linkat, renameat: avoid bad free
13778         * lib/at-func2.c (at_func2): Fix typo.
13779         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
13780
13781 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13782
13783         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
13784         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
13785         to avoid failure of symlink test later.
13786
13787 2010-01-06  Eric Blake  <ebb9@byu.net>
13788
13789         stdio, unistd: guarantee ssize_t
13790         * lib/unistd.in.h (includes): Ensure that types required by POSIX
13791         2008 are exposed when needed.
13792         * lib/stdio.in.h (includes): Likewise.
13793         Reported by Ralf Wildenhues.
13794
13795 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
13796
13797         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
13798         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
13799         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
13800
13801 2010-01-06  Jim Meyering  <meyering@redhat.com>
13802
13803         readtokens: this module *does* require xalloc.h
13804         It uses only functions that were omitted by the old syntax-check rule.
13805         * lib/readtokens.c: Include "xalloc.h" once again.
13806         * modules/readtokens (Depends-on): Add xalloc.
13807         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
13808
13809 2010-01-05  Eric Blake  <ebb9@byu.net>
13810
13811         maint: support 'make announcement' from a VPATH build
13812         * top/maint.mk (announcement): Look for correct NEWS file.
13813
13814 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
13815
13816         utimens (fdutimens): ignore a negative FD, per contract
13817         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
13818         when we have a valid file descriptor.  Otherwise, using a brand
13819         new glibc (with just-patched futimens that now fails with EBADF)
13820         would cause this function to fail with ENOSYS.
13821         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
13822         See also http://bugzilla.redhat.com/552320.
13823
13824 2010-01-05  Eric Blake  <ebb9@byu.net>
13825
13826         strcase: document what it provides
13827         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
13828         gnulib module.
13829         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
13830         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
13831
13832 2010-01-05  Jim Meyering  <meyering@redhat.com>
13833
13834         maint: remove useless inclusions of "xalloc.h"
13835         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
13836         * lib/readtokens.c: Likewise.
13837         * lib/same.c: Likewise.
13838         * modules/getloadavg (Depends-on): Remove xalloc.
13839         * modules/readtokens: Likewise.
13840         * modules/same: Likewise.
13841
13842         maint.mk: include 4 more function names in alloca.h-checking regexp
13843         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
13844         regexp.  Before, we would give a false-positive (saying alloca.h
13845         is included unnecessarily) when the only uses involved omitted symbols.
13846
13847         xalloc.h: use consistent formatting
13848         * lib/xalloc.h: Move declarations to start in the first column.
13849
13850 2010-01-05  Eric Blake  <ebb9@byu.net>
13851
13852         mkdir: avoid xalloc
13853         * lib/mkdir.c (includes): Drop unused header.
13854         Reported by John W. Eaton.
13855
13856 2010-01-04  Jim Meyering  <meyering@redhat.com>
13857
13858         nl_langinfo: avoid configure-time syntax error
13859         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
13860         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
13861         the empty string.  Don't let that provoke a shell syntax error.
13862
13863         regcomp, regexec, fnmatch: avoid array bounds read error
13864         * lib/regcomp.c (build_equiv_class): From glibc:
13865         Use only the low 24 bits of a findidx return value as an index
13866         into the weights array.  Patch by Ulrich Drepper:
13867         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
13868         * lib/regexec.c (check_node_accept_bytes): Likewise.
13869         * lib/fnmatch_loop.c (FCT): Likewise.
13870
13871         regcomp: skip collseq lookup when there are no rules
13872         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
13873         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
13874
13875         regcomp: recognize ill-formed { } expressions
13876         * lib/regcomp.c (parse_dup_op): From glibc:
13877         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
13878
13879         regcomp: fix typo in comment
13880         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
13881         s/satisfy/satisfies/.
13882
13883         regcomp: sync from glibc: remove dead store
13884         * lib/regcomp.c (duplicate_node_closure): Remove useless
13885         search_duplicated_node call and dead store.
13886
13887         regcomp: sync from glibc; always use nl_langinfo
13888         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
13889         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
13890         * modules/regex (Depends-on): Add nl_langinfo.
13891
13892 2010-01-04  Eric Blake  <ebb9@byu.net>
13893
13894         fdopendir: fix configure test
13895         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
13896
13897 2010-01-01  Bruno Haible  <bruno@clisp.org>
13898
13899         wchar: Remove unused configure check.
13900         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
13901
13902 2010-01-01  Eric Blake  <ebb9@byu.net>
13903
13904         headers: make check of system header explicit
13905         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
13906         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
13907         ourselves.
13908         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
13909         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13910         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
13911         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
13912         internals.
13913         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
13914         missing.
13915         Suggested by Bruno Haible.
13916
13917 2010-01-01  Jim Meyering  <meyering@redhat.com>
13918
13919         ChangeLog: tweak to eliminate unnecessary copyright line
13920         * ChangeLog: Remove a copyright line that was mistakenly updated
13921         by today's update-copyright run.  Reported by Eric Blake.
13922
13923         test-update-copyright: don't let envvar setting cause test failure
13924         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
13925
13926 2010-01-01  Bruno Haible  <bruno@clisp.org>
13927
13928         localename: Avoid gcc warning.
13929         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
13930         function if it is not used.
13931
13932 2010-01-01  Jim Meyering  <meyering@redhat.com>
13933
13934         update nearly all FSF copyright year lists to include 2010
13935         Use the same procedure as for 2009, outlined in
13936         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
13937
13938         version-etc: set COPYRIGHT_YEAR to 2010
13939         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
13940
13941 2009-12-31  Eric Blake  <ebb9@byu.net>
13942
13943         doc: correct availability of cygwin 1.5.x getopt
13944         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
13945         variables.
13946         * doc/posix-functions/opterr.texi (opterr): Likewise.
13947         * doc/posix-functions/optind.texi (optind): Likewise.
13948         * doc/posix-functions/optopt.texi (optopt): Likewise.
13949         * doc/posix-functions/tzname.texi (tzname): Likewise.
13950
13951         openat: update maintainer
13952         * modules/openat (Maintainer): Add myself.
13953
13954         utimens: avoid shadowing warning
13955         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
13956         buffers into one, to avoid shadowing, as well as avoiding a
13957         redundant stat.
13958         Reported by Jim Meyering.
13959
13960         test-dup2: avoid compiler warning
13961         * tests/test-dup2.c (is_inheritable): Only define if used.
13962
13963 2010-01-01  Bruno Haible  <bruno@clisp.org>
13964
13965         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
13966         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
13967         defined, use wctomb instead of wcrtomb.
13968
13969 2010-01-01  Bruno Haible  <bruno@clisp.org>
13970
13971         iconv: Reject native Solaris iconv.
13972         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
13973         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
13974
13975 2009-12-31  Bruno Haible  <bruno@clisp.org>
13976
13977         * tests/test-signal.c (main): Remove test of 'SIG'.
13978
13979 2009-12-31  Bruno Haible  <bruno@clisp.org>
13980
13981         spawn: Fix incomplete fix.
13982         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
13983         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
13984         warnings for GNULIB_POSIXCHECK again.
13985         Reported by Eric Blake.
13986
13987 2009-12-31  Bruno Haible  <bruno@clisp.org>
13988
13989         Avoid namespace pollution on glibc systems.
13990         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
13991         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
13992         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
13993         glibc systems.
13994
13995 2009-12-31  Bruno Haible  <bruno@clisp.org>
13996
13997         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
13998         (gl_REPLACE_WCHAR_H): Turn into a no-op.
13999         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
14000         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14001         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14002         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14003         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14004
14005 2009-12-31  Bruno Haible  <bruno@clisp.org>
14006
14007         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14008         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
14009         afterwards.
14010
14011 2009-12-31  Bruno Haible  <bruno@clisp.org>
14012
14013         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
14014         SYS_UTSNAME_H.
14015
14016 2009-12-31  Bruno Haible  <bruno@clisp.org>
14017
14018         spawn: Fix misapplied patch.
14019         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
14020         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
14021         warnings for GNULIB_POSIXCHECK.
14022
14023 2009-12-31  Bruno Haible  <bruno@clisp.org>
14024
14025         times: Update after sys_times changed.
14026         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
14027         * modules/times (Files): Add it.
14028         (configure.ac): Invoke gl_FUNC_TIMES.
14029
14030 2009-12-31  Bruno Haible  <bruno@clisp.org>
14031
14032         Use AC_C_INLINE where necessary.
14033         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
14034         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
14035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
14036         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
14037         * m4/mbfile.m4 (gl_MBFILE): Likewise.
14038         * m4/mbiter.m4 (gl_MBITER): Likewise.
14039         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14040         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14041         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
14042         * modules/u64 (configure.ac): Likewise.
14043
14044 2009-12-31  Bruno Haible  <bruno@clisp.org>
14045
14046         Use AC_C_INLINE instead of module 'inline' where possible.
14047         * modules/inline (Description): Clarify purpose.
14048         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
14049         * modules/count-one-bits (Depends-on): Remove inline.
14050         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
14051         * modules/openat (Depends-on): Remove inline.
14052         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
14053         instead of depending on module 'inline'.
14054         * modules/filevercmp (Depends-on, configure.ac): Likewise.
14055         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
14056         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
14057         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
14058         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
14059         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
14060         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
14061         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
14062         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
14063         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
14064         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
14065         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
14066         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
14067         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
14068         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
14069         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
14070         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
14071         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
14072         Likewise.
14073         * modules/unictype/property-ascii-hex-digit (Depends-on,
14074         configure.ac): Likewise.
14075         * modules/unictype/property-bidi-arabic-digit (Depends-on,
14076         configure.ac): Likewise.
14077         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
14078         configure.ac): Likewise.
14079         * modules/unictype/property-bidi-block-separator (Depends-on,
14080         configure.ac): Likewise.
14081         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
14082         configure.ac): Likewise.
14083         * modules/unictype/property-bidi-common-separator (Depends-on,
14084         configure.ac): Likewise.
14085         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
14086         Likewise.
14087         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
14088         configure.ac): Likewise.
14089         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
14090         configure.ac): Likewise.
14091         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
14092         configure.ac): Likewise.
14093         * modules/unictype/property-bidi-european-digit (Depends-on,
14094         configure.ac): Likewise.
14095         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
14096         configure.ac): Likewise.
14097         * modules/unictype/property-bidi-left-to-right (Depends-on,
14098         configure.ac): Likewise.
14099         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
14100         configure.ac): Likewise.
14101         * modules/unictype/property-bidi-other-neutral (Depends-on,
14102         configure.ac): Likewise.
14103         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
14104         Likewise.
14105         * modules/unictype/property-bidi-segment-separator (Depends-on,
14106         configure.ac): Likewise.
14107         * modules/unictype/property-bidi-whitespace (Depends-on,
14108         configure.ac): Likewise.
14109         * modules/unictype/property-combining (Depends-on, configure.ac):
14110         Likewise.
14111         * modules/unictype/property-composite (Depends-on, configure.ac):
14112         Likewise.
14113         * modules/unictype/property-currency-symbol (Depends-on,
14114         configure.ac): Likewise.
14115         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
14116         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
14117         Likewise.
14118         * modules/unictype/property-default-ignorable-code-point (Depends-on,
14119         configure.ac): Likewise.
14120         * modules/unictype/property-deprecated (Depends-on, configure.ac):
14121         Likewise.
14122         * modules/unictype/property-diacritic (Depends-on, configure.ac):
14123         Likewise.
14124         * modules/unictype/property-extender (Depends-on, configure.ac):
14125         Likewise.
14126         * modules/unictype/property-format-control (Depends-on, configure.ac):
14127         Likewise.
14128         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
14129         Likewise.
14130         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
14131         Likewise.
14132         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
14133         Likewise.
14134         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
14135         Likewise.
14136         * modules/unictype/property-hyphen (Depends-on, configure.ac):
14137         Likewise.
14138         * modules/unictype/property-id-continue (Depends-on, configure.ac):
14139         Likewise.
14140         * modules/unictype/property-id-start (Depends-on, configure.ac):
14141         Likewise.
14142         * modules/unictype/property-ideographic (Depends-on, configure.ac):
14143         Likewise.
14144         * modules/unictype/property-ids-binary-operator (Depends-on,
14145         configure.ac): Likewise.
14146         * modules/unictype/property-ids-trinary-operator (Depends-on,
14147         configure.ac): Likewise.
14148         * modules/unictype/property-ignorable-control (Depends-on,
14149         configure.ac): Likewise.
14150         * modules/unictype/property-iso-control (Depends-on, configure.ac):
14151         Likewise.
14152         * modules/unictype/property-join-control (Depends-on, configure.ac):
14153         Likewise.
14154         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
14155         Likewise.
14156         * modules/unictype/property-line-separator (Depends-on, configure.ac):
14157         Likewise.
14158         * modules/unictype/property-logical-order-exception (Depends-on,
14159         configure.ac): Likewise.
14160         * modules/unictype/property-lowercase (Depends-on, configure.ac):
14161         Likewise.
14162         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
14163         * modules/unictype/property-non-break (Depends-on, configure.ac):
14164         Likewise.
14165         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
14166         Likewise.
14167         * modules/unictype/property-numeric (Depends-on, configure.ac):
14168         Likewise.
14169         * modules/unictype/property-other-alphabetic (Depends-on,
14170         configure.ac): Likewise.
14171         * modules/unictype/property-other-default-ignorable-code-point
14172         (Depends-on, configure.ac): Likewise.
14173         * modules/unictype/property-other-grapheme-extend (Depends-on,
14174         configure.ac): Likewise.
14175         * modules/unictype/property-other-id-continue (Depends-on,
14176         configure.ac): Likewise.
14177         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
14178         Likewise.
14179         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
14180         Likewise.
14181         * modules/unictype/property-other-math (Depends-on, configure.ac):
14182         Likewise.
14183         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
14184         Likewise.
14185         * modules/unictype/property-paired-punctuation (Depends-on,
14186         configure.ac): Likewise.
14187         * modules/unictype/property-paragraph-separator (Depends-on,
14188         configure.ac): Likewise.
14189         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
14190         Likewise.
14191         * modules/unictype/property-pattern-white-space (Depends-on,
14192         configure.ac): Likewise.
14193         * modules/unictype/property-private-use (Depends-on, configure.ac):
14194         Likewise.
14195         * modules/unictype/property-punctuation (Depends-on, configure.ac):
14196         Likewise.
14197         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
14198         Likewise.
14199         * modules/unictype/property-radical (Depends-on, configure.ac):
14200         Likewise.
14201         * modules/unictype/property-sentence-terminal (Depends-on,
14202         configure.ac): Likewise.
14203         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
14204         Likewise.
14205         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
14206         * modules/unictype/property-terminal-punctuation (Depends-on,
14207         configure.ac): Likewise.
14208         * modules/unictype/property-titlecase (Depends-on, configure.ac):
14209         Likewise.
14210         * modules/unictype/property-unassigned-code-value (Depends-on,
14211         configure.ac): Likewise.
14212         * modules/unictype/property-unified-ideograph (Depends-on,
14213         configure.ac): Likewise.
14214         * modules/unictype/property-uppercase (Depends-on, configure.ac):
14215         Likewise.
14216         * modules/unictype/property-variation-selector (Depends-on,
14217         configure.ac): Likewise.
14218         * modules/unictype/property-white-space (Depends-on, configure.ac):
14219         Likewise.
14220         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
14221         Likewise.
14222         * modules/unictype/property-xid-start (Depends-on, configure.ac):
14223         Likewise.
14224         * modules/unictype/property-zero-width (Depends-on, configure.ac):
14225         Likewise.
14226         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
14227         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
14228         Likewise.
14229
14230 2009-12-31  Bruno Haible  <bruno@clisp.org>
14231
14232         Remove unnecessary AC_C_INLINE invocation.
14233         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
14234         since 2009-08-21.
14235
14236 2009-12-31  Jim Meyering  <meyering@redhat.com>
14237
14238         maint.mk: don't require explicit gpg_key_ID in cfg.mk
14239         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
14240         With this change, we can all remove the gpg_key_ID = ... definition
14241         from our respective cfg.mk files.
14242
14243         maint.mk: create announcement template in ~/, not in /tmp
14244         * top/maint.mk (emit_upload_commands): Adjust.
14245         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
14246         Remove temporary file, .ci-msg.
14247
14248 2009-12-31  Eric Blake  <ebb9@byu.net>
14249
14250         link-warning: always build headers with link warnings
14251         * modules/arpa_inet (Makefile.am): Always build replacement
14252         header.
14253         * modules/ctype (Makefile.am): Likewise.
14254         * modules/dirent (Makefile.am): Likewise.
14255         * modules/inttypes (Makefile.am): Likewise.
14256         * modules/langinfo (Makefile.am): Likewise.
14257         * modules/locale (Makefile.am): Likewise.
14258         * modules/spawn (Makefile.am): Likewise.
14259         * modules/sys_file (Makefile.am): Likewise.
14260         * modules/sys_ioctl (Makefile.am): Likewise.
14261         * modules/sys_select (Makefile.am): Likewise.
14262         * modules/sys_socket (Makefile.am): Likewise.
14263         * modules/sys_times (Makefile.am): Likewise.
14264         * modules/sys_utsname (Makefile.am): Likewise.
14265         * modules/sys_wait (Makefile.am): Likewise.
14266         * modules/wchar (Makefile.am): Likewise.
14267         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
14268         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
14269         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
14270         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
14271         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
14272         Likewise.
14273         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
14274         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
14275         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
14276         Likewise.
14277         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
14278         Likewise.
14279         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14280         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
14281         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
14282         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14283         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14284         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
14285         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
14286         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
14287         (gl_WCHAR_H_DEFAULTS): Likewise.
14288
14289 2009-12-31  Eric Blake  <ebb9@byu.net>
14290
14291         signal, spawn: use link warnings
14292         * lib/signal.in.h (sigset_t): Make unconditional.
14293         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
14294         (sigpending, sigprocmask, sigaction): Add link warnings.
14295         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
14296         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
14297         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
14298         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
14299         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
14300         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
14301         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
14302         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
14303         (posix_spawn_file_actions_destroy)
14304         (posix_spawn_file_actions_addopen)
14305         (posix_spawn_file_actions_addclose)
14306         (posix_spawn_file_actions_adddup2): Likewise.
14307         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
14308         * tests/test-signal.c (main): Enhance test.
14309
14310         spawn: improve wrapper support
14311         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
14312         (gl_SPAWN_H_DEFAULTS): New defaults.
14313         * modules/spawn (Makefile.am): Substitute them.
14314         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
14315         Only declare if missing or broken.
14316
14317         sys_times, sys_utsname: use include_next
14318         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
14319         header.
14320         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
14321         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
14322         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
14323         * modules/sys_times (Depends-on): Add include_next.
14324         (Makefile.am): Substitute additional values.
14325         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
14326         * lib/sys_times.in.h (includes): Include native header, if
14327         available.
14328         * lib/sys_utsname.in.h (includes): Likewise.
14329         * tests/test-sys_times.c (main): Enhance test.
14330
14331         fdutimensat: revert prior patch
14332         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
14333         utimens.h.
14334         Reported by Bruno Haible.
14335
14336 2009-12-30  Eric Blake  <ebb9@byu.net>
14337
14338         sys_wait: drop link-warning dependency
14339         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
14340         link-warning efforts.
14341         * lib/sys_wait.in.h: Likewise.
14342
14343         fdutimensat: remove bogus dependency
14344         * modules/fdutimensat (Depends-on): Drop inline.
14345
14346         unistd: fix typo
14347         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
14348
14349 2009-12-30  Bruno Haible  <bruno@clisp.org>
14350
14351         Fix compilation error with Solaris cc.
14352         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
14353         * lib/unicase/u16-is-invariant.c: Likewise.
14354         * lib/unicase/u32-is-invariant.c: Likewise.
14355         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
14356
14357 2009-12-30  Bruno Haible  <bruno@clisp.org>
14358
14359         Fix test crash.
14360         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
14361         locales.
14362         Reported by Simon Josefsson <simon@josefsson.org>.
14363
14364 2009-12-30  Bruno Haible  <bruno@clisp.org>
14365
14366         Fix compilation error on most platforms.
14367         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
14368         Reported by Simon Josefsson <simon@josefsson.org>
14369         and Nelson H. F. Beebe <beebe@math.utah.edu>.
14370
14371 2009-12-30  Eric Blake  <ebb9@byu.net>
14372
14373         futimens, utimensat: work around ntfs-3g bug
14374         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
14375         a ctime bug is present, and expand workaround to cover ntfs-3g.
14376         * lib/utimens.c (fdutimens, lutimens): Likewise.
14377         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
14378         (validate_timespec): Adjust return value.
14379         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
14380         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
14381         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
14382
14383 2009-12-29  Eric Blake  <ebb9@byu.net>
14384
14385         link-warning: make usage consistent
14386         * modules/ctype (Depends-on): Add link-warning.
14387         (Makefile.am): Update rules accordingly.
14388         * modules/langinfo (Depends-on, Makefile.am): Likewise.
14389         * modules/locale (Depends-on, Makefile.am): Likewise.
14390         * modules/sys_file (Makefile.am): Likewise.
14391         * modules/getopt-posix (Makefile.am): Delete unused link warning
14392         efforts.
14393         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
14394         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
14395         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
14396         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
14397
14398         stdio: remove unused variables
14399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
14400         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
14401         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
14402
14403         tests: test more substitute headers
14404         * modules/ctype-tests: New file.
14405         * modules/dirent-tests: Likewise.
14406         * modules/spawn-tests: Likewise.
14407         * modules/sys_file-tests: Likewise.
14408         * modules/sys_ioctl-tests: Likewise.
14409         * modules/sys_wait-tests: Likewise.
14410         * tests/test-ctype.c: Likewise.
14411         * tests/test-dirent.c: Likewise.
14412         * tests/test-spawn.c: Likewise.
14413         * tests/test-sys_file.c: Likewise.
14414         * tests/test-sys_ioctl.c: Likewise.
14415         * tests/test-sys_wait.c: Likewise.
14416         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
14417         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
14418         whether or not flock is in use.
14419
14420         tests: remove License section from module
14421         * modules/arpa_inet-tests: Remove unneeded section.
14422         * modules/byteswap-tests: Likewise.
14423         * modules/ceilf-tests: Likewise.
14424         * modules/ceill-tests: Likewise.
14425         * modules/crypto/des-tests: Likewise.
14426         * modules/crypto/gc-arcfour-tests: Likewise.
14427         * modules/crypto/gc-arctwo-tests: Likewise.
14428         * modules/crypto/gc-des-tests: Likewise.
14429         * modules/crypto/gc-hmac-md5-tests: Likewise.
14430         * modules/crypto/gc-hmac-sha1-tests: Likewise.
14431         * modules/crypto/gc-md2-tests: Likewise.
14432         * modules/crypto/gc-md4-tests: Likewise.
14433         * modules/crypto/gc-md5-tests: Likewise.
14434         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
14435         * modules/crypto/gc-rijndael-tests: Likewise.
14436         * modules/crypto/gc-sha1-tests: Likewise.
14437         * modules/crypto/gc-tests: Likewise.
14438         * modules/crypto/md2-tests: Likewise.
14439         * modules/crypto/md4-tests: Likewise.
14440         * modules/fcntl-h-tests: Likewise.
14441         * modules/floorf-tests: Likewise.
14442         * modules/floorl-tests: Likewise.
14443         * modules/frexp-nolibm-tests: Likewise.
14444         * modules/frexp-tests: Likewise.
14445         * modules/frexpl-nolibm-tests: Likewise.
14446         * modules/frexpl-tests: Likewise.
14447         * modules/getaddrinfo-tests: Likewise.
14448         * modules/inttypes-tests: Likewise.
14449         * modules/isfinite-tests: Likewise.
14450         * modules/isinf-tests: Likewise.
14451         * modules/ldexpl-tests: Likewise.
14452         * modules/locale-tests: Likewise.
14453         * modules/math-tests: Likewise.
14454         * modules/netdb-tests: Likewise.
14455         * modules/netinet_in-tests: Likewise.
14456         * modules/printf-frexp-tests: Likewise.
14457         * modules/printf-frexpl-tests: Likewise.
14458         * modules/priv-set-tests: Likewise.
14459         * modules/random_r-tests: Likewise.
14460         * modules/round-tests: Likewise.
14461         * modules/roundf-tests: Likewise.
14462         * modules/roundl-tests: Likewise.
14463         * modules/search-tests: Likewise.
14464         * modules/select-tests: Likewise.
14465         * modules/signal-tests: Likewise.
14466         * modules/stdbool-tests: Likewise.
14467         * modules/stddef-tests: Likewise.
14468         * modules/stdint-tests: Likewise.
14469         * modules/stdio-tests: Likewise.
14470         * modules/stdlib-tests: Likewise.
14471         * modules/string-tests: Likewise.
14472         * modules/strings-tests: Likewise.
14473         * modules/sys_select-tests: Likewise.
14474         * modules/sys_socket-tests: Likewise.
14475         * modules/sys_stat-tests: Likewise.
14476         * modules/sys_time-tests: Likewise.
14477         * modules/sys_utsname-tests: Likewise.
14478         * modules/sysexits-tests: Likewise.
14479         * modules/time-tests: Likewise.
14480         * modules/trunc-tests: Likewise.
14481         * modules/truncf-tests: Likewise.
14482         * modules/truncl-tests: Likewise.
14483         * modules/tsearch-tests: Likewise.
14484         * modules/unistd-tests: Likewise.
14485         * modules/wchar-tests: Likewise.
14486         * modules/wctype-tests: Likewise.
14487
14488         tests: fix license on several tests
14489         * tests/test-des.c: Update to GPLv3+.
14490         * tests/test-flock.c: Likewise.
14491         * tests/test-fsync.c: Likewise.
14492         * tests/test-futimens.h: Likewise.
14493         * tests/test-gc-arcfour.c: Likewise.
14494         * tests/test-gc-arctwo.c: Likewise.
14495         * tests/test-gc-des.c: Likewise.
14496         * tests/test-gc-hmac-md5.c: Likewise.
14497         * tests/test-gc-hmac-sha1.c: Likewise.
14498         * tests/test-gc-md2.c: Likewise.
14499         * tests/test-gc-md4.c: Likewise.
14500         * tests/test-gc-md5.c: Likewise.
14501         * tests/test-gc-pbkdf2-sha1.c: Likewise.
14502         * tests/test-gc-rijndael.c: Likewise.
14503         * tests/test-gc-sha1.c: Likewise.
14504         * tests/test-gc.c: Likewise.
14505         * tests/test-getcwd.c: Likewise.
14506         * tests/test-link.c: Likewise.
14507         * tests/test-link.h: Likewise.
14508         * tests/test-lutimens.h: Likewise.
14509         * tests/test-md2.c: Likewise.
14510         * tests/test-md4.c: Likewise.
14511         * tests/test-mkdir.h: Likewise.
14512         * tests/test-rename.c: Likewise.
14513         * tests/test-rename.h: Likewise.
14514         * tests/test-safe-alloc.c: Likewise.
14515         * tests/test-utimens-common.h: Likewise.
14516         * tests/test-utimens.h: Likewise.
14517
14518         maint: sync license texts
14519         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
14520         * doc/gpl-3.0.texi: Revert copyright year update.
14521         * doc/lgpl-3.0.texi: Likewise.
14522
14523 2009-12-29  Jim Meyering  <meyering@redhat.com>
14524
14525         update nearly all FSF copyright year lists to include 2009
14526         The files named by the following are exempted:
14527             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
14528               test -f "$dst" && { echo "$dst"; continue; }
14529               test -d "$dst" || continue
14530               echo "$dst"/$(basename "$src")
14531             done > exempt
14532             git ls-files tests/unictype >> exempt
14533         In the remaining files, convert to all-interval notation if
14534         - there is already at least one year interval like 2000-2003
14535         - the file is maintained by me
14536         - the file is in lib/uni*/, where that style already prevails
14537         Otherwise, use update-copyright's default.
14538
14539 2009-12-29  Simon Josefsson  <simon@josefsson.org>
14540         and Eric Blake  <ebb9@byu.net>
14541
14542         tests: don't require debug system() to pass
14543         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
14544         * tests/test-rmdir.h (test_rmdir_func): Likewise.
14545         * tests/test-unlink.h (test_unlink_func): Likewise.
14546         * tests/test-fstatat.c (main): ...into callers.
14547         * tests/test-lstat.c (main): Likewise.
14548         * tests/test-rmdir.c (main): Likewise.
14549         * tests/test-unlink.c (main): Likewise.
14550         * tests/test-unlinkat.c (main): Likewise.
14551         * tests/test-areadlink-with-size.c (main): Don't require a
14552         debug-only system call to pass, aiding cross-testing to mingw.
14553         * tests/test-areadlink.c (main): Likewise.
14554         * tests/test-areadlinkat-with-size.c (main): Likewise.
14555         * tests/test-areadlinkat.c (main): Likewise.
14556         * tests/test-canonicalize-lgpl.c (main): Likewise.
14557         * tests/test-canonicalize.c (main): Likewise.
14558         * tests/test-chown.c (main): Likewise.
14559         * tests/test-fchownat.c (main): Likewise.
14560         * tests/test-lchown.c (main): Likewise.
14561         * tests/test-fdutimensat.c (main): Likewise.
14562         * tests/test-futimens.c (main): Likewise.
14563         * tests/test-link.c (main): Likewise.
14564         * tests/test-linkat.c (main): Likewise.
14565         * tests/test-mkdir.c (main): Likewise.
14566         * tests/test-mkdirat.c (main): Likewise.
14567         * tests/test-mkfifo.c (main): Likewise.
14568         * tests/test-mkfifoat.c (main): Likewise.
14569         * tests/test-mknod.c (main): Likewise.
14570         * tests/test-readlink.c (main): Likewise.
14571         * tests/test-remove.c (main): Likewise.
14572         * tests/test-rename.c (main): Likewise.
14573         * tests/test-renameat.c (main): Likewise.
14574         * tests/test-symlink.c (main): Likewise.
14575         * tests/test-symlinkat.c (main): Likewise.
14576         * tests/test-utimens.c (main): Likewise.
14577         * tests/test-utimensat.c (main): Likewise.
14578
14579 2009-12-29  Simon Josefsson  <simon@josefsson.org>
14580
14581         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
14582         on $(UNUSED_PARAMETER_H) to avoid build failure.
14583
14584 2009-12-28  Jim Meyering  <meyering@redhat.com>
14585
14586         update-copyright: you may specify a max. line length other than 72
14587         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
14588
14589         maint: use consistent FSF copyright line syntax
14590         * lib/posixtm.c: Add missing comma in FSF copyright line.
14591         * lib/posixtm.h: Likewise.
14592         * lib/getugroups.c: Add missing ", Inc.".
14593
14594         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
14595         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
14596         FSF copyright line.  Remove trailing blanks.
14597
14598 2009-12-28  Eric Blake  <ebb9@byu.net>
14599
14600         test-dup2: reduce dependencies
14601         * modules/cloexec (Configure.ac): Set witness.
14602         * modules/dup2-tests (Depends-on): Drop cloexec.
14603         * tests/test-dup2.c (main): Skip portion of test if cloexec module
14604         not present.
14605         Suggested by Bruno Haible.
14606
14607 2009-12-26  Bruno Haible  <bruno@clisp.org>
14608
14609         Remove an unneeded dependency.
14610         * modules/fseterr (Depends-on): Remove dup2.
14611
14612 2009-12-26  Eric Blake  <ebb9@byu.net>
14613
14614         tests: use macros.h in more places
14615         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
14616         (ASSERT_STREAM): Provide default of stderr.
14617         * tests/test-dirent-safer.c: Include macros.h, using alternate
14618         stream for assertions.
14619         * tests/test-dup-safer.c: Likewise.
14620         * tests/test-freopen-safer.c: Likewise.
14621         * tests/test-getopt.c: Likewise.
14622         * tests/test-openat-safer.c: Likewise.
14623         * tests/test-pipe.c: Likewise.
14624         * tests/test-popen-safer.c: Likewise.
14625         * modules/dirent-safer-tests (Files): Include macros.h.
14626         * modules/unistd-safer-tests (Files): Likewise.
14627         * modules/freopen-safer-tests (Files): Likewise.
14628         * modules/getopt-posix-tests (Files): Likewise.
14629         * modules/openat-safer-tests (Files): Likewise.
14630         * modules/pipe-tests (Files): Likewise.
14631
14632 2009-12-26  Bruno Haible  <bruno@clisp.org>
14633
14634         javacomp: Portability fix.
14635         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
14636         that it also works on Solaris.
14637
14638 2009-12-26  Bruno Haible  <bruno@clisp.org>
14639
14640         localename: Fix storage allocation of gl_locale_name_thread's result.
14641         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
14642         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
14643         all platforms that have 'uselocale'.
14644         (gl_locale_name_thread_unsafe): New function, extracted from
14645         gl_locale_name_thread.
14646         (gl_locale_name_thread): Call struniq on all platforms that have
14647         'uselocale'.
14648         * tests/test-localename.c (test_locale_name_thread): Check that the
14649         resulting strings are permanently allocated.
14650         * modules/localename-tests (Depends-on): Add strdup.
14651
14652 2009-12-26  Bruno Haible  <bruno@clisp.org>
14653
14654         * tests/test-localename.c (categories): Fill in the strings.
14655
14656 2009-12-26  Jim Meyering  <meyering@redhat.com>
14657
14658         isdir: complete the removal of m4/isdir.m4
14659         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
14660
14661         isdir: clean up, since at least grep still uses it
14662         * lib/isdir.c: Include "isdir.h".
14663         (S_ISDIR): Remove now-unneeded definition.
14664         * modules/isdir (Files): Add lib/isdir.h.
14665         * lib/isdir.h: New file, with declaration.
14666         * m4/isdir.m4: Remove file -- unneeded.
14667
14668 2009-12-25  Bruno Haible  <bruno@clisp.org>
14669
14670         selinux-h: Make generated .h files standalone.
14671         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
14672         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
14673         * lib/se-selinux.in.h: Likewise.
14674         * modules/selinux-h (Depends-on): Add unused-parameter.
14675         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
14676         selinux/selinux.h and selinux/context.h.
14677         Suggested by Eric Blake.
14678
14679 2009-12-25  Bruno Haible  <bruno@clisp.org>
14680
14681         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
14682         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
14683         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
14684         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
14685         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
14686
14687 2009-12-24  Bruno Haible  <bruno@clisp.org>
14688
14689         openat: Fix warning.
14690         * lib/openat-proc.c: Include <unistd.h>.
14691
14692 2009-12-24  Bruno Haible  <bruno@clisp.org>
14693
14694         New module 'unused-parameter'.
14695         * build-aux/unused-parameter.h: New file, extracted from earlier
14696         gnulib-common.m4.
14697         * modules/unused-parameter: New file.
14698         * lib/unistr.h: Include unused-parameter.h.
14699         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
14700         _GL_UNUSED.
14701         * modules/unistr/base (Depends-on): Add unused-parameter.
14702
14703 2009-12-24  Bruno Haible  <bruno@clisp.org>
14704
14705         Add missing dependencies to 'extensions' module.
14706         * m4/extensions.m4: Add comment.
14707         * modules/accept4 (Depends-on): Add extensions.
14708         * modules/dup3 (Depends-on): Likewise.
14709         * modules/fcntl (Depends-on): Likewise.
14710         * modules/futimens (Depends-on): Likewise.
14711         * modules/mknod (Depends-on): Likewise.
14712         * modules/pipe2 (Depends-on): Likewise.
14713         * modules/stat-time (Depends-on): Likewise.
14714         * modules/strcasestr-simple (Depends-on): Likewise.
14715         * modules/strsignal (Depends-on): Likewise.
14716         * modules/utimensat (Depends-on): Likewise.
14717         * modules/localcharset (Depends-on): Likewise. Needed because of
14718         gl_FCNTL_O_FLAGS.
14719         * modules/wcrtomb (Depends-on): Likewise. Needed because of
14720         AC_TYPE_MBSTATE_T.
14721         * modules/wcsnrtombs (Depends-on): Likewise.
14722         * modules/wcsrtombs (Depends-on): Likewise.
14723
14724 2009-12-24  Bruno Haible  <bruno@clisp.org>
14725
14726         binary-io: Avoid gcc warning due to SET_BINARY.
14727         * lib/binary-io.h (SET_BINARY): Cast the result to void.
14728         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
14729
14730 2009-12-24  Bruno Haible  <bruno@clisp.org>
14731
14732         Avoid future namespace pollution on glibc systems.
14733         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
14734         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
14735         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
14736         glibc systems.
14737
14738 2009-12-24  Bruno Haible  <bruno@clisp.org>
14739
14740         Refactor common macros used in tests.
14741         * tests/macros.h: New file.
14742         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
14743         and/or <stdlib.h>, if appropriate.
14744         (ASSERT, SIZEOF): Remove macros.
14745         * tests/test-areadlink-with-size.c: Likewise.
14746         * tests/test-areadlinkat.c: Likewise.
14747         * tests/test-areadlinkat-with-size.c: Likewise.
14748         * tests/test-argmatch.c: Likewise.
14749         * tests/test-argv-iter.c: Likewise.
14750         * tests/test-array-mergesort.c: Likewise.
14751         * tests/test-array_list.c: Likewise.
14752         * tests/test-array_oset.c: Likewise.
14753         * tests/test-avltree_list.c: Likewise.
14754         * tests/test-avltree_oset.c: Likewise.
14755         * tests/test-avltreehash_list.c: Likewise.
14756         * tests/test-base64.c: Likewise.
14757         * tests/test-binary-io.c: Likewise.
14758         * tests/test-bitrotate.c: Likewise.
14759         * tests/test-btowc.c: Likewise.
14760         * tests/test-byteswap.c: Likewise.
14761         * tests/test-c-ctype.c: Likewise.
14762         * tests/test-c-stack.c: Likewise.
14763         * tests/test-c-strcasecmp.c: Likewise.
14764         * tests/test-c-strcasestr.c: Likewise.
14765         * tests/test-c-strncasecmp.c: Likewise.
14766         * tests/test-c-strstr.c: Likewise.
14767         * tests/test-canonicalize-lgpl.c: Likewise.
14768         * tests/test-canonicalize.c: Likewise.
14769         * tests/test-carray_list.c: Likewise.
14770         * tests/test-ceilf1.c: Likewise.
14771         * tests/test-ceilf2.c: Likewise.
14772         * tests/test-ceill.c: Likewise.
14773         * tests/test-chown.c: Likewise.
14774         * tests/test-cloexec.c: Likewise.
14775         * tests/test-copy-acl.c: Likewise.
14776         * tests/test-copy-file.c: Likewise.
14777         * tests/test-count-one-bits.c: Likewise.
14778         * tests/test-dprintf-posix.c: Likewise.
14779         * tests/test-dup2.c: Likewise.
14780         * tests/test-dup3.c: Likewise.
14781         * tests/test-duplocale.c: Likewise.
14782         * tests/test-fbufmode.c: Likewise.
14783         * tests/test-fchdir.c: Likewise.
14784         * tests/test-fchownat.c: Likewise.
14785         * tests/test-fcntl-safer.c: Likewise.
14786         * tests/test-fcntl.c: Likewise.
14787         * tests/test-fdopendir.c: Likewise.
14788         * tests/test-fdutimensat.c: Likewise.
14789         * tests/test-fflush2.c: Likewise.
14790         * tests/test-file-has-acl.c: Likewise.
14791         * tests/test-filevercmp.c: Likewise.
14792         * tests/test-flock.c: Likewise.
14793         * tests/test-floorf1.c: Likewise.
14794         * tests/test-floorf2.c: Likewise.
14795         * tests/test-floorl.c: Likewise.
14796         * tests/test-fnmatch.c: Likewise.
14797         * tests/test-fopen.h: Likewise.
14798         * tests/test-fpending.c: Likewise.
14799         * tests/test-fprintf-posix.c: Likewise.
14800         * tests/test-fpurge.c: Likewise.
14801         * tests/test-freadable.c: Likewise.
14802         * tests/test-freadahead.c: Likewise.
14803         * tests/test-freading.c: Likewise.
14804         * tests/test-freadptr.c: Likewise.
14805         * tests/test-freadptr2.c: Likewise.
14806         * tests/test-freadseek.c: Likewise.
14807         * tests/test-freopen.c: Likewise.
14808         * tests/test-frexp.c: Likewise.
14809         * tests/test-frexpl.c: Likewise.
14810         * tests/test-fseek.c: Likewise.
14811         * tests/test-fseeko.c: Likewise.
14812         * tests/test-fstatat.c: Likewise.
14813         * tests/test-fstrcmp.c: Likewise.
14814         * tests/test-fsync.c: Likewise.
14815         * tests/test-ftell.c: Likewise.
14816         * tests/test-ftello.c: Likewise.
14817         * tests/test-func.c: Likewise.
14818         * tests/test-futimens.c: Likewise.
14819         * tests/test-fwritable.c: Likewise.
14820         * tests/test-fwriting.c: Likewise.
14821         * tests/test-getcwd.c: Likewise.
14822         * tests/test-getdate.c: Likewise.
14823         * tests/test-getdelim.c: Likewise.
14824         * tests/test-getdtablesize.c: Likewise.
14825         * tests/test-getgroups.c: Likewise.
14826         * tests/test-getline.c: Likewise.
14827         * tests/test-getndelim2.c: Likewise.
14828         * tests/test-glob.c: Likewise.
14829         * tests/test-hash.c: Likewise.
14830         * tests/test-i-ring.c: Likewise.
14831         * tests/test-iconv-utf.c: Likewise.
14832         * tests/test-iconv.c: Likewise.
14833         * tests/test-idpriv-drop.c: Likewise.
14834         * tests/test-idpriv-droptemp.c: Likewise.
14835         * tests/test-inet_ntop.c: Likewise.
14836         * tests/test-inet_pton.c: Likewise.
14837         * tests/test-isblank.c: Likewise.
14838         * tests/test-isfinite.c: Likewise.
14839         * tests/test-isinf.c: Likewise.
14840         * tests/test-isnan.c: Likewise.
14841         * tests/test-isnand.h: Likewise.
14842         * tests/test-isnanf.h: Likewise.
14843         * tests/test-isnanl.h: Likewise.
14844         * tests/test-lchown.c: Likewise.
14845         * tests/test-ldexpl.c: Likewise.
14846         * tests/test-link.c: Likewise.
14847         * tests/test-linkat.c: Likewise.
14848         * tests/test-linked_list.c: Likewise.
14849         * tests/test-linkedhash_list.c: Likewise.
14850         * tests/test-localename.c: Likewise.
14851         * tests/test-lseek.c: Likewise.
14852         * tests/test-lstat.c: Likewise.
14853         * tests/test-mbmemcasecmp.c: Likewise.
14854         * tests/test-mbmemcasecoll.c: Likewise.
14855         * tests/test-mbrtowc.c: Likewise.
14856         * tests/test-mbscasecmp.c: Likewise.
14857         * tests/test-mbscasestr1.c: Likewise.
14858         * tests/test-mbscasestr2.c: Likewise.
14859         * tests/test-mbscasestr3.c: Likewise.
14860         * tests/test-mbscasestr4.c: Likewise.
14861         * tests/test-mbschr.c: Likewise.
14862         * tests/test-mbscspn.c: Likewise.
14863         * tests/test-mbsinit.c: Likewise.
14864         * tests/test-mbsncasecmp.c: Likewise.
14865         * tests/test-mbsnrtowcs.c: Likewise.
14866         * tests/test-mbspbrk.c: Likewise.
14867         * tests/test-mbspcasecmp.c: Likewise.
14868         * tests/test-mbsrchr.c: Likewise.
14869         * tests/test-mbsrtowcs.c: Likewise.
14870         * tests/test-mbsspn.c: Likewise.
14871         * tests/test-mbsstr1.c: Likewise.
14872         * tests/test-mbsstr2.c: Likewise.
14873         * tests/test-mbsstr3.c: Likewise.
14874         * tests/test-memchr.c: Likewise.
14875         * tests/test-memchr2.c: Likewise.
14876         * tests/test-memcmp.c: Likewise.
14877         * tests/test-memmem.c: Likewise.
14878         * tests/test-memrchr.c: Likewise.
14879         * tests/test-mkdir.c: Likewise.
14880         * tests/test-mkdirat.c: Likewise.
14881         * tests/test-mkfifo.c: Likewise.
14882         * tests/test-mkfifoat.c: Likewise.
14883         * tests/test-mknod.c: Likewise.
14884         * tests/test-nanosleep.c: Likewise.
14885         * tests/test-nl_langinfo.c: Likewise.
14886         * tests/test-obstack-printf.c: Likewise.
14887         * tests/test-open.c: Likewise.
14888         * tests/test-openat.c: Likewise.
14889         * tests/test-pipe-filter-gi1.c: Likewise.
14890         * tests/test-pipe-filter-gi2-main.c: Likewise.
14891         * tests/test-pipe-filter-ii1.c: Likewise.
14892         * tests/test-pipe-filter-ii2-main.c: Likewise.
14893         * tests/test-pipe2.c: Likewise.
14894         * tests/test-popen.h: Likewise.
14895         * tests/test-posixtm.c: Likewise.
14896         * tests/test-pread.c: Likewise.
14897         * tests/test-printf-frexp.c: Likewise.
14898         * tests/test-printf-frexpl.c: Likewise.
14899         * tests/test-printf-posix.c: Likewise.
14900         * tests/test-priv-set.c: Likewise.
14901         * tests/test-quotearg.c: Likewise.
14902         * tests/test-random_r.c: Likewise.
14903         * tests/test-rawmemchr.c: Likewise.
14904         * tests/test-rbtree_list.c: Likewise.
14905         * tests/test-rbtree_oset.c: Likewise.
14906         * tests/test-rbtreehash_list.c: Likewise.
14907         * tests/test-readlink.c: Likewise.
14908         * tests/test-remove.c: Likewise.
14909         * tests/test-rename.c: Likewise.
14910         * tests/test-renameat.c: Likewise.
14911         * tests/test-rmdir.c: Likewise.
14912         * tests/test-round1.c: Likewise.
14913         * tests/test-roundf1.c: Likewise.
14914         * tests/test-roundl.c: Likewise.
14915         * tests/test-safe-alloc.c: Likewise.
14916         * tests/test-sameacls.c: Likewise.
14917         * tests/test-set-mode-acl.c: Likewise.
14918         * tests/test-setenv.c: Likewise.
14919         * tests/test-sigaction.c: Likewise.
14920         * tests/test-signbit.c: Likewise.
14921         * tests/test-sleep.c: Likewise.
14922         * tests/test-snprintf-posix.c: Likewise.
14923         * tests/test-snprintf.c: Likewise.
14924         * tests/test-sprintf-posix.c: Likewise.
14925         * tests/test-stat-time.c: Likewise.
14926         * tests/test-stat.c: Likewise.
14927         * tests/test-strcasestr.c: Likewise.
14928         * tests/test-strchrnul.c: Likewise.
14929         * tests/test-strerror.c: Likewise.
14930         * tests/test-striconv.c: Likewise.
14931         * tests/test-striconveh.c: Likewise.
14932         * tests/test-striconveha.c: Likewise.
14933         * tests/test-strsignal.c: Likewise.
14934         * tests/test-strstr.c: Likewise.
14935         * tests/test-strtod.c: Likewise.
14936         * tests/test-strverscmp.c: Likewise.
14937         * tests/test-symlink.c: Likewise.
14938         * tests/test-symlinkat.c: Likewise.
14939         * tests/test-trunc1.c: Likewise.
14940         * tests/test-trunc2.c: Likewise.
14941         * tests/test-truncf1.c: Likewise.
14942         * tests/test-truncf2.c: Likewise.
14943         * tests/test-truncl.c: Likewise.
14944         * tests/test-uname.c: Likewise.
14945         * tests/test-unlink.c: Likewise.
14946         * tests/test-unlinkat.c: Likewise.
14947         * tests/test-unsetenv.c: Likewise.
14948         * tests/test-usleep.c: Likewise.
14949         * tests/test-utimens.c: Likewise.
14950         * tests/test-utimensat.c: Likewise.
14951         * tests/test-vasnprintf-posix.c: Likewise.
14952         * tests/test-vasnprintf-posix2.c: Likewise.
14953         * tests/test-vasnprintf.c: Likewise.
14954         * tests/test-vasprintf-posix.c: Likewise.
14955         * tests/test-vasprintf.c: Likewise.
14956         * tests/test-vdprintf-posix.c: Likewise.
14957         * tests/test-vfprintf-posix.c: Likewise.
14958         * tests/test-vprintf-posix.c: Likewise.
14959         * tests/test-vsnprintf-posix.c: Likewise.
14960         * tests/test-vsnprintf.c: Likewise.
14961         * tests/test-vsprintf-posix.c: Likewise.
14962         * tests/test-wcrtomb.c: Likewise.
14963         * tests/test-wcsnrtombs.c: Likewise.
14964         * tests/test-wcsrtombs.c: Likewise.
14965         * tests/test-wctype.c: Likewise.
14966         * tests/test-wcwidth.c: Likewise.
14967         * tests/test-xfprintf-posix.c: Likewise.
14968         * tests/test-xmemdup0.c: Likewise.
14969         * tests/test-xprintf-posix.c: Likewise.
14970         * tests/test-xvasprintf.c: Likewise.
14971         * tests/unicase/test-locale-language.c: Likewise.
14972         * tests/unicase/test-mapping-part1.h: Likewise.
14973         * tests/unicase/test-predicate-part1.h: Likewise.
14974         * tests/unicase/test-u8-casecmp.c: Likewise.
14975         * tests/unicase/test-u8-casecoll.c: Likewise.
14976         * tests/unicase/test-u8-casefold.c: Likewise.
14977         * tests/unicase/test-u8-is-cased.c: Likewise.
14978         * tests/unicase/test-u8-is-casefolded.c: Likewise.
14979         * tests/unicase/test-u8-is-lowercase.c: Likewise.
14980         * tests/unicase/test-u8-is-titlecase.c: Likewise.
14981         * tests/unicase/test-u8-is-uppercase.c: Likewise.
14982         * tests/unicase/test-u8-tolower.c: Likewise.
14983         * tests/unicase/test-u8-totitle.c: Likewise.
14984         * tests/unicase/test-u8-toupper.c: Likewise.
14985         * tests/unicase/test-u16-casecmp.c: Likewise.
14986         * tests/unicase/test-u16-casecoll.c: Likewise.
14987         * tests/unicase/test-u16-casefold.c: Likewise.
14988         * tests/unicase/test-u16-is-cased.c: Likewise.
14989         * tests/unicase/test-u16-is-casefolded.c: Likewise.
14990         * tests/unicase/test-u16-is-lowercase.c: Likewise.
14991         * tests/unicase/test-u16-is-titlecase.c: Likewise.
14992         * tests/unicase/test-u16-is-uppercase.c: Likewise.
14993         * tests/unicase/test-u16-tolower.c: Likewise.
14994         * tests/unicase/test-u16-totitle.c: Likewise.
14995         * tests/unicase/test-u16-toupper.c: Likewise.
14996         * tests/unicase/test-u32-casecmp.c: Likewise.
14997         * tests/unicase/test-u32-casecoll.c: Likewise.
14998         * tests/unicase/test-u32-casefold.c: Likewise.
14999         * tests/unicase/test-u32-is-cased.c: Likewise.
15000         * tests/unicase/test-u32-is-casefolded.c: Likewise.
15001         * tests/unicase/test-u32-is-lowercase.c: Likewise.
15002         * tests/unicase/test-u32-is-titlecase.c: Likewise.
15003         * tests/unicase/test-u32-is-uppercase.c: Likewise.
15004         * tests/unicase/test-u32-tolower.c: Likewise.
15005         * tests/unicase/test-u32-totitle.c: Likewise.
15006         * tests/unicase/test-u32-toupper.c: Likewise.
15007         * tests/unicase/test-ulc-casecmp.c: Likewise.
15008         * tests/unicase/test-ulc-casecoll.c: Likewise.
15009         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
15010         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
15011         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
15012         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
15013         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
15014         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
15015         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
15016         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
15017         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
15018         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
15019         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
15020         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
15021         * tests/unictype/test-bidi_byname.c: Likewise.
15022         * tests/unictype/test-bidi_name.c: Likewise.
15023         * tests/unictype/test-bidi_of.c: Likewise.
15024         * tests/unictype/test-bidi_test.c: Likewise.
15025         * tests/unictype/test-block_list.c: Likewise.
15026         * tests/unictype/test-block_of.c: Likewise.
15027         * tests/unictype/test-block_test.c: Likewise.
15028         * tests/unictype/test-categ_and.c: Likewise.
15029         * tests/unictype/test-categ_and_not.c: Likewise.
15030         * tests/unictype/test-categ_byname.c: Likewise.
15031         * tests/unictype/test-categ_name.c: Likewise.
15032         * tests/unictype/test-categ_none.c: Likewise.
15033         * tests/unictype/test-categ_of.c: Likewise.
15034         * tests/unictype/test-categ_or.c: Likewise.
15035         * tests/unictype/test-categ_test_withtable.c: Likewise.
15036         * tests/unictype/test-combining.c: Likewise.
15037         * tests/unictype/test-decdigit.c: Likewise.
15038         * tests/unictype/test-digit.c: Likewise.
15039         * tests/unictype/test-mirror.c: Likewise.
15040         * tests/unictype/test-numeric.c: Likewise.
15041         * tests/unictype/test-pr_byname.c: Likewise.
15042         * tests/unictype/test-pr_test.c: Likewise.
15043         * tests/unictype/test-predicate-part1.h: Likewise.
15044         * tests/unictype/test-scripts.c: Likewise.
15045         * tests/unictype/test-sy_c_ident.c: Likewise.
15046         * tests/unictype/test-sy_java_ident.c: Likewise.
15047         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
15048         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
15049         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
15050         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
15051         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
15052         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
15053         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
15054         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
15055         * tests/uninorm/test-canonical-decomposition.c: Likewise.
15056         * tests/uninorm/test-compat-decomposition.c: Likewise.
15057         * tests/uninorm/test-composition.c: Likewise.
15058         * tests/uninorm/test-decomposing-form.c: Likewise.
15059         * tests/uninorm/test-decomposition.c: Likewise.
15060         * tests/uninorm/test-u8-nfc.c: Likewise.
15061         * tests/uninorm/test-u8-nfd.c: Likewise.
15062         * tests/uninorm/test-u8-nfkc.c: Likewise.
15063         * tests/uninorm/test-u8-nfkd.c: Likewise.
15064         * tests/uninorm/test-u8-normcmp.c: Likewise.
15065         * tests/uninorm/test-u8-normcoll.c: Likewise.
15066         * tests/uninorm/test-u16-nfc.c: Likewise.
15067         * tests/uninorm/test-u16-nfd.c: Likewise.
15068         * tests/uninorm/test-u16-nfkc.c: Likewise.
15069         * tests/uninorm/test-u16-nfkd.c: Likewise.
15070         * tests/uninorm/test-u16-normcmp.c: Likewise.
15071         * tests/uninorm/test-u16-normcoll.c: Likewise.
15072         * tests/uninorm/test-u32-nfc.c: Likewise.
15073         * tests/uninorm/test-u32-nfd.c: Likewise.
15074         * tests/uninorm/test-u32-nfkc.c: Likewise.
15075         * tests/uninorm/test-u32-nfkd.c: Likewise.
15076         * tests/uninorm/test-u32-normalize-big.c: Likewise.
15077         * tests/uninorm/test-u32-normcmp.c: Likewise.
15078         * tests/uninorm/test-u32-normcoll.c: Likewise.
15079         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
15080         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
15081         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
15082         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
15083         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
15084         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
15085         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
15086         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
15087         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
15088         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
15089         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
15090         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
15091         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
15092         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
15093         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
15094         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
15095         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
15096         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
15097         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
15098         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
15099         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
15100         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
15101         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
15102         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
15103         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
15104         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
15105         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
15106         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
15107         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
15108         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
15109         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
15110         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
15111         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
15112         * tests/uniwidth/test-u8-strwidth.c: Likewise.
15113         * tests/uniwidth/test-u8-width.c: Likewise.
15114         * tests/uniwidth/test-u16-strwidth.c: Likewise.
15115         * tests/uniwidth/test-u16-width.c: Likewise.
15116         * tests/uniwidth/test-u32-strwidth.c: Likewise.
15117         * tests/uniwidth/test-u32-width.c: Likewise.
15118         * tests/uniwidth/test-uc_width.c: Likewise.
15119         * tests/uniwidth/test-uc_width2.c: Likewise.
15120         * modules/acl-tests (Files): Add tests/macros.h.
15121         * modules/areadlink-tests (Files): Likewise.
15122         * modules/areadlink-with-size-tests (Files): Likewise.
15123         * modules/areadlinkat-tests (Files): Likewise.
15124         * modules/areadlinkat-with-size-tests (Files): Likewise.
15125         * modules/argmatch-tests (Files): Likewise.
15126         * modules/argv-iter-tests (Files): Likewise.
15127         * modules/array-list-tests (Files): Likewise.
15128         * modules/array-mergesort-tests (Files): Likewise.
15129         * modules/array-oset-tests (Files): Likewise.
15130         * modules/avltree-list-tests (Files): Likewise.
15131         * modules/avltree-oset-tests (Files): Likewise.
15132         * modules/avltreehash-list-tests (Files): Likewise.
15133         * modules/base64-tests (Files): Likewise.
15134         * modules/binary-io-tests (Files): Likewise.
15135         * modules/bitrotate-tests (Files): Likewise.
15136         * modules/btowc-tests (Files): Likewise.
15137         * modules/byteswap-tests (Files): Likewise.
15138         * modules/c-ctype-tests (Files): Likewise.
15139         * modules/c-stack-tests (Files): Likewise.
15140         * modules/c-strcase-tests (Files): Likewise.
15141         * modules/c-strcasestr-tests (Files): Likewise.
15142         * modules/c-strstr-tests (Files): Likewise.
15143         * modules/canonicalize-lgpl-tests (Files): Likewise.
15144         * modules/canonicalize-tests (Files): Likewise.
15145         * modules/carray-list-tests (Files): Likewise.
15146         * modules/ceilf-tests (Files): Likewise.
15147         * modules/ceill-tests (Files): Likewise.
15148         * modules/chown-tests (Files): Likewise.
15149         * modules/cloexec-tests (Files): Likewise.
15150         * modules/copy-file-tests (Files): Likewise.
15151         * modules/count-one-bits-tests (Files): Likewise.
15152         * modules/dprintf-posix-tests (Files): Likewise.
15153         * modules/dup2-tests (Files): Likewise.
15154         * modules/dup3-tests (Files): Likewise.
15155         * modules/duplocale-tests (Files): Likewise.
15156         * modules/fbufmode-tests (Files): Likewise.
15157         * modules/fchdir-tests (Files): Likewise.
15158         * modules/fcntl-safer-tests (Files): Likewise.
15159         * modules/fcntl-tests (Files): Likewise.
15160         * modules/fdopendir-tests (Files): Likewise.
15161         * modules/fdutimensat-tests (Files): Likewise.
15162         * modules/fflush-tests (Files): Likewise.
15163         * modules/filevercmp-tests (Files): Likewise.
15164         * modules/flock-tests (Files): Likewise.
15165         * modules/floorf-tests (Files): Likewise.
15166         * modules/floorl-tests (Files): Likewise.
15167         * modules/fnmatch-tests (Files): Likewise.
15168         * modules/fopen-safer-tests (Files): Likewise.
15169         * modules/fopen-tests (Files): Likewise.
15170         * modules/fpending-tests (Files): Likewise.
15171         * modules/fprintf-posix-tests (Files): Likewise.
15172         * modules/fpurge-tests (Files): Likewise.
15173         * modules/freadable-tests (Files): Likewise.
15174         * modules/freadahead-tests (Files): Likewise.
15175         * modules/freading-tests (Files): Likewise.
15176         * modules/freadptr-tests (Files): Likewise.
15177         * modules/freadseek-tests (Files): Likewise.
15178         * modules/freopen-tests (Files): Likewise.
15179         * modules/frexp-nolibm-tests (Files): Likewise.
15180         * modules/frexp-tests (Files): Likewise.
15181         * modules/frexpl-nolibm-tests (Files): Likewise.
15182         * modules/frexpl-tests (Files): Likewise.
15183         * modules/fseek-tests (Files): Likewise.
15184         * modules/fseeko-tests (Files): Likewise.
15185         * modules/fstrcmp-tests (Files): Likewise.
15186         * modules/fsync-tests (Files): Likewise.
15187         * modules/ftell-tests (Files): Likewise.
15188         * modules/ftello-tests (Files): Likewise.
15189         * modules/func-tests (Files): Likewise.
15190         * modules/futimens-tests (Files): Likewise.
15191         * modules/fwritable-tests (Files): Likewise.
15192         * modules/fwriting-tests (Files): Likewise.
15193         * modules/getcwd-tests (Files): Likewise.
15194         * modules/getdate-tests (Files): Likewise.
15195         * modules/getdelim-tests (Files): Likewise.
15196         * modules/getdtablesize-tests (Files): Likewise.
15197         * modules/getgroups-tests (Files): Likewise.
15198         * modules/getline-tests (Files): Likewise.
15199         * modules/getndelim2-tests (Files): Likewise.
15200         * modules/glob-tests (Files): Likewise.
15201         * modules/hash-tests (Files): Likewise.
15202         * modules/i-ring-tests (Files): Likewise.
15203         * modules/iconv-tests (Files): Likewise.
15204         * modules/iconv_open-utf-tests (Files): Likewise.
15205         * modules/idpriv-drop-tests (Files): Likewise.
15206         * modules/idpriv-droptemp-tests (Files): Likewise.
15207         * modules/inet_ntop-tests (Files): Likewise.
15208         * modules/inet_pton-tests (Files): Likewise.
15209         * modules/isblank-tests (Files): Likewise.
15210         * modules/isfinite-tests (Files): Likewise.
15211         * modules/isinf-tests (Files): Likewise.
15212         * modules/isnan-tests (Files): Likewise.
15213         * modules/isnand-nolibm-tests (Files): Likewise.
15214         * modules/isnand-tests (Files): Likewise.
15215         * modules/isnanf-nolibm-tests (Files): Likewise.
15216         * modules/isnanf-tests (Files): Likewise.
15217         * modules/isnanl-nolibm-tests (Files): Likewise.
15218         * modules/isnanl-tests (Files): Likewise.
15219         * modules/lchown-tests (Files): Likewise.
15220         * modules/ldexpl-tests (Files): Likewise.
15221         * modules/link-tests (Files): Likewise.
15222         * modules/linkat-tests (Files): Likewise.
15223         * modules/linked-list-tests (Files): Likewise.
15224         * modules/linkedhash-list-tests (Files): Likewise.
15225         * modules/localename-tests (Files): Likewise.
15226         * modules/lseek-tests (Files): Likewise.
15227         * modules/lstat-tests (Files): Likewise.
15228         * modules/mbmemcasecmp-tests (Files): Likewise.
15229         * modules/mbmemcasecoll-tests (Files): Likewise.
15230         * modules/mbrtowc-tests (Files): Likewise.
15231         * modules/mbscasecmp-tests (Files): Likewise.
15232         * modules/mbscasestr-tests (Files): Likewise.
15233         * modules/mbschr-tests (Files): Likewise.
15234         * modules/mbscspn-tests (Files): Likewise.
15235         * modules/mbsinit-tests (Files): Likewise.
15236         * modules/mbsncasecmp-tests (Files): Likewise.
15237         * modules/mbsnrtowcs-tests (Files): Likewise.
15238         * modules/mbspbrk-tests (Files): Likewise.
15239         * modules/mbspcasecmp-tests (Files): Likewise.
15240         * modules/mbsrchr-tests (Files): Likewise.
15241         * modules/mbsrtowcs-tests (Files): Likewise.
15242         * modules/mbsspn-tests (Files): Likewise.
15243         * modules/mbsstr-tests (Files): Likewise.
15244         * modules/memchr-tests (Files): Likewise.
15245         * modules/memchr2-tests (Files): Likewise.
15246         * modules/memcmp-tests (Files): Likewise.
15247         * modules/memmem-tests (Files): Likewise.
15248         * modules/memrchr-tests (Files): Likewise.
15249         * modules/mkdir-tests (Files): Likewise.
15250         * modules/mkfifo-tests (Files): Likewise.
15251         * modules/mkfifoat-tests (Files): Likewise.
15252         * modules/mknod-tests (Files): Likewise.
15253         * modules/nanosleep-tests (Files): Likewise.
15254         * modules/nl_langinfo-tests (Files): Likewise.
15255         * modules/obstack-printf-tests (Files): Likewise.
15256         * modules/open-tests (Files): Likewise.
15257         * modules/openat-tests (Files): Likewise.
15258         * modules/pipe-filter-gi-tests (Files): Likewise.
15259         * modules/pipe-filter-ii-tests (Files): Likewise.
15260         * modules/pipe2-tests (Files): Likewise.
15261         * modules/popen-safer-tests (Files): Likewise.
15262         * modules/popen-tests (Files): Likewise.
15263         * modules/posixtm-tests (Files): Likewise.
15264         * modules/pread-tests (Files): Likewise.
15265         * modules/printf-frexp-tests (Files): Likewise.
15266         * modules/printf-frexpl-tests (Files): Likewise.
15267         * modules/printf-posix-tests (Files): Likewise.
15268         * modules/priv-set-tests (Files): Likewise.
15269         * modules/quotearg-tests (Files): Likewise.
15270         * modules/random_r-tests (Files): Likewise.
15271         * modules/rawmemchr-tests (Files): Likewise.
15272         * modules/rbtree-list-tests (Files): Likewise.
15273         * modules/rbtree-oset-tests (Files): Likewise.
15274         * modules/rbtreehash-list-tests (Files): Likewise.
15275         * modules/readlink-tests (Files): Likewise.
15276         * modules/remove-tests (Files): Likewise.
15277         * modules/rename-tests (Files): Likewise.
15278         * modules/renameat-tests (Files): Likewise.
15279         * modules/rmdir-tests (Files): Likewise.
15280         * modules/round-tests (Files): Likewise.
15281         * modules/roundf-tests (Files): Likewise.
15282         * modules/roundl-tests (Files): Likewise.
15283         * modules/safe-alloc-tests (Files): Likewise.
15284         * modules/setenv-tests (Files): Likewise.
15285         * modules/sigaction-tests (Files): Likewise.
15286         * modules/signbit-tests (Files): Likewise.
15287         * modules/sleep-tests (Files): Likewise.
15288         * modules/snprintf-posix-tests (Files): Likewise.
15289         * modules/snprintf-tests (Files): Likewise.
15290         * modules/sprintf-posix-tests (Files): Likewise.
15291         * modules/stat-tests (Files): Likewise.
15292         * modules/stat-time-tests (Files): Likewise.
15293         * modules/strcasestr-tests (Files): Likewise.
15294         * modules/strchrnul-tests (Files): Likewise.
15295         * modules/strerror-tests (Files): Likewise.
15296         * modules/striconv-tests (Files): Likewise.
15297         * modules/striconveh-tests (Files): Likewise.
15298         * modules/striconveha-tests (Files): Likewise.
15299         * modules/strsignal-tests (Files): Likewise.
15300         * modules/strstr-tests (Files): Likewise.
15301         * modules/strtod-tests (Files): Likewise.
15302         * modules/strverscmp-tests (Files): Likewise.
15303         * modules/symlink-tests (Files): Likewise.
15304         * modules/symlinkat-tests (Files): Likewise.
15305         * modules/trunc-tests (Files): Likewise.
15306         * modules/truncf-tests (Files): Likewise.
15307         * modules/truncl-tests (Files): Likewise.
15308         * modules/uname-tests (Files): Likewise.
15309         * modules/unicase/cased-tests (Files): Likewise.
15310         * modules/unicase/ignorable-tests (Files): Likewise.
15311         * modules/unicase/locale-language-tests (Files): Likewise.
15312         * modules/unicase/tolower-tests (Files): Likewise.
15313         * modules/unicase/totitle-tests (Files): Likewise.
15314         * modules/unicase/toupper-tests (Files): Likewise.
15315         * modules/unicase/u8-casecmp-tests (Files): Likewise.
15316         * modules/unicase/u8-casecoll-tests (Files): Likewise.
15317         * modules/unicase/u8-casefold-tests (Files): Likewise.
15318         * modules/unicase/u8-is-cased-tests (Files): Likewise.
15319         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
15320         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
15321         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
15322         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
15323         * modules/unicase/u8-tolower-tests (Files): Likewise.
15324         * modules/unicase/u8-totitle-tests (Files): Likewise.
15325         * modules/unicase/u8-toupper-tests (Files): Likewise.
15326         * modules/unicase/u16-casecmp-tests (Files): Likewise.
15327         * modules/unicase/u16-casecoll-tests (Files): Likewise.
15328         * modules/unicase/u16-casefold-tests (Files): Likewise.
15329         * modules/unicase/u16-is-cased-tests (Files): Likewise.
15330         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
15331         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
15332         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
15333         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
15334         * modules/unicase/u16-tolower-tests (Files): Likewise.
15335         * modules/unicase/u16-totitle-tests (Files): Likewise.
15336         * modules/unicase/u16-toupper-tests (Files): Likewise.
15337         * modules/unicase/u32-casecmp-tests (Files): Likewise.
15338         * modules/unicase/u32-casecoll-tests (Files): Likewise.
15339         * modules/unicase/u32-casefold-tests (Files): Likewise.
15340         * modules/unicase/u32-is-cased-tests (Files): Likewise.
15341         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
15342         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
15343         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
15344         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
15345         * modules/unicase/u32-tolower-tests (Files): Likewise.
15346         * modules/unicase/u32-totitle-tests (Files): Likewise.
15347         * modules/unicase/u32-toupper-tests (Files): Likewise.
15348         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
15349         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
15350         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
15351         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
15352         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
15353         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
15354         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
15355         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
15356         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
15357         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
15358         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
15359         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
15360         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
15361         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
15362         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
15363         * modules/unictype/bidicategory-name-tests (Files): Likewise.
15364         * modules/unictype/bidicategory-of-tests (Files): Likewise.
15365         * modules/unictype/bidicategory-test-tests (Files): Likewise.
15366         * modules/unictype/block-list-tests (Files): Likewise.
15367         * modules/unictype/block-of-tests (Files): Likewise.
15368         * modules/unictype/block-test-tests (Files): Likewise.
15369         * modules/unictype/category-C-tests (Files): Likewise.
15370         * modules/unictype/category-Cc-tests (Files): Likewise.
15371         * modules/unictype/category-Cf-tests (Files): Likewise.
15372         * modules/unictype/category-Cn-tests (Files): Likewise.
15373         * modules/unictype/category-Co-tests (Files): Likewise.
15374         * modules/unictype/category-Cs-tests (Files): Likewise.
15375         * modules/unictype/category-L-tests (Files): Likewise.
15376         * modules/unictype/category-Ll-tests (Files): Likewise.
15377         * modules/unictype/category-Lm-tests (Files): Likewise.
15378         * modules/unictype/category-Lo-tests (Files): Likewise.
15379         * modules/unictype/category-Lt-tests (Files): Likewise.
15380         * modules/unictype/category-Lu-tests (Files): Likewise.
15381         * modules/unictype/category-M-tests (Files): Likewise.
15382         * modules/unictype/category-Mc-tests (Files): Likewise.
15383         * modules/unictype/category-Me-tests (Files): Likewise.
15384         * modules/unictype/category-Mn-tests (Files): Likewise.
15385         * modules/unictype/category-N-tests (Files): Likewise.
15386         * modules/unictype/category-Nd-tests (Files): Likewise.
15387         * modules/unictype/category-Nl-tests (Files): Likewise.
15388         * modules/unictype/category-No-tests (Files): Likewise.
15389         * modules/unictype/category-P-tests (Files): Likewise.
15390         * modules/unictype/category-Pc-tests (Files): Likewise.
15391         * modules/unictype/category-Pd-tests (Files): Likewise.
15392         * modules/unictype/category-Pe-tests (Files): Likewise.
15393         * modules/unictype/category-Pf-tests (Files): Likewise.
15394         * modules/unictype/category-Pi-tests (Files): Likewise.
15395         * modules/unictype/category-Po-tests (Files): Likewise.
15396         * modules/unictype/category-Ps-tests (Files): Likewise.
15397         * modules/unictype/category-S-tests (Files): Likewise.
15398         * modules/unictype/category-Sc-tests (Files): Likewise.
15399         * modules/unictype/category-Sk-tests (Files): Likewise.
15400         * modules/unictype/category-Sm-tests (Files): Likewise.
15401         * modules/unictype/category-So-tests (Files): Likewise.
15402         * modules/unictype/category-Z-tests (Files): Likewise.
15403         * modules/unictype/category-Zl-tests (Files): Likewise.
15404         * modules/unictype/category-Zp-tests (Files): Likewise.
15405         * modules/unictype/category-Zs-tests (Files): Likewise.
15406         * modules/unictype/category-and-not-tests (Files): Likewise.
15407         * modules/unictype/category-and-tests (Files): Likewise.
15408         * modules/unictype/category-byname-tests (Files): Likewise.
15409         * modules/unictype/category-name-tests (Files): Likewise.
15410         * modules/unictype/category-none-tests (Files): Likewise.
15411         * modules/unictype/category-of-tests (Files): Likewise.
15412         * modules/unictype/category-or-tests (Files): Likewise.
15413         * modules/unictype/category-test-withtable-tests (Files): Likewise.
15414         * modules/unictype/combining-class-tests (Files): Likewise.
15415         * modules/unictype/ctype-alnum-tests (Files): Likewise.
15416         * modules/unictype/ctype-alpha-tests (Files): Likewise.
15417         * modules/unictype/ctype-blank-tests (Files): Likewise.
15418         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
15419         * modules/unictype/ctype-digit-tests (Files): Likewise.
15420         * modules/unictype/ctype-graph-tests (Files): Likewise.
15421         * modules/unictype/ctype-lower-tests (Files): Likewise.
15422         * modules/unictype/ctype-print-tests (Files): Likewise.
15423         * modules/unictype/ctype-punct-tests (Files): Likewise.
15424         * modules/unictype/ctype-space-tests (Files): Likewise.
15425         * modules/unictype/ctype-upper-tests (Files): Likewise.
15426         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
15427         * modules/unictype/decimal-digit-tests (Files): Likewise.
15428         * modules/unictype/digit-tests (Files): Likewise.
15429         * modules/unictype/mirror-tests (Files): Likewise.
15430         * modules/unictype/numeric-tests (Files): Likewise.
15431         * modules/unictype/property-alphabetic-tests (Files): Likewise.
15432         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
15433         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
15434         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
15435         Likewise.
15436         * modules/unictype/property-bidi-block-separator-tests (Files):
15437         Likewise.
15438         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
15439         Likewise.
15440         * modules/unictype/property-bidi-common-separator-tests (Files):
15441         Likewise.
15442         * modules/unictype/property-bidi-control-tests (Files): Likewise.
15443         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
15444         Likewise.
15445         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
15446         Likewise.
15447         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
15448         Likewise.
15449         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
15450         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
15451         Likewise.
15452         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
15453         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
15454         Likewise.
15455         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
15456         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
15457         * modules/unictype/property-bidi-segment-separator-tests (Files):
15458         Likewise.
15459         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
15460         * modules/unictype/property-byname-tests (Files): Likewise.
15461         * modules/unictype/property-combining-tests (Files): Likewise.
15462         * modules/unictype/property-composite-tests (Files): Likewise.
15463         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
15464         * modules/unictype/property-dash-tests (Files): Likewise.
15465         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
15466         * modules/unictype/property-default-ignorable-code-point-tests (Files):
15467         Likewise.
15468         * modules/unictype/property-deprecated-tests (Files): Likewise.
15469         * modules/unictype/property-diacritic-tests (Files): Likewise.
15470         * modules/unictype/property-extender-tests (Files): Likewise.
15471         * modules/unictype/property-format-control-tests (Files): Likewise.
15472         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
15473         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
15474         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
15475         * modules/unictype/property-hex-digit-tests (Files): Likewise.
15476         * modules/unictype/property-hyphen-tests (Files): Likewise.
15477         * modules/unictype/property-id-continue-tests (Files): Likewise.
15478         * modules/unictype/property-id-start-tests (Files): Likewise.
15479         * modules/unictype/property-ideographic-tests (Files): Likewise.
15480         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
15481         * modules/unictype/property-ids-trinary-operator-tests (Files):
15482         Likewise.
15483         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
15484         * modules/unictype/property-iso-control-tests (Files): Likewise.
15485         * modules/unictype/property-join-control-tests (Files): Likewise.
15486         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
15487         * modules/unictype/property-line-separator-tests (Files): Likewise.
15488         * modules/unictype/property-logical-order-exception-tests (Files):
15489         Likewise.
15490         * modules/unictype/property-lowercase-tests (Files): Likewise.
15491         * modules/unictype/property-math-tests (Files): Likewise.
15492         * modules/unictype/property-non-break-tests (Files): Likewise.
15493         * modules/unictype/property-not-a-character-tests (Files): Likewise.
15494         * modules/unictype/property-numeric-tests (Files): Likewise.
15495         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
15496         * modules/unictype/property-other-default-ignorable-code-point-tests
15497         (Files): Likewise.
15498         * modules/unictype/property-other-grapheme-extend-tests (Files):
15499         Likewise.
15500         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
15501         * modules/unictype/property-other-id-start-tests (Files): Likewise.
15502         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
15503         * modules/unictype/property-other-math-tests (Files): Likewise.
15504         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
15505         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
15506         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
15507         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
15508         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
15509         * modules/unictype/property-private-use-tests (Files): Likewise.
15510         * modules/unictype/property-punctuation-tests (Files): Likewise.
15511         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
15512         * modules/unictype/property-radical-tests (Files): Likewise.
15513         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
15514         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
15515         * modules/unictype/property-space-tests (Files): Likewise.
15516         * modules/unictype/property-terminal-punctuation-tests (Files):
15517         Likewise.
15518         * modules/unictype/property-test-tests (Files): Likewise.
15519         * modules/unictype/property-titlecase-tests (Files): Likewise.
15520         * modules/unictype/property-unassigned-code-value-tests (Files):
15521         Likewise.
15522         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
15523         * modules/unictype/property-uppercase-tests (Files): Likewise.
15524         * modules/unictype/property-variation-selector-tests (Files): Likewise.
15525         * modules/unictype/property-white-space-tests (Files): Likewise.
15526         * modules/unictype/property-xid-continue-tests (Files): Likewise.
15527         * modules/unictype/property-xid-start-tests (Files): Likewise.
15528         * modules/unictype/property-zero-width-tests (Files): Likewise.
15529         * modules/unictype/scripts-tests (Files): Likewise.
15530         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
15531         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
15532         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
15533         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
15534         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
15535         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
15536         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
15537         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
15538         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
15539         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
15540         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
15541         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
15542         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
15543         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
15544         * modules/uninorm/composition-tests (Files): Likewise.
15545         * modules/uninorm/decomposing-form-tests (Files): Likewise.
15546         * modules/uninorm/decomposition-tests (Files): Likewise.
15547         * modules/uninorm/filter-tests (Files): Likewise.
15548         * modules/uninorm/nfc-tests (Files): Likewise.
15549         * modules/uninorm/nfd-tests (Files): Likewise.
15550         * modules/uninorm/nfkc-tests (Files): Likewise.
15551         * modules/uninorm/nfkd-tests (Files): Likewise.
15552         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
15553         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
15554         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
15555         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
15556         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
15557         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
15558         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
15559         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
15560         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
15561         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
15562         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
15563         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
15564         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
15565         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
15566         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
15567         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
15568         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
15569         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
15570         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
15571         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
15572         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
15573         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
15574         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
15575         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
15576         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
15577         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
15578         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
15579         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
15580         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
15581         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
15582         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
15583         * modules/uniwidth/u8-width-tests (Files): Likewise.
15584         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
15585         * modules/uniwidth/u16-width-tests (Files): Likewise.
15586         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
15587         * modules/uniwidth/u32-width-tests (Files): Likewise.
15588         * modules/uniwidth/width-tests (Files): Likewise.
15589         * modules/unlink-tests (Files): Likewise.
15590         * modules/unsetenv-tests (Files): Likewise.
15591         * modules/usleep-tests (Files): Likewise.
15592         * modules/utimens-tests (Files): Likewise.
15593         * modules/utimensat-tests (Files): Likewise.
15594         * modules/vasnprintf-posix-tests (Files): Likewise.
15595         * modules/vasnprintf-tests (Files): Likewise.
15596         * modules/vasprintf-posix-tests (Files): Likewise.
15597         * modules/vasprintf-tests (Files): Likewise.
15598         * modules/vdprintf-posix-tests (Files): Likewise.
15599         * modules/vfprintf-posix-tests (Files): Likewise.
15600         * modules/vprintf-posix-tests (Files): Likewise.
15601         * modules/vsnprintf-posix-tests (Files): Likewise.
15602         * modules/vsnprintf-tests (Files): Likewise.
15603         * modules/vsprintf-posix-tests (Files): Likewise.
15604         * modules/wcrtomb-tests (Files): Likewise.
15605         * modules/wcsnrtombs-tests (Files): Likewise.
15606         * modules/wcsrtombs-tests (Files): Likewise.
15607         * modules/wctype-tests (Files): Likewise.
15608         * modules/wcwidth-tests (Files): Likewise.
15609         * modules/xmemdup0-tests (Files): Likewise.
15610         * modules/xprintf-posix-tests (Files): Likewise.
15611         * modules/xvasprintf-tests (Files): Likewise.
15612
15613 2009-12-24  Eric Blake  <ebb9@byu.net>
15614
15615         test-nanosleep: fix typo
15616         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
15617         patch.
15618         Reported by Bruno Haible.
15619
15620 2009-12-24  Bruno Haible  <bruno@clisp.org>
15621
15622         Reduce namespace pollution on glibc systems.
15623         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
15624         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
15625         systems.
15626         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
15627         <getopt.h> on glibc systems.
15628         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
15629         systems.
15630         * lib/fcntl.c: Include <unistd.h> here instead.
15631
15632 2009-12-24  Bruno Haible  <bruno@clisp.org>
15633
15634         * lib/stdlib.in.h (includes): Fix typo in today's commit.
15635
15636 2009-12-24  Eric Blake  <ebb9@byu.net>
15637
15638         tests: add signature checks
15639         * tests/signature.h (SIGNATURE_CHECK): New file.
15640         * modules/atexit-tests (Files): Use it.
15641         * modules/btowc-tests (Files): Likewise.
15642         * modules/canonicalize-lgpl-tests (Files): Likewise.
15643         * modules/ceilf-tests (Files): Likewise.
15644         * modules/ceill-tests (Files): Likewise.
15645         * modules/chown-tests (Files): Likewise.
15646         * modules/dprintf-posix-tests (Files): Likewise.
15647         * modules/dup2-tests (Files): Likewise.
15648         * modules/dup3-tests (Files): Likewise.
15649         * modules/duplocale-tests (Files): Likewise.
15650         * modules/fchdir-tests (Files): Likewise.
15651         * modules/fcntl-tests (Files): Likewise.
15652         * modules/fdopendir-tests (Files): Likewise.
15653         * modules/fflush-tests (Files): Likewise.
15654         * modules/flock-tests (Files): Likewise.
15655         * modules/floorf-tests (Files): Likewise.
15656         * modules/floorl-tests (Files): Likewise.
15657         * modules/fnmatch-tests (Files): Likewise.
15658         * modules/fopen-tests (Files): Likewise.
15659         * modules/fprintf-posix-tests (Files): Likewise.
15660         * modules/freopen-tests (Files): Likewise.
15661         * modules/frexp-nolibm-tests (Files): Likewise.
15662         * modules/frexp-tests (Files): Likewise.
15663         * modules/frexpl-nolibm-tests (Files): Likewise.
15664         * modules/frexpl-tests (Files): Likewise.
15665         * modules/fseek-tests (Files): Likewise.
15666         * modules/fseeko-tests (Files): Likewise.
15667         * modules/fsync-tests (Files): Likewise.
15668         * modules/ftell-tests (Files): Likewise.
15669         * modules/ftello-tests (Files): Likewise.
15670         * modules/futimens-tests (Files): Likewise.
15671         * modules/getaddrinfo-tests (Files): Likewise.
15672         * modules/getcwd-tests (Files): Likewise.
15673         * modules/getdelim-tests (Files): Likewise.
15674         * modules/getdtablesize-tests (Files): Likewise.
15675         * modules/getgroups-tests (Files): Likewise.
15676         * modules/gethostname-tests (Files): Likewise.
15677         * modules/getline-tests (Files): Likewise.
15678         * modules/getopt-posix-tests (Files): Likewise.
15679         * modules/gettimeofday-tests (Files): Likewise.
15680         * modules/glob-tests (Files): Likewise.
15681         * modules/iconv-tests (Files): Likewise.
15682         * modules/inet_ntop-tests (Files): Likewise.
15683         * modules/inet_pton-tests (Files): Likewise.
15684         * modules/isblank-tests (Files): Likewise.
15685         * modules/lchown-tests (Files): Likewise.
15686         * modules/ldexpl-tests (Files): Likewise.
15687         * modules/link-tests (Files): Likewise.
15688         * modules/linkat-tests (Files): Likewise.
15689         * modules/lseek-tests (Files): Likewise.
15690         * modules/lstat-tests (Files): Likewise.
15691         * modules/mbrtowc-tests (Files): Likewise.
15692         * modules/mbsinit-tests (Files): Likewise.
15693         * modules/mbsnrtowcs-tests (Files): Likewise.
15694         * modules/mbsrtowcs-tests (Files): Likewise.
15695         * modules/memchr-tests (Files): Likewise.
15696         * modules/memcmp-tests (Files): Likewise.
15697         * modules/memmem-tests (Files): Likewise.
15698         * modules/memrchr-tests (Files): Likewise.
15699         * modules/mkdir-tests (Files): Likewise.
15700         * modules/mkfifo-tests (Files): Likewise.
15701         * modules/mkfifoat-tests (Files): Likewise.
15702         * modules/mknod-tests (Files): Likewise.
15703         * modules/nanosleep-tests (Files): Likewise.
15704         * modules/nl_langinfo-tests (Files): Likewise.
15705         * modules/obstack-printf-tests (Files): Likewise.
15706         * modules/open-tests (Files): Likewise.
15707         * modules/openat-tests (Files): Likewise.
15708         * modules/perror-tests (Files): Likewise.
15709         * modules/pipe2-tests (Files): Likewise.
15710         * modules/poll-tests (Files): Likewise.
15711         * modules/popen-tests (Files): Likewise.
15712         * modules/posix_spawn-tests (Files): Likewise.
15713         * modules/posix_spawnp-tests (Files): Likewise.
15714         * modules/pread-tests (Files): Likewise.
15715         * modules/printf-posix-tests (Files): Likewise.
15716         * modules/pty-tests (Files): Likewise.
15717         * modules/random_r-tests (Files): Likewise.
15718         * modules/rawmemchr-tests (Files): Likewise.
15719         * modules/readlink-tests (Files): Likewise.
15720         * modules/remove-tests (Files): Likewise.
15721         * modules/rename-tests (Files): Likewise.
15722         * modules/renameat-tests (Files): Likewise.
15723         * modules/rmdir-tests (Files): Likewise.
15724         * modules/round-tests (Files): Likewise.
15725         * modules/roundf-tests (Files): Likewise.
15726         * modules/roundl-tests (Files): Likewise.
15727         * modules/select-tests (Files): Likewise.
15728         * modules/setenv-tests (Files): Likewise.
15729         * modules/sigaction-tests (Files): Likewise.
15730         * modules/sleep-tests (Files): Likewise.
15731         * modules/snprintf-posix-tests (Files): Likewise.
15732         * modules/snprintf-tests (Files): Likewise.
15733         * modules/sprintf-posix-tests (Files): Likewise.
15734         * modules/stat-tests (Files): Likewise.
15735         * modules/strcasestr-tests (Files): Likewise.
15736         * modules/strchrnul-tests (Files): Likewise.
15737         * modules/strerror-tests (Files): Likewise.
15738         * modules/strsignal-tests (Files): Likewise.
15739         * modules/strstr-tests (Files): Likewise.
15740         * modules/strtod-tests (Files): Likewise.
15741         * modules/strverscmp-tests (Files): Likewise.
15742         * modules/symlink-tests (Files): Likewise.
15743         * modules/symlinkat-tests (Files): Likewise.
15744         * modules/times-tests (Files): Likewise.
15745         * modules/trunc-tests (Files): Likewise.
15746         * modules/truncf-tests (Files): Likewise.
15747         * modules/truncl-tests (Files): Likewise.
15748         * modules/tsearch-tests (Files): Likewise.
15749         * modules/uname-tests (Files): Likewise.
15750         * modules/unlink-tests (Files): Likewise.
15751         * modules/unsetenv-tests (Files): Likewise.
15752         * modules/usleep-tests (Files): Likewise.
15753         * modules/utimensat-tests (Files): Likewise.
15754         * modules/vasprintf-tests (Files): Likewise.
15755         * modules/vdprintf-posix-tests (Files): Likewise.
15756         * modules/vfprintf-posix-tests (Files): Likewise.
15757         * modules/vprintf-posix-tests (Files): Likewise.
15758         * modules/vsnprintf-posix-tests (Files): Likewise.
15759         * modules/vsnprintf-tests (Files): Likewise.
15760         * modules/vsprintf-posix-tests (Files): Likewise.
15761         * modules/wcrtomb-tests (Files): Likewise.
15762         * modules/wcsnrtombs-tests (Files): Likewise.
15763         * modules/wcsrtombs-tests (Files): Likewise.
15764         * modules/wcwidth-tests (Files): Likewise.
15765         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
15766         * tests/test-isinf.c (isinf): Likewise.
15767         * tests/test-isnan.c (isnan): Likewise.
15768         * tests/test-signbit.c (signbit): Likewise.
15769         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
15770         declaration, either as macro or with correct signature.
15771         (select): Ensure function under test is declared with correct
15772         signature in correct header.
15773         * tests/test-atexit.c (atexit): Likewise.
15774         * tests/test-btowc.c (btowc): Likewise.
15775         * tests/test-canonicalize-lgpl.c (realpath)
15776         (canonicalize_file_name): Likewise.
15777         * tests/test-ceilf1.c (ceilf): Likewise.
15778         * tests/test-ceill.c (ceill): Likewise.
15779         * tests/test-chown.c (chown): Likewise.
15780         * tests/test-dprintf-posix.c (dprintf): Likewise.
15781         * tests/test-dup2.c (dup2): Likewise.
15782         * tests/test-dup3.c (dup3): Likewise.
15783         * tests/test-duplocale.c (duplocale): Likewise.
15784         * tests/test-fchdir.c (fchdir): Likewise.
15785         * tests/test-fchownat.c (fchownat): Likewise.
15786         * tests/test-fcntl.c (fcntl): Likewise.
15787         * tests/test-fdopendir.c (fdopendir): Likewise.
15788         * tests/test-fflush.c (fflush): Likewise.
15789         * tests/test-flock.c (flock): Likewise.
15790         * tests/test-floorf1.c (floorf): Likewise.
15791         * tests/test-floorl.c (floorl): Likewise.
15792         * tests/test-fnmatch.c (fnmatch): Likewise.
15793         * tests/test-fopen.c (fopen): Likewise.
15794         * tests/test-fprintf-posix.c (fprintf): Likewise.
15795         * tests/test-freopen.c (freopen): Likewise.
15796         * tests/test-frexp.c (frexp): Likewise.
15797         * tests/test-frexpl.c (frexpl): Likewise.
15798         * tests/test-fseek.c (fseek): Likewise.
15799         * tests/test-fseeko.c (fseeko): Likewise.
15800         * tests/test-fstatat.c (fstatat): Likewise.
15801         * tests/test-fsync.c (fsync): Likewise.
15802         * tests/test-ftell.c (ftell): Likewise.
15803         * tests/test-ftello.c (ftello): Likewise.
15804         * tests/test-futimens.c (futimens): Likewise.
15805         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
15806         (gai_strerror): Likewise.
15807         * tests/test-getcwd.c (getcwd): Likewise.
15808         * tests/test-getdelim.c (getdelim): Likewise.
15809         * tests/test-getdtablesize.c (getdtablesize): Likewise.
15810         * tests/test-getgroups.c (getgroups): Likewise.
15811         * tests/test-gethostname.c (gethostname): Likewise.
15812         * tests/test-getline.c (getline): Likewise.
15813         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
15814         Likewise.
15815         * tests/test-gettimeofday.c (gettimeofday): Likewise.
15816         * tests/test-glob.c (glob, globfree): Likewise.
15817         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
15818         * tests/test-inet_ntop.c (inet_ntop): Likewise.
15819         * tests/test-inet_pton.c (inet_pton): Likewise.
15820         * tests/test-isblank.c (isblank): Likewise.
15821         * tests/test-lchown.c (lchown): Likewise.
15822         * tests/test-ldexpl.c (ldexpl): Likewise.
15823         * tests/test-link.c (link): Likewise.
15824         * tests/test-linkat.c (linkat): Likewise.
15825         * tests/test-lseek.c (lseek): Likewise.
15826         * tests/test-lstat.c (lstat): Likewise.
15827         * tests/test-mbrtowc.c (mbrtowc): Likewise.
15828         * tests/test-mbsinit.c (mbsinit): Likewise.
15829         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
15830         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
15831         * tests/test-memchr.c (memchr): Likewise.
15832         * tests/test-memcmp.c (memcmp): Likewise.
15833         * tests/test-memmem.c (memmem): Likewise.
15834         * tests/test-memrchr.c (memrchr): Likewise.
15835         * tests/test-mkdir.c (mkdir): Likewise.
15836         * tests/test-mkdirat.c (mkdirat): Likewise.
15837         * tests/test-mkfifo.c (mkfifo): Likewise.
15838         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
15839         * tests/test-mknod.c (mknod): Likewise.
15840         * tests/test-nanosleep.c (nanosleep): Likewise.
15841         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
15842         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
15843         Likewise.
15844         * tests/test-open.c (open): Likewise.
15845         * tests/test-openat.c (openat): Likewise.
15846         * tests/test-perror.c (perror): Likewise.
15847         * tests/test-pipe2.c (pipe2): Likewise.
15848         * tests/test-poll.c (poll): Likewise.
15849         * tests/test-popen.c (popen, pclose): Likewise.
15850         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
15851         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
15852         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
15853         (posix_spawn_file_actions_destroy)
15854         (posix_spawn_file_actions_addclose)
15855         (posix_spawn_file_actions_addopen)
15856         (posix_spawn_file_actions_adddup2): Likewise.
15857         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
15858         * tests/test-pread.c (pread): Likewise.
15859         * tests/test-printf-posix.c (printf): Likewise.
15860         * tests/test-pty.c (openpty, forkpty): Likewise.
15861         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
15862         (random_r): Likewise.
15863         * tests/test-rawmemchr.c (rawmemchr): Likewise.
15864         * tests/test-readlink.c (readlink): Likewise.
15865         * tests/test-remove.c (remove): Likewise.
15866         * tests/test-rename.c (rename): Likewise.
15867         * tests/test-renameat.c (renameat): Likewise.
15868         * tests/test-rmdir.c (rmdir): Likewise.
15869         * tests/test-round1.c (round): Likewise.
15870         * tests/test-roundf1.c (roundf): Likewise.
15871         * tests/test-roundl.c (roundl): Likewise.
15872         * tests/test-setenv.c (setenv): Likewise.
15873         * tests/test-sigaction.c (sigaction): Likewise.
15874         * tests/test-sleep.c (sleep): Likewise.
15875         * tests/test-snprintf.c (snprintf): Likewise.
15876         * tests/test-sprintf-posix.c (sprintf): Likewise.
15877         * tests/test-stat.c (stat): Likewise.
15878         * tests/test-stpncpy.c (stpncpy): Likewise.
15879         * tests/test-strcasestr.c (strcasestr): Likewise.
15880         * tests/test-strchrnul.c (strchrnul): Likewise.
15881         * tests/test-strerror.c (strerror): Likewise.
15882         * tests/test-strsignal.c (strsignal): Likewise.
15883         * tests/test-strstr.c (strstr): Likewise.
15884         * tests/test-strtod.c (strtod): Likewise.
15885         * tests/test-strverscmp.c (strverscmp): Likewise.
15886         * tests/test-symlink.c (symlink): Likewise.
15887         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
15888         * tests/test-times.c (times): Likewise.
15889         * tests/test-trunc1.c (trunc): Likewise.
15890         * tests/test-truncf1.c (truncf): Likewise.
15891         * tests/test-truncl.c (truncl): Likewise.
15892         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
15893         Likewise.
15894         * tests/test-uname.c (uname): Likewise.
15895         * tests/test-unlink.c (unlink): Likewise.
15896         * tests/test-unlinkat.c (unlinkat): Likewise.
15897         * tests/test-unsetenv.c (unsetenv): Likewise.
15898         * tests/test-usleep.c (usleep): Likewise.
15899         * tests/test-utimensat.c (utimensat): Likewise.
15900         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
15901         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
15902         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
15903         * tests/test-vprintf-posix.c (vprintf): Likewise.
15904         * tests/test-vsnprintf.c (vsnprintf): Likewise.
15905         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
15906         * tests/test-wcrtomb.c (wcrtomb): Likewise.
15907         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
15908         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
15909         * tests/test-wcwidth.c (wcwidth): Likewise.
15910
15911         build: pull in conditional headers during GNULIB_POSIXCHECK
15912         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
15913         definitions from any conditionally-included headers.
15914         * lib/stdlib.in.h (includes): Likewise.
15915         * lib/unistd.in.h (includes): Likewise.
15916
15917 2009-12-24  Bruno Haible  <bruno@clisp.org>
15918
15919         * tests/test-argv-iter.c: Include header file being tested immediately
15920         after config.h.
15921         * tests/test-base64.c: Likewise.
15922         * tests/test-flock.c: Likewise.
15923         * tests/test-fsync.c: Likewise.
15924         * tests/test-getdate.c: Likewise.
15925         * tests/test-getndelim2.c: Likewise.
15926         * tests/test-isfinite.c: Likewise.
15927         * tests/test-isinf.c: Likewise.
15928         * tests/test-strerror.c: Likewise.
15929         * tests/test-strsignal.c: Likewise.
15930
15931 2009-12-23  Eric Blake  <ebb9@byu.net>
15932
15933         unistd: work around cygwin bug
15934         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
15935         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
15936         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15937
15938 2009-12-23  Bruno Haible  <bruno@clisp.org>
15939
15940         localename: More tests.
15941         * tests/test-localename.c (SIZEOF): New macro.
15942         (categories): New variable.
15943         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
15944         test_locale_name_default): Add test w.r.t. thread locale.
15945         (test_locale_name_thread): New function.
15946         (main): Invoke it.
15947
15948         localename: Make aware of thread locale.
15949         * lib/localename.h (gl_locale_name_thread): New declaration.
15950         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
15951         behaviour with respect to thread locale.
15952         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
15953         <langinfo.h>, glthread/lock.h.
15954         (SIZE_BITS): New macro.
15955         (string_hash): New function.
15956         (struct hash_node): New type.
15957         (HASH_TABLE_SIZE): New macro.
15958         (struniq_hash_table, struniq_lock): New variables.
15959         (struniq): New function.
15960         (gl_locale_name_thread): New function.
15961         (gl_locale_name): Invoke it.
15962         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
15963         * modules/localename (Depends-on): Add lock.
15964         Reported by Mike Gran <spk121@yahoo.com>.
15965
15966 2009-12-23  Eric Blake  <ebb9@byu.net>
15967
15968         va-args: new module
15969         * modules/va-args: New file.
15970         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
15971         * MODULES.html.sh (Core language properties): Mention it.
15972
15973         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
15974         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
15975         named alias for __attribute__((__unused__)).
15976         * lib/chown.c: Update client.
15977         * lib/fchmodat.c: Likewise.
15978         * lib/fts.c: Likewise.
15979         * lib/getdate.y: Likewise.
15980         * lib/getgroups.c: Likewise.
15981         * lib/getopt.c: Likewise.
15982         * lib/getugroups.c: Likewise.
15983         * lib/mkdir.c: Likewise.
15984         * lib/mkfifo.c: Likewise.
15985         * lib/mkfifoat.c: Likewise.
15986         * lib/mknod.c: Likewise.
15987         * lib/mknodat.c: Likewise.
15988         * lib/readlink.c: Likewise.
15989         * lib/se-context.in.h: Likewise.
15990         * lib/se-selinux.in.h: Likewise.
15991         * lib/sockets.c: Likewise.
15992         * lib/symlink.c: Likewise.
15993         * lib/symlinkat.c: Likewise.
15994         * lib/unicodeio.c: Likewise.
15995         * lib/unistr.h: Likewise.
15996         * tests/test-areadlink.c: Likewise.
15997         * tests/test-areadlinkat.c: Likewise.
15998         * tests/test-filenamecat.c: Likewise.
15999         * tests/test-fseeko.c: Likewise.
16000         * tests/test-ftello.c: Likewise.
16001         * tests/test-getdate.c: Likewise.
16002         * tests/test-getgroups.c: Likewise.
16003         * tests/test-gethostname.c: Likewise.
16004         * tests/test-quotearg.c: Likewise.
16005         * tests/test-version-etc.c: Likewise.
16006         * tests/test-xalloc-die.c: Likewise.
16007         * tests/test-xfprintf-posix.c: Likewise.
16008         * tests/test-xprintf-posix.c: Likewise.
16009         * tests/test-xvasprintf.c: Likewise.
16010
16011         tests: avoid compiler warnings
16012         * tests/test-fcntl.c (main): Delete unused parameters.
16013         * tests/test-freopen-safer.c (main): Likewise.
16014         * tests/test-xalloc-die.c (main): Mark unused parameters.
16015         * tests/test-fseeko.c (main): Likewise.
16016         * tests/test-ftello.c (main): Likewise.
16017         * tests/test-nanosleep.c (main): Avoid declaration warning.
16018         * tests/test-sleep.c (main): Likewise.
16019         * tests/test-unsetenv.c (main): Silence warning about string
16020         literal.
16021         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
16022
16023 2009-12-23  Bruno Haible  <bruno@clisp.org>
16024
16025         * tests/test-localename.c (test_locale_name): New function, extracted
16026         from main. Also test mixed situations.
16027         (test_locale_name_posix, test_locale_name_environ,
16028         test_locale_name_default): New functions.
16029         (main): Invoke them all.
16030         * modules/localename-tests (configure.ac): Test for newlocale.
16031
16032 2009-12-23  Bruno Haible  <bruno@clisp.org>
16033
16034         unistd: Ensure getcwd gets declared before being overridden.
16035         * lib/unistd.in.h: Conditionally include <io.h>.
16036
16037 2009-12-22  Bruno Haible  <bruno@clisp.org>
16038
16039         wchar: Diagnose broken combination of glibc and gcc versions and flags.
16040         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
16041         (gl_WCHAR_H): Invoke it.
16042         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
16043         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
16044         Reported by Karl Berry <karl@freefriends.org>.
16045
16046 2009-12-22  Eric Blake  <ebb9@byu.net>
16047
16048         math, unistd: avoid redundant includes
16049         * lib/math.in.h (isnan): No need to re-include <math.h>.
16050         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
16051
16052         getsubopt: work around cygwin bug
16053         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
16054         avoid conflicting with system getsubopt.
16055         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
16056         bug.
16057
16058         getopt: synchronize from glibc
16059         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
16060         parameter order.  Adjust all callers.
16061         (_getopt_internal_r, main): Adjust quoting in error messages.
16062         Drop considerations for outdated POSIX 1003.2 error message.
16063         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
16064         callers.
16065         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
16066
16067         test-getopt: test stderr behavior
16068         * modules/getopt-posix-tests (Depends-on): Add dup2.
16069         * tests/test-getopt.c (ASSERT): Avoid stderr.
16070         (main): Move stderr to a temporary file.
16071         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
16072         Instead, add parameter to inform caller if output occurred.
16073         (test_getopt): Adjust all existing tests to expect silence, and
16074         add new tests of leading ":".
16075         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
16076         glibc shortcomings with leading "-:" or "+:" in optstring.
16077         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16078         Likewise.
16079         * doc/posix-functions/getopt.texi (getopt): Likewise.
16080
16081         test-getopt: enhance test
16082         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
16083         supports optind=0.
16084         * tests/test-getopt.c (OPTIND_MIN): Move...
16085         * tests/test-getopt.h (OPTIND_MIN): ...here.
16086         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
16087         Require that optind=0 works, since modern BSD supports it in
16088         addition to optreset, and since coreutils expects it.
16089         (test_getopt_long_only): New test.
16090         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
16091         glibc shortcomings with 'W;', and enforcement of optind=0.
16092         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16093         Likewise.
16094
16095 2009-12-21  Bruno Haible  <bruno@clisp.org>
16096
16097         localename: Improvements for MacOS X and Cygwin.
16098         * lib/localename.h (gl_locale_name_environ): New declaration.
16099         * lib/localename.c (gl_locale_name_environ): New function, extracted from
16100         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
16101         (gl_locale_name_posix): Invoke it.
16102         (gl_locale_name_default): Add comments. Use Windows native API also on
16103         Cygwin.
16104
16105 2009-12-21  Bruno Haible  <bruno@clisp.org>
16106
16107         Update list of Win32 locale ids.
16108         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
16109         (LANG_SAMI): Renamed from LANG_SAAMI.
16110         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
16111         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
16112         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
16113         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
16114         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
16115         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
16116         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
16117         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
16118         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
16119         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
16120         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
16121         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
16122         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
16123         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
16124         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
16125         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
16126         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
16127         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
16128         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
16129         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
16130         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
16131         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
16132         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
16133         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
16134         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
16135         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
16136         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
16137         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
16138         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
16139         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
16140         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
16141         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
16142         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
16143         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
16144         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
16145         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
16146         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
16147         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
16148         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
16149         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
16150         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
16151         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
16152         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
16153         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
16154         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
16155         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
16156         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
16157         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
16158         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
16159         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
16160         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
16161         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
16162         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
16163         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
16164         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
16165         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
16166         Add more languages and countries for Sami, Sorbian. Add more countries
16167         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
16168         for Pashto. Change country for Syriac, Tswana.
16169
16170 2009-12-21  Eric Blake  <ebb9@byu.net>
16171
16172         test-utimens: avoid spurious failure
16173         * tests/test-chown.h (nap): Factor...
16174         * tests/nap.h: ...into new file.
16175         * tests/test-lchown.h (nap): Avoid duplication.
16176         * tests/test-utimens-common.h (nap): Use shared implementation,
16177         necessary on file systems with 1-second resolution.
16178         * modules/chown-tests (Files): Include new file.
16179         * modules/fdutimensat-tests (Files): Likewise.
16180         * modules/futimens-tests (Files): Likewise.
16181         * modules/lchown-tests (Files): Likewise.
16182         * modules/openat-tests (Files): Likewise.
16183         * modules/utimens-tests (Files): Likewise.
16184         * modules/utimensat-tests (Files): Likewise.
16185
16186 2009-12-19  Eric Blake  <ebb9@byu.net>
16187
16188         futimens, utimensat: work around Linux bug
16189         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
16190         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
16191         * lib/utimensat.c (rpl_utimensat): Work around it.
16192         * lib/futimens.c (rpl_futimens): Adjust comment.
16193
16194         utimens: work around Linux ctime bug
16195         * lib/utimens.c (detect_ctime_bug): New helper function.
16196         (update_timespec): Differentiate between workaround needed for
16197         this bug vs. what is needed for systems that lack utimensat.
16198         (fdutimens, lutimens): Work around bug.
16199
16200         utimens: check for ctime update
16201         * tests/test-utimens-common.h (check_ctime): Define.
16202         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
16203         * tests/test-futimens.h (test_futimens): Likewise.
16204         * tests/test-lutimens.h (test_lutimens): Likewise.
16205         * doc/posix-functions/futimens.texi (futimens): Document the bug.
16206         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
16207
16208 2009-12-19  Bruno Haible  <bruno@clisp.org>
16209
16210         dprintf-posix: Check against memory leak fixed on 2009-12-15.
16211         * tests/test-dprintf-posix2.sh: New file.
16212         * tests/test-dprintf-posix2.c: New file.
16213         * modules/dprintf-posix-tests (Files): Add them.
16214         (configure.ac): Check for getrlimit and setrlimit.
16215         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
16216
16217 2009-12-19  Bruno Haible  <bruno@clisp.org>
16218
16219         fprintf-posix: Check against memory leak fixed on 2009-12-15.
16220         * tests/test-fprintf-posix3.sh: New file.
16221         * tests/test-fprintf-posix3.c: New file.
16222         * modules/fprintf-posix-tests (Files): Add them.
16223         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
16224
16225 2009-12-19  Eric Blake  <ebb9@byu.net>
16226
16227         dirfd: fix prototype
16228         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
16229         * lib/dirfd.c (dirfd): Likewise.
16230
16231         canonicalize: reduce memory usage
16232         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
16233         allocation to size.
16234         Reported by Solar Designer <solar@openwall.com>.
16235
16236 2009-12-19  Bruno Haible  <bruno@clisp.org>
16237
16238         New module attribute 'Applicability'.
16239         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
16240         * gnulib-tool: New option --extract-applicability.
16241         (func_usage): Document it.
16242         (sed_extract_prog): Recognize it.
16243         (func_get_applicability): New function.
16244         (func_import): Generalize handling of 'link-warning' module.
16245         * modules/link-warning (Applicability): New section.
16246         * modules/arg-nonnull (Applicability): New section.
16247         Repoted by Simon Josefsson <simon@josefsson.org>.
16248
16249 2009-12-19  Bruno Haible  <bruno@clisp.org>
16250
16251         fflush: tweak
16252         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
16253         * lib/fseeko.c (rpl_fseeko): Likewise.
16254
16255 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
16256
16257         * lib/gl_list.h: Fix typo in comment.
16258
16259 2009-12-16  Eric Blake  <ebb9@byu.net>
16260
16261         fcntl: use to simplify other modules
16262         * modules/cloexec (Depends-on): Add fcntl.
16263         * modules/fchdir (Depends-on): Likewise.
16264         * modules/fd-safer-flag (Depends-on): Likewise.
16265         * modules/unistd-safer (Depends-on): Likewise.
16266         * modules/dup3 (configure.ac): Set module indicator.
16267         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
16268         missing.
16269         * lib/fchdir.c (_gl_register_dup): Fix comment.
16270         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
16271         * lib/dup-safer.c (dup_safer): Likewise.
16272         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
16273         * lib/dup3.c (dup3): Likewise.
16274         * tests/test-fchdir.c (main): Enhance test.
16275         Fixes a dup_cloexec bug reported by Ondřej Vašík.
16276
16277         fcntl: port portions of fcntl to mingw
16278         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
16279         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
16280         replacement for mingw.
16281         * modules/fcntl (Description): Update.
16282         (Depends-on): Add dup2.
16283         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
16284         * modules/fcntl-h (Makefile.am): Substitute it.
16285         * lib/fcntl.in.h (fcntl): Update declaration.
16286         (F_DUPFD, F_GETFD): New macros, when needed.
16287         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
16288         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
16289         * tests/test-fcntl.c (check_flags, main): Enhance test for items
16290         we now guarantee.
16291
16292         fcntl: work around cygwin bug in F_DUPFD
16293         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
16294         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
16295         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
16296         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
16297         * doc/posix-functions/fcntl.texi (fcntl): Document it.
16298
16299         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
16300         * modules/fcntl (Files): List new files.
16301         (configure.ac): Run a test.
16302         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
16303         * lib/fcntl.c (rpl_fcntl): Likewise.
16304         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
16305         (gl_FCNTL_H): Always replace fcntl.h.
16306         * modules/fcntl-h (Makefile.am): Substitute witnesses.
16307         * lib/fcntl.in.h (fcntl): Declare replacement.
16308         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
16309         needed, plus a witness.
16310         * doc/posix-functions/fcntl.texi (fcntl): Document this.
16311         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
16312         * tests/test-fcntl.c: New file.
16313         * modules/fcntl-tests: Likewise.
16314
16315         binary-io: avoid potential compilation warning
16316         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
16317         directives.
16318
16319         fflush: avoid compilation error on NetBSD
16320         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
16321         between off_t and fpos_t, since the latter is sometimes a struct.
16322         * lib/fseeko.c (rpl_fseeko): Likewise.
16323         Reported by Alexander Nasonov <alnsn@yandex.ru>.
16324
16325 2009-12-15  Eric Blake  <ebb9@byu.net>
16326
16327         fcntl-h, stdio, sys_ioctl: fix declarations
16328         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
16329         function must not take arguments.
16330         * lib/sys_ioctl.in.h (ioctl): Likewise.
16331         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
16332         (open): Add a link warning.
16333
16334 2009-12-15  Jim Meyering  <meyering@redhat.com>
16335
16336         areadlink, areadlink-with-size: relax license to LGPLv2+
16337         * modules/areadlink (License): Relax to LGPLv2+.
16338         * modules/areadlink-with-size (License): Likewise.
16339
16340 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
16341             Bruno Haible  <bruno@clisp.org>
16342
16343         *printf: Fix memory leak.
16344         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
16345         * lib/vfprintf.c (vfprintf): Likewise.
16346         * lib/dprintf.c (dprintf): Likewise.
16347         * lib/vdprintf.c (vdprintf): Likewise.
16348
16349 2009-12-14  Eric Blake  <ebb9@byu.net>
16350
16351         accept4: adjust module dependencies
16352         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
16353
16354         utimens: one more try at avoiding compiler warning
16355         * lib/utimens.c (lutimens): Lower scope of result.
16356
16357 2009-12-13  Bruno Haible  <bruno@clisp.org>
16358
16359         Move the malloc checking from module 'list' to new module 'xlist'.
16360         * modules/xlist: New file.
16361         * lib/gl_xlist.h: New file.
16362         * lib/gl_xlist.c: New file.
16363         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
16364         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
16365         gl_list_add_last, gl_list_add_before, gl_list_add_after,
16366         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
16367         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
16368         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
16369         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
16370         gl_sortedlist_nx_add): New declarations.
16371         (struct gl_list_implementation): Rename and change methods accordingly.
16372         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
16373         (gl_list_nx_create): Renamed from gl_list_create.
16374         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
16375         (gl_list_nx_set_at): Renamed from gl_list_set_at.
16376         (gl_list_nx_add_first): Renamed from gl_list_add_first.
16377         (gl_list_nx_add_last): Renamed from gl_list_add_last.
16378         (gl_list_nx_add_before): Renamed from gl_list_add_before.
16379         (gl_list_nx_add_after): Renamed from gl_list_add_after.
16380         (gl_list_nx_add_at): Renamed from gl_list_add_at.
16381         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
16382         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
16383         gl_list_create_empty.
16384         (gl_list_nx_create): Renamed from gl_list_create.
16385         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
16386         (gl_list_nx_set_at): Renamed from gl_list_set_at.
16387         (gl_list_nx_add_first): Renamed from gl_list_add_first.
16388         (gl_list_nx_add_last): Renamed from gl_list_add_last.
16389         (gl_list_nx_add_before): Renamed from gl_list_add_before.
16390         (gl_list_nx_add_after): Renamed from gl_list_add_after.
16391         (gl_list_nx_add_at): Renamed from gl_list_add_at.
16392         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
16393         * lib/gl_array_list.c: Don't include xalloc.h.
16394         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
16395         NULL upon out-of-memory.
16396         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
16397         out-of-memory.
16398         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
16399         Change return type to 'int'.
16400         (gl_array_nx_set_at): Renamed from gl_array_set_at.
16401         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
16402         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
16403         upon out-of-memory.
16404         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
16405         upon out-of-memory.
16406         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
16407         upon out-of-memory.
16408         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
16409         upon out-of-memory.
16410         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
16411         out-of-memory.
16412         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
16413         Update.
16414         (gl_array_list_implementation): Update.
16415         * lib/gl_carray_list.c: Don't include xalloc.h.
16416         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
16417         Return NULL upon out-of-memory.
16418         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
16419         out-of-memory.
16420         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
16421         Change return type to 'int'.
16422         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
16423         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
16424         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
16425         upon out-of-memory.
16426         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
16427         upon out-of-memory.
16428         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
16429         out-of-memory.
16430         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
16431         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
16432         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
16433         Update.
16434         (gl_carray_list_implementation): Update.
16435         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
16436         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
16437         gl_linked_create_empty. Return NULL upon out-of-memory.
16438         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
16439         out-of-memory.
16440         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
16441         Change return type to 'int'. Return -1 upon out-of-memory.
16442         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
16443         out-of-memory.
16444         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
16445         upon out-of-memory.
16446         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
16447         upon out-of-memory.
16448         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
16449         NULL upon out-of-memory.
16450         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
16451         upon out-of-memory.
16452         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
16453         out-of-memory.
16454         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
16455         Update.
16456         * lib/gl_linked_list.c: Don't include xalloc.h.
16457         (gl_linked_list_implementation): Update.
16458         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
16459         (add_to_bucket): Change return type to 'int'.
16460         (gl_linkedhash_list_implementation): Update.
16461         * lib/gl_anytree_list1.h (free_subtree): New function.
16462         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
16463         gl_tree_create_empty. Return NULL upon out-of-memory.
16464         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
16465         Change return type to 'int'. Return -1 upon out-of-memory.
16466         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
16467         out-of-memory.
16468         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
16469         (gl_tree_remove_node): New function, moved here from
16470         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
16471         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
16472         Update.
16473         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
16474         malloc, not xmalloc. Return NULL upon out-of-memory.
16475         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
16476         out-of-memory.
16477         (gl_tree_remove_node_from_tree): New function, extracted from
16478         gl_tree_remove_node.
16479         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
16480         upon out-of-memory.
16481         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
16482         out-of-memory.
16483         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
16484         upon out-of-memory.
16485         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
16486         upon out-of-memory.
16487         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
16488         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
16489         not xmalloc. Return NULL upon out-of-memory.
16490         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
16491         out-of-memory.
16492         (gl_tree_remove_node_from_tree): New function, extracted from
16493         gl_tree_remove_node.
16494         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
16495         upon out-of-memory.
16496         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
16497         out-of-memory.
16498         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
16499         upon out-of-memory.
16500         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
16501         upon out-of-memory.
16502         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
16503         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
16504         gl_anytree_list1.h before gl_anyavltree_list2.h.
16505         (gl_avltree_list_implementation): Update.
16506         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
16507         gl_anytree_list1.h before gl_anyavltree_list2.h.
16508         (gl_rbtree_list_implementation): Update.
16509         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
16510         Change return type to 'int'. Return -1 upon out-of-memory. Use
16511         __builtin_expect.
16512         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
16513         (gl_avltreehash_list_implementation): Update.
16514         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
16515         (gl_rbtreehash_list_implementation): Update.
16516         * modules/array-list (Depends-on): Remove xalloc.
16517         * modules/carray-list (Depends-on): Likewise.
16518         * modules/linked-list (Depends-on): Likewise.
16519         * modules/linkedhash-list (Depends-on): Likewise.
16520         * modules/avltree-list (Depends-on): Likewise.
16521         * modules/rbtree-list (Depends-on): Likewise.
16522         * modules/avltreehash-list (Depends-on): Likewise.
16523         * modules/rbtreehash-list (Depends-on): Likewise.
16524
16525         * modules/xsublist: New file.
16526         * lib/gl_xsublist.h: New file.
16527         * lib/gl_xsublist.c: New file.
16528         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
16529         (gl_sublist_nx_create): New declaration.
16530         * lib/gl_sublist.c: Don't include xalloc.h.
16531         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
16532         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
16533         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
16534         Change return type to 'int'. Return -1 upon out-of-memory.
16535         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
16536         upon out-of-memory.
16537         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
16538         NULL upon out-of-memory.
16539         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
16540         upon out-of-memory.
16541         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
16542         NULL upon out-of-memory.
16543         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
16544         NULL upon out-of-memory.
16545         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
16546         upon out-of-memory.
16547         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
16548         (gl_sublist_list_implementation): Update.
16549         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
16550         upon out-of-memory.
16551         * modules/sublist (Depends-on): Remove xalloc.
16552
16553         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
16554         * tests/test-carray_list.c: Likewise.
16555         * tests/test-linked_list.c: Likewise.
16556         * tests/test-linkedhash_list.c: Likewise.
16557         * tests/test-avltree_list.c: Likewise.
16558         * tests/test-rbtree_list.c: Likewise.
16559         * tests/test-avltreehash_list.c: Likewise.
16560         * tests/test-rbtreehash_list.c: Likewise.
16561         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
16562         * modules/carray-list-tests (Makefile.am): Likewise.
16563         * modules/linked-list-tests (Makefile.am): Likewise.
16564         * modules/linkedhash-list-tests (Makefile.am): Likewise.
16565         * modules/avltree-list-tests (Makefile.am): Likewise.
16566         * modules/rbtree-list-tests (Makefile.am): Likewise.
16567         * modules/avltreehash-list-tests (Makefile.am): Likewise.
16568         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
16569
16570         * NEWS: Mention the changes.
16571
16572         * lib/clean-temp.c: Include gl_xlist.h.
16573         * modules/clean-temp (Depends-on): Add xlist.
16574
16575         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
16576         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
16577
16578         * tests/test-array_oset.c: Include gl_xlist.h.
16579         * modules/array-oset-tests (Depends-on): Add xlist.
16580
16581         Reported by José E. Marchesi <jemarch@gnu.org>.
16582
16583 2009-12-13  Bruno Haible  <bruno@clisp.org>
16584
16585         Move the malloc checking from module 'oset' to new module 'xoset'.
16586         * modules/xoset: New file.
16587         * lib/gl_xoset.h: New file.
16588         * lib/gl_xoset.c: New file.
16589         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
16590         declarations.
16591         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
16592         (struct gl_oset_implementation): Rename and change methods accordingly.
16593         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
16594         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
16595         'int'. Mark as __warn_unused_result__.
16596         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
16597         gl_oset_create_empty.
16598         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
16599         'int'.
16600         * lib/gl_array_oset.c: Don't include xalloc.h.
16601         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
16602         malloc, not xmalloc.
16603         (grow): Change return type to 'int'. Don't call xalloc_die.
16604         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
16605         to 'int'.
16606         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
16607         'int'.
16608         (gl_array_oset_implementation): Update.
16609         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
16610         gl_tree_create_empty.
16611         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
16612         'int'.
16613         * lib/gl_avltree_oset.c: Don't include xalloc.h.
16614         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
16615         xmalloc.
16616         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
16617         not xmalloc.
16618         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
16619         xmalloc.
16620         (gl_avltree_oset_implementation): Update.
16621         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
16622         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
16623         xmalloc.
16624         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
16625         not xmalloc.
16626         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
16627         xmalloc.
16628         (gl_rbtree_oset_implementation): Update.
16629         * modules/array-oset (Depends-on): Remove xalloc.
16630         * modules/avltree-oset (Depends-on): Likewise.
16631         * modules/rbtree-oset (Depends-on): Likewise.
16632         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
16633         * tests/test-avltree_oset.c: Likewise.
16634         * tests/test-rbtree_oset.c: Likewise.
16635         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
16636         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
16637         * modules/rbtree-oset-tests (Makefile.am): Likewise.
16638         * NEWS: Mention the change.
16639
16640 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
16641
16642         maint.mk: allow a project to override release-prep commands
16643         * top/maint.mk (alpha, beta, stable): Move release-preparatory
16644         commands into a new rule.
16645         (release-prep): New rule.
16646         (release-prep-hook): New overridable variable.
16647
16648 2009-12-13  Bruno Haible  <bruno@clisp.org>
16649
16650         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
16651
16652 2009-12-13  Jim Meyering  <meyering@redhat.com>
16653
16654         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
16655         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
16656
16657 2009-12-12  Bruno Haible  <bruno@clisp.org>
16658
16659         duplocale: Tweak.
16660         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
16661
16662 2009-12-12  Karl Berry  <karl@gnu.org>
16663
16664         * config/srclist.txt (strtoll.c): tab changes, no more sync.
16665
16666 2009-12-12  Bruno Haible  <bruno@clisp.org>
16667
16668         * m4/po.m4: Undo incorrect untabification.
16669
16670 2009-12-12  Bruno Haible  <bruno@clisp.org>
16671
16672         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
16673         * modules/c-strtod (Depends-on): Add locale.
16674         * modules/c-strtold (Depends-on): Likewise.
16675
16676 2009-12-12  Bruno Haible  <bruno@clisp.org>
16677
16678         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
16679
16680 2009-12-11  Eric Blake  <ebb9@byu.net>
16681
16682         setenv: relax requirement in light of POSIX ruling
16683         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
16684         not NULL.
16685         * tests/test-setenv.c (main): Relax test.
16686         * tests/test-unsetenv.c (main): Likewise.
16687         * doc/posix-functions/setenv.texi (setenv): Document this.
16688         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
16689
16690 2009-12-11  Bruno Haible  <bruno@clisp.org>
16691
16692         New module 'fd-safer-flag'.
16693         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
16694         * lib/dup-safer.c (dup_safer_flag): Remove function.
16695         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
16696         * lib/fd-safer.c (fd_safer_flag): Remove function.
16697         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
16698         * modules/cloexec (configure.ac): Drop indicator macro.
16699         * modules/fd-safer-flag: New file.
16700         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
16701         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
16702         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
16703
16704 2009-12-11  Bruno Haible  <bruno@clisp.org>
16705
16706         Tests for module 'nl_langinfo'.
16707         * modules/nl_langinfo-tests: New file.
16708         * tests/test-nl_langinfo.sh: New file.
16709         * tests/test-nl_langinfo.c: New file.
16710
16711         New module 'nl_langinfo'.
16712         * lib/nl_langinfo.c: New file.
16713         * m4/nl_langinfo.m4: New file.
16714         * modules/nl_langinfo: New file.
16715         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
16716
16717 2009-12-11  Bruno Haible  <bruno@clisp.org>
16718
16719         Tests for module 'langinfo'.
16720         * modules/langinfo-tests: New file.
16721         * tests/test-langinfo.c: New file.
16722
16723         New module 'langinfo'.
16724         * lib/langinfo.in.h: New file.
16725         * m4/langinfo_h.m4: New file.
16726         * modules/langinfo: New file.
16727         * doc/posix-headers/langinfo.texi: Mention the new module.
16728
16729 2009-12-11  Bruno Haible  <bruno@clisp.org>
16730
16731         * lib/config.charset: Untabify.
16732
16733 2009-12-11  Bruno Haible  <bruno@clisp.org>
16734
16735         * modules/unistd-safer (configure.ac): Drop indicator macro.
16736
16737 2009-12-11  Bruno Haible  <bruno@clisp.org>
16738
16739         Move pipe2-safer code to its own file.
16740         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
16741         * lib/pipe-safer.c (pipe2_safer): Remove function.
16742         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
16743         (Makefile.am): Add it to lib_SOURCES.
16744
16745 2009-12-10  Bruno Haible  <bruno@clisp.org>
16746
16747         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
16748
16749 2009-12-10  Bruno Haible  <bruno@clisp.org>
16750
16751         Declare which arguments expect non-NULL values, for GCC and clang.
16752         * build-aux/arg-nonnull.h: New file.
16753         * modules/arg-nonnull: New file.
16754         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
16755         (inet_ntop, inet_pton): Use it.
16756         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
16757         (closedir, dirfd, opendir, scandir, alphasort): Use it.
16758         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
16759         (open, openat): Use it.
16760         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
16761         (fnmatch): Use it.
16762         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
16763         (getopt, getopt_long, getopt_long_only): Use it.
16764         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
16765         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
16766         Use it.
16767         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
16768         (iconv_open): Use it.
16769         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
16770         (strtoimax, strtoumax): Use it.
16771         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
16772         (duplocale): Use it.
16773         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
16774         (frexp, frexpl): Use it.
16775         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
16776         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
16777         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
16778         (tsearch, tfind, tdelete, twalk): Use it.
16779         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
16780         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
16781         sigpending): Use it.
16782         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
16783         (posix_spawn, posix_spawnp, posix_spawnattr_init,
16784         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
16785         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
16786         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
16787         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
16788         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
16789         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
16790         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
16791         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
16792         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
16793         Use it.
16794         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
16795         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
16796         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
16797         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
16798         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
16799         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
16800         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
16801         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
16802         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
16803         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
16804         strtoull, unsetenv): Use it.
16805         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
16806         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
16807         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
16808         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
16809         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
16810         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
16811         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
16812         (strcasecmp, strncasecmp): Use it.
16813         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
16814         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
16815         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
16816         rpl_setsockopt): Use it.
16817         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
16818         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
16819         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
16820         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
16821         (gettimeofday): Use it.
16822         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
16823         (times): Use it.
16824         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
16825         (uname): Use it.
16826         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
16827         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
16828         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
16829         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
16830         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
16831         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
16832         unlinkat, write): Use it.
16833         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
16834         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
16835         * lib/argv-iter.h: Include arg-nonnull.h.
16836         (_ATTRIBUTE_NONNULL_): Remove macro.
16837         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
16838         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
16839         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
16840         optimization.
16841         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
16842         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
16843         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
16844         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
16845         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
16846         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
16847         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
16848         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
16849         * modules/arpa_inet (Depends-on): Add arg-nonnull.
16850         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
16851         * modules/dirent (Depends-on): Add arg-nonnull.
16852         (Makefile.am): Insert arg-nonnull.h into dirent.h.
16853         * modules/fcntl-h (Depends-on): Add arg-nonnull.
16854         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
16855         * modules/fnmatch (Depends-on): Add arg-nonnull.
16856         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
16857         * modules/getopt-posix (Depends-on): Add arg-nonnull.
16858         (Makefile.am): Insert arg-nonnull.h into getopt.h.
16859         * modules/glob (Depends-on): Add arg-nonnull.
16860         (Makefile.am): Insert arg-nonnull.h into glob.h.
16861         * modules/iconv_open (Depends-on): Add arg-nonnull.
16862         (Makefile.am): Insert arg-nonnull.h into iconv.h.
16863         * modules/inttypes (Depends-on): Add arg-nonnull.
16864         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
16865         * modules/locale (Depends-on): Add arg-nonnull.
16866         (Makefile.am): Insert arg-nonnull.h into locale.h.
16867         * modules/math (Depends-on): Add arg-nonnull.
16868         (Makefile.am): Insert arg-nonnull.h into math.h.
16869         * modules/netdb (Depends-on): Add arg-nonnull.
16870         (Makefile.am): Insert arg-nonnull.h into netdb.h.
16871         * modules/search (Depends-on): Add arg-nonnull.
16872         (Makefile.am): Insert arg-nonnull.h into search.h.
16873         * modules/signal (Depends-on): Add arg-nonnull.
16874         (Makefile.am): Insert arg-nonnull.h into signal.h.
16875         * modules/spawn (Depends-on): Add arg-nonnull.
16876         (Makefile.am): Insert arg-nonnull.h into spawn.h.
16877         * modules/stdio (Depends-on): Add arg-nonnull.
16878         (Makefile.am): Insert arg-nonnull.h into stdio.h.
16879         * modules/stdlib (Depends-on): Add arg-nonnull.
16880         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
16881         * modules/string (Depends-on): Add arg-nonnull.
16882         (Makefile.am): Insert arg-nonnull.h into string.h.
16883         * modules/strings (Depends-on): Add arg-nonnull.
16884         (Makefile.am): Insert arg-nonnull.h into strings.h.
16885         * modules/sys_socket (Depends-on): Add arg-nonnull.
16886         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
16887         * modules/sys_stat (Depends-on): Add arg-nonnull.
16888         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
16889         * modules/sys_time (Depends-on): Add arg-nonnull.
16890         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
16891         * modules/sys_times (Depends-on): Add arg-nonnull.
16892         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
16893         * modules/sys_utsname (Depends-on): Add arg-nonnull.
16894         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
16895         * modules/time (Depends-on): Add arg-nonnull.
16896         (Makefile.am): Insert arg-nonnull.h into time.h.
16897         * modules/unistd (Depends-on): Add arg-nonnull.
16898         (Makefile.am): Insert arg-nonnull.h into unistd.h.
16899         * modules/wchar (Depends-on): Add arg-nonnull.
16900         (Makefile.am): Insert arg-nonnull.h into wchar.h.
16901         * modules/argv-iter (Depends-on): Add arg-nonnull.
16902         * tests/test-canonicalize.c (null_ptr): New function.
16903         (main): Use it.
16904         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
16905         (main): Use it.
16906         * tests/test-memmem.c (null_ptr): New function.
16907         (main): Use it.
16908         Reported by Jim Meyering.
16909
16910 2009-12-10  Bruno Haible  <bruno@clisp.org>
16911
16912         Use spaces for indentation, not tabs.
16913         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
16914         * m4/*.m4: Untabify.
16915         * build-aux/*.h: Untabify.
16916         * tests/**/*.[hc]: Untabify.
16917         * README: New section "Indent with spaces, not TABs", based on
16918         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
16919         * NEWS: Mention the change.
16920
16921 2009-12-10  Bruno Haible  <bruno@clisp.org>
16922
16923         pty test: Fix link error.
16924         * modules/pty-tests (Makefile.am): Add the default LDADD value to
16925         test_pty_LDADD.
16926
16927 2009-12-07  Simon Josefsson  <simon@josefsson.org>
16928
16929         * modules/pty: New file.
16930         * modules/pty-tests: New file.
16931         * m4/pty.m4: New file.
16932         * tests/test-pty.c: New file.
16933         * doc/glibc-headers/pty.texi: Modified.
16934         * doc/glibc-functions/forkpty.texi: Modified.
16935         * doc/glibc-functions/openpty.texi: Modified.
16936
16937 2009-12-10  Bruno Haible  <bruno@clisp.org>
16938
16939         Avoid syntax error in C++ mode.
16940         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
16941
16942 2009-12-10  Bruno Haible  <bruno@clisp.org>
16943
16944         Use sed with option -e.
16945         * gnulib-tool (func_version, func_emit_copyright_notice,
16946         func_emit_initmacro_end, func_import, func_create_testdir): Pass
16947         option -e to sed.
16948         * modules/link-warning (Makefile.am): Likewise.
16949
16950 2009-12-10  Jim Meyering  <meyering@redhat.com>
16951
16952         mgetgroups: do not write bytes beyond end of malloc'd buffer
16953         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
16954         username, we call getgroups with a one-element-shorter buffer,
16955         but still told it the length was original, max_n_groups.
16956
16957 2009-12-09  Eric Blake  <ebb9@byu.net>
16958
16959         cloexec: relax license
16960         * modules/cloexec (Maintainer): Add myself.
16961         (License): Use LGPL, not GPL.
16962
16963         link-warning: optimize generation
16964         * modules/link-warning (Makefile.am): Reduce process usage.
16965
16966 2009-12-09  Bruno Haible  <bruno@clisp.org>
16967
16968         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
16969         workaround was added on 2009-11-17.
16970
16971 2009-12-09  Jim Meyering  <meyering@redhat.com>
16972             Bruno Haible  <bruno@clisp.org>
16973
16974         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
16975         * modules/link-warning (Makefile.am): Make the comment-removing sed
16976         command more robust in the face of bootstrap-prepended comment lines.
16977
16978 2009-12-09  Bruno Haible  <bruno@clisp.org>
16979
16980         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
16981         most one group.
16982
16983 2009-12-09  Simon Josefsson <simon@josefsson.org>
16984             Bruno Haible  <bruno@clisp.org>
16985
16986         * build-aux/link-warning.h: Add copyright notice.
16987         * modules/link-warning (Makefile.am): Generate link-warning.h from
16988         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
16989         * NEWS: Mention change in link-warning module.
16990         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
16991         * modules/dirent (Makefile.am): Add dependency to dirent.h.
16992         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
16993         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
16994         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
16995         * modules/math (Makefile.am): Add dependency to math.h.
16996         * modules/search (Makefile.am): Add dependency to search.h.
16997         * modules/signal (Makefile.am): Add dependency to signal.h.
16998         * modules/spawn (Makefile.am): Add dependency to spawn.h.
16999         * modules/stdio (Makefile.am): Add dependency to stdio.h.
17000         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
17001         * modules/string (Makefile.am): Add dependency to string.h.
17002         * modules/strings (Makefile.am): Add dependency to strings.h.
17003         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
17004         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
17005         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
17006         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
17007         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
17008         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
17009         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
17010         * modules/unistd (Makefile.am): Add dependency to unistd.h.
17011         * modules/wchar (Makefile.am): Add dependency to wchar.h.
17012
17013 2009-12-09  Bruno Haible  <bruno@clisp.org>
17014
17015         fchdir: Optimize away rpl_fstat when possible.
17016         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
17017         REPLACE_OPEN_DIRECTORY.
17018         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
17019
17020 2009-12-09  Bruno Haible  <bruno@clisp.org>
17021
17022         * lib/fchdir.c: Update comment.
17023
17024 2009-12-09  Bruno Haible  <bruno@clisp.org>
17025
17026         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
17027
17028 2009-12-08  Eric Blake  <ebb9@byu.net>
17029
17030         fchdir: avoid memory leak on re-registration.
17031         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
17032
17033 2009-12-08  Jim Meyering  <meyering@redhat.com>
17034
17035         init.sh: avoid Solaris 10 /bin/sh portability problem
17036         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
17037         sourced script:
17038           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
17039           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
17040           bar
17041         tests/init.sh relied on that, accepting a --set-path=DIR argument,
17042         and two tests used that idiom.
17043         * tests/init.sh: Update suggested usage comments.
17044         (path_prepend_): New function, to be used in place
17045         of the --src-path=DIR option.
17046         (setup_): Move PATH-prepending code into path_prepend_.
17047         * tests/test-pread.sh: Adapt to new usage.
17048         * tests/test-xalloc-die.sh: Likewise.
17049
17050 2009-12-08  Simon Josefsson  <simon@josefsson.org>
17051
17052         * doc/gnulib.texi (Glibc pty.h): Add.
17053         * doc/glibc-functions/forkpty.texi: Add.
17054         * doc/glibc-functions/openpty.texi: Add.
17055         Suggested by Bruno Haible.
17056
17057 2009-12-08  Eric Blake  <ebb9@byu.net>
17058
17059         fchdir: fix logic bugs
17060         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
17061         * tests/test-fchdir.c (main): Enhance test.
17062         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
17063         is in use.
17064
17065         dup2: fix logic bugs
17066         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
17067         REPLACE_DUP2 to decide when rpl_dup2 is needed.
17068         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
17069         exists.
17070         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
17071
17072 2009-12-07  Eric Blake  <ebb9@byu.net>
17073
17074         unlink: fix m4 detection
17075         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
17076
17077         unistd-safer: add unit test
17078         * modules/unistd-safer-tests: New file.
17079         * tests/test-dup-safer.c: Likewise.
17080         * tests/test-cloexec.c (setmode): Avoid compiler warning.
17081         * tests/test-dup2.c (setmode): Likewise.
17082         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
17083
17084         cloexec: preserve text vs. binary across dup_cloexec
17085         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
17086         mode.
17087         * modules/dup2-tests (Depends-on): Add binary-io.
17088         * modules/cloexec-tests (Depends-on): Likewise.
17089         * tests/test-dup2.c (setmode, is_mode): New helpers.
17090         (main): Add tests that translation mode is preserved.
17091         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
17092         Reported by Bruno Haible.
17093
17094         mgetgroups: reduce duplicate listings
17095         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
17096         resulting array.
17097         * tests/test-chown.h (test_chown): Simplify client.
17098         * tests/test-lchown.h (test_lchown): Likewise.
17099
17100 2009-12-06  Bruno Haible  <bruno@clisp.org>
17101
17102         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
17103         value.
17104
17105 2009-12-06  Bruno Haible  <bruno@clisp.org>
17106
17107         * lib/progname.c: Include stdio.h, stdlib.h.
17108         (set_program_name): Reject a NULL argument.
17109
17110 2009-12-05  Eric Blake  <ebb9@byu.net>
17111
17112         pipe2-safer: new module
17113         * modules/pipe2-safer: New file.
17114         * lib/unistd-safer.h (pipe2_safer): New prototype.
17115         * lib/unistd--.h (pipe2): New wrapper.
17116         * lib/pipe-safer.c (pipe2_safer): New function.
17117         * modules/pipe (Depends-on): Add pipe2-safer.
17118         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
17119
17120         stdlib-safer: preserve cloexec flag for mkostemp[s]
17121         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
17122         fd_safer_flag.
17123
17124         unistd-safer: allow preservation of cloexec status via flag
17125         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
17126         prototypes.
17127         * lib/dup-safer.c (dup_safer_flag): New function.
17128         * lib/fd-safer.c (fd_safer_flag): Likewise.
17129         * modules/cloexec (configure.ac): Set witness.
17130
17131         test-dup2: enhance test
17132         * modules/dup2-tests (Depends-on): Add cloexec.
17133         * tests/test-dup2.c (main): Enhance test.
17134
17135         cloexec: add dup_cloexec
17136         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
17137         header and comments.
17138         * lib/cloexec.c (set_cloexec_flag): Add comments.
17139         (dup_cloexec): New function, with mingw implementation borrowed
17140         from...
17141         * lib/w32spawn.h (dup_noinherit): ...here.
17142         * modules/execute (Depends-on): Add cloexec.
17143         * modules/pipe (Depends-on): Likewise.
17144         * modules/cloexec (Depends-on): Add dup2.
17145         * modules/cloexec-tests (Files): New file.
17146         * tests/test-cloexec.c: Likewise.
17147
17148         test-xalloc-die: fix test for mingw
17149         * modules/xalloc-die-tests (Files): Add tests/init.sh.
17150         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
17151         directory and .exe suffix off argv[0] output.
17152
17153         test-fseeko: fix test for mingw
17154         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
17155         than undefining fseek, so test will pass on mingw.
17156
17157 2009-12-05  Bruno Haible  <bruno@clisp.org>
17158
17159         * lib/progname.h (set_program_name): Clarify specification.
17160         * lib/progname.c (set_program_name): Likewise.
17161         Reported by Jim Meyering.
17162
17163 2009-12-05  Jim Meyering  <meyering@redhat.com>
17164
17165         maint.mk: backslash-escape parens in default regexp
17166         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
17167         backslash-escape the literal parentheses.
17168
17169         maint.mk: news-date-check: use grep -E
17170         * top/maint.mk (today): Define a Make variable, not a...
17171         (news-date-check): ...shell variable.
17172         (news-date-regexp): Use the Make variable.
17173         Use grep's -E option.  Change the failing diagnostic to mention
17174         the variable, $(news-date-regexp).
17175
17176 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
17177
17178         maintainer-makefile: allow customization of NEWS entry format
17179         * top/maint.mk (news-date-regexp): New overridable variable.
17180         (news-date-check): Use it.
17181
17182 2009-12-04  Eric Blake  <ebb9@byu.net>
17183
17184         mgetgroups: add xgetgroups, and avoid ENOSYS failures
17185         * lib/mgetgroups.h (xgetgroups): New prototype.
17186         * lib/mgetgroups.c (xgetgroups): New wrapper.
17187         (mgetgroups): Handle ENOSYS.
17188         * modules/mgetgroups (Depends-on): Add realloc.
17189         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
17190
17191         mgetgroups: avoid argument promotion issues with -1
17192         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
17193         for invalid gid_t.
17194         * tests/test-chown.h (getegid, test_chown): Likewise.
17195         * tests/test-lchown.h (getegid, test_lchown): Likewise.
17196
17197 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
17198
17199         exclude: Fix header file problems.
17200         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
17201
17202 2009-12-01  Jim Meyering  <meyering@redhat.com>
17203
17204         fts: fts_open: do not let an empty string cause immediate failure
17205         This is required in support of GNU rm, for which the command
17206         "rm A '' B" must process and remove both A and B, in spite of
17207         the empty string argument.
17208         * lib/fts.c (fts_open): Do not let the presence of an empty string
17209         cause fts_open to fail immediately.  Most fts-using tools must be
17210         able to process all arguments, in order, and can be expected to
17211         diagnose such arguments themselves.
17212
17213 2009-11-30  Eric Blake  <ebb9@byu.net>
17214
17215         utimens: fix compilation error
17216         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
17217         Declare variable at right scope.
17218
17219 2009-11-29  Jim Meyering  <meyering@redhat.com>
17220
17221         bootstrap: handle perl-5.11's changed --version output
17222         * build-aux/bootstrap (get_version): Handle perl separately,
17223         since perl-5.11's --version output is different.
17224
17225 2009-11-28  Jim Meyering  <meyering@redhat.com>
17226
17227         userspec: depend on the inttostr module, too
17228         * modules/userspec (Depends-on): Add inttostr.
17229
17230         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
17231         * lib/userspec.c (parse_with_separator): Do not accept a user ID
17232         number of MAXUID when it evaluates to (uid_t) -1.
17233         Likewise for group ID.  Reported by Matt McCutchen in
17234         <http://savannah.gnu.org/bugs/?28113>
17235
17236         userspec: reformat to use spaces, not TABs
17237         * lib/userspec.c: Expand TABs to spaces.
17238         Add Emacs' "indent-tabs-mode: nil" hint.
17239
17240 2009-11-27  Eric Blake  <ebb9@byu.net>
17241
17242         getopt-gnu: flush out another BSD bug
17243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
17244         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
17245         flush out BSD bug.
17246         * tests/test-getopt.h (test_getopt): End lists with NULL.
17247         * tests/test-getopt_long.h (test_getopt_long): Likewise.
17248         (test_getopt_long_posix): Enhance test.
17249         * modules/getopt-posix-tests (Depends-on): Add stdbool.
17250         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
17251         getopt-gnu.
17252         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17253         Likewise.
17254
17255 2009-11-27  Simon Josefsson  <simon@josefsson.org>
17256
17257         * modules/idpriv-droptemp-tests (Notice): Fix text.
17258
17259 2009-11-27  Jim Meyering  <meyering@redhat.com>
17260
17261         test-xalloc-die: avoid spurious failure due to libtool argv difference
17262         In a libtool-enabled project, this test would fail due to a difference
17263         in the emitted program name, e.g.,
17264         -test-xalloc-die: memory exhausted
17265         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
17266         Use program to avoid that.
17267         * modules/xalloc-die-tests (Depends-on): Add progname.
17268         * tests/test-xalloc-die.c: Include progname.h".
17269         (program_name): Remove decl.
17270         (main): Call set_program_name.
17271         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
17272
17273 2009-11-26  Richard Jones  <rjones@redhat.com>
17274
17275         w32sock: leave win32 error in place.
17276         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
17277
17278 2009-11-26  Eric Blake  <ebb9@byu.net>
17279
17280         init.sh: suggest to use skip_ and fail_ functions in comments
17281         * tests/init.sh: Add a sentence.
17282
17283 2009-11-25  Bruno Haible  <bruno@clisp.org>
17284
17285         init.sh: add documentation in comments
17286         * tests/init.sh: Add some developer and user documentation.
17287
17288 2009-11-26  Jim Meyering  <meyering@redhat.com>
17289
17290         init.sh: accommodate even those who specify bogus srcdir manually
17291         * tests/init.sh: Normally, srcdir is guaranteed by automake and
17292         configure-time tests to be sanitized, so that there is no need to
17293         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
17294         (with no double quotes) suffices.  However, since tests may be
17295         invoked manually, and since you may explicitly set srcdir to the
17296         name of a directory containing spaces, do quote its uses here.
17297         * tests/test-pread.sh: Likewise.
17298         Suggested by Bruno Haible.
17299
17300         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
17301         * tests/test-pread.sh: Write no data into the pipe, because
17302         test-pread actually reads none.  This avoids a diagnostic,
17303         "bash: echo: write error: Broken pipe", that arises in the unusual
17304         event something is ignoring SIGPIPE, and might be interpreted
17305         as some sort of failure.  Reported by Bruno Haible.
17306
17307 2009-11-25  Jim Meyering  <meyering@redhat.com>
17308
17309         test-pread: cover failure with ESPIPE and EINVAL
17310         * tests/test-pread.c (main): Test for failure, too.
17311         * tests/test-pread.sh: Invoke with stdin on a pipe.
17312         Suggested by Eric Blake.
17313
17314         pread: improvement and fix
17315         * modules/pread (Depends-on): Depend on lseek, for portability to
17316         e.g., mingw.  Suggested by Eric Blake.
17317         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
17318
17319         unistd.in.h: correct declaration of pread
17320         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
17321         Reported by Richard W.M. Jones.
17322
17323         test-pread.sh: distribute the test script
17324         * modules/pread-tests (Files): Include test-pread.sh.
17325
17326         test-pread.sh: clean up
17327         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
17328         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
17329         That is unnecessary, since it's always ".".
17330         Suggestion from Eric Blake.
17331
17332         test-pread.sh: make executable
17333         * tests/test-pread.sh: Set executable bit.
17334         Reported by Eric Blake.
17335
17336         correct typo in test-pread.sh
17337         * tests/test-pread.sh: Add #! line.
17338
17339         test pread
17340         * tests/test-pread.c: New file.
17341         * tests/test-pread.sh: Likewise.
17342         * modules/pread-tests: Likewise.
17343
17344         pread: new module
17345         * modules/pread: New file.
17346         * lib/unistd.in.h (pread): Define/declare.
17347         * lib/pread.c (pread): New file.
17348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
17349         * modules/unistd (Makefile.am): Substitute witnesses.
17350         * doc/posix-functions/pread.texi (pread): Update.
17351         * MODULES.html.sh: Add pread.
17352
17353 2009-11-25  Jim Meyering  <meyering@redhat.com>
17354
17355         tests/init.sh: new file to be used via most *.sh tests
17356         * tests/init.sh: New file.
17357
17358 2009-11-25  Eric Blake  <ebb9@byu.net>
17359
17360         utimens: work around older Linux failure with symlinks
17361         * lib/utimens.c (lutimensat_works_really): New variable.
17362         (fdutimens, lutimens): Use it to manage kernels that support
17363         nanosecond times on files, but not on symlinks.
17364         Reported by Ondřej Vašík.
17365
17366         utimes: fix configure grammar
17367         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
17368
17369 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
17370
17371         regex: Fix fastmap for multibyte character ranges.
17372         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
17373         characters when a multibyte character range is included.
17374
17375 2009-11-22  Andy Wingo  <wingo@pobox.com>
17376
17377         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
17378         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
17379
17380 2009-11-24  Bruno Haible  <bruno@clisp.org>
17381
17382         doc: Most *_l functions exist in MacOS X 10.5.
17383         * doc/posix-functions/duplocale.texi: Update platforms list.
17384         * doc/posix-functions/freelocale.texi: Likewise.
17385         * doc/posix-functions/newlocale.texi: Likewise.
17386         * doc/posix-functions/uselocale.texi: Likewise.
17387         * doc/posix-functions/isalnum_l.texi: Likewise.
17388         * doc/posix-functions/isalpha_l.texi: Likewise.
17389         * doc/posix-functions/isblank_l.texi: Likewise.
17390         * doc/posix-functions/iscntrl_l.texi: Likewise.
17391         * doc/posix-functions/isdigit_l.texi: Likewise.
17392         * doc/posix-functions/isgraph_l.texi: Likewise.
17393         * doc/posix-functions/islower_l.texi: Likewise.
17394         * doc/posix-functions/isprint_l.texi: Likewise.
17395         * doc/posix-functions/ispunct_l.texi: Likewise.
17396         * doc/posix-functions/isspace_l.texi: Likewise.
17397         * doc/posix-functions/isupper_l.texi: Likewise.
17398         * doc/posix-functions/iswalnum_l.texi: Likewise.
17399         * doc/posix-functions/iswalpha_l.texi: Likewise.
17400         * doc/posix-functions/iswblank_l.texi: Likewise.
17401         * doc/posix-functions/iswcntrl_l.texi: Likewise.
17402         * doc/posix-functions/iswctype_l.texi: Likewise.
17403         * doc/posix-functions/iswdigit_l.texi: Likewise.
17404         * doc/posix-functions/iswgraph_l.texi: Likewise.
17405         * doc/posix-functions/iswlower_l.texi: Likewise.
17406         * doc/posix-functions/iswprint_l.texi: Likewise.
17407         * doc/posix-functions/iswpunct_l.texi: Likewise.
17408         * doc/posix-functions/iswspace_l.texi: Likewise.
17409         * doc/posix-functions/iswupper_l.texi: Likewise.
17410         * doc/posix-functions/iswxdigit_l.texi: Likewise.
17411         * doc/posix-functions/isxdigit_l.texi: Likewise.
17412         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
17413         * doc/posix-functions/strcasecmp_l.texi: Likewise.
17414         * doc/posix-functions/strcoll_l.texi: Likewise.
17415         * doc/posix-functions/strfmon_l.texi: Likewise.
17416         * doc/posix-functions/strftime_l.texi: Likewise.
17417         * doc/posix-functions/strncasecmp_l.texi: Likewise.
17418         * doc/posix-functions/strxfrm_l.texi: Likewise.
17419         * doc/posix-functions/tolower_l.texi: Likewise.
17420         * doc/posix-functions/toupper_l.texi: Likewise.
17421         * doc/posix-functions/towctrans_l.texi: Likewise.
17422         * doc/posix-functions/towlower_l.texi: Likewise.
17423         * doc/posix-functions/towupper_l.texi: Likewise.
17424         * doc/posix-functions/wcscoll_l.texi: Likewise.
17425         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
17426         * doc/posix-functions/wctrans_l.texi: Likewise.
17427         * doc/posix-functions/wctype_l.texi: Likewise.
17428         * doc/glibc-functions/strptime_l.texi: Likewise.
17429         * doc/glibc-functions/strtod_l.texi: Likewise.
17430         * doc/glibc-functions/strtof_l.texi: Likewise.
17431         * doc/glibc-functions/strtol_l.texi: Likewise.
17432         * doc/glibc-functions/strtold_l.texi: Likewise.
17433         * doc/glibc-functions/strtoll_l.texi: Likewise.
17434         * doc/glibc-functions/strtoul_l.texi: Likewise.
17435         * doc/glibc-functions/strtoull_l.texi: Likewise.
17436         * doc/glibc-functions/wcsftime_l.texi: Likewise.
17437         * doc/glibc-functions/wcstod_l.texi: Likewise.
17438         * doc/glibc-functions/wcstof_l.texi: Likewise.
17439         * doc/glibc-functions/wcstol_l.texi: Likewise.
17440         * doc/glibc-functions/wcstold_l.texi: Likewise.
17441         * doc/glibc-functions/wcstoll_l.texi: Likewise.
17442         * doc/glibc-functions/wcstoul_l.texi: Likewise.
17443         * doc/glibc-functions/wcstoull_l.texi: Likewise.
17444
17445 2009-11-24  Bruno Haible  <bruno@clisp.org>
17446
17447         duplocale: Fix logic bug.
17448         * lib/duplocale.c: Don't include <langinfo.h>.
17449         (_NL_LOCALE_NAME): Remove macro.
17450         (rpl_duplocale): Use setlocale instead of nl_langinfo.
17451         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
17452
17453 2009-11-23  Jim Meyering  <meyering@redhat.com>
17454
17455         test-update-copyright: don't hard-code /usr/bin/perl
17456         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
17457         perl to print the current year.  Gilles Espinasse reported that
17458         the replaced use of perl was hard-coded as /usr/bin/perl.
17459
17460 2009-11-23  Bruno Haible  <bruno@clisp.org>
17461
17462         duplocale: Add support for glibc 2.3.x.
17463         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
17464
17465 2009-11-22  Bruno Haible  <bruno@clisp.org>
17466
17467         vasnprintf: Tiny optimization.
17468         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
17469         MacOS X.
17470
17471 2009-11-22  Bruno Haible  <bruno@clisp.org>
17472
17473         Tests for module 'duplocale'.
17474         * modules/duplocale-tests: New file.
17475         * tests/test-duplocale.c: New file.
17476
17477         New module 'duplocale'.
17478         * m4/duplocale.m4: New file.
17479         * lib/locale.in.h (duplocale): New declaration.
17480         * lib/duplocale.c: New file.
17481         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
17482         gl_LOCALE_H_DEFAULTS): New macros.
17483         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
17484         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
17485         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
17486         REPLACE_DUPLOCALE.
17487         * modules/duplocale: New file.
17488         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
17489
17490 2009-11-22  Bruno Haible  <bruno@clisp.org>
17491
17492         * modules/locale-tests (configure.ac): Test for newlocale function.
17493         * tests/test-locale.c: When the system has extended locale functions,
17494         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
17495
17496         locale: Make locale_t available when possible.
17497         * lib/locale.in.h: Include <xlocale.h> when it exists.
17498         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
17499         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
17500         * modules/locale (Depends-on): Add extensions.
17501         (Makefile.am): Also substitute HAVE_XLOCALE_H.
17502         * doc/posix-headers/locale.texi: Document the problem with locale_t.
17503
17504 2009-11-22  Bruno Haible  <bruno@clisp.org>
17505
17506         Add comments.
17507         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
17508         invocation.
17509         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
17510         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17511         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17512
17513 2009-11-22  Bruno Haible  <bruno@clisp.org>
17514
17515         error: account for the possibility of freopen (stdout).
17516         * lib/error.c: Include <unistd.h>.
17517         (flush_stdout): New function, extracted from error and error_at_line.
17518         Determine stdout's fd dynamically.
17519         (error, error_at_line): Invoke flush_stdout.
17520         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
17521         * modules/error (Depends-on): Add unistd.
17522
17523 2009-11-22  Bruno Haible  <bruno@clisp.org>
17524
17525         diffseq: Add comment.
17526         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
17527
17528 2009-11-22  Jim Meyering  <meyering@redhat.com>
17529
17530         c-stack: avoid defining an unused static function
17531         * lib/c-stack.c (find_stack_direction): Do not define this function
17532         when it will not be used.
17533
17534         diffseq: avoid spurious gcc warnings
17535         * lib/diffseq.h (IF_LINT2): Define.
17536         (compareseq): Use it to initialize two members of "part".
17537         This avoids two used-uninitialized warnings.
17538
17539 2009-11-21  Jim Meyering  <meyering@redhat.com>
17540
17541         c-stack: avoid "ignoring return value of `write'" warning
17542         * lib/c-stack.c: Include "ignore-value.h".
17543         (die): Explicitly ignore each write return value.
17544         * modules/c-stack (Depends-on): Add ignore-value.
17545
17546 2009-11-21  Bruno Haible  <bruno@clisp.org>
17547
17548         diffseq: reduce scope of variable 'best'.
17549         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
17550         variable, earlier used for two different purposes.
17551
17552 2009-11-21  Jim Meyering  <meyering@redhat.com>
17553
17554         diffseq: remove useless assignment to "best"
17555         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
17556         assignment.  At that point "best" is already guaranteed to be zero.
17557
17558 2009-11-20  Eric Blake  <ebb9@byu.net>
17559
17560         build: mention ftp redirector in release announcements
17561         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
17562         values that used to come from cfg.mk; mention FTP redirect URL.
17563         * build-aux/announce-gen: Mention the mirror list.
17564         Suggested by Karl Berry.
17565
17566         nanosleep: improve port to mingw
17567         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
17568         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
17569         LIB_NANOSLEEP, but only when needed.
17570         * modules/select (Link): Document LIBSOCKET.
17571         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
17572         enough.
17573
17574         nanosleep: work around cygwin bug
17575         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
17576         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
17577         bug.
17578         (getnow): Delete, not needed.
17579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
17580         LIB_CLOCK_GETTIME.
17581         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
17582         clock-time, gettime.
17583         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
17584         bug.
17585         * modules/nanosleep-tests: New test.
17586         * tests/test-nanosleep.c: New file.
17587
17588         sleep: work around cygwin bug
17589         * lib/sleep.c (rpl_sleep): Work around the bug.
17590         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
17591         (gl_PREREQ_SLEEP): Delete unused macro.
17592         * modules/sleep (Depends-on): Add verify.
17593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
17594         * modules/unistd (Makefile.am): Substitute witness.
17595         * lib/unistd.in.h (sleep): Update prototype.
17596         * doc/posix-functions/sleep.texi (sleep): Document the bug.
17597         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
17598         * modules/sleep-tests (Depends-on): Check for alarm.
17599
17600 2009-11-20  Jim Meyering  <meyering@redhat.com>
17601
17602         maint.mk: improve sc_prohibit_magic_number_exit
17603         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
17604         so it does not match uses like System.exit(1).
17605         Add comments showing how to correct all offenders.
17606
17607 2009-11-19  Eric Blake  <ebb9@byu.net>
17608
17609         xalloc-die-tests: add missing library
17610         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
17611
17612         test-xvasprintf: silence compiler warnings
17613         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
17614         empty string from gcc.
17615
17616 2009-11-19  Jim Meyering  <meyering@redhat.com>
17617
17618         xfreopen: new module, from coreutils
17619         * modules/xfreopen: New module.
17620         * lib/xfreopen.c: New file.
17621         * lib/xfreopen.h: New file.
17622         * MODULES.html.sh (File stream based Input/Output"): Add it.
17623
17624 2009-11-19  Eric Blake  <ebb9@byu.net>
17625
17626         manywarnings: depend on warnings
17627         * modules/manywarnings (Depends-on): Add warnings.
17628
17629         build: avoid compiler warnings
17630         * lib/select.c (rpl_select): Delete unused variable.
17631         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
17632
17633 2009-11-18  Eric Blake  <ebb9@byu.net>
17634
17635         tests: avoid false negative with --with-packager
17636         * tests/test-version-etc.sh: Discard packager information.
17637         * tests/test-argp-version-etc-1.sh: Likewise.
17638         Reported by Mike Frysinger.
17639
17640         utimens: fix regression on Solaris
17641         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
17642         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
17643         can only change fd timestamps via futimesat.  Instead, use an
17644         additional witness macro to avoid BSD bug.
17645         Reported by Jim Meyering.
17646
17647 2009-11-17  Eric Blake  <ebb9@byu.net>
17648
17649         usleep: use it to simplify tests
17650         * modules/stat-time-tests (Depends-on): Add usleep.
17651         (configure.ac): Drop usleep check.
17652         * modules/chown-tests (Depends-on, configure.ac): Likewise.
17653         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
17654         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
17655         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
17656         * modules/openat-tests (Depends-on, configure.ac): Likewise.
17657         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
17658         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
17659         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
17660         Likewise.
17661         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
17662         * tests/test-lchown.h (nap): Likewise.
17663         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
17664         * tests/test-stat-time.c (nap): Likewise.
17665         * tests/test-utimens-common.h (nap): Update comments.
17666
17667         usleep: new module
17668         * modules/usleep: New file.
17669         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
17670         * lib/usleep.c (usleep): Likewise.
17671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
17672         * modules/unistd (Makefile.am): Substitute witnesses.
17673         * lib/unistd.in.h (usleep): Add declaration.
17674         * doc/pastposix-functions/usleep.texi (usleep): Document this.
17675         * MODULES.html.sh (Date and time): Likewise.
17676         * modules/usleep-tests (Depends-on): New test.
17677         * tests/test-usleep.c: New file.
17678
17679         chown: work around OpenBSD bug
17680         * lib/chown.c (rpl_chown): Work around the bug.
17681         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
17682         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
17683         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
17684         * modules/chown (Depends-on): Add stdbool.
17685         * modules/lchown (Depends-on): Likewise.
17686         * doc/posix-functions/chown.texi (chown): Document the bug.
17687         * doc/posix-functions/lchown.texi (lchown): Likewise.
17688         * tests/test-lchown.h (test_chown): Relax test.
17689
17690         mkstemp: avoid conflict with C++ keyword template
17691         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
17692         * lib/mkostemp.c (mkostemp): Likewise.
17693         * lib/mkostemps.c (mkostemps): Likewise.
17694         * lib/mkstemp.c (mkstemp): Likewise.
17695         * lib/mkstemps.c (mkstemps): Likewise.
17696
17697         xalloc-die-tests: optimize
17698         * tests/test-xalloc-die.sh: Reduce number of processes.
17699
17700 2009-11-17  Simon Josefsson  <simon@josefsson.org>
17701
17702         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
17703         patch from ludo@gnu.org (Ludovic Courtès).
17704
17705 2009-11-17  Jim Meyering  <meyering@redhat.com>
17706
17707         version-etc: use proper license string
17708         * modules/version-etc (License): Use LGPL, not LGPLv3+.
17709         * modules/version-etc-fsf: Likewise.
17710
17711 2009-11-17  Simon Josefsson  <simon@josefsson.org>
17712
17713         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
17714         printed to stdout.  Deal with EOL differences.
17715
17716 2009-11-17  Eric Blake  <ebb9@byu.net>
17717
17718         unsetenv: work around Solaris bug
17719         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
17720         * lib/unsetenv.c (rpl_unsetenv): Work around it.
17721         Reported by Jim Meyering.
17722
17723         vasnprintf: avoid compiler warnings
17724         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
17725         variables.
17726         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
17727
17728 2009-11-17  Simon Josefsson  <simon@josefsson.org>
17729
17730         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
17731         settings since xalloc-die is no longer the self test,
17732         xalloc-die.sh is.
17733
17734 2009-11-17  Jim Meyering  <meyering@redhat.com>
17735
17736         test-xalloc-die.sh: make the code agree with the commit log
17737         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
17738         at the end, just in case you happen to have a test-xalloc-die
17739         program in some other PATH directory.
17740
17741         test-xalloc-die.sh: fix a portability bug
17742         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
17743         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
17744         Otherwise, argv[0] (as often seen in diagnostics) would be too
17745         system-dependent, sometimes with, and sometimes without the leading "./".
17746
17747         version-etc-fsf: relax license to LGPLv3+
17748         * modules/version-etc-fsf (License): Relax license.
17749
17750 2009-11-16  Eric Blake  <ebb9@byu.net>
17751
17752         xalloc-die-tests: avoid printing null pointer
17753         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
17754         shell script.
17755         * tests/test-xalloc-die.c (program_name): Declare.
17756         * tests/test-xalloc-die.sh (tmpfiles): New file.
17757
17758         setenv, unsetenv: work around various bugs
17759         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
17760         (setenv) [HAVE_SETENV]: Work around bugs.
17761         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
17762         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
17763         for bugs.
17764         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
17765         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
17766         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
17767         * modules/stdlib (Makefile.am): Update substitutions.
17768         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
17769         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
17770         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
17771         * modules/setenv-tests: New test.
17772         * modules/unsetenv-tests: Likewise.
17773         * tests/test-setenv.c: New file.
17774         * tests/test-unsetenv.c: Likewise.
17775
17776 2009-11-16  Jim Meyering  <meyering@redhat.com>
17777
17778         version-etc: relax license to LGPLv3+
17779         * modules/version-etc (License): Relax license.
17780
17781         better AC_REQUIRE expanded-before-required-warning avoidance
17782         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
17783         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
17784         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
17785         which is no longer needed.
17786
17787 2009-11-16  Eric Blake  <ebb9@byu.net>
17788
17789         test-freading: clean up temporary file
17790         * tests/test-freading.c (main): Remove file on success, and use
17791         ASSERT more liberally.
17792         Reported by Jim Meyering.
17793
17794 2009-11-16  Jim Meyering  <meyering@redhat.com>
17795
17796         avoid new AC_REQUIRE expanded-before-required warnings
17797         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
17798         merely using it.
17799         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
17800         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
17801
17802 2009-11-15  Simon Josefsson  <simon@josefsson.org>
17803
17804         * tests/test-xalloc-die.c: New file.
17805         * modules/xalloc-die-tests: New file.
17806         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
17807         XFAIL_TESTS so it can be appended by modules.
17808
17809 2009-11-15  Simon Josefsson  <simon@josefsson.org>
17810
17811         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
17812         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
17813
17814 2009-11-14  Eric Blake  <ebb9@byu.net>
17815
17816         fnmatch: avoid compiler warning
17817         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
17818         to silence compiler warning about mismatch signedness in ?:.
17819         Reported by Robert Millan.
17820
17821         intprops: add double-inclusion guard
17822         * lib/intprops.h: Allow idempotent includes.
17823         Suggested by Bruce Korb.
17824
17825         openat: detect Solaris fchownat bug
17826         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
17827         penalizing glibc chownat when only lchownat is broken.
17828         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
17829         trailing slash bugs.
17830         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
17831         * modules/openat-tests (Files): Include more files.
17832         (Depends-on): Add mgetgroups, sleep, stat-time.
17833         (configure.ac): Add additional checks.
17834         (Makefile.am): Build new test.
17835         * tests/test-fchownat.c: New file.
17836
17837         lchown: detect Solaris and FreeBSD bug
17838         * lib/lchown.c (rpl_lchown): Work around bug.
17839         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
17840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
17841         * modules/unistd (Makefile.am): Populate it.
17842         * lib/unistd.in.h (lchown): Update declaration.
17843         * doc/posix-functions/lchown.texi (lchown): Document the bug.
17844         * modules/lchown-tests: New file.
17845         * tests/test-lchown.h (test_lchown): Likewise.
17846         * tests/test-lchown.c (main): Likewise.
17847
17848         chown: detect Solaris and FreeBSD bug
17849         * lib/chown.c (rpl_chown): Work around bug.
17850         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
17851         (gl_PREREQ_CHOWN): Delete.
17852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
17853         * modules/unistd (Makefile.am): Populate it.
17854         * lib/unistd.in.h (chown): Update declaration.
17855         * lib/lchown.c (chown): Update client.
17856         * modules/lchown (Depends-on): Add lstat.
17857         * doc/posix-functions/chown.texi (chown): Document the bug.
17858         * doc/posix-functions/getgroups.texi (getgroups): Document
17859         getgroups pitfall.
17860         * modules/chown-tests: New file.
17861         * tests/test-chown.h (test_chown): Likewise.
17862         * tests/test-chown.c (main): Likewise.
17863
17864 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
17865
17866         gnulib-tool: correctly detect absence of m4 directories
17867         * gnulib-tool: Avoid extra newline on data passed to wc -l.
17868
17869 2009-11-14  Jim Meyering  <meyering@redhat.com>
17870
17871         maint.mk: Prohibit inclusion of "xalloc.h" without use.
17872         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
17873
17874 2009-11-14  John W. Eaton  <jwe@gnu.org>
17875
17876         strftime.h: wrap funtion declaration in extern "C" block
17877         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
17878
17879 2009-11-13  Eric Blake  <ebb9@byu.net>
17880
17881         getgroups: avoid compiler warning
17882         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
17883
17884         getgroups: work around FreeBSD bug
17885         * lib/getgroups.c (rpl_getgroups): Work around the bug.
17886         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
17887         * doc/posix-functions/getgroups.texi (getgroups): Document it.
17888         * tests/test-getgroups.c (main): Fix buffer overrun.
17889
17890         getgroups: avoid compilation failure
17891         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
17892         * modules/getgroups (Depends-on): Add stdint.
17893
17894 2009-11-13  Jim Meyering  <meyering@redhat.com>
17895
17896         test-getgroups: avoid compilation failure
17897         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
17898
17899 2009-11-13  Eric Blake  <ebb9@byu.net>
17900
17901         mgetgroups: new module, taken from coreutils
17902         * modules/mgetgroups: New file.
17903         * lib/mgetgroups.h: Likewise.
17904         * lib/mgetgroups.c (mgetgroups): Likewise.
17905         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
17906         * MODULES.html.sh (Users and groups): Mention it.
17907
17908         getgroups: don't expose GETGROUPS_T to user
17909         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
17910         an element at a time if GETGROUPS_T is wrong size.
17911         * lib/getugroups.h (getugroups): Change signature.
17912         * lib/unistd.in.h (getgroups): Likewise.
17913         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
17914         signature needs fixing.
17915         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
17916         AC_TYPE_GETGROUPS.
17917         * modules/group-member (Depends-on): Add getgroups.
17918         * lib/group-member.c (group_info, get_group_info): Use gid_t.
17919         (group_member): Rely on getgroups replacement.
17920         * lib/getugroups.c (getugroups): Use gid_t.
17921         * tests/test-getgroups.c (main): Likewise.
17922         * NEWS: Mention the signature change.
17923         * doc/posix-functions/getgroups.texi (getgroups): Mention the
17924         problem with signature.
17925         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
17926         GETGROUPS_T is still useful for setgroups.
17927
17928         getgroups, getugroups: provide stubs for mingw
17929         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
17930         * lib/getugroups.c (getugroups): Likewise.
17931         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
17932         function.  Modernize replacement scheme.
17933         (gl_PREREQ_GETGROUPS): Delete.
17934         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
17935         * modules/getgroups (configure.ac): Declare witness.
17936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
17937         * modules/unistd (Depends-on): Substitute witness.
17938         * lib/unistd.in.h (getgroups): Declare replacement.
17939
17940         getgroups: avoid calling exit
17941         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
17942         drop xalloc.
17943         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
17944         dependencies.
17945         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
17946         exiting, in the rare case of malloc failure.
17947
17948         getgroups: fix logic error
17949         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
17950         has more than 20 groups.
17951         * modules/getgroups-tests: New test.
17952         * tests/test-getgroups.c: New file.
17953
17954 2009-11-13  Simon Josefsson  <simon@josefsson.org>
17955
17956         * tests/test-base64.c: Improve.
17957
17958 2009-11-13  Simon Josefsson  <simon@josefsson.org>
17959
17960         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
17961         Blake <ebb9@byu.net>.
17962
17963 2009-11-13  Simon Josefsson  <simon@josefsson.org>
17964
17965         * tests/test-xvasprintf.c: Add %s%s related checks.
17966
17967 2009-11-12  Eric Blake  <ebb9@byu.net>
17968
17969         version-etc: match standards.texi style
17970         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
17971         and use <> only for URLs.
17972
17973 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
17974
17975         fts: do not fail on a submount during traversal
17976         * lib/fts.c (fts_build): Read the stat info again after opening
17977         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
17978         Original report at http://bugzilla.redhat.com/501848.
17979
17980 2009-11-12  Jim Meyering  <meyering@redhat.com>
17981
17982         bootstrap: sync from coreutils
17983         * build-aux/bootstrap (bootstrap_epilogue): New function.
17984         Use git_modules_config in one more place.  This make bootstrap's
17985         --gnulib-srcdir option more useful for testing.
17986
17987         bootstrap: generalize autoheader check
17988         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
17989         AC_CONFIG_HEADERS.
17990
17991 2009-11-11  Eric Blake  <ebb9@byu.net>
17992
17993         mkfifoat: use new modules for Solaris and BSD bugs
17994         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
17995         * lib/mkfifoat.c (mknodat): Split...
17996         * lib/mknodat.c (mknodat): ...into new file.
17997         * modules/mkfifoat (Files): Ship new file.
17998         (Depends-on): Add mkfifo, mknod.
17999         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
18000         (Depends-on): Add symlink.
18001         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
18002         redundant with test_mkfifo.h.
18003         (do_mkfifoat, do_mknodat): New helpers.
18004
18005         mknod: new module
18006         * modules/mknod: New file.
18007         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18008         * lib/mknod.c (mknod): Likewise.
18009         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
18010         defaults.
18011         * modules/sys_stat (Makefile.am): Substitute them.
18012         * lib/sys_stat.in.h (mknod): Declare replacement.
18013         * MODULES.html.sh (Support for systems lacking POSIX:2008):
18014         Document it.
18015         * doc/posix-functions/mknod.texi (mknod): Likewise.
18016         * modules/mknod-tests: New test.
18017         * tests/test-mknod.c: Likewise.
18018
18019         mkfifo: new module
18020         * modules/mkfifo: New file.
18021         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18022         * lib/mkfifo.c (mkfifo): Likewise.
18023         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
18024         defaults.
18025         * modules/sys_stat (Makefile.am): Substitute them.
18026         * lib/sys_stat.in.h (mkfifo): Declare replacement.
18027         * MODULES.html.sh (Support for systems lacking POSIX:2008):
18028         Document it.
18029         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
18030         * modules/mkfifo-tests: New test.
18031         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
18032         from test-mkfifoat.c.
18033         * tests/test-mkfifo.c: New file.
18034
18035         readlink: detect FreeBSD bug
18036         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
18037         slash on symlink.
18038         * doc/posix-functions/readlink.texi (readlink): Document the bug.
18039         * tests/test-readlink.h (test_readlink): Enhance test.
18040
18041         symlink: detect FreeBSD bug
18042         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
18043         slash on symlink.
18044         * doc/posix-functions/symlink.texi (symlink): Document the bug.
18045         * tests/test-symlink.h (test_symlink): Enhance test.
18046
18047 2009-11-10  Eric Blake  <ebb9@byu.net>
18048
18049         link: detect FreeBSD bug
18050         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
18051         symlink.
18052         * doc/posix-functions/link.texi (link): Document the bug.
18053         * tests/test-link.h (test_link): Enhance test.
18054         * tests/test-linkat.c (main): Update caller.
18055
18056         unlink, remove: detect FreeBSD bug
18057         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
18058         slash on symlink.
18059         * doc/posix-functions/unlink.texi (unlink): Document the bug.
18060         * doc/posix-functions/remove.texi (remove): Likewise.
18061         * tests/test-unlink.h (test_unlink): Enhance test.
18062         * tests/test-remove.c (main): Likewise.
18063
18064 2009-11-09  Eric Blake  <ebb9@byu.net>
18065
18066         rename: detect FreeBSD bug
18067         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
18068         slash on symlink.
18069         * modules/renameat-tests (Depends-on): Add filenamecat.
18070         * tests/test-rename.h (test_rename): Allow one more errno.
18071         * tests/test-renameat.c (main): Likewise.
18072         * doc/posix-functions/rename.texi (rename): Document the bug.
18073
18074         open: detect FreeBSD bug
18075         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
18076         symlink.
18077         * doc/posix-functions/open.texi (open): Document the bug.
18078         * doc/posix-functions/utimes.texi (utimes): Likewise.
18079         * tests/test-open.h (test_open): Add parameters, and test symlink
18080         handling.
18081         * tests/test-open.c (main): Adjust caller.
18082         * tests/test-fcntl-safer.c (main): Likewise.
18083         * modules/open-tests (Depends-on): Add stdbool, symlink.
18084         * modules/fcntl-safer-tests (Depends-on): Likewise.
18085         * tests/test-openat.c (main): Add test-open tests.
18086
18087         stat: detect FreeBSD bug
18088         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
18089         symlink.
18090         * doc/posix-functions/stat.texi (stat): Document the bug.
18091         * tests/test-stat.h (test_stat_func): Add argument.
18092         * tests/test-stat.c (main): Adjust caller.
18093         * tests/test-fstatat.c (main): Likewise.
18094         * modules/stat-tests (Depends-on): Add stdbool, symlink.
18095         Reported by Jim Meyering.
18096
18097 2009-11-09  James Youngman  <jay@gnu.org>
18098
18099         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
18100         * lib/strftime.c: Correct placement of #include "ignore-value.h".
18101
18102 2009-11-08  Jim Meyering  <meyering@redhat.com>
18103
18104         utimens: remove invalid futimesat call
18105         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
18106         It used the file descriptor of the target file as the DIR_FD
18107         parameter and NULL as the file name.  That caused failure with
18108         errno == EFAULT on FreeBSD-8.0-rc2
18109
18110 2009-11-07  Eric Blake  <ebb9@byu.net>
18111
18112         fflush, freadseek: use fseeko, not fseek
18113         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
18114         (clear_ungetc_buffer): Avoid potential problems on large files.
18115         * lib/freadseek.c (freadseek): Likewise.
18116         * modules/freadseek (Depends-on): Add fseeko.
18117         * modules/fseek (configure.ac): Set a witness.
18118         * tests/test-fflush.c (main): Use fseeko.
18119         * tests/test-fpurge.c (fseek): Disable link warning.
18120         * tests/test-freadable.c (fseek): Likewise.
18121         * tests/test-freading.c (fseek): Likewise.
18122         * tests/test-fseeko.c (fseek): Likewise.
18123         * tests/test-ftell.c (fseek): Likewise.
18124         * tests/test-ftello.c (fseek): Likewise.
18125         * tests/test-fwritable.c (fseek): Likewise.
18126         * tests/test-fwriting.c (fseek): Likewise.
18127
18128 2009-11-06  Simon Josefsson  <simon@josefsson.org>
18129
18130         * modules/memchr (Depends-on): Drop getpagesize dependency.
18131
18132 2009-11-06  Simon Josefsson  <simon@josefsson.org>
18133
18134         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
18135         Reported by Ludovic Courtès.
18136         * build-aux/pmccabe2html: Improve example usage.
18137         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
18138
18139 2009-11-06  Jim Meyering  <meyering@redhat.com>
18140
18141         do-release-commit-and-tag: New module.
18142         Automate the release-commit and tag process.
18143         * build-aux/do-release-commit-and-tag: New script, from coreutils.
18144         * modules/do-release-commit-and-tag: New file.
18145         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18146
18147 2009-11-06  Simon Josefsson  <simon@josefsson.org>
18148
18149         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
18150         because test-select.c uses inet_pton.
18151
18152 2009-11-06  Simon Josefsson  <simon@josefsson.org>
18153
18154         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
18155         GETADDRINFO_LIB.  Bump serial number.
18156         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
18157         Suggested by Eric Blake <ebb9@byu.net>.
18158
18159 2009-11-05  Eric Blake  <ebb9@byu.net>
18160
18161         strtod: detect darwin bug
18162         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
18163         Reported by Leo Davis.
18164
18165         freopen-safer: new module
18166         * modules/freopen-safer: New module.
18167         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
18168         * lib/freopen-safer.c (freopen_safer): New file.
18169         * lib/stdio-safer.h (freopen_safer): New declaration.
18170         * lib/stdio--.h (freopen): New override.
18171         * MODULES.html.sh (File stream based Input/Output): Mention it.
18172         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
18173         freopen-safer module.
18174         * doc/posix-functions/stderr.texi (stderr): Likewise.
18175         * doc/posix-functions/stdin.texi (stdin): Likewise.
18176         * doc/posix-functions/stdout.texi (stdout): Likewise.
18177         * modules/freopen-safer-tests: New test.
18178         * tests/test-reopen-safer.c: New file.
18179
18180 2009-11-05  Jim Meyering  <meyering@redhat.com>
18181
18182         maint.mk: Prohibit inclusion of "close-stream.h" without use.
18183         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
18184
18185 2009-11-05  Simon Josefsson  <simon@josefsson.org>
18186
18187         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
18188
18189 2009-11-05  Simon Josefsson  <simon@josefsson.org>
18190
18191         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
18192
18193 2009-11-05  Simon Josefsson  <simon@josefsson.org>
18194
18195         Fix link error.
18196         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
18197         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
18198
18199 2009-11-05  Simon Josefsson  <simon@josefsson.org>
18200
18201         * tests/test-func.c: Also test value of __func__.
18202
18203 2009-11-05  Simon Josefsson  <simon@josefsson.org>
18204
18205         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
18206         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
18207
18208 2009-11-05  Bruno Haible  <bruno@clisp.org>
18209
18210         Fix link error.
18211         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
18212         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
18213         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
18214
18215 2009-11-05  Bruno Haible  <bruno@clisp.org>
18216
18217         Tests for module 'inet_pton'.
18218         * modules/inet_pton-tests: New file.
18219         * tests/test-inet_pton.c: New file.
18220
18221 2009-11-05  Bruno Haible  <bruno@clisp.org>
18222
18223         Tests for module 'inet_ntop'.
18224         * modules/inet_ntop-tests: New file.
18225         * tests/test-inet_ntop.c: New file.
18226
18227 2009-11-04  Eric Blake  <ebb9@byu.net>
18228
18229         stdlib-safer: wrap all mkstemp variants
18230         * modules/mkostemp (configure.ac): Set witness.
18231         * modules/mkostemps (configure.ac): Likewise.
18232         * modules/mkstemps (configure.ac): Likewise.
18233         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
18234         (mkstemps_safer): Wrap more functions.
18235         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
18236         wrapping.
18237         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
18238         (mkstemps_safer): Implement the wrappers.
18239
18240         mkstemps, mkostemps: new modules
18241         * modules/mkostemps: New module.
18242         * modules/mkstemps: Likewise.
18243         * lib/mkostemps.c (mkostemps): New file.
18244         * lib/mkstemps.c (mkstemps): Likewise.
18245         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
18246         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
18247         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
18248         * modules/stdlib (Makefile.am): Substitute them.
18249         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
18250         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
18251         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18252         * doc/gnulib.texi (Glibc stdlib.h): Include them.
18253         * MODULES.html.sh (File system functions): Mention them.
18254
18255         tempname: resync from glibc
18256         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
18257         same values for __GT_FILE as glibc.  Abort even when assertions
18258         are disabled.
18259         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
18260         match its value otherwise.  Allow idempotent inclusion.
18261         * lib/mkdtemp.c (mkdtemp): Adjust caller.
18262         * lib/mkostemp.c (mkostemp): Likewise.
18263         * lib/mkstemp.c (mkstemp): Likewise.
18264         * lib/tmpfile.c (tmpfile): Likewise.
18265         * NEWS: Document this.
18266
18267         utimens: fix use of futimens on older Linux
18268         * lib/utimens.c (fdutimens): Use updated, rather than original,
18269         timespec to avoid bug in older Linux kernel.
18270         Reported by Simon Josefsson.
18271
18272 2009-11-04  Bruno Haible  <bruno@clisp.org>
18273
18274         Make num_processors more flexible and consistent.
18275         * lib/nproc.h (enum nproc_query): New type.
18276         (num_processors): Add a 'query' argument.
18277         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
18278         (num_processors): Add a 'query' argument. Test the value of the
18279         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
18280         mingw, count the number of CPUs available for the current process.
18281         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
18282         Check for sched_getaffinity and sched_getaffinity_np.
18283         * modules/nproc (Depends-on): Add c-ctype, extensions.
18284         * NEWS: Mention the change.
18285
18286 2009-11-03  Bruno Haible  <bruno@clisp.org>
18287
18288         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
18289
18290 2009-11-03  Jim Meyering  <meyering@redhat.com>
18291
18292         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
18293         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
18294         if it is defined.
18295
18296 2009-11-02  Eric Blake  <ebb9@byu.net>
18297
18298         mktime, timegm: share common declaration
18299         * lib/mktime-internal.h: New file.
18300         * lib/mktime.c: Use it rather than open-coding a declaration.
18301         * lib/timegm.c: Likewise.
18302         * modules/mktime (Files): Ship it.
18303         * modules/timegm (Files): Likewise.
18304         Suggested by Bruno Haible.
18305
18306         test-update-copyright: update test to match script changes
18307         * tests/test-update-copyright.sh: Avoid hard-coding perl
18308         location.  Don't update *.bak created by earlier runs.
18309
18310 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18311             Simon Josefsson  <simon@josefsson.org>
18312             Bruno Haible  <bruno@clisp.org>
18313
18314         Fix link error on Solaris 8.
18315         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
18316         also in libnsl. Define also INET_PTON_LIB.
18317         * modules/inet_pton (Link): New section.
18318
18319 2009-11-02  Simon Josefsson  <simon@josefsson.org>
18320             Bruno Haible  <bruno@clisp.org>
18321
18322         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
18323         * modules/inet_ntop (Link): New section.
18324         Reported by Boyan Kasarov <bkasarov@gmail.com>.
18325
18326 2009-11-02  Eric Blake  <ebb9@byu.net>
18327
18328         maint: avoid compiler warnings in m4 macros
18329         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
18330         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
18331
18332 2009-11-02  Simon Josefsson  <simon@josefsson.org>
18333
18334         * m4/pmccabe2html.m4: Remove file.
18335         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
18336         function.  Change maintainer.
18337         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
18338         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
18339         Courtès).
18340
18341 2009-10-31  Eric Blake  <ebb9@byu.net>
18342
18343         fseeko: fix m4 regression
18344         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
18345         regression from 2009-10-27.
18346         Reported by Ralf Wildenhues.
18347
18348 2009-10-31  Jim Meyering  <meyering@redhat.com>
18349
18350         inttostr: aesthetics and improved (compile-time) safety
18351         Define inttype_is_signed rather than inttype_is_unsigned,
18352         since the sole use is via "#if inttype_is_signed".
18353         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
18354         inttype_is_unsigned.
18355         * lib/offtostr.c (inttype_is_signed): Likewise.
18356         * lib/uinttostr.c (inttype_is_signed): Likewise.
18357         * lib/umaxtostr.c (inttype_is_signed): Likewise.
18358         * lib/inttostr.c (inttostr): Use verify to cross-check the
18359         inttype_is_signed value and the signedness of the actual type.
18360         * modules/inttostr (Depends-on): Add verify.
18361
18362 2009-10-30  Eric Blake  <ebb9@byu.net>
18363
18364         build: avoid compiler warnings
18365         * lib/fchmodat.c (lchmod): Mark unused variables.
18366         * lib/getopt.c (_getopt_initialize): Likewise.
18367         * lib/mktime.c (__mktime_internal): Provide prototype.
18368         * lib/inttostr.c (inttostr): Avoid compiler warning even with
18369         older gcc that do not understand #pragma GCC diagnostic.
18370         * lib/uinttostr.c (inttype_is_unsigned): Define.
18371         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
18372
18373 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
18374
18375         stat: fix compilation on AIX
18376         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
18377         only see struct stat64.
18378
18379 2009-10-30  Eric Blake  <ebb9@byu.net>
18380
18381         exclude: make more robust
18382         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
18383         rather than masking a coding bug.
18384         Suggested by Bruno Haible.
18385
18386 2009-10-30  Jim Meyering  <meyering@redhat.com>
18387
18388         perl scripts: remove #!/usr/bin/perl in favor of more portable...
18389         Rather than putting #!/usr/bin/perl on the first line,
18390         start with a variant of what's recommended by "man perlrun" that
18391         invokes the first "perl" program from your shell's search path.
18392         * build-aux/gitlog-to-changelog: Replace #!... as above.
18393         Add a "Local Variables" perl mode setting.
18394         Prompted by a patch from Ludovic Courtès.
18395         Improved by Eric Blake.
18396         * build-aux/useless-if-before-free: Likewise.
18397         * build-aux/announce-gen: Likewise.
18398         * build-aux/update-copyright: Likewise.
18399
18400 2009-10-29  Eric Blake  <ebb9@byu.net>
18401
18402         filenamecat-lgpl: adjust clients
18403         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
18404         filenamecat.
18405         * modules/renameat (Depends-on): Likewise.
18406
18407         filenamecat: split into filenamecat-lgpl
18408         * modules/filenamecat-lgpl: New module.
18409         * modules/filenamecat (Files): Move library-safe files into
18410         filenamecat-lgpl.
18411         (Depends-on): Add filenamecat-lgpl.
18412         (configure.ac): Declare witness.
18413         * lib/filenamecat.h (file_name_concat): Only declare when using
18414         GPL module.
18415         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
18416         Move...
18417         * lib/filenamecat-lgpl.c: ...into new file.
18418         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
18419         (gl_FILE_NAME_CONCAT): Use it.
18420         * MODULES.html.sh (File system functions): Mention new module.
18421
18422         argp: avoid memory leak
18423         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
18424         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
18425         base_name, since the latter malloc()s and can call exit().
18426         Leak introduced 2006-07-03.
18427
18428         dirname-lgpl: adjust clients that don't need full dirname
18429         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
18430         * modules/filenamecat (Depends-on): Likewise.
18431         * modules/linkat (Depends-on): Likewise.
18432         * modules/mkancesdirs (Depends-on): Likewise.
18433         * modules/mkdir (Depends-on): Likewise.
18434         * modules/openat (Depends-on): Likewise.
18435         * modules/savewd (Depends-on): Likewise.
18436         * modules/rename (Depends-on): Likewise.
18437         (License): Relax license.
18438         * modules/mkdir-tests (Depends-on): Drop progname.
18439         (Makefile.am): Delete unneeded LDADD.
18440         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
18441
18442         dirname: split into dirname-lgpl
18443         * modules/dirname-lgpl: New module.
18444         * modules/dirname (Files): Move library-safe files into
18445         dirname-lgpl.
18446         (Depends-on): Add dirname-lgpl.
18447         (configure.ac): Declare witness.
18448         * modules/double-slash-root (License): Relax license.
18449         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
18450         module.
18451         * lib/dirname.c (dir_len, mdir_name): Move...
18452         * lib/dirname-lgpl.c: ...into new file.
18453         * lib/basename.c (last_component, base_len): Move...
18454         * lib/basename-lgpl.c: ...into new file.
18455         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
18456         (gl_DIRNAME): Use it.
18457         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
18458         Mention new module.
18459         * modules/dirname-tests (Depends-on): Add progname.
18460         * tests/test-dirname.c (program_name): Delete.
18461
18462         mkdir: make safe for libraries
18463         * modules/mkdir (Depends-on): Drop xalloc.
18464         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
18465         exit.
18466
18467         tests: avoid some compiler warnings
18468         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
18469         literals.
18470         * tests/test-memchr.c (main): Avoid type mismatch.
18471         * tests/test-arpa_inet.c (main): Avoid unused parameters.
18472         * tests/test-base64.c (main): Likewise.
18473         * tests/test-getdelim.c (main): Likewise.
18474         * tests/test-gethostname.c (main): Likewise.
18475         * tests/test-getline.c (main): Likewise.
18476         * tests/test-netinet_in.c (main): Likewise.
18477         * tests/test-select.c (open_server_socket, main): Likewise.
18478         * tests/test-select-stdin.c (main): Likewise.
18479         * tests/test-sockets.c (main): Likewise.
18480         * tests/test-strsignal.c (main): Likewise.
18481         * tests/test-sys_select.c (main): Likewise.
18482         * tests/test-sys_socket.c (main): Likewise.
18483         * tests/test-u64.c (main): Likewise.
18484         * tests/test-xfprintf-posix.c (main): Likewise.
18485         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
18486
18487         sockets: avoid compiler warning
18488         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
18489
18490         maint: detect usage(1) and other suspicious exits
18491         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
18492
18493 2009-10-29  Jim Meyering  <meyering@redhat.com>
18494
18495         timespec: long-to-int truncation could make timespec_cmp malfunction
18496         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
18497         a multiple of 2^32 nanoseconds as no difference.
18498
18499 2009-10-28  Jim Meyering  <meyering@redhat.com>
18500
18501         fprintftime: wrap macro code argument in "do {...} while(0)"
18502         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
18503         cpy macro must be a statement that can be followed by a semicolon.
18504         Now that the else clause contains a comment and is hence longer
18505         than one line, I require curly braces.  That in turn requires
18506         that we wrap this code block in the standard do...while(0).
18507
18508         fprintftime: remove stray semicolon from previous change
18509         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
18510
18511         fprintftime: avoid a warning about ignored fwrite return value
18512         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
18513         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
18514         that is unsafe.
18515         * modules/fprintftime (Depends-on): Add ignore-value.
18516
18517         exclude: avoid an unwarranted warning
18518         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
18519
18520 2009-10-27  Eric Blake  <ebb9@byu.net>
18521
18522         fseek: avoid compilation failure when fflush is replaced
18523         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
18524         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
18525         module is in use.
18526         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
18527         module is not in use; since REPLACE_FSEEK worked otherwise.
18528         (GNULIB_FTELLO): Likewise for ftell.
18529         Reported by Ian Beckwith and others.
18530
18531 2009-10-27  Bruno Haible  <bruno@clisp.org>
18532
18533         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
18534         Reported by Jim Meyering.
18535
18536 2009-10-27  Jim Meyering  <jim@meyering.net>
18537             Bruno Haible  <bruno@clisp.org>
18538
18539         Avoid warning despite dropping the return value of fwrite.
18540         * lib/unicodeio.c: Include ignore-value.h.
18541         (fwrite_success_callback): Explicitly ignore fwrite's return value.
18542         * modules/unicodeio (Depends-on): Add ignore-value.
18543
18544 2009-10-26  Eric Blake  <ebb9@byu.net>
18545
18546         areadlinkat: fix fallback path
18547         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
18548         pointer and zero.
18549
18550 2009-10-22  Pádraig Brady  <P@draigBrady.com>
18551
18552         Use a better IO block size for modern systems
18553         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
18554         * lib/md2.c: Likewise.
18555         * lib/md4.c: Likewise.
18556         * lib/md5.c: Likewise.
18557         * lib/sha1.c: Likewise.
18558         * lib/sha256.c: Likewise.
18559         * lib/sha512.c: Likewise.
18560
18561 2009-10-22  Eric Blake  <ebb9@byu.net>
18562
18563         tests: avoid several compiler warnings
18564         * tests/test-getcwd.c (main): Avoid buffer underflow.
18565         * tests/test-getdate.c (main): String literals are not safe with
18566         putenv, so use setenv.  Declare unused argument.
18567         * modules/getdate-tests (Depends-on): Add setenv.
18568         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
18569         problems with string literals in char *.
18570         * tests/test-hash.c (main): Avoid shadowing declaration.
18571         (insert_new): Treat string literals as char const *.
18572         * tests/test-getopt.h (test_getopt): Likewise.
18573         (getopt_loop): Alter types to minimize casting elsewhere.
18574         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
18575         (test_getopt_long_posix): Likewise.
18576         (do_getopt_long): Add wrapper to minimize casting.
18577         * tests/test-atexit.c (clear_temp_file): Use void.
18578         * tests/test-areadlink-with-size.c (main): Declare unused
18579         arguments.
18580         * tests/test-areadlink.c (main): Likewise.
18581         * tests/test-areadlinkat-with-size.c (main): Likewise.
18582         * tests/test-areadlinkat.c (main): Likewise.
18583         * tests/test-canonicalize-lgpl.c (main): Likewise.
18584         * tests/test-canonicalize.c (main): Likewise.
18585         * tests/test-dirent-safer.c (main): Likewise.
18586         * tests/test-dirname.c (main): Likewise.
18587         * tests/test-dup2.c (main): Likewise.
18588         * tests/test-fchdir.c (main): Likewise.
18589         * tests/test-fcntl-h.c (main): Likewise.
18590         * tests/test-fcntl-safer.c (main): Likewise.
18591         * tests/test-fdopendir.c (main): Likewise.
18592         * tests/test-fdutimensat.c (main): Likewise.
18593         * tests/test-fflush.c (main): Likewise.
18594         * tests/test-filenamecat.c (main): Likewise.
18595         * tests/test-filevercmp.c (main): Likewise.
18596         * tests/test-fopen-safer.c (main): Likewise.
18597         * tests/test-fopen.c (main): Likewise.
18598         * tests/test-fpending.c (main): Likewise.
18599         * tests/test-fpurge.c (main): Likewise.
18600         * tests/test-freading.c (main): Likewise.
18601         * tests/test-fstatat.c (main): Likewise.
18602         * tests/test-fsync.c (main): Likewise.
18603         * tests/test-futimens.c (main): Likewise.
18604         * tests/test-getndelim2.c (main): Likewise.
18605         * tests/test-gettimeofday.c (main): Likewise.
18606         * tests/test-getopt.c (main): Likewise.
18607         * tests/test-i-ring.c (main): Likewise.
18608         * tests/test-inttypes.c (main): Likewise.
18609         * tests/test-link.c (main): Likewise.
18610         * tests/test-lstat.c (main): Likewise.
18611         * tests/test-math.c (main): Likewise.
18612         * tests/test-md5.c (main): Likewise.
18613         * tests/test-memchr2.c (main): Likewise.
18614         * tests/test-memrchr.c (main): Likewise.
18615         * tests/test-mkdir.c (main): Likewise.
18616         * tests/test-mkdirat.c (main): Likewise.
18617         * tests/test-mkfifoat.c (main): Likewise.
18618         * tests/test-open.c (main): Likewise.
18619         * tests/test-openat-safer.c (main): Likewise.
18620         * tests/test-openat.c (main): Likewise.
18621         * tests/test-quotearg.c (main): Likewise.
18622         * tests/test-rawmemchr.c (main): Likewise.
18623         * tests/test-readlink.c (main): Likewise.
18624         * tests/test-remove.c (main): Likewise.
18625         * tests/test-rename.c (main): Likewise.
18626         * tests/test-renameat.c (main): Likewise.
18627         * tests/test-rmdir.c (main): Likewise.
18628         * tests/test-sha1.c (main): Likewise.
18629         * tests/test-signal.c (main): Likewise.
18630         * tests/test-sigaction.c (main): Likewise.
18631         * tests/test-stat.c (main): Likewise.
18632         * tests/test-stat-time.c (main): Likewise.
18633         * tests/test-stddef.c (main): Likewise.
18634         * tests/test-stdint.c (main): Likewise.
18635         * tests/test-stdio.c (main): Likewise.
18636         * tests/test-stdlib.c (main): Likewise.
18637         * tests/test-strchrnul.c (main): Likewise.
18638         * tests/test-strerror.c (main): Likewise.
18639         * tests/test-string.c (main): Likewise.
18640         * tests/test-strtod.c (main): Likewise.
18641         * tests/test-strverscmp.c (main): Likewise.
18642         * tests/test-symlink.c (main): Likewise.
18643         * tests/test-symlinkat.c (main): Likewise.
18644         * tests/test-sys_stat.c (main): Likewise.
18645         * tests/test-sys_time.c (main): Likewise.
18646         * tests/test-time.c (main): Likewise.
18647         * tests/test-unistd.c (main): Likewise.
18648         * tests/test-unlink.c (main): Likewise.
18649         * tests/test-unlinkat.c (main): Likewise.
18650         * tests/test-utimens.c (main): Likewise.
18651         * tests/test-utimensat.c (main): Likewise.
18652         * tests/test-version-etc.c (main): Likewise.
18653         * tests/test-wchar.c (main): Likewise.
18654         * tests/test-wctype.c (main): Likewise.
18655         * tests/test-xprintf-posix.c (main): Likewise.
18656         * tests/test-posixtm.c (main): Likewise.
18657         (STREQ): Delete unused macro.
18658         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
18659         shadowed variables.
18660         * tests/test-memchr.c (main): Likewise.
18661
18662 2009-10-21  Eric Blake  <ebb9@byu.net>
18663
18664         areadlinkat: avoid failure on older glibc
18665         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
18666         rather than mis-comparing 0 against FUNC_RESULT of char*.
18667
18668 2009-10-21  Bruno Haible  <bruno@clisp.org>
18669
18670         * modules/stpncpy (License): Relicense under LGPLv2+.
18671         Reported by David Lutterkort <lutter@redhat.com>.
18672
18673 2009-10-20  Eric Blake  <ebb9@byu.net>
18674
18675         utimensat: work around Solaris 9 bug
18676         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
18677         has trailing slash bugs.
18678         * tests/test-lutimens.h (test_lutimens): Enhance test.
18679         * tests/test-utimens.h (test_utimens): Likewise.
18680         * doc/posix-functions/utime.texi (utime): Enhance documentation.
18681         * doc/posix-functions/utimes.texi (utimes): Likewise.
18682         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
18683         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
18684         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
18685         * doc/posix-functions/futimens.texi (futimens): Likewise.
18686
18687         fdutimensat: new module
18688         * modules/fdutimensat: New file.
18689         * lib/fdutimensat.c (fdutimensat): Likewise.
18690         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
18691         * MODULES.html.sh (File system functions): Mention module.
18692         * modules/fdutimensat-tests: New test.
18693         * tests/test-fdutimensat.c: Likewise.
18694
18695         doc: regenerate INSTALL
18696         * doc/INSTALL: Reflect recent autoconf update.
18697         * doc/INSTALL.ISO: Likewise.
18698         * doc/INSTALL.UTF-8: Likewise.
18699
18700 2009-10-20  Pádraig Brady  <P@draigBrady.com>
18701
18702         acl: warn if ACL support is not detected
18703         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
18704
18705 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
18706
18707         * lib/nproc.h: Add extern "C" block for C++.
18708
18709 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
18710             Bruno Haible  <bruno@clisp.org>
18711
18712         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
18713         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
18714         * doc/posix-functions/isalpha.texi: Likewise.
18715         * doc/posix-functions/isblank.texi: Likewise.
18716         * doc/posix-functions/iscntrl.texi: Likewise.
18717         * doc/posix-functions/isdigit.texi: Likewise.
18718         * doc/posix-functions/isgraph.texi: Likewise.
18719         * doc/posix-functions/islower.texi: Likewise.
18720         * doc/posix-functions/isprint.texi: Likewise.
18721         * doc/posix-functions/ispunct.texi: Likewise.
18722         * doc/posix-functions/isspace.texi: Likewise.
18723         * doc/posix-functions/isupper.texi: Likewise.
18724         * doc/posix-functions/isxdigit.texi: Likewise.
18725
18726 2009-10-18  Bruno Haible  <bruno@clisp.org>
18727
18728         Tests for module 'isblank'.
18729         * modules/isblank-tests: New file.
18730         * tests/test-isblank.c: New file.
18731
18732         New module 'isblank'.
18733         * lib/isblank.c: New file.
18734         * m4/isblank.m4: New file.
18735         * modules/isblank: New file.
18736         * doc/posix-functions/isblank.texi: Mention the new module.
18737
18738 2009-10-18  Bruno Haible  <bruno@clisp.org>
18739
18740         New module 'ctype'.
18741         * lib/ctype.in.h: New file.
18742         * m4/ctype.m4: New file.
18743         * modules/ctype: New file.
18744         * doc/posix-headers/ctype.texi: Mention the new module.
18745
18746 2009-10-18  Jim Meyering  <meyering@redhat.com>
18747
18748         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
18749         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
18750         right after its initialization, rather than farther down.
18751         Keeping these in close proximity makes it easier to ensure
18752         that each such variable is initialized.  E.g.,
18753
18754             LIB_CLOCK_GETTIME=
18755             AC_SUBST([LIB_CLOCK_GETTIME])
18756
18757         This change also increments these serial numbers.
18758         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
18759         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
18760         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18761
18762 2009-10-18  Bruno Haible  <bruno@clisp.org>
18763
18764         Don't let environment variables perturb build.
18765         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
18766         (gl_PREREQ_GETHRXTIME): ... not here.
18767
18768 2009-10-18  Bruno Haible  <bruno@clisp.org>
18769
18770         Avoid symlink attack in localcharset module.
18771         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
18772         (O_NOFOLLOW): Define fallback.
18773         (get_charset_aliases): Don't open the file if it is a symbolic link.
18774         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
18775         gl_FCNTL_H.
18776         (gl_FCNTL_H): Require it.
18777         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
18778         * modules/localcharset (Files): Add m4/fcntl_h.m4.
18779         Reported by Fergal Glynn <fglynn@veracode.com>.
18780
18781 2009-10-18  Bruno Haible  <bruno@clisp.org>
18782
18783         Implement nproc for mingw.
18784         * lib/nproc.c: Include <windows.h>
18785         (num_processors): On native Windows platforms, try GetSystemInfo.
18786
18787 2009-10-18  Bruno Haible  <bruno@clisp.org>
18788
18789         Implement nproc for IRIX.
18790         * lib/nproc.c: Include <sys/sysmp.h>.
18791         (num_processors): On IRIX systems, try sysmp.
18792         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
18793
18794 2009-10-18  Bruno Haible  <bruno@clisp.org>
18795
18796         Implement nproc for HP-UX.
18797         * lib/nproc.c: Include <sys/pstat.h>
18798         (num_processors): On HP-UX systems, try pstat_getdynamic.
18799         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
18800         pstat_getdynamic.
18801
18802 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
18803             Bruno Haible  <bruno@clisp.org>
18804
18805         Implement nproc for NetBSD, OpenBSD.
18806         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
18807         (ARRAY_SIZE): New macro.
18808         (num_processors): On BSD systems, try sysctl of HW_NCPU.
18809         * m4/nproc.m4: New file.
18810         * modules/nproc (Files): Add m4/nproc.m4.
18811         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
18812         (Makefile.am): Instead, augment lib_SOURCES.
18813
18814 2009-10-18  Bruno Haible  <bruno@clisp.org>
18815
18816         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
18817         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
18818         sys/param.h.
18819
18820 2009-10-16  Eric Blake  <ebb9@byu.net>
18821
18822         utimensat: new module
18823         * modules/utimensat: New file.
18824         * lib/utimensat.c (utimensat): Likewise.
18825         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18826         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
18827         so we can work around Linux bugs.
18828         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
18829         * modules/sys_stat (Makefile.am): Substitute them.
18830         * lib/sys_stat.in.h (utimensat): Declare it.
18831         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18832         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
18833         * modules/utimensat-tests: New test.
18834         * tests/test-utimensat.c: Likewise.
18835
18836         utimens: let lutimens work on non-symlinks
18837         * lib/utimens.c (lutimens): Fall back to utimens rather than
18838         failing with ENOSYS, when file is not a symlink.
18839         (utimens): Reduce redirection.
18840         * tests/test-lutimens.h (test_lutimens): Update test to cover
18841         non-symlinks.
18842         * tests/test-utimens.h (test_utimens): Update test to cover
18843         symlinks.
18844         * tests/test-utimens.c (main): Update caller.
18845
18846         utimens: cache whether utimensat syscall works
18847         * lib/utimens.c (utimensat_works_really): New cache variable.
18848         (fdutimens, lutimens): Use it to avoid failing syscall.
18849
18850         test-stat-time, test-utimens: improve portability
18851         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
18852         ext4 on alpha, and for cygwin.
18853         * tests/test-utimens-common.h: New file.
18854         (nap): Factor delays into single function.
18855         * tests/test-lutimens.h (test_lutimens): Use new header.
18856         * tests/test-futimens.h (test_futimens): Likewise.
18857         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
18858         timestamps to occur from same machine, as was done previously for
18859         test_utimens.
18860         * modules/utimens-tests (Files): Ship new file.
18861         * modules/futimens-tests (Files): Likewise.
18862         Reported in part by Jim Meyering.
18863
18864         sys_stat: sort replacement declarations
18865         * lib/sys_stat.in.h: Sort declarations.
18866         * lib/futimens.c (futimens): Fix typo.
18867
18868 2009-10-15  Jim Meyering  <meyering@redhat.com>
18869
18870         don't let environment settings perturb build
18871         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
18872         could cause a configure-time and/or build-time malfunction.
18873         Typically, a configure-time function-in-library test is performed
18874         via code like this:
18875
18876           LIB_VAR=
18877           AC_SUBST([LIB_VAR])
18878           prefix_saved_LIBS=$LIBS
18879             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
18880                        [test "$ac_cv_search_FUNC" = "none required" ||
18881                         LIB_VAR=$ac_cv_search_FUNC])
18882           LIBS=$prefix_saved_LIBS
18883
18884         However, in each of the files affected by this change, the LIB_VAR=
18885         initialization was omitted.  Thus, when set in the environment, its
18886         value would propagate into generated Makefiles when FUNC is not found
18887         in LIB_NAME.
18888         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
18889         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
18890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18891
18892 2009-10-14  Eric Blake  <ebb9@byu.net>
18893
18894         fchdir: avoid infinite recursion in mingw
18895         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
18896         recursing.
18897
18898         test-stat-time: port to mingw
18899         * tests/test-stat-time.c (force_unlink): Return a value.
18900         (test_ctime) [W32]: Fix compilation error.
18901         (nap): Don't call usleep with too large an argument.  Use
18902         force_unlink.
18903         * doc/pastposix-functions/usleep.texi (usleep): Document the
18904         portability issue.
18905
18906 2009-10-13  Jim Meyering  <meyering@redhat.com>
18907
18908         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
18909         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
18910         * modules/pipe-filter-ii: Likewise.
18911         * modules/sys_socket-tests: Likewise.
18912         * modules/tsearch-tests: Likewise.
18913         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
18914         (check): Depend on it.
18915
18916 2009-10-12  Eric Blake  <ebb9@byu.net>
18917
18918         utimens-tests: port to NFS file systems
18919         * tests/test-utimens.h (test_utimens): Refactor utimecmp
18920         comparisons to avoid spurious failures from timestamp drift
18921         between NFS machines.
18922
18923 2009-10-12  Eric Blake  <ebb9@byu.net>
18924
18925         stat-time-tests: minor cleanups
18926         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
18927         * tests/test-stat-time.c (nap): Separate assignment from call.
18928         Suggested by Paolo Bonzini and Bruno Haible.
18929
18930         sys_stat: guarantee struct timespec
18931         * lib/sys_stat.in.h (includes): Always include <time.h>
18932         * modules/sys_stat (Depends-on): Add time.
18933         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
18934         mode_t permission values.
18935         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
18936         get at subsecond timestamps.
18937
18938 2009-10-10  Eric Blake  <ebb9@byu.net>
18939
18940         futimens: new module
18941         * modules/futimens: New file.
18942         * lib/futimens.c (futimens): Likewise.
18943         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
18944         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
18945         we can work around Linux bugs.
18946         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
18947         * modules/sys_stat (Makefile.am): Substitute them.
18948         * lib/sys_stat.in.h (futimens): Declare it.
18949         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18950         * doc/posix-functions/futimens.texi (futimens): Likewise.
18951         * modules/futimens-tests: New test.
18952         * tests/test-futimens.c: Likewise.
18953
18954         utimens: introduce fdutimens
18955         * lib/utimens.h (fdutimens): New prototype.
18956         * lib/utimens.c (gl_futimens): Move guts...
18957         (fdutimens): ...to new interface.
18958         * tests/test-utimens.c (do_fdutimens): Use it.
18959
18960         utimens: add UTIME_NOW and UTIME_OMIT support
18961         * lib/utimens.c (validate_timespec, update_timespec): New helper
18962         functions.
18963         (gl_futimens, lutimens): Use them.
18964         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
18965         stdbool, sys_stat.
18966         (Link): Mention resulting library dependency.
18967         * modules/utimecmp (Link): Likewise.
18968         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
18969         (Makefile.am): Pick up library dependency.
18970         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
18971         definition.
18972         * tests/test-sys_stat.c: Test the definitions.
18973         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
18974         * NEWS: Document library dependency.
18975
18976         utimecmp: support symlink timestamps
18977         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
18978         hashing when possible.  Use pathconf when available.
18979         (SYSCALL_RESOLUTION): Recognize tighter resolution.
18980         * modules/utimecmp (Depends-on): Add lstat.
18981
18982         utimens: add lutimens interface
18983         * lib/utimens.c (lutimens): New function.
18984         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
18985         * lib/utimens.h (lutimens): Declare new interface.
18986         * tests/test-utimens.c (main): Enhance test.
18987         * tests/test-lutimens.h (test_lutimens): New file.
18988         * modules/utimens-tests (Files): Distribute it.
18989         (Depends-on): Add symlink.
18990         (configure.ac): Check for usleep.
18991
18992         utimens: validate futimens usage
18993         * lib/utimens.c (gl_futimens): Require valid fd up front, using
18994         fewer syscalls on failure later on.  Avoid compiler warning on
18995         mingw.
18996         * modules/utimens (Depends-on): Add dup2.
18997
18998         utimens: add test
18999         * modules/utimens-tests: New test.
19000         * tests/test-utimens.h: New file.
19001         * tests/test-futimens.h: Likewise.
19002         * tests/test-utimens.c: Likewise.
19003
19004         doc: mention timestamp portability issues
19005         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
19006         instead.
19007         * doc/posix-functions/utime.texi (utime): Likewise.
19008         * doc/posix-functions/utimes.texi (utimes): Likewise.
19009         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
19010         instead.
19011         * doc/posix-functions/futimens.texi (futimens): Mention utimens
19012         module.
19013         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19014         Mention weakness with symlink timestamps.
19015         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
19016         to utimensat/futimens instead.
19017         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
19018
19019         test-dup2: enhance test
19020         * tests/test-dup2.c (main): Also check AT_FDCWD.
19021
19022         test-stat-time: avoid more spurious failures
19023         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
19024         xfs; and avoid race if the two timestamps cross quantization edge.
19025
19026         relocatable: prefer 'file system' over 'filesystem'
19027         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
19028         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
19029         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
19030         * doc/relocatable.texi (Enabling Relocatability): Likewise.
19031         * lib/relocatable.c (compute_curr_prefix): Likewise.
19032
19033 2009-10-10  Jim Meyering  <meyering@redhat.com>
19034
19035         stat-time-tests: check for the usleep function
19036         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
19037
19038 2009-10-10  Bruno Haible  <bruno@clisp.org>
19039
19040         * modules/xnanosleep: Put the Link section after the Include section.
19041
19042 2009-10-09  Eric Blake  <ebb9@byu.net>
19043
19044         dup2: work around FreeBSD 6.1 bug
19045         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
19046         * doc/posix-functions/dup2.texi (dup2): Document it.
19047         Reported by Nelson H. F. Beebe and Jim Meyering.
19048
19049         test-stat-time: port to buggy NFS clients
19050         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
19051         (test_ctime): Also skip test if mtime and ctime are skewed.
19052
19053         maint: prefer 'file system' over 'filesystem'
19054         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
19055         * doc/posix-functions/lstat.texi (lstat): Likewise.
19056         * lib/file-has-acl.c (file_has_acl): Likewise.
19057         * lib/fwriteerror.c [TEST]: Likewise.
19058         * tests/test-areadlink.h (test_areadlink): Likewise.
19059         * tests/test-areadlinkat-with-size.c (main): Likewise.
19060         * tests/test-areadlinkat.c (main): Likewise.
19061         * tests/test-canonicalize-lgpl.c (main): Likewise.
19062         * tests/test-canonicalize.c (main): Likewise.
19063         * tests/test-fstatat.c (main): Likewise.
19064         * tests/test-linkat.c (main): Likewise.
19065         * tests/test-lstat.h (test_lstat_func): Likewise.
19066         * tests/test-mkdir.h (test_mkdir): Likewise.
19067         * tests/test-readlink.h (test_readlink): Likewise.
19068         * tests/test-remove.c (main): Likewise.
19069         * tests/test-rename.h (test_rename): Likewise.
19070         * tests/test-renameat.c (main): Likewise.
19071         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19072         * tests/test-symlink.h (test_symlink): Likewise.
19073         * tests/test-symlinkat.c (main): Likewise.
19074         * tests/test-unlink.h (test_unlink_func): Likewise.
19075         * tests/test-unlinkat.c (main): Likewise.
19076
19077         maint: make realtime library usage explicit
19078         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
19079         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
19080         * modules/settime (Link): Likewise.
19081         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
19082
19083         test-stat-time: speed up execution
19084         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
19085         warning on mingw.
19086         (nap): New helper function.
19087         (prepare_test): Use it to reduce sleep time.
19088         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
19089         execution.
19090         * modules/stat-time-tests (configure.ac): Check for usleep.
19091
19092 2009-10-09  Jim Meyering  <meyering@redhat.com>
19093
19094         selinux-h: always use getfilecon wrappers
19095         * lib/getfilecon.c: New file.
19096         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
19097         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
19098         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
19099         (fgetfilecon): Provide a stub.
19100         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
19101         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
19102         file unconditionally.
19103         When <selinux/selinux.h> is found, arrange to use wrappers.
19104         * modules/selinux-h (Files): Add getfilecon.c.
19105         (Makefile.am): Substitute include-next-related bits
19106         into the now-always-generated selinux/selinux.h file.
19107         * doc/glibc-functions/lgetfilecon.texi: New file.
19108         * doc/glibc-functions/fgetfilecon.texi: New file.
19109         * doc/glibc-functions/getfilecon.texi: New file.
19110         * doc/glibc-functions/getfilecon-desc.texi: New file.
19111         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
19112         which to pull in the new files.
19113         * MODULES.html.sh (Misc): Add selinux-h.
19114
19115 2009-10-08  Jim Meyering  <meyering@redhat.com>
19116
19117         unistd: fix comment typo
19118         * lib/unistd.in.h (euidaccess): Fix a comment typo.
19119
19120 2009-10-08  Eric Blake  <ebb9@byu.net>
19121
19122         areadlink: use SIZE_MAX consistently
19123         * modules/areadlink (Depends-on): Add stdint.
19124         * modules/areadlink-with-size (Depends-on): Likewise.
19125         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
19126         gives NULL; drop sys/types, since unistd gives size_t; and add
19127         stdint for SIZE_MAX.
19128         (SIZE_MAX): Rely on headers.
19129         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
19130         and add stdint.
19131         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
19132         (SIZE_MAX): Likewise.
19133         (INITIAL_BUF_SIZE): Turn into enum.
19134         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
19135
19136 2009-10-08  Jim Meyering  <meyering@redhat.com>
19137
19138         areadlinkat: avoid compilation failure
19139         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
19140         Fix typo in comment.
19141
19142 2009-10-07  Eric Blake  <ebb9@byu.net>
19143
19144         areadlinkat-with-size: new module
19145         * modules/areadlinkat-with-size: New module.
19146         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
19147         * lib/areadlink.h (areadlinkat): Declare it.
19148         * MODULES.html.sh (File system functions): Mention it.
19149         * modules/areadlinkat-with-size-tests: New test.
19150         * tests/test-areadlinkat-with-size.c: New file.
19151
19152         xreadlinkat: new module
19153         * modules/xreadlinkat: New module.
19154         * lib/xreadlinkat.c (xreadlinkat): New file.
19155         * lib/xreadlink.h (xreadlinkat): Declare it.
19156         * MODULES.html.sh (File system functions): Mention it.
19157
19158         areadlinkat: new module
19159         * lib/at-func.c (FUNC_FAIL): New define.
19160         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
19161         * modules/areadlinkat: New module.
19162         * lib/linkat.c (areadlinkat): Move...
19163         * lib/areadlinkat.c (areadlinkat): ...to new file.
19164         * lib/areadlink.h (areadlinkat): Declare it.
19165         * modules/linkat (Depends-on): Add areadlinkat.
19166         * MODULES.html.sh (File system functions): Mention it.
19167         * modules/areadlinkat-tests: New test.
19168         * tests/test-areadlinkat.c: New file.
19169
19170         areadlink, areadlink-with-size: add tests
19171         * modules/areadlink-tests: New test.
19172         * modules/areadlink-with-size-tests: Likewise.
19173         * tests/test-areadlink.h: New file.
19174         * tests/test-areadlink.c: Likewise.
19175         * tests/test-areadlink-with-size.c: Likewise.
19176
19177         maint: minor cleanups
19178         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
19179         _UNUSED_PARAMETER_ instead.
19180         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
19181         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
19182         * modules/linkat-tests (Files): Distribute test-link.h.
19183
19184         openat, utimens: whitespace cleanup
19185         * lib/openat.c: Prefer space throughout, rather than mix of 8
19186         spaces vs. tabs.
19187         * lib/at-func.c: Likewise.
19188         * lib/utimens.c: Likewise.
19189
19190         openat: avoid using wrong fd
19191         * lib/openat.c (openat_permissive): Reject user's fd if saving the
19192         working directory chooses same fd.
19193         * lib/at-func.c (AT_FUNC_NAME): Likewise.
19194
19195         mkdir, mkdirat: fix cygwin 1.5.x bug
19196         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
19197         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
19198         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
19199         bug.
19200         (gl_PREREQ_MKDIR): Delete unused macro.
19201         * modules/mkdir (Files): Track file rename.
19202         (configure.ac): Update macro name.
19203         * modules/openat (Depends-on): Add mkdir.
19204         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
19205
19206         mkdir, mkdirat: add tests
19207         * modules/mkdir-tests: New test.
19208         * tests/test-mkdir.h: New file.
19209         * tests/test-mkdir.c: Likewise.
19210         * tests/test-mkdirat.c: Likewise.
19211         * modules/openat-tests (Files): Add new files.
19212         (Makefile.am): Run new test.
19213
19214 2009-10-06  Eric Blake  <ebb9@byu.net>
19215
19216         doc: tweak *at function documentation
19217         * doc/posix-functions/faccessat.texi (faccessat): Mention
19218         known issue with replacement.
19219         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
19220         * doc/posix-functions/linkat.texi (linkat): Likewise.
19221         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
19222         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
19223         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
19224         * doc/posix-functions/renameat.texi (renameat): Likewise.
19225         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19226
19227         openat: fix GNU/Hurd bug in unlinkat
19228         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
19229         broken.
19230         * doc/posix-functions/unlink.texi (unlink): Document this.
19231         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
19232
19233         fdopendir: fix GNU/Hurd bug
19234         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
19235         allowing non-directory fds.
19236         * lib/fdopendir.c (rpl_fdopendir): Work around it.
19237         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
19238         * modules/dirent (Makefile.am): Substitute it.
19239         * lib/dirent.in.h (fdopendir): Declare replacement.
19240         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
19241         * tests/test-fdopendir.c (main): Test something other than
19242         /dev/null, since on Hurd that behaves like a directory.
19243
19244         test-symlink: port to GNU/Hurd
19245         * tests/test-symlink.h (test_symlink): Relax expected errno.
19246
19247         doc: tweak more cygwin information
19248         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
19249         now compatible with glibc.
19250         * doc/posix-functions/getopt.texi (getopt): Likewise.
19251
19252         getopt-gnu: add another test
19253         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
19254         guarantee behavior relied on by m4.
19255         * tests/test-getopt.c (main): Use it.
19256         * modules/getopt-posix-tests (Depends-on): Add setenv.
19257         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
19258
19259         getopt: fix compilation on darwin
19260         * lib/getopt.in.h (includes): Leave breadcrumbs during system
19261         include.
19262         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
19263         Reported by Ludovic Courtès.
19264
19265 2009-10-06  Bruno Haible  <bruno@clisp.org>
19266
19267         * modules/size_max (Description): Discourage its use.
19268         Reported by Simon Josefsson.
19269
19270 2009-10-06  Jim Meyering  <meyering@redhat.com>
19271
19272         linkat: avoid compilation failure
19273         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
19274
19275 2009-10-05  Eric Blake  <ebb9@byu.net>
19276
19277         linkat: support Linux 2.6.17
19278         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
19279         linkat on Linux, but allow cache variable override.
19280         * lib/linkat.c (rpl_linkat): Define override.
19281         * modules/linkat (Depends-on): Add symlinkat.
19282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
19283         * modules/unistd (Makefile.am): Substitute it.
19284         * lib/unistd.in.h (linkat): Declare replacement.
19285         Reported by Pádraig Brady.
19286
19287         quotearg: port test to systems with C.UTF-8 locale
19288         * tests/test-quotearg.c (struct result_strings): Add another
19289         member, differentiating between C.ASCII and C.UTF-8 handling.
19290         (compare_strings): Add parameter.
19291         (main): Adjust all callers.
19292
19293         getopt: avoid clash with FreeBSD _getopt_internal
19294         * lib/getopt.in.h (_getopt_internal): Override the name.
19295         * lib/getopt_int.h (includes): Pick up any overrides.
19296         Reported by Reuben Thomas.
19297
19298         hash: allow C89 compilation
19299         * lib/hash.c (check_tuning): Move declaration before statement.
19300         Reported by Reuben Thomas.
19301
19302 2009-10-05  Karl Berry  <karl@gnu.org>
19303
19304         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
19305
19306 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
19307             Bruno Haible  <bruno@clisp.org>
19308
19309         * lib/uname.c (uname): Use a table-driven algorithm to compute
19310         Windows NT versions.
19311
19312 2009-10-04  Bruno Haible  <bruno@clisp.org>
19313
19314         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
19315         program_invocation_short_name.
19316         * modules/progname (configure.ac): Test for presence of
19317         program_invocation_short_name.
19318         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
19319
19320 2009-10-04  Bruno Haible  <bruno@clisp.org>
19321
19322         * lib/progname.c (set_program_name): Fix comment.
19323         Reported by Jim Meyering.
19324
19325 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
19326             Bruno Haible  <bruno@clisp.org>
19327
19328         * lib/uname.c: Include <string.h>.
19329         (uname): Do only one call to GetVersionEx in the common case.
19330
19331 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
19332             Bruno Haible  <bruno@clisp.org>
19333
19334         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
19335         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
19336         (uname): Add support for Windows CE and various non-x86 CPU types.
19337
19338 2009-10-03  Bruno Haible  <bruno@clisp.org>
19339
19340         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
19341         invocation to tests/configure.ac.
19342         Reported by Ian Beckwith <ianb@erislabs.net>.
19343
19344 2009-10-02  Eric Blake  <ebb9@byu.net>
19345
19346         fchdir: avoid compiler warning
19347         * lib/fchdir.c (canonicalize_file_name)
19348         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
19349
19350         test-open: support mingw errno values
19351         * tests/test-open.h (test_open): Relax test.
19352         * tests/test-fopen.h (test_fopen): Likewise.
19353         * tests/test-openat-safer.c (main): Likewise.
19354
19355         open: fix opening directory on mingw
19356         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
19357
19358         test-open: on GNU/Hurd, /dev/null is a directory
19359         * tests/test-fopen.h (main): Rename...
19360         (test_fopen): ...to this.  Use a guaranteed non-directory when
19361         confirming open behavior on trailing slash.
19362         * tests/test-openat-safer.c (main): Likewise.
19363         * tests/test-open.h (main): Likewise....
19364         (test_open): ...to this.
19365         * tests/test-fopen.c (main): Adjust caller.
19366         * tests/test-fopen-safer.c (main): Likewise.
19367         * tests/test-open.c (main): Likewise.
19368         * tests/test-fcntl-safer.c (main): Likewise.
19369         Reported by Samuel Thibault.
19370
19371         rename, fchdir: don't ignore chdir failure
19372         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
19373         * lib/rename.c (rpl_rename) [W32]: Likewise.
19374         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
19375         an empty destination directory if source cannot be renamed,
19376         although there is still possibility for failure.
19377         * doc/posix-functions/rename.texi (rename): Document the race.
19378         Reported by Jim Meyering.
19379
19380         maint: cleanup whitespace in recent commits
19381         * lib/rename.c (rpl_rename): Remove tabs.
19382         * tests/test-link.h (test_link): Likewise.
19383         * lib/fchdir.c (get_name): Likewise.
19384         Reported by Jim Meyering.
19385
19386 2009-10-02  Ben Pfaff  <blp@gnu.org>
19387
19388         relocatable-prog-wrapper: Add missing dependency on
19389         double-slash-root.
19390         * modules/relocatable-prog-wrapper: Add dependency.
19391         Reported by Ian Beckwith <ianb@erislabs.net>.
19392
19393 2009-10-02  Eric Blake  <ebb9@byu.net>
19394
19395         renameat: fix Solaris bugs
19396         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
19397         needed fixing.
19398         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
19399         * modules/stdio (Makefile.am): Substitute it.
19400         * lib/stdio.in.h (renameat): Declare replacement.
19401         * lib/renameat.c (rpl_renameat): Implement fix.
19402
19403         renameat: new module
19404         * modules/renameat: New file.
19405         * lib/renameat.c (renameat): Likewise.
19406         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
19407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
19408         * modules/stdio (Makefile.am): Substitute them.
19409         * lib/stdio.in.h (renameat): Declare it.
19410         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19411         * doc/posix-functions/renameat.texi (renameat): Likewise.
19412         * modules/renameat-tests: New test.
19413         * tests/test-renameat.c: Likewise.
19414
19415         rename: fix mingw bugs
19416         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
19417         directory overwrite bugs.
19418
19419         rename: fix another cygwin 1.5 bug
19420         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
19421         checks.
19422         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
19423         unnecessary cygwin workarounds.  Also work around bug with moving
19424         full directory onto an empty one.
19425         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
19426
19427         rename-dest-slash: merge into rename module
19428         * modules/rename-dest-slash (Status): Mark obsolete.
19429         (Depends-on): Add rename.
19430         (Files): Let rename do it all.
19431         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
19432         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
19433         * m4/rename-dest-slash.m4: ...so this file can be deleted.
19434         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
19435         * lib/rename.c (rpl_rename): Update comments.
19436
19437         rename: fix cygwin 1.5.x bugs
19438         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
19439         * lib/rename.c (rpl_rename): Work around them.
19440         * modules/rename (Depends-on): Add same-inode.
19441
19442         rename: fix Solaris 10 bug
19443         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
19444         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
19445         was the only bug.
19446
19447         rename: fix Solaris 9 bug
19448         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
19449         on non-directory.  Avoid calling exit.
19450         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
19451         strdup.
19452         * modules/rename-tests (Depends-on): Drop lstat.
19453         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
19454         (gl_PREREQ_RENAME): Delete unused macro.
19455
19456         rename-dest-slash: fix NetBSD bug
19457         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
19458         links.
19459         * modules/rename-dest-slash (Depends-on): Add same-inode.
19460
19461         rename-tests: new test, exposes several platform bugs
19462         * modules/rename-tests: New file.
19463         * tests/test-rename.h: Likewise.
19464         * tests/test-rename.c: Likewise.
19465         * doc/posix-functions/rename.texi (rename): Improve documentation,
19466         including bugs that will eventually be fixed in gnulib.
19467
19468 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
19469
19470         * lib/uname.c: Include <stdlib.h>
19471         (uname): Assume version info is available.
19472
19473 2009-10-02  Jim Meyering  <meyering@redhat.com>
19474
19475         gnu-web-doc-update: correct --help output
19476         * build-aux/gnu-web-doc-update: Make --help output relevant.
19477
19478         gnu-web-doc-update: add standard options
19479         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
19480
19481         gnu-web-doc-update: New module.
19482         Use this script to automatically update the on-line web documentation
19483         for your GNU project at http://www.gnu.org/software/$pkg/manual/
19484         * modules/gnu-web-doc-update: New file, from coreutils.
19485         * build-aux/gnu-web-doc-update: New script.
19486
19487 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
19488
19489         link: LoadLibrary is not needed.
19490         * lib/link.c: Use GetModuleHandle.
19491
19492 2009-10-01  Eric Blake  <ebb9@byu.net>
19493
19494         getopt: bump serial number
19495         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
19496         change.
19497
19498         tests: tighten link, rmdir, and remove tests
19499         * tests/test-link.h (includes): No need to use <config.h> here.
19500         Clean up if directory hard link was created, otherwise test for
19501         trailing '.'.
19502         * tests/test-linkat.c (main): Simplify.
19503         * tests/test-remove.c (main): Enhance test for trailing '.'.
19504         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19505
19506 2009-10-01  Jim Meyering  <meyering@redhat.com>
19507
19508         maint.mk: requiring "make major" was annoying, for a "minor" release.
19509         What is intended is "stable", to contrast with alpha and beta,
19510         so require "make stable", not "make major".
19511         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
19512         (get_tool_versions): Likewise.
19513         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
19514
19515 2009-09-30  Ben Pfaff  <blp@gnu.org>
19516
19517         Fix broken build of replacement for Windows tmpfile().
19518         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
19519         flags argument added along with the 'mkostemp' module.
19520
19521 2009-09-28  Bruno Haible  <bruno@clisp.org>
19522
19523         Avoid identifier clash with POSIX function 'remove' defined as a macro.
19524         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
19525         to 'remove_elt'.
19526         (gl_list_remove): Update.
19527         * lib/gl_list.c (gl_list_remove): Update.
19528         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
19529         to 'remove_elt'.
19530         (gl_oset_remove): Update.
19531         * lib/gl_list.c (gl_oset_remove): Update.
19532         Reported by Eric Blake.
19533
19534 2009-09-28  Eric Blake  <ebb9@byu.net>
19535
19536         doc: mention yet more cygwin 1.7 status
19537         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
19538         cygwin.
19539         * doc/glibc-functions/execvpe.texi (execvpe): New file.
19540         * doc/gnulib.texi (Glibc unistd.h): Mention it.
19541
19542         argp: fix test failure
19543         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
19544         that are not upper-case.  Pass correct range to tolower.
19545
19546 2009-09-27  Jim Meyering  <meyering@redhat.com>
19547
19548         test-yesno: work around sparc-dash here-document infelicity
19549         Without this change, the literal \177 byte in a here document
19550         would make dash 0.5.5.1-3 access uninitialized memory.
19551         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
19552         Instead, use a marker, "@", and filter through tr to create the desired
19553         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
19554
19555 2009-09-27  Bruno Haible  <bruno@clisp.org>
19556
19557         Disable untested support for new flavours of ACLs on AIX.
19558         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
19559         progress.
19560         * lib/set-mode-acl.c (qset_acl): Likewise.
19561
19562 2008-12-07  Bruno Haible  <bruno@clisp.org>
19563
19564         Add support for new flavours of ACLs on AIX. (Untested.)
19565         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
19566         (file_has_acl): Add support for newer AIX.
19567         * lib/set-mode-acl.c (qset_acl): Likewise.
19568         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
19569         Rainer Tammer <tammer@tammer.net>.
19570
19571 2009-09-26  Eric Blake  <ebb9@byu.net>
19572
19573         argp: fix compilation of getopt
19574         * lib/getopt.in.h (includes): Use different guard than glibc.
19575         Reported by Sergey Poznyakoff.
19576
19577         doc: mention more cygwin 1.7 status
19578         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
19579         bug.
19580         * doc/posix-functions/execl.texi (execl): Likewise.
19581         * doc/posix-functions/execle.texi (execle): Likewise.
19582         * doc/posix-functions/execlp.texi (execlp): Likewise.
19583         * doc/posix-functions/execv.texi (execv): Likewise.
19584         * doc/posix-functions/execve.texi (execve): Likewise.
19585         * doc/posix-functions/execvp.texi (execvp): Likewise.
19586         * doc/glibc-functions/canonicalize_file_name.texi
19587         (canonicalize_file_name): Cygwin 1.7 now provides this.
19588         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
19589         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
19590         on AT_SYMLINK_NOFOLLOW.
19591
19592 2009-09-24  Eric Blake  <ebb9@byu.net>
19593
19594         test-linkat: make test more robust
19595         * tests/test-linkat.c (main): Avoid collision with EEXIST.
19596
19597         getopt: fix inclusion guards for cygwin
19598         * modules/getopt-posix (Depends-on): Add include-next.
19599         (Makefile.am): Substitute more items in replacement header.
19600         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
19601         <getopt.h>.
19602         * lib/getopt.in.h (includes): Use split inclusion guard, and
19603         prefer <getopt.h> over include <unistd.h> when one is present.
19604         (option): Also override name of 'struct option'.
19605
19606         same-inode: revert prior change; it is not yet ready
19607         * NEWS: Undo mention of this change.
19608         * lib/same-inode.h (same-inode.h): Undo tri-state change.
19609         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
19610         * lib/cycle-check.c (cycle_check): Likewise.
19611         * lib/same.c (same_name): Likewise.
19612         * lib/at-func2.c (at_func2): Likewise.
19613
19614 2009-09-23  Eric Blake  <ebb9@byu.net>
19615
19616         linkat: new module
19617         * modules/linkat: New file.
19618         * lib/at-func2.c (at_func2): Likewise.
19619         * lib/linkat.c (linkat): Likewise.
19620         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19621         * lib/openat-priv.h (at_func2): Add declaration.
19622         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
19623         * modules/unistd (Makefile.am): Substitute them.
19624         * lib/unistd.in.h (linkat): Declare it.
19625         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19626         * doc/posix-functions/linkat.texi (linkat): Likewise.
19627         * doc/posix-functions/link.texi (link): Tweak wording.
19628         * tests/test-link.c (main): Move guts...
19629         * tests/test-link.h (test_link): ...into new file.
19630         * modules/linkat-tests: New test.
19631         * tests/test-linkat.c: Likewise.
19632         * modules/link-tests (Files): Ship new file.
19633         (Depends-on): Add stdbool.
19634
19635         dirname: add library-safe mdir_name
19636         * lib/dirname.h (mdir_name): New prototype.
19637         * lib/dirname.c (dir_name): Move guts...
19638         (mdir_name): ...to new function that avoids xalloc_die.
19639
19640         fchdir: another mingw fix
19641         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
19642         * lib/fchdir.c (get_name): New helper method; skips canonicalize
19643         on mingw (where it has not yet been ported), and make it optional
19644         elsewhere.
19645         (_gl_register_fd): Use it.
19646
19647         same-inode: make SAME_INODE tri-state, to port to mingw
19648         * NEWS: Mention this change.
19649         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
19650         st_ino always being 0.
19651         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
19652         * lib/cycle-check.c (cycle_check): Likewise.
19653         * lib/same.c (same_name): Likewise.
19654
19655         lstat: avoid mingw compilation error
19656         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
19657         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
19658         lstat ourselves.
19659         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
19660         was adequate.
19661         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
19662         the checks for lstat.
19663         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
19664
19665         link: fix test failure on Solaris 9
19666         * lib/link.c (rpl_link): Don't assume link will catch bogus
19667         trailing slash on source.
19668
19669         test-symlinkat: enhance test
19670         * tests/test-readlink.c (main): Move guts...
19671         * tests/test-readlink.h (test_readlink): ...into new file.
19672         * tests/test-symlink.c (main): Move guts...
19673         * tests/test-symlink.h (test_symlink): ...into new file.
19674         * tests/test-symlinkat.c (main): Use new files for further
19675         coverage.
19676         (do_symlink, do_readlink): New helper functions.
19677         * modules/symlink-tests (Files): Ship new file.
19678         (Depends-on): Add stdbool.
19679         * modules/readlink-tests (Files): Ship new file.
19680         (Depends-on): Add stdbool.
19681         * modules/symlinkat-tests (Files): Use new files.
19682
19683 2009-09-23  Eric Blake  <ebb9@byu.net>
19684
19685         readlink: document portability issue with symlink length
19686         * doc/posix-functions/lstat.texi (lstat): Mention that some file
19687         systems have bogus st_size on symlinks, and mention the
19688         areadlink-with-size module.
19689         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
19690         * doc/posix-functions/readlink.texi (readlink): Mention the
19691         areadlink module, and ERANGE failure.
19692         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
19693         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
19694
19695         readlink: fix Solaris 9 bug with trailing slash
19696         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
19697         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
19698         * doc/posix-functions/readlink.texi (readlink): Document this.
19699         * modules/readlink-tests: New test.
19700         * tests/test-readlink.c: Likewise.
19701
19702         readlink: fix cygwin 1.5.x bug with return type
19703         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
19704         * lib/unistd.in.h (readlink): Use ssize_t.
19705         * lib/readlink.c (readlink): Likewise.
19706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
19707         * modules/unistd (Makefile.am): Substitute it.
19708         * lib/unistd.in.h (readlink): Declare replacement.
19709         * doc/posix-functions/readlink.texi (readlink): Document this.
19710
19711         symlink: use throughout gnulib
19712         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
19713         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
19714         symlink is not used.
19715         * modules/symlinkat (Depends-on): Add symlink.
19716         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
19717         * modules/canonicalize-tests (Depends-on): Likewise.
19718         * modules/lstat-tests (Depends-on): Likewise.
19719         * modules/openat-tests (Depends-on): Likewise.
19720         * modules/remove-tests (Depends-on): Likewise.
19721         * modules/rmdir-tests (Depends-on): Likewise.
19722         * modules/unlink-tests (Depends-on): Likewise.
19723         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
19724         * tests/test-canonicalize.c (symlink): Likewise.
19725         * tests/test-fstatat.c (symlink): Likewise.
19726         * tests/test-lstat.c (symlink): Likewise.
19727         * tests/test-remove.c (symlink): Likewise.
19728         * tests/test-rmdir.c (symlink): Likewise.
19729         * tests/test-unlink.c (symlink): Likewise.
19730         * tests/test-unlinkat.c (symlink): Likewise.
19731
19732         symlink: new module, for Solaris 9 bug
19733         * modules/symlink: New file.
19734         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19735         * lib/symlink.c: Likewise.
19736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
19737         * modules/unistd (Makefile.am): Substitute them.
19738         * lib/unistd.in.h (symlink): Declare replacement.
19739         * MODULES.html.sh (File system functions): Mention it.
19740         * doc/posix-functions/symlink.texi (symlink): Likewise.
19741         * modules/symlink-tests: New test.
19742         * tests/test-symlink.c: Likewise.
19743
19744 2009-09-23  Bruno Haible  <bruno@clisp.org>
19745
19746         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
19747         when needed.
19748         Test case: gnulib-tool --import --with-tests atexit inttypes.
19749         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
19750
19751 2009-09-23  Bruno Haible  <bruno@clisp.org>
19752
19753         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
19754         subcommand, not in a subshell.
19755
19756 2009-09-22  Eric Blake  <ebb9@byu.net>
19757
19758         unistd: sort replacement declarations
19759         * lib/unistd.in.h: Sort declarations.
19760
19761         open, openat: minor optimization
19762         * lib/open.c (open): If open succeeded, len is non-zero.
19763         * lib/openat.c (rpl_openat): Likewise.
19764
19765         link-follow: ensure correct result
19766         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
19767         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
19768         distinguish between possible failures.
19769
19770 2009-09-21  Eric Blake  <ebb9@byu.net>
19771
19772         fts: avoid compiler warning
19773         * lib/fts.c (dirent_inode_sort_may_be_useful)
19774         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
19775
19776 2009-09-19  Bruno Haible  <bruno@clisp.org>
19777
19778         * lib/progreloc.c (canonicalize_file_name): New declaration.
19779
19780 2009-09-19  Eric Blake  <ebb9@byu.net>
19781
19782         link: fix quoting
19783         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
19784
19785         openat: fix openat bugs on Solaris 9
19786         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
19787         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
19788         * modules/openat (Depends-on): Add open.
19789         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
19790         * modules/fcntl-h (Makefile.am): Substitute it.
19791         * lib/fcntl.in.h (openat): Declare replacement.
19792         * doc/posix-functions/openat.texi (openat): Document this.
19793
19794         openat: move fstatat and unlinkat into correct files
19795         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
19796         compiled.
19797         * lib/openat.c (fstatat, unlinkat): Move...
19798         * lib/fstatat.c (fstatat): ...into correct files.
19799         * lib/unlinkat.c (unlinkat): Likewise.
19800
19801         openat: fix unlinkat bugs on Solaris 9
19802         * lib/unlinkat.c (unlinkat): New file.
19803         * modules/openat (Depends-on): Add unlink.
19804         (Files): Distribute it.
19805         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
19806         trailing slash behavior is broken.
19807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
19808         * modules/unistd (Makefile.am): Substitute it.
19809         * lib/unistd.in.h (unlinkat): Declare replacement.
19810         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
19811
19812         openat: fix fstatat bugs on Solaris 9
19813         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
19814         stat.
19815         * doc/posix-functions/fstatat.texi (fstatat): Document this.
19816
19817         test-unlinkat: enhance test, to expose Solaris 9 bug
19818         * tests/test-unlink.c (main): Factor guts...
19819         * tests/test-unlink.h (test_rmdir_func): ...into new file.
19820         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
19821         * tests/test-rmdir.c (main): Adjust caller.
19822         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
19823         (unlinker): New helper function.
19824         (rmdirat): Enhance check.
19825         * modules/rmdir-tests (Depends-on): Add stdbool.
19826         * modules/unlink-tests (Depends-on): Likewise.
19827         (Files): Add test-unlink.h.
19828         * modules/openat-tests (Files): Likewise.
19829         (Depends-on): Add unlinkdir.
19830
19831         test-fstatat: new test, to expose Solaris 9 bugs
19832         * tests/test-stat.c (main): Factor guts...
19833         * tests/test-stat.h (test_stat_func): ...into new file.
19834         * tests/test-lstat.c (main): Factor guts...
19835         * tests/test-lstat.h (test_lstat_func): ...into new file.
19836         * tests/test-fstatat.c: New file.
19837         * modules/stat-tests (Files): Add test-stat.h.
19838         * modules/lstat-tests (Files): Add test-lstat.h.
19839         (Depends-on): Add stdbool.
19840         * modules/openat-tests (Depends-on): Add pathmax.
19841         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
19842         (Makefile.am): Run new test.
19843
19844         remove: new module, for mingw and Solaris 9 bugs
19845         * modules/remove: New file.
19846         * lib/remove.c: Likewise.
19847         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
19848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
19849         * modules/stdio (Makefile.am): Use them.
19850         * lib/stdio.in.h (remove): Declare replacement.
19851         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19852         * doc/posix-functions/remove.texi (remove): Likewise.
19853         * modules/remove-tests: New test.
19854         * tests/test-remove.c: Likewise.
19855
19856         unlink: new module, for Solaris 9 bug
19857         * modules/unlink: New file.
19858         * lib/unlink.c: Likewise.
19859         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
19861         * modules/unistd (Makefile.am): Use them.
19862         * lib/unistd.in.h (stat): Declare replacement.
19863         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19864         * doc/posix-functions/unlink.texi (unlink): Likewise.
19865         * modules/unlink-tests: New test.
19866         * tests/test-unlink.c: Likewise.
19867
19868         lstat: fix Solaris 9 bug
19869         * lib/lstat.c (lstat): Also check for trailing slash on
19870         non-symlink, non-directories.  Use stat module to simplify logic.
19871         * doc/posix-functions/lstat.texi (lstat): Document it.
19872         * modules/lstat-tests (Depends-on): Add errno, same-inode.
19873         (configure.ac): Check for symlink.
19874         * tests/test-lstat.c (main): Add more tests.
19875
19876         stat: add as dependency to other modules
19877         * modules/chown (Depends-on): Add stat.
19878         * modules/euidaccess (Depends-on): Likewise.
19879         * modules/fchdir (Depends-on): Likewise.
19880         * modules/isdir (Depends-on): Likewise.
19881         * modules/link (Depends-on): Likewise.
19882         * modules/lstat (Depends-on): Likewise.
19883         * modules/mkdir-p (Depends-on): Likewise.
19884         * modules/modechange (Depends-on): Likewise.
19885         * modules/open (Depends-on): Likewise.
19886         * modules/readlink (Depends-on): Likewise.
19887         * modules/same (Depends-on): Likewise.
19888
19889         stat: fix Solaris 9 bug
19890         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
19891         slash.
19892         * lib/stat.c (rpl_stat): Work around it.
19893         * doc/posix-functions/stat.texi (stat): Update documentation.
19894
19895         stat: new module, for mingw bug
19896         * modules/stat: New file.
19897         * lib/stat.c: Likewise.
19898         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
19900         * modules/sys_stat (Makefile.am): Use them.
19901         * lib/sys_stat.in.h (stat): Declare replacement.
19902         * lib/openat.c (fstatat): Deal with lstat and stat being function
19903         macros.
19904         * modules/openat (Depends-on): Add inline.
19905         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19906         * doc/posix-functions/stat.texi (stat): Likewise.
19907         * modules/stat-tests: New test.
19908         * tests/test-stat.c: Likewise.
19909
19910 2009-09-19  Jim Meyering  <meyering@redhat.com>
19911
19912         syntax-check: detect unnecessary inclusion of canonicalize.h
19913         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
19914
19915 2009-09-19  Eric Blake  <ebb9@byu.net>
19916
19917         canonicalize-lgpl: adjust clients to use correct header
19918         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
19919         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
19920         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
19921         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
19922         * lib/progreloc.c (includes): Likewise.
19923
19924 2009-09-19  Jim Meyering  <meyering@redhat.com>
19925
19926         test-posixtm.c: correct a comment
19927         * tests/test-posixtm.c: Correct first-line comment.
19928         Spotted by Eric Blake.
19929
19930 2009-09-16  Jim Meyering  <meyering@redhat.com>
19931
19932         posixtm-tests: make T const-correct; add a test case
19933         * tests/test-posixtm.c (T): Declare const.
19934         Add a test for -(2^31+1).
19935         Remove useless can-succeed-only-in-2002 test.
19936
19937         posixtm-tests: adjust the sole failing test
19938         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
19939         expected output matches what mktime now produces.  Cross-checked via
19940         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
19941
19942         posixtm: move #ifdef'd tests into a new module
19943         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
19944         * tests/test-posixtm.c: ... this new file.
19945         * modules/posixtm-tests: New module.
19946
19947 2009-09-19  Eric Blake  <ebb9@byu.net>
19948
19949         openat: simplify use of at-func.c
19950         * lib/at-func.c (includes): Include prerequisites here, to
19951         simplify requirements on client files.
19952         * lib/openat-priv.h: Add double-inclusion guard.
19953         * lib/faccessat.c (includes): Simplify.
19954         * lib/fchmodat.c (includes): Likewise.
19955         * lib/fchownat.c (includes): Likewise.
19956         * lib/mkdirat.c (includes): Likewise.
19957         * lib/mkfifoat.c (includes): Likewise.
19958         * lib/symlinkat.c (includes): Likewise.
19959
19960         openat: allow return of fd 0
19961         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
19962         * modules/save-cwd (Depends-on): Replace fcntl-safer with
19963         unistd-safer.
19964         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
19965         <fcntl.h>; this module does not leak fds.
19966         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
19967         must be allowed to return 0, leaving openat_safer to add the
19968         safety.
19969         (openat_permissive): Avoid writing to just-opened fd 2 if
19970         restoring the current directory fails.
19971         * lib/openat-die.c (openat_restore_fail): Add comment.
19972         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
19973         (save_cwd): Guarantee safe fd, but without use of open_safer.
19974         * tests/test-openat.c: New test.
19975         * modules/openat-tests (Files, Makefile.am): Distribute and build
19976         new file.
19977
19978         relocatable-prog-wrapper: fix build
19979         * modules/relocatable-prog-wrapper (Files): Update name of
19980         canonicalize m4 file, broken on 2009-09-17.
19981         Reported by emad hajjar <aleppos@hotmail.com>.
19982
19983 2009-09-19  Bruno Haible  <bruno@clisp.org>
19984
19985         * lib/safe-alloc.h: Use the standard header with GPL copyright.
19986         * lib/safe-alloc.c: Likewise.
19987         Reported by Ian Beckwith <ianb@erislabs.net>.
19988
19989 2009-09-18  Bruno Haible  <bruno@clisp.org>
19990
19991         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
19992         Reported by <erobles@sensacd.com.mx>.
19993
19994 2009-09-17  Eric Blake  <ebb9@byu.net>
19995
19996         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
19997         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
19998         slashes when checking if last component is missing.
19999         * tests/test-canonicalize.c (main): Test this.
20000
20001         canonicalize, canonicalize-lgpl: honor // if distinct from /
20002         * modules/canonicalize (Files): Add double-slash-root.m4.
20003         * modules/canonicalize-lgpl (Files): Likewise.
20004         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20005         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
20006         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
20007         fallback definition.
20008         (canonicalize_filename_mode): Use it to protect //.
20009         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
20010         (__realpath): Likewise.
20011         * tests/test-canonicalize.c (main): Test this.
20012         * tests/test-canonicalize-lgpl.c (main): Likewise.
20013         * modules/canonicalize-tests (Depends-on): Add same-inode.
20014         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20015
20016         canonicalize-lgpl: fix glibc bug with trailing slash
20017         * m4/canonicalize-lgpl.m4: Move contents...
20018         * m4/canonicalize.m4: ...here.
20019         (gl_CANONICALIZE_LGPL): Factor realpath check...
20020         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
20021         glibc 2.3.5 bug, fixed 2005-04-27.
20022         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
20023         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
20024         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
20025         * modules/canonicalize-lgpl (Files): Manage file rename.
20026         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
20027         * modules/stdlib (Makefile.am): Substitute witness.
20028         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
20029         is needed.
20030         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
20031         replacement is required.
20032         * lib/canonicalize.c (canonicalize_file_name): Likewise.
20033         * doc/glibc-functions/canonicalize_file_name.texi
20034         (canonicalize_file_name): Document this.
20035         * doc/posix-functions/realpath.texi (realpath): Likewise.
20036
20037         canonicalize-lgpl: reject non-directory with trailing slash
20038         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
20039         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
20040         catches failures in glibc 2.3.5.
20041         * tests/test-canonicalize.c (main): Likewise.
20042
20043         canonicalize-lgpl: use native realpath if it works
20044         * lib/canonicalize-lgpl.c (realpath): Guard with
20045         FUNC_REALPATH_WORKS.
20046         * lib/stdlib.in.h (realpath): Make declaration optional based on
20047         HAVE_REALPATH.
20048         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
20049         native realpath works.
20050         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
20051         * modules/stdlib (Makefile.am): Substitute witness.
20052
20053         canonicalize, canonicalize-lgpl: use <stdlib.h>
20054         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
20055         (Include): Mention <stdlib.h>.
20056         (configure.ac): Mention functions we provide.
20057         * modules/canonicalize (configure.ac): Likewise.
20058         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
20059         realpath if canonicalize_file_name is missing.
20060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
20061         * modules/stdlib (Makefile.am): Substitute witnesses.
20062         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
20063         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
20064         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
20065         * NEWS: Document this.
20066         * doc/glibc-functions/canonicalize_file_name.texi
20067         (canonicalize_file_name): Likewise.
20068         * doc/posix-functions/realpath.texi (realpath): Likewise.
20069         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
20070
20071         test-canonicalize: consolidate into single C program
20072         * tests/test-canonicalize.sh: Delete; move setup into...
20073         * tests/test-canonicalize.c (main): ...the program, making it
20074         easier to run in debugger.  Add some tests.
20075         * modules/canonicalize-tests (Files): Remove unused file.
20076         (Depends-on): Add progname.
20077         (configure.ac, Makefile.am): Simplify.
20078
20079         test-canonicalize-lgpl: consolidate into single C program
20080         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
20081         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
20082         easier to run in debugger.  Add some tests.
20083         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
20084         (configure.ac, Makefile.am): Simplify.
20085
20086         canonicalize: avoid resolvepath
20087         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
20088         unnecessary checks.
20089         * lib/canonicalize.c (includes): Simplify.
20090         (canonicalize_file_name): Drop resolvepath implementation.
20091         * modules/canonicalize (Depends-on): Drop filenamecat.
20092
20093         canonicalize: don't lose errno
20094         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
20095         over calls to free.
20096
20097         canonicalize: simplify errno handling
20098         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
20099         assignment.
20100
20101         canonicalize, canonicalize-lgpl: update module dependencies
20102         * modules/canonicalize (Depends-on): Add extensions, lstat,
20103         pathmax, stdlib.
20104         (Files): Drop pathmax.h.
20105         (configure.ac): Adjust macro name.
20106         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
20107         lstat, stdlib, sys_stat.
20108         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
20109         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
20110         extensions.
20111         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
20112         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
20113         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
20114         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
20115         declaration, if available.
20116         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
20117         we can rely on the readlink module.
20118         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
20119         (includes): Use <unistd.h> unconditionally.
20120
20121 2009-09-17  Eric Blake  <ebb9@byu.net>
20122
20123         maint: make Include sections of modules consistent
20124         * modules/alloca: Use only header name; no need to list #include.
20125         * modules/alloca-opt: Likewise.
20126         * modules/arpa_inet: Likewise.
20127         * modules/canon-host: Likewise.
20128         * modules/configmake: Likewise.
20129         * modules/dirent: Likewise.
20130         * modules/eealloc: Likewise.
20131         * modules/environ: Likewise.
20132         * modules/fchdir: Likewise.
20133         * modules/fcntl: Likewise.
20134         * modules/fcntl-h: Likewise.
20135         * modules/gethrxtime: Likewise.
20136         * modules/gettime: Likewise.
20137         * modules/ignore-value: Likewise.
20138         * modules/inet_ntop: Likewise.
20139         * modules/inet_pton: Likewise.
20140         * modules/inttypes: Likewise.
20141         * modules/isnand-nolibm: Likewise.
20142         * modules/isnanf-nolibm: Likewise.
20143         * modules/mbchar: Likewise.
20144         * modules/mbfile: Likewise.
20145         * modules/mbiter: Likewise.
20146         * modules/mbuiter: Likewise.
20147         * modules/netdb: Likewise.
20148         * modules/netinet_in: Likewise.
20149         * modules/nproc: Likewise.
20150         * modules/pagealign_alloc: Likewise.
20151         * modules/poll: Likewise.
20152         * modules/printf-frexp: Likewise.
20153         * modules/pthread: Likewise.
20154         * modules/putenv: Likewise.
20155         * modules/random_r: Likewise.
20156         * modules/relocatable-prog: Likewise.
20157         * modules/search: Likewise.
20158         * modules/select: Likewise.
20159         * modules/selinux-h: Likewise.
20160         * modules/settime: Likewise.
20161         * modules/signal: Likewise.
20162         * modules/size_max: Likewise.
20163         * modules/socklen: Likewise.
20164         * modules/ssize_t: Likewise.
20165         * modules/stdarg: Likewise.
20166         * modules/stdbool: Likewise.
20167         * modules/stddef: Likewise.
20168         * modules/stdint: Likewise.
20169         * modules/stdio: Likewise.
20170         * modules/stdlib: Likewise.
20171         * modules/string: Likewise.
20172         * modules/strings: Likewise.
20173         * modules/sys_file: Likewise.
20174         * modules/sys_ioctl: Likewise.
20175         * modules/sys_select: Likewise.
20176         * modules/sys_socket: Likewise.
20177         * modules/sys_stat: Likewise.
20178         * modules/sys_time: Likewise.
20179         * modules/sys_times: Likewise.
20180         * modules/sys_utsname: Likewise.
20181         * modules/sys_wait: Likewise.
20182         * modules/sysexits: Likewise.
20183         * modules/time: Likewise.
20184         * modules/times: Likewise.
20185         * modules/tmpfile: Likewise.
20186         * modules/trim: Likewise.
20187         * modules/unistd: Likewise.
20188         * modules/wchar: Likewise.
20189         * modules/wctype: Likewise.
20190
20191 2009-09-17  Bruno Haible  <bruno@clisp.org>
20192
20193         Make getdate.y compile on QNX and NetBSD 5 / i386.
20194         * m4/getdate.m4 (gl_GETDATE): Conditionally define
20195         TIME_T_FITS_IN_LONG_INT.
20196         * lib/getdate.y (long_time_t): New type.
20197         (relative_time): Change type of 'seconds' field to long_time_t.
20198         (get_date): Update types of local variables. Check against overflow
20199         during conversion from long_time_t to time_t.
20200         Reported by Matt Kraai <kraai@ftbfs.org>
20201         and Hasso Tepper <hasso@netbsd.org>.
20202
20203 2009-09-17  Bruno Haible  <bruno@clisp.org>
20204
20205         * modules/COPYING: Update copyright years.
20206         * modules/README: Likeiwse.
20207         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
20208         Reported by Ian Beckwith <ianb@erislabs.net>.
20209
20210 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
20211
20212         * users.txt: Update references for gnuit package.
20213
20214 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
20215
20216         * m4/getdelim.m4: Fix typo in copyright line.
20217
20218 2009-09-17  Bruno Haible  <bruno@clisp.org>
20219
20220         * lib/atoll.c: Use the standard header with GPL copyright.
20221         * lib/argz.in.h: Likewise.
20222         * lib/glob.c: Likewise.
20223         * lib/glob-libc.h: Likewise.
20224         * lib/random_r.c: Likewise.
20225         * lib/siglist.h: Likewise.
20226         * lib/strsignal.c: Likewise.
20227         Reported by Ian Beckwith <ianb@erislabs.net>.
20228
20229 2009-09-17  Eric Blake  <ebb9@byu.net>
20230
20231         rmdir: ensure correct dependency order
20232         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
20233
20234 2009-09-17  Bruno Haible  <bruno@clisp.org>
20235
20236         Disable assertion that fails on NetBSD 5 / i386.
20237         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
20238         Reported by Sam Steingold <sds@gnu.org>
20239         and Hasso Tepper <hasso@netbsd.org>.
20240
20241 2009-09-16  Eric Blake  <ebb9@byu.net>
20242
20243         unlinkdir: port to mingw
20244         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
20245         on which no one can unlink a directory.
20246
20247         stdlib: sort witness names
20248         * modules/stdlib (Makefile.am): Sort replacements.
20249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
20250         * lib/stdlib.in.h: Likewise.
20251
20252         parse-duration-tests: avoid link failure
20253         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
20254         LIBINTL.
20255         Reported by Tom G. Christensen.
20256
20257         openat-tests: ensure unlinkat behaves like rmdir
20258         * tests/test-rmdir.c (main): Factor guts...
20259         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
20260         * modules/rmdir-tests (Files): Ship new file.
20261         * modules/openat-tests: New test.
20262         * tests/test-unlinkat.c: Likewise.
20263
20264         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
20265         * modules/rmdir-errno (Status, Notice): Now obsolete.
20266
20267         rmdir: work around cygwin 1.5.x and mingw bugs
20268         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
20269         * lib/rmdir.c (rmdir): Work around it.
20270         * modules/rmdir (Status, Notice): No longer obsolete.
20271         (Files): Add dos.m4.
20272         (Depends-on): Add unistd.
20273         (configure.ac): Set witnesses.
20274         (License): Relax to LGPLv2+.
20275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
20276         * modules/unistd (Makefile.am): Substitute witnesses.
20277         * lib/unistd.in.h (rmdir): Declare replacement.
20278         * doc/posix-functions/rmdir.texi (rmdir): Document this.
20279         * modules/rmdir-tests: New tests.
20280         * tests/test-rmdir.c: Likewise.
20281
20282 2009-09-15  Eric Blake  <ebb9@byu.net>
20283
20284         fchdir: improve use of replacement functions
20285         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
20286         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
20287         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
20288         REPLACE_CLOSEDIR.
20289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
20290         * modules/sys_stat (Makefile.am): Substitute correct witness.
20291         * modules/dirent (Makefile.am): Likewise.
20292         * modules/unistd (Makefile.am): Likewise.
20293         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
20294         * lib/unistd.in.h (dup): Likewise.
20295         * lib/sys_stat.in.h (fstat): Likewise.
20296
20297         maint: ignore gnulib-tool temp files
20298         * .gitignore: Ignore files created during gnulib-tool --test.
20299
20300 2009-09-13  Jim Meyering  <meyering@redhat.com>
20301
20302         posixtm: don't reject a time that specify "60" as the number of seconds
20303         * lib/posixtm.c (posixtime): The code to reject invalid dates
20304         would also reject a time specified with the .60 suffix.
20305         But POSIX allows that, in order to accommodate leap seconds.
20306         So don't reject it.
20307         (main): Adjust tests accordingly.
20308         * modules/posixtm (Depends-on): Add stpcpy.
20309
20310 2009-09-11  Jim Meyering  <meyering@redhat.com>
20311
20312         announce-gen: include [$release_type] in emitted Subject:
20313         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
20314         e.g., [stable] in the emitted Subject: line.
20315
20316 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20317
20318         Remove obsolete macros from several modules.
20319         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
20320         obsolete Autoconf macros with their modern counterparts.
20321         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
20322         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
20323         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
20324         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
20325         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
20326         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20327         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20328         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20329         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20330         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
20331         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
20332         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
20333         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
20334         * m4/sockets.m4 (gl_SOCKETS): Likewise.
20335         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
20336         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
20337         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
20338         * m4/time_r.m4 (gl_TIME_R): Likewise.
20339         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20340         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
20341         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
20342
20343         Fix copyright header in build-aux scripts.
20344         * build-aux/git-version-gen: Fix copyright header to match GPLv3
20345         recommendation.
20346         * build-aux/ncftpput-ftp: Likewise.
20347         * build-aux/update-copyright: Likewise.
20348
20349 2009-09-09  Eric Blake  <ebb9@byu.net>
20350
20351         test-link: allow Linux choice of errno
20352         * tests/test-link.c (main): Relax test for alternate error.
20353
20354         strndup: fix improper m4 caching
20355         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
20356         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
20357         (gl_PREREQ_STRNDUP): Delete.
20358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
20359         * modules/string (Makefile.am): Substitute it.
20360         * lib/string.in.h (strndup): Modernize prototype.
20361
20362         getcwd: port to mingw
20363         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
20364         different from the POSIX assumptions made throughout the getcwd
20365         module; fortunately, the mingw getcwd does not need replacement.
20366         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
20367         * modules/getcwd-tests: New test.
20368         * tests/test-getcwd.c: Likewise.
20369
20370         link: fix platform bugs
20371         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
20372         * lib/link.c (link): Work around them.  Fix related mingw bug.
20373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
20374         * modules/unistd (Makefile.am): Substitute it.
20375         * lib/unistd.in.h (link): Declare replacement.
20376         * doc/posix-functions/link.texi (link): Document this.
20377         * modules/link (Depends-on): Add strdup-posix, sys_stat.
20378
20379         test-link: consolidate into single C program, test more cases
20380         * tests/test-link.sh: Delete.
20381         * tests/test-link.c: Test more error conditions.  Exposes bugs on
20382         at least Cygwin and Solaris.
20383         * modules/link-tests (Files): Remove unused file.
20384         (Depends-on): Add errno, sys_stat.
20385         (Makefile.am): Simplify.
20386
20387 2009-09-08  Bruno Haible  <bruno@clisp.org>
20388
20389         Work around towlower, towupper bug on mingw.
20390         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
20391         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
20392         * doc/posix-functions/towlower.texi: Mention the mingw bug.
20393         * doc/posix-functions/towupper.texi: Likewise.
20394         Reported by Eric Blake.
20395
20396 2009-09-08  Jim Meyering  <meyering@redhat.com>
20397
20398         build: don't try to run autoheader if we don't use it
20399         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
20400         is not used in configure.ac.
20401
20402 2009-09-08  Eric Blake  <ebb9@byu.net>
20403
20404         euidaccess: fix compilation error
20405         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
20406
20407         rawmemchr: relax license
20408         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
20409         okay.
20410         Reported by Jim Meyering.
20411
20412         mkfifoat: new module
20413         * modules/mkfifoat: New file.
20414         * lib/mkfifoat.c: Likewise.
20415         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
20416         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
20417         * modules/sys_stat (Makefile.am): Use them.
20418         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
20419         * MODULES.html.sh (File system functions): Mention module.
20420         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
20421         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
20422         * modules/mkfifoat-tests: New test.
20423         * tests/test-mkfifoat.c: Likewise.
20424
20425         strchrnul: relax license
20426         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
20427         okay.
20428         Reported by Jim Meyering.
20429
20430 2009-09-08  Eric Blake  <ebb9@byu.net>
20431
20432         fstatat: fix compilation on Solaris
20433         * lib/fstatat.c (includes): Add fcntl.h.
20434         Reported by Pádraig Brady.
20435
20436 2009-09-07  Eric Blake  <ebb9@byu.net>
20437
20438         rename: modernize replacement
20439         * modules/rename (Depends-on): Add stdio.
20440         (configure.ac): Declare witness.
20441         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
20442         stdio take care of replacement.
20443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
20444         * modules/stdio (Makefile.am): Substitute them.
20445         * lib/stdio.in.h (rename): Declare replacement.
20446         * lib/rename.c (includes): Allow cross-compilation to non-windows
20447         machines.
20448         * doc/posix-functions/rename.texi (rename): Improve
20449         documentation.
20450
20451         stdio: sort witness names
20452         * modules/stdio (Makefile.am): Sort replacements.
20453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20454         * lib/stdio.in.h: Likewise.
20455
20456         getcwd: minor cleanups
20457         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
20458         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
20459
20460         openat: provide more convenience names
20461         * modules/faccessat (configure.ac): Add C witness.
20462         * lib/unistd.in.h (readlinkat): Fix typo.
20463         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
20464         convenience wrappers.
20465         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
20466         wrappers in syntax checks.
20467
20468 2009-09-06  Eric Blake  <ebb9@byu.net>
20469
20470         doc: fix comments in recent patches
20471         * lib/faccessat.c: Mention correct function.
20472         * lib/fchmodat.c: Likewise.
20473         * lib/fchownat.c: Likewise.
20474         * lib/symlinkat.c: Likewise.
20475         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
20476         constants.
20477
20478         faccessat, symlinkat: continue cleanup of previous patch
20479         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
20480         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
20481         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
20482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
20483         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
20484         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
20485         set.
20486
20487 2009-09-06  Bruno Haible  <bruno@clisp.org>
20488
20489         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
20490         (fstatat): Declare if GNULIB_FSTATAT is set.
20491         (mkdirat): Declare if GNULIB_MKDIRAT is set.
20492         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
20493         (unlinkat): Declare if GNULIB_UNLINKAT is set.
20494         * modules/fcntl-h (Files): Remove m4/openat.m4.
20495         * modules/sys_stat (Files): Remove m4/openat.m4.
20496         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
20497         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
20498         * modules/unistd (Files): Remove m4/openat.m4.
20499         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
20500         GNULIB_OPENAT.
20501         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
20502         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
20503         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
20504         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
20505         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
20506         gl_OPENAT_DEFAULTS.
20507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
20508         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
20509         Don't require gl_OPENAT_DEFAULTS.
20510         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
20511         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
20512         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
20513         (gl_OPENAT_DEFAULTS): Remove macro.
20514
20515 2009-09-06  Bruno Haible  <bruno@clisp.org>
20516
20517         * modules/openat (configure.ac): Remove unneeded witness.
20518
20519 2009-09-06  Bruno Haible  <bruno@clisp.org>
20520
20521         Set errno to ENOSYS when a function is entirely unsupported.
20522         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
20523         EOPNOTSUPP.
20524         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
20525         * modules/chown (Depends-on): Remove errno.
20526
20527 2009-09-06  Bruno Haible  <bruno@clisp.org>
20528
20529         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
20530
20531 2009-09-06  Bruno Haible  <bruno@clisp.org>
20532
20533         * lib/sys_stat.in.h: Fix preprocessor command indentation.
20534
20535 2009-09-06  Ben Pfaff  <blp@gnu.org>
20536             Bruno Haible  <bruno@clisp.org>
20537
20538         Work around a glibc bug in strtok_r.
20539         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
20540         Undefine if UNDEFINE_STRTOK_R is set.
20541         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
20542         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20543         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
20544         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
20545         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
20546         UNDEFINE_STRTOK_R.
20547         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
20548
20549 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
20550
20551         exclude: minor fix
20552         * lib/exclude.c: Include wctype.h
20553
20554 2009-09-06  Akim Demaille  <demaille@gostai.com>
20555
20556         bootstrap: improve error message
20557         * build-aux/bootstrap (find_tool): Upon failure, report the list
20558         of candidates.
20559         Honor the initial value of the envvar.
20560
20561 2009-09-05  Eric Blake  <ebb9@byu.net>
20562
20563         symlinkat: new module
20564         * modules/symlinkat: New file.
20565         * lib/symlinkat.c: Likewise.
20566         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
20567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
20568         * modules/unistd (Makefile.am): Use them.
20569         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
20570         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
20571         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
20572         * MODULES.html.sh (File system functions): Mention module.
20573         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20574         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20575         * modules/symlinkat-tests: New test.
20576         * tests/test-symlinkat.c: Likewise.
20577
20578         test-openat-safer: add more checks
20579         * tests/test-openat-safer.c (main): Check more code paths.
20580
20581 2009-09-05  Jim Meyering  <meyering@redhat.com>
20582
20583         syntax-check: detect unnecessary inclusion of openat.h
20584         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
20585
20586 2009-09-05  Bruno Haible  <bruno@clisp.org>
20587
20588         Support towlower, towupper.
20589         * doc/posix-functions/towlower.texi: Mention module wctype.
20590         * doc/posix-functions/towupper.texi: Likewise.
20591         * lib/wctype.in.h (towlower, towupper): New functions.
20592         * tests/test-wctype.c: Include stdio.h, stdlib.h.
20593         (ASSERT): New macro.
20594         (e): New variable.
20595         (main): Test also towlower, towupper. Test WEOF argument.
20596         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
20597
20598 2009-09-05  Bruno Haible  <bruno@clisp.org>
20599
20600         Fix conversion behaviour when the input is invalid.
20601         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
20602         mark occurring in first pass of indirect conversion.
20603         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
20604         input.
20605         Found by clang's static analyzer.
20606
20607 2009-09-05  Bruno Haible  <bruno@clisp.org>
20608
20609         * tests/test-striconveh.c (main): Test indirect conversion on platforms
20610         where direct conversion is possible.
20611
20612 2009-09-04  Eric Blake  <ebb9@byu.net>
20613
20614         openat: fail with ENOENT on empty name
20615         * lib/openat-proc.c (openat_proc_name): Special-case the empty
20616         buffer.
20617
20618         link-follow: fix logic bug in prior patch
20619         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
20620         reversed sense of yes and no in prior patch.  Avoid confusing
20621         compilation failure with desired semantics.
20622
20623         link-follow: accomodate mingw and cross-compilation
20624         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
20625         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
20626         cross-compilation results to -1, to make linkat easier to
20627         implement when cross-compiling.  Trivially support mingw.
20628         * modules/link-follow (configure.ac): Call new name.
20629         * NEWS: Mention this.
20630
20631 2009-09-03  Eric Blake  <ebb9@byu.net>
20632
20633         faccessat: compile replacement
20634         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
20635         needed.
20636
20637         fts: fix compilation error
20638         * lib/fts.c (includes): Re-add "openat.h", for
20639         openat_needs_fchdir.
20640
20641         faccessat: new module
20642         * modules/faccessat: New file.
20643         * lib/faccessat.c: Likewise.
20644         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
20645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20646         * modules/unistd (Makefile.am): Use it.
20647         * lib/unistd.in.h (faccessat): Declare it.
20648         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
20649         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
20650         * MODULES.html.sh (File system functions): Mention it.
20651         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
20652         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
20653
20654         euidaccess: prefer POSIX over non-standard implementation
20655         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
20656         * lib/euidaccess.c (euidaccess): Use it if available.
20657
20658         openat: make template easier to use
20659         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
20660         AT_FUNC_F2 to be undefined.
20661         (VALIDATE_FLAG): New macro; use it to reject bad flags.
20662         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
20663         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
20664         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
20665         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
20666         Likewise.
20667         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
20668         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
20669         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
20670         Likewise.
20671
20672         openat: declare in POSIX headers
20673         * NEWS: Mention this.
20674         * modules/openat (configure.ac): Declare witnesses.
20675         (Depends-on): Add fcntl-h, sys_stat, unistd.
20676         (Include): Mention correct headers.
20677         * modules/fcntl-h (Depends-on): Add link-warning.
20678         (Files): Add openat.m4.
20679         (Makefile.am): Substitute witnesses.
20680         * modules/sys_stat (Files, Makefile.am): Likewise.
20681         * modules/unistd (Files, Makefile.am): Likewise.
20682         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
20683         (gl_OPENAT_DEFAULTS): New macro.
20684         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
20685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
20686         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
20687         (SYS_STAT_H): Remove unused variable.
20688         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
20689         * lib/fcntl--.h (includes): Remove unneeded header.
20690         * lib/openat-safer.c (includes): Likewise.
20691         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
20692         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
20693         appropriate headers.
20694         (__OPENAT_PREFIX): Delete.
20695         * lib/fcntl.in.h (openat): Provide declaration.
20696         (AT_FDCWD): Fix Solaris bug.
20697         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
20698         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
20699         * lib/fchmodat.c (includes):  Adjust to find declaration.
20700         * lib/fchownat.c (includes): Likewise.
20701         * lib/mkdirat.c (includes): Likewise.
20702         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
20703         still visible.
20704
20705 2009-09-02  Eric Blake  <ebb9@byu.net>
20706
20707         errno: use consistently
20708         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
20709         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
20710         * lib/canonicalize.c (ELOOP): Likewise.
20711         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
20712         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
20713         * lib/lchown.c (EOPNOTSUPP): Likewise.
20714         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
20715         * lib/savewd.c (ESTALE): Likewise.
20716         * lib/settime.c (ENOSYS): Likewise.
20717         * lib/utimens.c (ENOSYS): Likewise.
20718         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
20719         * lib/chdir-safer.c (ELOOP): Likewise.
20720         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
20721         * modules/c-stack (Depends-on): Add errno.
20722         * modules/canonicalize (Depends-on): Likewise.
20723         * modules/chdir-safer (Depends-on): Likewise.
20724         * modules/fdopendir (Depends-on): Likewise.
20725         * modules/inet_ntop (Depends-on): Likewise.
20726         * modules/inet_pton (Depends-on): Likewise.
20727         * modules/lchown (Depends-on): Likewise.
20728         * modules/openat (Depends-on): Likewise.
20729         * modules/savewd (Depends-on): Likewise.
20730         * modules/settime (Depends-on): Likewise.
20731         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
20732
20733         fts: avoid leaking fds
20734         * modules/fts (Depends-on): Add cloexec.
20735         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
20736         flag.
20737
20738         fts: make directory fds more robust
20739         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
20740         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
20741
20742         backupfile, chdir-long, fts, savedir: make safer
20743         * lib/backupfile.c (includes): Use "dirent--.h", since
20744         numbered_backup can write to stderr during readdir.
20745         * lib/savedir.c (includes): Likewise.
20746         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
20747         emulation can write to stderr on failure.
20748         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
20749         * lib/getcwd.c: Document why opendir_safer is unused.
20750         * lib/glob.c: Likewise.
20751         * lib/scandir.c: Likewise.
20752         * lib/openat-proc.c: Likewise, for open_safer.
20753         * modules/backupfile (Depends-on): Add dirent-safer.
20754         * modules/savedir (Depends-on): Likewise.
20755         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
20756         * modules/chdir-long (Depends-on): Add openat-safer.
20757
20758         openat-safer: new module
20759         * modules/openat-safer: New file.
20760         * lib/openat-safer.c: Likewise.
20761         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
20762         * lib/fcntl-safer.h (openat_safer): Declare.
20763         * lib/fcntl--.h (openat): Override.
20764         * MODULES.html.sh (File descriptor based I/O): Mention it.
20765         * lib/openat.h: Add double-inclusion guards.
20766         * lib/openat.c (includes): Only include "fcntl-safer.h", not
20767         "fcntl--.h", so we can implement openat.
20768         * modules/openat-safer-tests: New test.
20769         * tests/test-openat-safer.c: New file.
20770
20771         dirent-safer: new module
20772         * modules/dirent-safer: New file.
20773         * lib/dirent--.h: Likewise.
20774         * lib/dirent-safer.h: Likewise.
20775         * lib/opendir-safer.c: Likewise.
20776         * m4/dirent-safer.m4: Likewise.
20777         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
20778         * modules/dirent-safer-tests: New test.
20779         * tests/test-dirent-safer.c: New file.
20780         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
20781
20782         fdopendir: optimize on mingw
20783         * lib/unistd.in.h (_gl_directory_name): New prototype.
20784         * lib/fchdir.c (_gl_directory_name): Implement it.
20785         (fchdir): Use it to simplify implementation.
20786         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
20787         fchdir, when available, to avoid calling [f]chdir().
20788
20789         fdopendir: split into its own module
20790         * lib/openat.c (fdopendir): Move...
20791         * lib/fdopendir.c: ...into new file.
20792         * modules/fdopendir: New module.
20793         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
20794         * modules/openat (Depends-on): Add fdopendir.
20795         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
20796         fdopendir here.
20797         * modules/savedir (Depends-on): Only need fdopendir, not full
20798         openat.
20799         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
20800         * lib/openat.h (fdopendir): Drop prototype.
20801         * lib/dirent.in.h (fdopendir): Provide prototype.
20802         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
20803         * modules/dirent (Makefile.am): Substitute them.
20804         * MODULES.html.sh (File system functions): Mention it.
20805         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
20806         * modules/fdopendir-tests: New file.
20807         * tests/test-fdopendir.c: Likewise.
20808
20809         fchdir: use more consistent macro convention
20810         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
20811         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
20812         REPLACE_FCHDIR, rather than relying on config.h macros.
20813         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
20814         inside a single make-time REPLACE_FCHDIR block, rather than using
20815         the config.h FCHDIR_REPLACEMENT.
20816         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
20817         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
20818         Manage fstat replacement.
20819         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
20820         REPLACE_FCHDIR.
20821         * modules/sys_stat (Files): Add m4/unistd_h.m4.
20822         (Makefile.am): Substitute REPLACE_FCHDIR.
20823         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
20824         FCHDIR_REPLACEMENT.
20825         * lib/dup-safer.c (dup_safer): Likewise.
20826         * lib/dup2.c (rpl_dup2): Likewise.
20827         * lib/dup3.c (rpl_dup3): Likewise.
20828         * lib/open.c (rpl_open): Likewise.
20829
20830         fchdir: simplify error handling, and support dup3
20831         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
20832         stdbool, malloc-posix, realloc-posix.
20833         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
20834         (ensure_dirs_slot): Return false on allocation failure.
20835         (rpl_dup2): Delete.
20836         (_gl_register_dup): New function.
20837         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
20838         (_gl_register_fd): Close fd on allocation failure.
20839         * lib/fcntl.in.h (_gl_register_fd): Update signature.
20840         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
20841         prototype.
20842         (rpl_dup2_fchdir): Delete prototype.
20843         * lib/open.c (open): Update caller.
20844         * lib/dup2.c (dup2): Track fchdir metadata.
20845         * lib/dup3.c (dup3): Likewise.
20846         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
20847         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
20848
20849 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20850
20851         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
20852         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
20853         don't pass arguments to AC_OUTPUT.
20854
20855 2009-09-02  Bruno Haible  <bruno@clisp.org>
20856
20857         * modules/mkdtemp (License): Relicense under LGPLv2+.
20858         Reported by Paolo Bonzini.
20859
20860 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20861
20862         Replace uses of obsolete autoconf macros in Jim's modules.
20863         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
20864         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
20865         can evoke a warning from autoconf when run with -Wobsolete
20866         enabled.  They were declared obsolete for good reasons (see
20867         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
20868         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
20869         should not continue using the deprecated macros.
20870         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
20871         obsolete Autoconf macros with modern counterparts.
20872         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20873         * m4/dos.m4 (gl_AC_DOS): Likewise.
20874         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
20875         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20876         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
20877         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
20878         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
20879         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
20880         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
20881         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
20882         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
20883         Likewise.
20884         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20885         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
20886         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
20887         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
20888         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
20889         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
20890
20891 2009-09-01  Eric Blake  <ebb9@byu.net>
20892
20893         fchdir: fix off-by-one bug in previous patch
20894         * lib/fchdir.c (rpl_fstat): Use correct bounds.
20895         (_gl_unregister_fd): Delete useless if.
20896
20897 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
20898
20899         maint.mk: sort the list of syntax-check rules
20900         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
20901         easier to get a sense of progress when the rules are run sequentially
20902         and take a long time.
20903
20904 2009-09-01  Simon Josefsson  <simon@josefsson.org>
20905
20906         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
20907         * modules/netinet_in: Likewise.
20908         * modules/sys_file: Likewise.
20909         * modules/sys_ioctl: Likewise.
20910         * modules/sys_select: Likewise.
20911         * modules/sys_socket: Likewise.
20912         * modules/sys_stat: Likewise.
20913         * modules/sys_time: Likewise.
20914         * modules/sys_times: Likewise.
20915         * modules/sys_utsname: Likewise.
20916         * modules/sys_wait: Likewise.
20917
20918 2009-09-01  Jim Meyering  <meyering@redhat.com>
20919
20920         fts: help ensure that return values are not ignored
20921         * lib/fts_.h (__GNUC_PREREQ): Define.
20922         (__attribute_warn_unused_result__): Define.
20923         (fts_children, fts_close, fts_open, fts_read): Declare with
20924         __attribute_warn_unused_result__.
20925
20926         fts: fts_close now fails also when closing a dir file descriptor fails
20927         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
20928         and propagate to caller, along with errno.
20929
20930         announce-gen: correct formatting in --help output
20931         * build-aux/announce-gen (usage): Move the one-line description in
20932         --help output "up", to where it belongs, just after Usage:.
20933
20934 2009-08-31  Eric Blake  <ebb9@byu.net>
20935
20936         fchdir: port to mingw
20937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
20938         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
20939         opened, then use a substitute.
20940         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
20941         replacement.
20942         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
20943         (_gl_register_fd): No need to check stat if open already filters
20944         all directories.
20945         (fchdir): Fix error condition to match POSIX.
20946         * modules/fchdir (Depends-on): Add sys_stat.
20947         * doc/posix-functions/open.texi (open): Document the limitation.
20948         * modules/fchdir-tests: New file.
20949         * tests/test-fchdir.c: Likewise.
20950
20951         canonicalize: allow cross-testing from cygwin to mingw
20952         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
20953         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
20954         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
20955         Likewise.
20956         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
20957         target does not support symlinks.
20958         * tests/test-canonicalize-lgpl.sh: Likewise.
20959
20960         chown: avoid compilation warning on mingw
20961         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
20962         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
20963         mingw.
20964         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
20965         * modules/chown (Depends-on): Add errno.
20966
20967 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20968
20969         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
20970         command.
20971
20972 2009-08-31  Jim Meyering  <meyering@redhat.com>
20973
20974         canonicalize: remove useless initialization
20975         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
20976         initialization of local, "end".
20977
20978 2009-08-30  Bruno Haible  <bruno@clisp.org>
20979
20980         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
20981         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
20982         ENOSYS.
20983
20984 2009-08-30  Bruno Haible  <bruno@clisp.org>
20985
20986         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
20987         /usr/xpg4/bin/tr when it exists.
20988         * tests/test-pipe-filter-gi1.sh: Likewise.
20989
20990 2009-08-30  Bruno Haible  <bruno@clisp.org>
20991
20992         Work around deficient /usr/bin/id program on Solaris.
20993         * tests/test-file-has-acl.sh (ID): New variable.
20994         * tests/test-set-mode-acl.sh (ID): Likewise.
20995         * tests/test-copy-acl.sh (ID): Likewise.
20996         * tests/test-copy-file.sh (ID): Likewise.
20997
20998 2009-08-30  Bruno Haible  <bruno@clisp.org>
20999
21000         New module 'xstriconveh'.
21001         * lib/xstriconveh.h: New file.
21002         * lib/xstriconveh.c: New file.
21003         * modules/xstriconveh: New file.
21004
21005 2009-08-30  Bruno Haible  <bruno@clisp.org>
21006
21007         Make it easier to use mem_cd_iconveh.
21008         * lib/striconveh.h (iconveh_t): New type.
21009         (iconveh_open, iconveh_close): New declarations.
21010         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
21011         with a single 'const iconveh_t *' argument.
21012         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
21013         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
21014         with a single 'const iconveh_t *' argument.
21015         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
21016         * tests/test-striconveh.c (main): Update.
21017         * NEWS: Mention the change.
21018
21019 2009-08-30  Bruno Haible  <bruno@clisp.org>
21020
21021         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
21022         problem.
21023
21024 2009-08-30  Bruno Haible  <bruno@clisp.org>
21025
21026         Work around iconv_open problem on Solaris.
21027         * lib/iconv_open-solaris.gperf: New file.
21028         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
21029         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
21030         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
21031         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
21032         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
21033         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
21034
21035 2009-08-29  Jim Meyering  <meyering@redhat.com>
21036
21037         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
21038         * top/maint.mk (cvs-check): Remove target; it was just an alias
21039         to the better-named vc-diff-check.
21040         (maintainer-distcheck): Remove rule.  It was used only from
21041         the (alpha/beta/major) target, and all of its commands but one
21042         were coreutils-specific.
21043         (vc-dist): Remove rule.
21044         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
21045         Run vc-diff-check, not vc-dist.
21046         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
21047
21048 2009-08-27  Bruno Haible  <bruno@clisp.org>
21049
21050         * tests/test-bitrotate.c (main): Remove test that uses a shift count
21051         of 0.
21052
21053 2009-08-27  Bruno Haible  <bruno@clisp.org>
21054
21055         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
21056         compilers.
21057         * doc/func.texi: Document the SunPRO C bug.
21058
21059 2009-08-27  Bruno Haible  <bruno@clisp.org>
21060
21061         Fix link error on Solaris.
21062         * tests/test-parse-duration.c (xstrdup): Remove function.
21063
21064 2009-08-26  Pádraig Brady  <P@draigbrady.com>
21065
21066         ignore-value: handle pointer types, too
21067         * lib/ignore-value.h (__attribute__): Remove definition.
21068         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
21069         of a more concise and more-often effective "(void) i" statement.
21070         (ignore_ptr): New function to suppress warnings from functions that
21071         return pointers, and to make it explicit that one function doesn't
21072         handle all cases.
21073
21074 2009-08-25  Bruno Haible  <bruno@clisp.org>
21075
21076         dup2: work around a Linux bug.
21077         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
21078         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
21079         * doc/posix-functions/dup2.texi: Mention the Linux bug.
21080         Reported by Simon Josefsson.
21081
21082 2009-08-25  Jim Meyering  <meyering@redhat.com>
21083
21084         libguestfs uses gnulib
21085         * users.txt: Add libguestfs.
21086
21087 2009-08-24  Eric Blake  <ebb9@byu.net>
21088
21089         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
21090         * lib/pipe2.c (includes): Add binary-io.h.
21091         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
21092
21093 2009-08-24  Bruno Haible  <bruno@clisp.org>
21094
21095         Tolerate declared but missing accept4 syscall.
21096         * lib/accept4.c (accept4): Invoke original accept4 function first, if
21097         available.
21098         * lib/sys_socket.in.h (accept4): If the function is already present,
21099         override it.
21100         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
21101         * modules/accept4 (Makefile.am): Compile accept4.c always.
21102         Reported by Paolo Bonzini and Eric Blake.
21103
21104 2009-08-23  Bruno Haible  <bruno@clisp.org>
21105
21106         New module 'accept4'.
21107         * lib/sys_socket.in.h (accept4): New declaration.
21108         * lib/accept4.c: New file.
21109         * m4/accept4.m4: New file.
21110         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21111         GNULIB_ACCEPT4, HAVE_ACCEPT4.
21112         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
21113         HAVE_ACCEPT4.
21114         * modules/accept4: New file.
21115         * doc/glibc-functions/accept4.texi: Mention the new module.
21116
21117 2009-08-24  Jim Meyering  <meyering@redhat.com>
21118
21119         progname: also set global program_invocation_name, when possible
21120         Before this change, a libtool-enabled program that calls glibc's
21121         error function would report the program name as
21122         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
21123         * modules/progname (configure.ac): Check for a declaration of
21124         program_invocation_name.
21125         * lib/progname.c:  Include <errno.h>.
21126         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
21127         Set program_invocation_name.
21128
21129 2009-08-23  Bruno Haible  <bruno@clisp.org>
21130
21131         * lib/dup3.c: Include <string.h>.
21132
21133 2009-08-23  Bruno Haible  <bruno@clisp.org>
21134
21135         * lib/dup3.c (dup3): Test only once whether the system actually exists.
21136         * lib/pipe2.c (pipe2): Likewise.
21137         Suggested by Eric Blake.
21138
21139 2009-08-23  Bruno Haible  <bruno@clisp.org>
21140
21141         Tolerate declared but missing dup3 syscall.
21142         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
21143         * lib/unistd.in.h (dup3): If the function is already present,
21144         override it.
21145         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
21146         * modules/dup3 (Makefile.am): Compile dup3.c always.
21147         Reported by Paolo Bonzini.
21148
21149 2009-08-23  Bruno Haible  <bruno@clisp.org>
21150
21151         Tolerate declared but missing pipe2 syscall.
21152         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
21153         available.
21154         * lib/unistd.in.h (pipe2): If the function is already present,
21155         override it.
21156         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
21157         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
21158         Reported by Paolo Bonzini.
21159
21160 2009-08-23  Bruno Haible  <bruno@clisp.org>
21161
21162         * lib/pipe2.c (pipe2): Move #ifs inside function.
21163
21164 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
21165
21166         quotearg: document limitations of quote_these_too
21167         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
21168         those limitations are created.
21169         * lib/quotearg.h (set_char_quoting): Document that digits and
21170         letters that are special after backslash are not permitted.
21171         (quotearg_char): Cross-reference set_char_quoting documentation.
21172
21173 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
21174
21175         quotearg: implement custom_quoting_style
21176         * lib/quotearg.c: (struct quoting_options): Add left_quote and
21177         right_quote fields.
21178         (set_custom_quoting): New public function.
21179         (quotearg_buffer_restyled): Add left_quote and right_quote
21180         arguments, handle them very much like locale quoting, and update
21181         all uses.
21182         (quotearg_n_custom): New public function.
21183         (quotearg_n_custom_mem): New public function.
21184         (quotearg_custom): New public function.
21185         (quotearg_custom_mem): New public function.
21186         * lib/quotearg.h: Prototype and document new public functions.
21187         (enum quoting_style): For escape_quoting_style and
21188         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
21189         ignored even though they're otherwise like c_quoting_style.
21190         Add custom_quoting_style member and document with comparison to
21191         clocale_quoting_style.
21192         * tests/test-quotearg.c (custom_quotes): New array.
21193         (custom_results): New array.
21194         (main): Extend to test custom quoting.
21195
21196 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
21197
21198         quotearg: fix right quote escaping when it's in quote_these_too
21199         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
21200         quote, be sure to prepend only one backslash.
21201         * tests/test-quotearg.c (use_quote_double_quotes): New function.
21202         (main): Test it.
21203
21204 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
21205
21206         quotearg-tests: test escaping of embedded locale quotes
21207         * tests/test-quotearg.c (struct result_strings): Add member for
21208         new input.
21209         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
21210         (inputs): Add new input.
21211         (results_g): Add expected results.
21212         (flag_results): Likewise.
21213         (locale_results): Likewise.
21214         (compare_strings): Check those.
21215
21216 2009-08-23  Bruno Haible  <bruno@clisp.org>
21217
21218         Tests for module 'dup3'.
21219         * modules/dup3-tests: New file.
21220         * tests/test-dup3.c: New file.
21221
21222         New module 'dup3'.
21223         * lib/unistd.in.h (dup3): New declaration.
21224         * lib/dup3.c: New file.
21225         * m4/dup3.m4: New file.
21226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
21227         HAVE_DUP3.
21228         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
21229         * modules/dup3: New file.
21230         * doc/glibc-functions/dup3.texi: Mention the new module.
21231
21232 2009-08-23  Bruno Haible  <bruno@clisp.org>
21233
21234         Tweak the dup2 test.
21235         * tests/test-dup2.c (main): Create the test file empty. Verify that an
21236         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
21237         the test file is still empty. Fix argument order of lseek.
21238
21239 2009-08-23  Bruno Haible  <bruno@clisp.org>
21240
21241         Avoid test link errors when the modules getopt-gnu, gettext are used.
21242         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
21243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21244
21245 2009-08-23  Bruno Haible  <bruno@clisp.org>
21246
21247         Fix getdtablesize() on mingw.
21248         * lib/getdtablesize.c (getdtablesize): Implement differently.
21249         * lib/unistd.in.h (getdtablesize): Improve comment.
21250
21251 2009-08-23  Bruno Haible  <bruno@clisp.org>
21252
21253         New module 'mkostemp'.
21254         Based on Ulrich Drepper's 2007-08-10 change in glibc.
21255         * lib/stdlib.in.h (mksotemp): New declaration.
21256         * lib/mkostemp.c: New file, from glibc with modifications.
21257         * lib/tempname.h (GT_FILE): Remove outdated comment.
21258         (gen_tempname): Add flags argument.
21259         * lib/tempname.c (__GT_BIGFILE): Remove macro.
21260         (__GT_FILE): Map to 1.
21261         (small_open, large_open): Remove macros.
21262         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
21263         * lib/mkstemp.c (mkstemp): Update.
21264         * lib/mkdtemp.c (mkdtemp): Likewise.
21265         * m4/mkostemp.m4: New file.
21266         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
21267         HAVE_MKOSTEMP.
21268         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
21269         HAVE_MKOSTEMP.
21270         * modules/mkostemp: New file, based on modules/mkstemp.
21271         * doc/glibc-functions/mkostemp.texi: Mention the new module.
21272         * NEWS: Mention the change.
21273
21274 2009-08-23  Bruno Haible  <bruno@clisp.org>
21275
21276         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
21277         Reported by Eric Blake.
21278
21279 2009-08-23  Bruno Haible  <bruno@clisp.org>
21280
21281         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
21282         Reported by Eric Blake.
21283
21284 2009-08-23  Bruno Haible  <bruno@clisp.org>
21285
21286         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
21287         * modules/pipe2 (Depends-on): Likewise.
21288
21289 2009-08-23  Eric Blake  <ebb9@byu.net>
21290
21291         fcntl-h: add O_TTY_INIT support
21292         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
21293         * tests/test-fcntl-h.c (o): Test it.
21294         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21295
21296         fcntl-h: rename from fcntl, in preparation for fcntl(2)
21297         * modules/fcntl: Move <fcntl.h> header replacement...
21298         * modules/fcntl-h: ...to new name, so as not to collide with
21299         like-named function.
21300         * tests/test-fcntl.c: Rename...
21301         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
21302         * modules/fcntl-tests: Rename...
21303         * modules/fcntl-h-tests: ...to this.  Update test file name.
21304         * modules/chdir-long (Depends-on): Update clients.
21305         * modules/chdir-safer (Depends-on): Likewise.
21306         * modules/fcntl-safer (Depends-on): Likewise.
21307         * modules/fts (Depends-on): Likewise.
21308         * modules/mkancesdirs (Depends-on): Likewise.
21309         * modules/mkdir-p (Depends-on): Likewise.
21310         * modules/open (Depends-on): Likewise.
21311         * modules/savewd (Depends-on): Likewise.
21312         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
21313         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21314
21315 2009-08-22  Bruno Haible  <bruno@clisp.org>
21316
21317         * modules/binary-io (License): Relicense under LGPL.
21318         * modules/pipe2 (License): Likewise.
21319
21320 2009-08-22  Bruno Haible  <bruno@clisp.org>
21321
21322         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
21323         return value.
21324         * lib/pipe-filter-gi.c (filter_init): Likewise.
21325         Reported by Eric Blake.
21326
21327 2009-08-22  Bruno Haible  <bruno@clisp.org>
21328
21329         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
21330         * modules/pipe (Depends-on): Add pipe2.
21331
21332 2009-08-22  Bruno Haible  <bruno@clisp.org>
21333
21334         Tests for module 'pipe2'.
21335         * modules/pipe2-tests: New file.
21336         * tests/test-pipe2.c: New file.
21337
21338         New module 'pipe2'.
21339         * lib/unistd.in.h (pipe2): New declaration.
21340         * lib/pipe2.c: New file.
21341         * m4/pipe2.m4: New file.
21342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
21343         HAVE_PIPE2.
21344         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
21345         * modules/pipe2: New file.
21346         * doc/glibc-functions/pipe2.texi: Mention the new module.
21347
21348 2009-08-22  Bruno Haible  <bruno@clisp.org>
21349
21350         Reference some new glibc functions.
21351         * doc/glibc-functions/accept4.texi: New file.
21352         * doc/glibc-functions/dup3.texi: New file.
21353         * doc/glibc-functions/mkostemp.texi: New file.
21354         * doc/glibc-functions/pipe2.texi: New file.
21355         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
21356         (Glibc sys/socket.h): Refer to accept4.
21357         (Glibc unistd.h): Refer to dup3, pipe2.
21358         Reported by Eric Blake.
21359
21360 2009-08-22  Jim Meyering  <meyering@redhat.com>
21361             Bruno Haible  <bruno@clisp.org>
21362
21363         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
21364         This makes it so packages using automake-1.11's silent-rules option
21365         can print e.g., a single "GEN    configmake.h" line, rather than
21366         the 30+ statements that perform the job.  If you want to see the
21367         actual commands, you can still run "make V=1".
21368         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
21369         so that make output is abbreviated when those variables are defined
21370         appropriately.
21371         * modules/argz: Likewise.
21372         * modules/arpa_inet: Likewise.
21373         * modules/byteswap: Likewise.
21374         * modules/configmake: Likewise.
21375         * modules/dirent: Likewise.
21376         * modules/errno: Likewise.
21377         * modules/fcntl: Likewise.
21378         * modules/float: Likewise.
21379         * modules/fnmatch: Likewise.
21380         * modules/getopt-posix: Likewise.
21381         * modules/glob: Likewise.
21382         * modules/iconv_open: Likewise.
21383         * modules/inttypes: Likewise.
21384         * modules/localcharset: Likewise.
21385         * modules/locale: Likewise.
21386         * modules/math: Likewise.
21387         * modules/netdb: Likewise.
21388         * modules/netinet_in: Likewise.
21389         * modules/poll: Likewise.
21390         * modules/posix_spawnp-tests: Likewise.
21391         * modules/sched: Likewise.
21392         * modules/search: Likewise.
21393         * modules/selinux-h: Likewise.
21394         * modules/signal: Likewise.
21395         * modules/spawn: Likewise.
21396         * modules/stdarg: Likewise.
21397         * modules/stdbool: Likewise.
21398         * modules/stddef: Likewise.
21399         * modules/stdint: Likewise.
21400         * modules/stdio: Likewise.
21401         * modules/stdlib: Likewise.
21402         * modules/string: Likewise.
21403         * modules/strings: Likewise.
21404         * modules/sys_file: Likewise.
21405         * modules/sys_ioctl: Likewise.
21406         * modules/sys_select: Likewise.
21407         * modules/sys_socket: Likewise.
21408         * modules/sys_stat: Likewise.
21409         * modules/sys_time: Likewise.
21410         * modules/sys_times: Likewise.
21411         * modules/sys_utsname: Likewise.
21412         * modules/sys_wait: Likewise.
21413         * modules/sysexits: Likewise.
21414         * modules/time: Likewise.
21415         * modules/unistd: Likewise.
21416         * modules/wchar: Likewise.
21417         * modules/wctype: Likewise.
21418
21419 2009-08-22  Jim Meyering  <meyering@redhat.com>
21420
21421         announce-gen: detect write failure
21422         * build-aux/announce-gen: Add Coda at end.
21423         Remove equivalent-but-more-verbose block at top.
21424
21425 2009-08-19  Akim Demaille  <demaille@gostai.com>
21426
21427         bootstrap: --help to stdout.
21428         * bootstrap (usage): Don't send --help to stderr.
21429         Use a here doc instead of a long string.
21430
21431 2009-08-21  Eric Blake  <ebb9@byu.net>
21432
21433         test-popen-safer: split from test-popen
21434         * tests/test-popen.c (main): Move...
21435         * tests/test-popen.h: ...into new file.
21436         * tests/test-popen-safer2.c: New file.
21437         * modules/popen-tests (Files): Add test-popen.h.
21438         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
21439         Suggested by Bruno Haible.
21440
21441         test-fcntl-safer: split from test-open
21442         * tests/test-open.c (main): Move...
21443         * tests/test-open.h: ...into new file.
21444         * tests/test-fcntl-safer.c: New file.
21445         * modules/open-tests (Files): Add test-open.h.
21446         * modules/fcntl-safer-tests: New file.
21447         Suggested by Bruno Haible.
21448
21449         test-fopen-safer: split from test-fopen
21450         * tests/test-fopen.c (main): Move...
21451         * tests/test-fopen.h: ...into new file.
21452         * tests/test-fopen-safer.c: New file.
21453         * modules/fopen-tests (Files): Add test-fopen.h.
21454         * modules/fopen-safer-tests: New file.
21455         Suggested by Bruno Haible.
21456
21457 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
21458
21459         popen-safer: test O_CLOEXEC at run-time.
21460         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
21461
21462 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
21463
21464         fcntl: move more flags to the header
21465         * lib/cloexec.c: Do not define FD_CLOEXEC here.
21466         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
21467         * lib/fcntl.in.h: Do both things here.
21468
21469 2009-08-21  Jim Meyering  <meyering@redhat.com>
21470
21471         consistently remove $@-t before redirecting to it
21472         * modules/argz: Remove $@-t and $@ before redirecting to the former.
21473         * modules/alloca-opt: Likewise.
21474         * modules/byteswap: Likewise.
21475         * modules/fnmatch: Likewise.
21476         * modules/getopt-posix: Likewise.
21477         * modules/glob: Likewise.
21478         * modules/poll: Likewise.
21479         * modules/posix_spawnp-tests: Likewise.
21480         * modules/sys_socket: Likewise.
21481         * modules/sysexits: Likewise.
21482
21483 2009-08-21  Eric Blake  <ebb9@byu.net>
21484
21485         popen: simplify access to original popen
21486         * lib/popen.c (rpl_popen): No need to worry about popen being a
21487         macro.
21488         Reported by Bruno Haible.
21489
21490 2009-08-20  Eric Blake  <ebb9@byu.net>
21491
21492         build: avoid some compiler warnings
21493         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
21494         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
21495         type.
21496         (new_exclude_segment, excluded_file_pattern_p)
21497         (excluded_file_name_p): Reduce scope.
21498         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
21499         old-style declaration.
21500
21501 2009-08-20  Simon Josefsson  <simon@josefsson.org>
21502
21503         * tests/test-exclude1.sh: Handle Windows EOL.
21504         * tests/test-exclude2.sh: Likewise.
21505         * tests/test-exclude3.sh: Likewise.
21506         * tests/test-exclude4.sh: Likewise.
21507         * tests/test-exclude5.sh: Likewise.
21508         * tests/test-exclude6.sh: Likewise.
21509         * tests/test-exclude7.sh: Likewise.
21510
21511 2009-08-19  Akim Demaille  <demaille@gostai.com>
21512
21513         bootstrap: find sha1sum when named gsha1sum.
21514         * bootstrap (find_tool): New.
21515         ($SHA1SUM): New.
21516         Use it.
21517
21518 2009-08-20  Jim Meyering  <meyering@redhat.com>
21519
21520         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
21521         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
21522         expression that converts "." in a file name to "\." in the resulting
21523         regexp.  Start with a dummy statement, so that prior shell variable
21524         definitions are expanded portably.  Reported by Simon Josefsson.
21525
21526 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
21527
21528         Fix polling for writeability of a screen buffer.
21529         * lib/poll.c: Distinguish input and screen buffers for the
21530         Win32 implementation.
21531         * lib/select.c: Likewise.
21532
21533 2009-08-19  Eric Blake  <ebb9@byu.net>
21534
21535         popen-safer: prevent popen from clobbering std descriptors
21536         * modules/popen-safer: New file.
21537         * lib/popen-safer.c: Likewise.
21538         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
21539         * lib/stdio--.h (popen): Provide override.
21540         * lib/stdio-safer.h (popen_safer): Provide declaration.
21541         * tests/test-popen.c (includes): Partially test this.
21542         * modules/popen-safer-tests: New file, for more tests.
21543         * tests/test-popen-safer.c: Likewise.
21544         * MODULES.html.sh (file stream based Input/Output): Mention it.
21545
21546         tests: test some of the *-safer modules
21547         * modules/fopen-safer (Depends-on): Add fopen.
21548         * modules/fcntl-safer (Depends-on): Add fcntl.
21549         * modules/stdlib-safer (Depends-on): Add stdlib.
21550         (configure.ac): Set indicator.
21551         * modules/unistd-safer (configure.ac): Likewise.
21552         * modules/tmpfile-safer (configure.ac): Likewise.
21553         (Depends-on): Add tmpfile.
21554         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
21555         active.
21556         * tests/test-fopen.c (includes): Test safer versions when they are
21557         in use.
21558         * tests/test-open.c (includes): Likewise.
21559
21560         popen: fix cygwin 1.5 bug when stdin closed
21561         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
21562         * modules/popen: New file.
21563         * modules/popen-tests: Likewise.
21564         * tests/test-popen.c: Likewise.
21565         * m4/popen.m4: Likewise.
21566         * lib/popen.c: Likewise.
21567         * lib/stdio.in.h (popen): New declaration.
21568         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
21569         * modules/stdio (Makefile.am): Likewise.
21570         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
21571
21572 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
21573
21574         maint.mk: give full control over update-copyright exclusions
21575         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
21576         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
21577         (update-copyright): Don't force inclusion of top-level
21578         ChangeLog.  Don't force exclusion of all COPYING files, but make
21579         them the default exclusion instead.
21580
21581 2009-08-16  Bruno Haible  <bruno@clisp.org>
21582
21583         Fix test failures on Solaris 10.
21584         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
21585         tests when Solaris iconv() is used.
21586         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21587         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21588         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21589         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21590         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21591
21592 2009-08-16  Bruno Haible  <bruno@clisp.org>
21593
21594         Fix test failures on Solaris 10.
21595         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
21596         'tr' program and pass it as first argument.
21597         * tests/test-pipe-filter-gi1.sh: Likewise.
21598         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
21599         program as first argument.
21600         * tests/test-pipe-filter-gi1.c (main): Likewise.
21601
21602 2009-08-16  Eric Blake  <ebb9@byu.net>
21603
21604         fpurge: fix previous commits
21605         * modules/fpurge (Makefile.am): Make replacement conditional,
21606         partially reverting 2007-04-29 change; missed in previous
21607         attempt.
21608         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
21609         is missing.
21610
21611 2009-08-16  Bruno Haible  <bruno@clisp.org>
21612
21613         Clarify fpurge's effect on the file position.
21614         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
21615         * tests/test-fpurge.c (main): Make a second pass for checking the file
21616         position.
21617
21618 2009-08-16  Bruno Haible  <bruno@clisp.org>
21619
21620         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
21621         declaration of fpurge is missing.
21622         * tests/test-fpurge.c (main): Check that the file has not more contents
21623         than expected. Close the file before removing it.
21624
21625 2009-08-15  Eric Blake  <ebb9@byu.net>
21626
21627         fpurge: don't wrap working cygwin implementation
21628         * lib/fpurge.c (fpurge): Fix comment typo.
21629         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
21630         1.7 to avoid replacement.
21631         * tests/test-fpurge.c (main): Enhance test.
21632
21633 2009-08-15  Eric Blake  <ebb9@byu.net>
21634         and Jim Meyering  <meyering@redhat.com>
21635
21636         test-update-copyright: skip if perl is insufficient
21637         * tests/test-update-copyright.sh: Failure to run maintainer tool
21638         should not cause testsuite failure on cygwin 1.5.
21639
21640 2009-08-14  Eric Blake  <ebb9@byu.net>
21641
21642         doc: mention more functions added in cygwin 1.7.0
21643         * doc/posix-headers/limits.texi (limits.h): Update for recent
21644         cygwin additions.
21645         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
21646         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
21647         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
21648         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
21649         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
21650
21651 2009-08-14  Eric Blake  <ebb9@byu.net>
21652
21653         maint.mk: simplify update-copyright rule
21654         * top/maint.mk (update-copyright-local): Delete, and document how
21655         to do it in cfg.mk instead.
21656         (update-copyright-exclude-regexp): Delete, and document how to do
21657         it in .x-update-copyright instead.
21658         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
21659         exclude ChangeLog.
21660
21661 2009-08-14  Bruno Haible  <bruno@clisp.org>
21662
21663         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
21664
21665 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
21666
21667         maint.mk: support update-copyright-env
21668         * top/maint.mk (update-copyright-env): Define place-holder.
21669         (update-copyright): Expand $(update-copyright-env) before
21670         invoking update-copyright.
21671
21672 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
21673
21674         update-copyright: implement forced reformatting
21675         * build-aux/update-copyright: Implement and document
21676         UPDATE_COPYRIGHT_FORCE.
21677         * tests/test-update-copyright.sh: Test it.
21678
21679 2009-08-14  Eric Blake  <ebb9@byu.net>
21680         and Bruno Haible  <bruno@clisp.org>
21681
21682         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
21683         * tests/test-locale.c: Revert previous patch related to NULL.
21684         * tests/test-stdio.c: Likewise.
21685         * tests/test-stdlib.c: Likewise.
21686         * tests/test-string.c: Likewise.
21687         * tests/test-unistd.c: Likewise.
21688         * modules/time-tests (Depends-on): Add verify.
21689         * modules/wchar-tests (Depends-on): Likewise.
21690         * tests/test-time.c: Test for NULL compliance.
21691         * tests/test-wchar.c: Likewise.
21692         * modules/locale (Depends-on): Add stddef.
21693         * modules/stdio (Depends-on): Likewise.
21694         * modules/stdlib (Depends-on): Likewise.
21695         * modules/string (Depends-on): Likewise.
21696         * modules/time (Depends-on): Likewise.
21697         * modules/unistd (Depends-on): Likewise.
21698         * modules/wchar (Depends-on): Likewise.
21699         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
21700         * lib/stdlib.in.h (includes): Likewise.
21701         * lib/string.in.h (includes): Likewise.
21702         * lib/time.in.h (includes): Likewise.
21703         * lib/unistd.in.h (includes): Likewise.
21704         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
21705         replaced.
21706         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21707         * m4/stddef_h.m4: New file.
21708         * modules/stddef: Likewise.
21709         * lib/stddef.in.h: Likewise.
21710         * modules/stddef-tests: Likewise.
21711         * tests/test-stddef.c: Likewise.
21712         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
21713         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
21714         * doc/posix-headers/locale.texi (locale.h): Likewise.
21715         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
21716         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
21717         * doc/posix-headers/string.texi (string.h): Likewise.
21718         * doc/posix-headers/time.texi (time.h): Likewise.
21719         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
21720         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
21721
21722 2009-08-14  Eric Blake  <ebb9@byu.net>
21723
21724         doc: improve git diff of texinfo files
21725         * .gitattributes: Add rule for *.texi files, with hint on how to
21726         use it.
21727         Copied from m4, and based on a report by Bruno Haible.
21728
21729 2009-08-14  Bruno Haible  <bruno@clisp.org>
21730
21731         Disable multithread support by default on Cygwin 1.5.x for real.
21732         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
21733
21734 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
21735
21736         update-copyright: much ado about intervals
21737         * build-aux/update-copyright: Implement and document
21738         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
21739         of copyright year intervals.
21740         Also, document UPDATE_COPYRIGHT_YEAR.
21741         * tests/test-update-copyright.sh: Test it.
21742
21743         update-copyright: convert 2-digit to 4-digit years
21744         * build-aux/update-copyright: Implement and document.
21745         * tests/test-update-copyright.sh: Update.
21746
21747 2009-08-14  Jim Meyering  <meyering@redhat.com>
21748
21749         test-exclude: avoid coreutils "make check" failure
21750         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
21751         just as in test-argmatch.c.
21752
21753 2009-08-13  Eric Blake  <ebb9@byu.net>
21754
21755         test-dup2: fix bad assumption
21756         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
21757         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
21758
21759         test-version-etc: fix CRLF portability issue
21760         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
21761         recognize \r.
21762         * tests/test-argp-version-etc-1.sh: Likewise.
21763
21764         getopt: update client modules
21765         * modules/argp (Depends-on): Use getopt-gnu.
21766         * modules/git-merge-changelog (Depends-on): Likewise.
21767         * modules/long-options (Depends-on): Likewise.
21768         * modules/xstrtol (Depends-on): Likewise.
21769
21770 2009-08-13  Simon Josefsson  <simon@josefsson.org>
21771
21772         * tests/test-version-etc.sh: Don't fail on different
21773         project/version.  Don't fail on CRLF differences.  Rewrite to use
21774         multiple -e instead of multiple sed forks, suggested by Eric Blake
21775         <ebb9@byu.net>.
21776         * tests/test-argp-version-etc-1.sh: Likewise.
21777
21778 2009-08-13  Simon Josefsson  <simon@josefsson.org>
21779
21780         * tests/test-version-etc.sh: Don't fail on different
21781         project/version.
21782
21783 2009-08-12  Bruno Haible  <bruno@clisp.org>
21784
21785         Tests for modules 'getopt-posix', 'getopt-gnu'.
21786         * modules/getopt-posix-tests: New file.
21787         * tests/test-getopt.c: New file.
21788         * tests/test-getopt.h: New file.
21789         * tests/test-getopt_long.h: New file.
21790
21791         New modules 'getopt-posix', 'getopt-gnu'.
21792         * modules/getopt-gnu: New file, renamed from modules/getopt.
21793         * modules/getopt-posix: New file.
21794         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
21795         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
21796         (gl_GETOPT): Remove macro.
21797         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
21798         Disable the test against BSD systems that declare optreset. Test
21799         against mingw bug. Test against lack of support of optional arguments
21800         on many platforms.
21801         * doc/glibc-headers/getopt.texi: Update module name and list of
21802         relevant platforms.
21803         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
21804         'getopt-gnu' and more portability problems.
21805         * NEWS: Mention the changes.
21806
21807 2009-08-12  Bruno Haible  <bruno@clisp.org>
21808
21809         Ensure that optarg etc. get declared by <unistd.h>.
21810         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
21811         AC_USE_SYSTEM_EXTENSIONS.
21812         * modules/getopt (Depends-on): Add 'extensions'.
21813
21814 2009-08-12  Bruno Haible  <bruno@clisp.org>
21815
21816         Avoid test link errors.
21817         * modules/pipe-filter-ii-tests (Makefile.am): Define
21818         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
21819         * modules/pipe-filter-gi-tests (Makefile.am): Define
21820         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
21821         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21822
21823 2009-08-12  Bruno Haible  <bruno@clisp.org>
21824
21825         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
21826         gl_GETOPT_SUBSTITUTE before.
21827         (gl_GETOPT): Use it.
21828         * m4/argp.m4 (gl_ARGP): Update.
21829         Reported by Sergey Poznyakoff.
21830
21831         * m4/getopt.m4: Reorder macros.
21832         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
21833         (gl_GETOPT_SUBSTITUTE): Remove macro.
21834
21835 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
21836
21837         Minor improvement in gitlog-to-changelog
21838
21839         * build-aux/gitlog-to-changelog: New option `--format' makes
21840         output format string configurable.
21841
21842 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
21843
21844         Optimize exclude: use hash tables for non-wildcard patterns.
21845
21846         * lib/exclude.c: Include hash.h and mbuiter.h
21847         (struct exclude_pattern, exclude_segment): New data types.
21848         (struct exclude): Rewrite.
21849         (fnmatch_pattern_has_wildcards): New function.
21850         (new_exclude_segment, free_exclude_segment): New functions.
21851         (excluded_file_pattern_p, excluded_file_name_p): New functions.
21852         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
21853         * lib/exclude.h (is_fnmatch_pattern): New prototype.
21854         * modules/exclude: Depend on hash and mbuiter.
21855
21856         * modules/exclude-tests: New file.
21857         * tests/test-exclude.c: New file.
21858         * tests/test-exclude1.sh: New file.
21859         * tests/test-exclude2.sh: New file.
21860         * tests/test-exclude3.sh: New file.
21861         * tests/test-exclude4.sh: New file.
21862         * tests/test-exclude5.sh: New file.
21863         * tests/test-exclude6.sh: New file.
21864         * tests/test-exclude7.sh: New file.
21865
21866 2009-08-12  Bruno Haible  <bruno@clisp.org>
21867
21868         Ensure that getopt() gets declared by <unistd.h>.
21869         * lib/unistd.in.h: Conditionally include getopt.h.
21870         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
21871         Set GNULIB_UNISTD_H_GETOPT.
21872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21873         GNULIB_UNISTD_H_GETOPT.
21874         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
21875
21876 2009-08-12  Bruno Haible  <bruno@clisp.org>
21877
21878         Clarify logic.
21879         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
21880         gl_replace_getopt instead of GETOPT_H.
21881
21882 2009-08-12  Bruno Haible  <bruno@clisp.org>
21883
21884         * m4/getopt.m4: Add comments.
21885
21886 2009-08-12  Bruno Haible  <bruno@clisp.org>
21887
21888         Disable multithread support by default on Cygwin 1.5.x.
21889         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
21890         set gl_use_threads=no if not specified otherwise.
21891
21892 2009-08-11  Bruno Haible  <bruno@clisp.org>
21893
21894         Avoid compilation error on NetBSD 5.0.
21895         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
21896         * tests/test-stdio.c: Likewise.
21897         * tests/test-stdlib.c: Likewise.
21898         * tests/test-string.c: Likewise.
21899         * tests/test-unistd.c: Likewise.
21900         Reported by Greg Troxel <gdt@ir.bbn.com>
21901         at <https://savannah.gnu.org/support/?106973>.
21902
21903 2009-08-11  Bruno Haible  <bruno@clisp.org>
21904
21905         * modules/dup2-tests (Depends-on): Remove close.
21906
21907         Undo 2009-07-19 commit.
21908         * modules/acl-tests (Depends-on): Remove close.
21909         * modules/binary-io-tests (Depends-on): Likewise.
21910         * modules/closein-tests (Depends-on): Likewise.
21911         * modules/flock-tests (Depends-on): Likewise.
21912         * modules/fsync-tests (Depends-on): Likewise.
21913         * modules/lseek-tests (Depends-on): Likewise.
21914         * modules/pipe-tests (Depends-on): Likewise.
21915         * modules/posix_spawn-tests (Depends-on): Likewise.
21916         * modules/posix_spawnp-tests (Depends-on): Likewise.
21917         * modules/stat-time-tests (Depends-on): Likewise.
21918         * modules/yesno-tests (Depends-on): Likewise.
21919
21920 2009-08-10  Bruno Haible  <bruno@clisp.org>
21921
21922         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
21923
21924 2009-08-10  Bruno Haible  <bruno@clisp.org>
21925
21926         Fix a gcc warning.
21927         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
21928
21929 2009-08-10  Bruno Haible  <bruno@clisp.org>
21930
21931         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
21932         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
21933         not only the first time.
21934         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
21935         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
21936         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
21937         is 1, not only the the first time.
21938
21939 2009-08-10  Bruno Haible  <bruno@clisp.org>
21940
21941         Make it possible to use module 'gethostname' without module 'close'.
21942         * lib/unistd.in.h (close): Evoke a link error only if
21943         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
21944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21945         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
21946         * modules/unistd (Makefile.am): Substitute
21947         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
21948         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
21949         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
21950         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
21951         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
21952         * modules/sys_ioctl (Makefile.am): Substitute
21953         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
21954         * modules/socket (configure.ac): On native Windows, set
21955         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
21956         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
21957         Reported by Sam Steingold <sds@gnu.org>.
21958
21959 2009-08-10  Bruno Haible  <bruno@clisp.org>
21960
21961         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
21962         * modules/ioctl (configure.ac): Likewise.
21963
21964 2009-08-10  Bruno Haible  <bruno@clisp.org>
21965
21966         Avoid collision between gnulib wrapper and libintl wrapper.
21967         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
21968         already defined in intl/printf.c.
21969         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
21970         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
21971
21972 2009-08-09  Bruno Haible  <bruno@clisp.org>
21973
21974         Make <sys/select.h> really self-contained, also on Solaris 10.
21975         * lib/sys_select.in.h: Include <string.h>.
21976         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
21977         Solaris 10 problem.
21978         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
21979         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
21980         Reported by Jim Meyering.
21981
21982 2009-08-09  Bruno Haible  <bruno@clisp.org>
21983
21984         Avoid warnings from 'aclocal' that are due to a use of macro name
21985         AM_XGETTEXT_OPTION that is not defined in automake.
21986         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
21987         automake.
21988         * modules/error (configure.ac): Likewise.
21989         * modules/propername (configure.ac): Likewise.
21990         * modules/vasprintf (configure.ac): Likewise.
21991         * modules/verror (configure.ac): Likewise.
21992         * modules/xprintf (configure.ac): Likewise.
21993         * modules/xvasprintf (configure.ac): Likewise.
21994
21995 2009-08-08  Bruno Haible  <bruno@clisp.org>
21996
21997         Avoid compilation error in C++ mode.
21998         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
21999         Reported by Sam Steingold <sds@gnu.org>.
22000
22001 2009-08-08  Bruno Haible  <bruno@clisp.org>
22002
22003         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
22004         for the various Unix platforms.
22005         * doc/posix-headers/limits.texi: Update platforms list regarding
22006         HOST_NAME_MAX.
22007         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22008
22009 2009-08-07  Jim Meyering  <meyering@redhat.com>
22010
22011         selinux-at: fix typo in a comment
22012         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
22013         Spotted by Paolo Bonzini.
22014
22015         selinux-at: remove redundant m4 code, add documentation
22016         * modules/selinux-at (configure.ac): Remove redundant code.
22017         LIB_SELINUX is already set via the dependent module, selinux-h.
22018         (Include): Add quotes around selinux-at.h.
22019         * lib/selinux-at.h: Add documentation.
22020         Reported by Bruno Haible in
22021         http://marc.info/?l=gnulib-bug&m=124958988300749
22022
22023 2009-08-07  Bruno Haible  <bruno@clisp.org>
22024
22025         Avoid link error on MacOS X 10.3 and 10.4.
22026         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
22027         on non-ELF systems.
22028         * lib/argp-pv.c (argp_program_version): Likewise.
22029         Reported by Simon Josefsson.
22030
22031 2009-08-07  Simon Josefsson  <simon@josefsson.org>
22032
22033         * tests/test-version-etc.sh: Use $EXEEXT.
22034
22035 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
22036
22037         update-copyright: update documentation to point to maint.mk
22038         * build-aux/update-copyright: Here.
22039
22040 2009-08-06  Jim Meyering  <meyering@redhat.com>
22041
22042         maint.mk: support update-copyright-local
22043         * top/maint.mk (update-copyright-local): Define place-holder.
22044         (update-copyright): Depend on $(update-copyright-local).
22045
22046 2009-08-06  Jim Meyering  <meyering@redhat.com>
22047
22048         selinux-at: new module
22049         Initially written for coreutils, this module will soon be
22050         used by findutils, too.
22051         * MODULES.html.sh [Misc]: Add selinux-at.
22052         * lib/selinux-at.h: New file, from coreutils.
22053         * lib/selinux-at.c: Likewise.
22054         * modules/selinux-at: Likewise.
22055         (License): Change from LGPL to GPL, since it depends
22056         on the GPL'd openat module.
22057
22058         doc: update README
22059         * README: Remove references to cogito.
22060         Remove cvs-repo-updating instructions from 2007.
22061         Don't imply that CVS is better if you have limited disk space.
22062
22063 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
22064
22065         update-copyright: support C-style comments
22066         * build-aux/update-copyright: Implement and document.
22067         * tests/test-update-copyright.sh: Test.
22068
22069 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
22070
22071         update-copyright: support omitted "(C)"
22072         * build-aux/update-copyright: Implement and document.  Also,
22073         allow variable whitespace before "(C)".
22074         * tests/test-update-copyright.sh: Test.
22075
22076 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
22077
22078         update-copyright: don't trip on non-FSF copyright statements
22079         * build-aux/update-copyright: Fix so that the first correctly
22080         formatted FSF copyright statement is recognized no matter what
22081         appears before it.  Update documentation.
22082         * tests/test-update-copyright.sh: Test that.
22083
22084 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
22085
22086         update-copyright: clean up code a little
22087         * build-aux/update-copyright: Append "_re" to the name of any
22088         variable holding a regular expression.
22089         Replace "old" and "new" with "stmt" in variable names.
22090         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
22091         handled correctly.
22092         Format code more consistently.
22093
22094 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
22095
22096         update-copyright-tests: improve portability
22097         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
22098         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
22099
22100 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
22101
22102         update-copyright: support @copyright{} and &copy;
22103         * build-aux/update-copyright: Implement and document.
22104         * tests/test-update-copyright.sh: Test.
22105
22106 2009-08-04  Jim Meyering  <meyering@redhat.com>
22107
22108         update-copyright-tests: correctly test EOL=\r\n handling
22109         * tests/test-update-copyright.sh: Put \r at the end of some lines
22110         for the dos-eol tests.  Based on a patch by Joel E. Denny.
22111
22112         maint.mk: make update-copyright exclusion list more configurable
22113         * top/maint.mk (update-copyright): Default to excluding COPYING,
22114         but allow an override, in case someone does want to update that file.
22115
22116         maint.mk: don't update copyright date in COPYING
22117         * top/maint.mk (update-copyright): Exclude COPYING.
22118
22119         maint.mk: add a copyright-updating rule
22120         * top/maint.mk (update-copyright): New rule.
22121         Derived from coreutils/Makefile.am.
22122
22123         update-copyright: rename some variables
22124         * build-aux/update-copyright: Rename a few variables for clarity.
22125         Tweak syntax.  List Joel E. Denny as coauthor.
22126
22127 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
22128
22129         update-copyright: fix bug for 2-digit last year and add tests
22130         * build-aux/update-copyright: Fix bug.
22131         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
22132         specified.
22133         * modules/update-copyright-tests: New
22134         * tests/test-update-copyright.sh: New.
22135
22136 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
22137
22138         update-copyright: handle leading tabs in line prefix
22139         * build-aux/update-copyright: Count leading tabs as 8 spaces
22140         when computing margin.  This helps with the formatting of
22141         ChangeLogs, for example.
22142         Fix documentation a little.
22143
22144 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
22145
22146         update-copyright: support EOL=\r\n
22147         * build-aux/update-copyright: Implement that.
22148
22149 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
22150
22151         update-copyright: automatically format copyright statements
22152         * build-aux/update-copyright: Implement that.
22153         Also, be a little more predictable and safer by always failing
22154         when the full copyright format is not perfectly recognized as an
22155         unbroken whole.  Discussed at
22156         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
22157         Rewrite documentation.
22158
22159 2009-08-03  Bruno Haible  <bruno@clisp.org>
22160
22161         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
22162
22163 2009-08-02  Bruno Haible  <bruno@clisp.org>
22164
22165         Tests for module 'uname'.
22166         * modules/uname-tests: New file.
22167         * tests/test-uname.c: New file.
22168
22169         New module 'uname'.
22170         * lib/uname.c: New file.
22171         * m4/uname.m4: New file.
22172         * modules/uname: New file.
22173         * doc/posix-functions/uname.texi: Mention the new module.
22174
22175 2009-08-02  Bruno Haible  <bruno@clisp.org>
22176
22177         Tests for module 'sys_utsname'.
22178         * modules/sys_utsname-tests: New file.
22179         * tests/test-sys_utsname.c: New file.
22180
22181         New module 'sys_utsname'.
22182         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
22183         * m4/sys_utsname_h.m4: New file.
22184         * modules/sys_utsname: New file.
22185         * doc/posix-headers/sys_utsname.texi: Mention the new module.
22186
22187 2009-08-02  Bruno Haible  <bruno@clisp.org>
22188
22189         Implicitly initialize the sockets library.
22190         * lib/gethostname.c: Include sockets.h.
22191         (rpl_gethostname): Invoke gl_sockets_startup.
22192         * lib/socket.c: Include sockets.h.
22193         (rpl_socket): Invoke gl_sockets_startup.
22194         * modules/gethostname (Depends-on): Add sockets.
22195         * modules/socket (Depends-on): Likewise.
22196         * tests/test-poll.c: Don't include sockets.h.
22197         (main): Don't invoke gl_sockets_startup.
22198         * tests/test-select.c: Don't include sockets.h.
22199         (main): Don't invoke gl_sockets_startup.
22200
22201 2009-08-02  Bruno Haible  <bruno@clisp.org>
22202
22203         Allow multiple calls to gl_sockets_startup.
22204         * lib/sockets.c (initialized_sockets_version): New variable.
22205         (gl_sockets_startup): Do nothing if already called for this or a higher
22206         version.
22207         (gl_sockets_cleanup): Reset initialized_sockets_version.
22208
22209 2009-08-03  Simon Josefsson  <simon@josefsson.org>
22210
22211         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
22212         different project/version.
22213
22214 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
22215             Bruno Haible  <bruno@clisp.org>
22216
22217         Tests for module 'pipe-filter-gi'.
22218         * modules/pipe-filter-gi-tests: New file.
22219         * tests/test-pipe-filter-gi1.sh: New file.
22220         * tests/test-pipe-filter-gi1.c: New file.
22221         * tests/test-pipe-filter-gi2.sh: New file.
22222         * tests/test-pipe-filter-gi2-main.c: New file.
22223         * tests/test-pipe-filter-gi2-child.c: New file.
22224
22225         New module 'pipe-filter-gi'.
22226         * lib/pipe-filter-gi.c: New file.
22227         * modules/pipe-filter-gi: New file.
22228
22229 2009-08-02  Bruno Haible  <bruno@clisp.org>
22230             Paolo Bonzini  <bonzini@gnu.org>
22231
22232         Tests for module 'pipe-filter-ii'.
22233         * modules/pipe-filter-ii-tests: New file.
22234         * tests/test-pipe-filter-ii1.sh: New file.
22235         * tests/test-pipe-filter-ii1.c: New file.
22236         * tests/test-pipe-filter-ii2.sh: New file.
22237         * tests/test-pipe-filter-ii2-main.c: New file.
22238         * tests/test-pipe-filter-ii2-child.c: New file.
22239
22240         New module 'pipe-filter-ii'.
22241         * lib/pipe-filter.h: New file.
22242         * lib/pipe-filter-ii.c: New file.
22243         * lib/pipe-filter-aux.h: New file.
22244         * modules/pipe-filter-ii: New file.
22245
22246 2009-08-02  Simon Josefsson  <simon@josefsson.org>
22247
22248         * lib/gc-libgcrypt.c: Change copyright to FSF.
22249         * lib/gc-gnulib.c: Likewise.
22250
22251 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
22252
22253         * lib/gethostname.c: Include limits.h.
22254
22255 2009-08-02  Simon Josefsson  <simon@josefsson.org>
22256             Bruno Haible  <bruno@clisp.org>
22257
22258         Ensure HOST_NAME_MAX as part of the gethostname module.
22259         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
22260         define also HOST_NAME_MAX.
22261         * tests/test-gethostname.c: Include <limits.h>.
22262         (main): Check also HOST_NAME_MAX.
22263         * doc/posix-headers/limits.texi: Document the mingw problem.
22264
22265 2009-08-02  Bruno Haible  <bruno@clisp.org>
22266
22267         * lib/gethostname.c (gethostname): Fix handling of large len argument.
22268         Add comments.
22269
22270 2009-03-31  Simon Josefsson  <simon@josefsson.org>
22271
22272         * lib/gethostname.c: Add Windows wrapper.
22273         * m4/gethostname.m4: Look for gethostname in -lws2_32.
22274         * modules/gethostname: Depend on sys_socket & errno, for also
22275         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
22276         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
22277
22278 2009-07-31  Jim Meyering  <meyering@redhat.com>
22279
22280         getloadavg: fix symbol name in comment
22281         * lib/getloadavg.c: Correct a typo I introduced when adding
22282         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
22283         Matt Kraai spotted the problem.
22284
22285 2009-07-29  Matt Kraai  <mkraai@beckman.com>
22286
22287         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
22288         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
22289         code also if ! defined N_NAME_POINTER.
22290         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
22291         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
22292         but the n_name member is a 12-byte array.
22293
22294 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
22295
22296         update-copyright: generalize comment handling
22297         * build-aux/update-copyright: Handle copyright statements
22298         within more comment styles.
22299         Document usage.
22300         Report any file with an external copyright holder or parse failure.
22301
22302 2009-07-29  Jim Meyering  <meyering@redhat.com>
22303
22304         mktime: correct setting of REPLACE_MKTIME
22305         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
22306
22307         update-copyright: new module
22308         * modules/update-copyright: New file.
22309         * build-aux/update-copyright: New file.
22310         * MODULES.html.sh (maint+release support): Add update-copyright.
22311
22312 2009-07-27  Bruno Haible  <bruno@clisp.org>
22313
22314         Fix compilation error when <ctime> is used and mktime is replaced.
22315         * lib/time.in.h (mktime): New declaration.
22316         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
22317         REPLACE_MKTIME instead of defining mktime in config.h.
22318         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
22319         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
22320         Reported by Ross McFarland <rwmcfa1@neces.com>.
22321
22322 2009-07-27  Bruno Haible  <bruno@clisp.org>
22323
22324         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
22325         Reported by Matt Kraai <mkraai@beckman.com>.
22326
22327 2009-07-25  Jim Meyering  <meyering@redhat.com>
22328
22329         maint.mk: avoid warnings about missing files
22330         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
22331         diagnostic when .prev-version does not exist.
22332         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
22333         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
22334         nonexistent cfg.mk.
22335         Suggestions from Simon Josefsson.
22336
22337 2009-07-25  Bruno Haible  <bruno@clisp.org>
22338
22339         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
22340         defined as macros. Needed on QNX 6.4.1.
22341         Reported by Matt Kraai <mkraai@beckman.com>.
22342
22343 2009-07-23  Jim Meyering  <meyering@redhat.com>
22344
22345         maint.mk: invoke "make dist" with a working value of XZ_OPT
22346         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
22347
22348 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
22349
22350         Make fseeko.c compile on QNX.
22351         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
22352
22353 2009-07-22  Peter Simons  <simons@cryp.to>
22354
22355         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
22356         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
22357         * lib/md4.h: Likewise.
22358         * lib/md5.h: Likewise.
22359         * lib/sha1.h: Likewise.
22360         * lib/sha256.h: Likewise.
22361         * lib/sha512.h: Likewise.
22362
22363         tests-sha1: don't assign literal string to 'char *' variable
22364         * tests/test-sha1.c (main): Declare locals with "const" to match
22365         attributes of the right hand side.
22366
22367 2009-07-21  Eric Blake  <ebb9@byu.net>
22368
22369         dup2: fix more mingw problems
22370         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
22371         fd to itself.
22372         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22373         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
22374         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
22375         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
22376         care of mingw bugs.
22377
22378 2009-07-21  Jim Meyering  <meyering@redhat.com>
22379
22380         vc-list-files: avoid failure when /bin/sh is dash
22381         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
22382         On some Debian based systems, /bin/sh is a symlink to dash, and running
22383         this command would omit the "/" following each 'tests' prefix:
22384           dash -x build-aux/vc-list-files -C . tests
22385         That is because bash and dash work differently:
22386           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
22387           bash ok
22388           dash odd
22389
22390 2009-07-21  Eric Blake  <ebb9@byu.net>
22391
22392         dup2-tests: test previous patch
22393         * modules/dup2-tests: New file.
22394         * tests/test-dup2.c: Likewise.
22395         * tests/test-open.c (main): Avoid unspecified behavior.
22396         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
22397         test.
22398
22399         dup2: work around mingw and cygwin 1.5 bug
22400         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
22401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22402         * modules/unistd (Makefile.am): Substitute it.
22403         * lib/unistd.in.h (dup2): Declare the replacement.
22404         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
22405         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
22406         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
22407         * modules/execute (Depends-on): Add dup2.
22408         * modules/fseterr (Depends-on): Likewise.
22409         * modules/pipe (Depends-on): Likewise.
22410         * modules/posix_spawn-internal (Depends-on): Likewise.
22411
22412 2009-07-21  Bruno Haible  <bruno@clisp.org>
22413
22414         * modules/.gitattributes: New file.
22415
22416 2009-07-20  Bruno Haible  <bruno@clisp.org>
22417
22418         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
22419         (main): Use it.
22420
22421 2009-07-20  Eric Blake  <ebb9@byu.net>
22422
22423         test-pipe: make a bit more robust.
22424         * tests/test-pipe.c (myerr): Allow error messages regardless of
22425         what we do to stderr.
22426         (test_pipe): Rearrange to avoid deadlock.
22427         (child_main): Try a larger read, to ensure we avoided deadlock.
22428         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
22429         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
22430         if misused.
22431
22432 2009-07-19  Jim Meyering  <meyering@redhat.com>
22433
22434         fts: avoid false-positive cycle-detection
22435         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
22436         for each new command line argument.
22437
22438 2009-07-19  Bruno Haible  <bruno@clisp.org>
22439
22440         Fix build error on mingw with the modules sys_select and unistd.
22441         * modules/acl-tests (Depends-on): Add close.
22442         * modules/binary-io-tests (Depends-on): Likewise.
22443         * modules/closein-tests (Depends-on): Likewise.
22444         * modules/flock-tests (Depends-on): Likewise.
22445         * modules/fsync-tests (Depends-on): Likewise.
22446         * modules/lseek-tests (Depends-on): Likewise.
22447         * modules/pipe-tests (Depends-on): Likewise.
22448         * modules/posix_spawn-tests (Depends-on): Likewise.
22449         * modules/posix_spawnp-tests (Depends-on): Likewise.
22450         * modules/stat-time-tests (Depends-on): Likewise.
22451         * modules/yesno-tests (Depends-on): Likewise.
22452
22453 2009-07-19  Bruno Haible  <bruno@clisp.org>
22454
22455         Unify conditionals.
22456         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
22457         macros, not at the compiler macros.
22458         * lib/pipe.c: Likewise.
22459         * lib/execute.c: Likewise.
22460         * lib/spawni.c: Likewise.
22461
22462 2009-07-19  Bruno Haible  <bruno@clisp.org>
22463
22464         Fix handling of closed stdin/stdout/stderr on mingw.
22465         * lib/w32spawn.h: Include unistd.h.
22466         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
22467         file descriptor with O_NOINHERIT flag.
22468         (fd_safer_noinherit): New function, based on fd-safer.c.
22469         (dup_safer_noinherit): New function, based on dup-safer.c.
22470         (undup_safer_noinherit): New function.
22471         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
22472         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
22473         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
22474         instead of fd_safer.
22475         * tests/test-pipe.c: Include <windows.h>.
22476         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
22477
22478         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
22479         from main.
22480         (test_pipe): Pass an extra argument for disambiguation.
22481         (main): Invoke parent_main or child_main.
22482
22483         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
22484         consistently.
22485
22486 2009-07-18  Eric Blake  <ebb9@byu.net>
22487
22488         test-pipe: fix mingw build
22489         * tests/test-pipe.c (main): Avoid fcntl on mingw.
22490
22491 2009-07-18  Bruno Haible  <bruno@clisp.org>
22492
22493         * modules/pipe-tests (Makefile.am): Fix typo.
22494
22495 2009-07-18  Eric Blake  <ebb9@byu.net>
22496
22497         error: fix mingw build
22498         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
22499         Reported by Bruno Haible.
22500
22501         error: avoid undefined use of stdout
22502         * lib/error.c (error, error_at_line): Check that fd 1 is open
22503         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
22504         is handling faults and the close_stdout module wants to report the
22505         detection of closed stdout as an error.
22506
22507 2009-07-17  Eric Blake  <ebb9@byu.net>
22508
22509         pipe: be robust in face of closed fds
22510         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
22511         should cause child to misbehave.
22512         * modules/pipe-tests: New module.
22513         * tests/test-pipe.c: New file.
22514         * tests/test-pipe.sh: New file.
22515         Reported by Akim Demaille.
22516
22517 2009-07-14  Bruno Haible  <bruno@clisp.org>
22518
22519         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
22520         Reported by anonymous kc.
22521
22522 2009-07-07  Jim Meyering  <meyering@redhat.com>
22523
22524         maint.mk: don't look for translatable strings in *.m4 or *.mk
22525         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
22526         when searching for translatable strings.
22527
22528 2009-07-05  Jim Meyering  <meyering@redhat.com>
22529
22530         remove superfluous parentheses in STREQ definition
22531         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
22532         * lib/getugroups.c (STREQ): Likewise.
22533         * lib/fnmatch.c (STREQ): Likewise.
22534         Spotted by Bruno Haible.
22535
22536 2009-07-04  Jim Meyering  <meyering@redhat.com>
22537
22538         argv-iter: new module
22539         * MODULES.html.sh: Add argv-iter.
22540         * lib/argv-iter.c, lib/argv-iter.h: New files.
22541         * modules/argv-iter: New file.
22542         * modules/argv-iter-tests: New file.
22543         * tests/test-argv-iter.c: Test it.
22544
22545 2009-07-04  Bruno Haible  <bruno@clisp.org>
22546
22547         Fix assertion.
22548         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
22549         contains more exact copies of a given entry than file2, leave the extra
22550         copies unpaired rather than aborting.
22551         Reported by Eric Blake.
22552
22553 2009-07-02  Bruno Haible  <bruno@clisp.org>
22554
22555         Speedup git-merge-changelog for git cherry-pick.
22556         * lib/git-merge-changelog.c (struct entries_mapping): New type.
22557         (entries_mapping_get): New function, extracted from compute_mapping.
22558         (entries_mapping_reverse_get): New function.
22559         (compute_mapping): Add a 'full' argument. Return the result in a
22560         'struct entries_mapping'.
22561         (main): Update. Access the mappings through entries_mapping_get.
22562         Reported by Eric Blake.
22563
22564 2009-07-02  Bruno Haible  <bruno@clisp.org>
22565
22566         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
22567         best_i.
22568
22569 2009-07-02  Bruno Haible  <bruno@clisp.org>
22570
22571         Speed up approximate search for matching ChangeLog entries.
22572         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
22573         argument. Call fstrcmp_bounded instead of fstrcmp.
22574         (compute_mapping, try_split_merged_entry, main): Update callers.
22575
22576 2009-07-02  Bruno Haible  <bruno@clisp.org>
22577
22578         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
22579
22580 2009-06-30  Bruno Haible  <bruno@clisp.org>
22581
22582         Reduce the number of uc_is_cased calls.
22583         * lib/unicase.h (casing_suffix_context_t): Add
22584         'first_char_except_ignorable' field.
22585         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
22586         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
22587         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
22588         Update initializer.
22589         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
22590         case-ignorable characters.
22591         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
22592         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
22593         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
22594         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
22595         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
22596
22597 2009-06-30  Bruno Haible  <bruno@clisp.org>
22598
22599         Tests for module 'unicase/ignorable'.
22600         * modules/unicase/ignorable-tests: New file.
22601         * tests/unicase/test-ignorable.c: New file, generated by
22602         gen-uni-tables.
22603
22604         Tests for module 'unicase/cased'.
22605         * modules/unicase/cased-tests: New file.
22606         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
22607         * tests/unicase/test-predicate-part1.h: New file, derived from
22608         tests/unictype/test-predicate-part1.h.
22609         * tests/unicase/test-predicate-part2.h: New file, same as
22610         tests/unictype/test-predicate-part2.h.
22611
22612         Fix evaluation of "Before C" condition of FINAL_SIGMA.
22613         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
22614         (output_casing_properties): New function.
22615         (main): Call it.
22616         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
22617         * lib/unicase/cased.c: Include unictype/bitmap.h.
22618         (uc_is_cased): Define through a bitmap lookup.
22619         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
22620         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
22621         (uc_is_case_ignorable): Define through a bitmap lookup.
22622         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
22623         lib/unictype/bitmap.h.
22624         (Depends-on): Add inline. Clean up.
22625         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
22626         lib/unictype/bitmap.h.
22627         (Depends-on): Add inline. Clean up.
22628         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
22629         recognition.
22630         * tests/unicase/test-u16-tolower.c (main): Likewise.
22631         * tests/unicase/test-u32-tolower.c (main): Likewise.
22632
22633 2009-06-30  Bruno Haible  <bruno@clisp.org>
22634
22635         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
22636         * lib/unicase/u16-casemap.c: Likewise.
22637         * lib/unicase/u32-casemap.c: Likewise.
22638
22639 2009-06-29  Bruno Haible  <bruno@clisp.org>
22640
22641         Define u32_casefold as a wrapper around u32_ct_casefold.
22642         * lib/unicase/u32-casefold.c: Update.
22643         * modules/unicase/u32-casefold (Depends-on): Add
22644         unicase/u32-ct-casefold, unicase/empty-prefix-context,
22645         unicase/empty-suffix-context. Clean up.
22646
22647         Define u16_casefold as a wrapper around u16_ct_casefold.
22648         * lib/unicase/u16-casefold.c: Update.
22649         * modules/unicase/u16-casefold (Depends-on): Add
22650         unicase/u16-ct-casefold, unicase/empty-prefix-context,
22651         unicase/empty-suffix-context. Clean up.
22652
22653         Define u8_casefold as a wrapper around u8_ct_casefold.
22654         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
22655         * lib/unicase/u8-casefold.c: Update.
22656         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
22657         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
22658
22659         Define u32_totitle as a wrapper around u32_ct_totitle.
22660         * lib/unicase/u32-totitle.c: Update.
22661         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
22662         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
22663
22664         Define u16_totitle as a wrapper around u16_ct_totitle.
22665         * lib/unicase/u16-totitle.c: Update.
22666         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
22667         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
22668
22669         Define u8_totitle as a wrapper around u8_ct_totitle.
22670         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
22671         functions.
22672         (FUNC): Delegate to U_CT_TOTITLE.
22673         * lib/unicase/u8-totitle.c: Update.
22674         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
22675         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
22676
22677         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
22678         invocation.
22679         * modules/unicase/u32-tolower (Depends-on): Add
22680         unicase/empty-prefix-context, unicase/empty-suffix-context.
22681
22682         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
22683         invocation.
22684         * modules/unicase/u16-tolower (Depends-on): Add
22685         unicase/empty-prefix-context, unicase/empty-suffix-context.
22686
22687         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
22688         * modules/unicase/u8-tolower (Depends-on): Add
22689         unicase/empty-prefix-context, unicase/empty-suffix-context.
22690
22691         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
22692         invocation.
22693         * modules/unicase/u32-toupper (Depends-on): Add
22694         unicase/empty-prefix-context, unicase/empty-suffix-context.
22695
22696         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
22697         invocation.
22698         * modules/unicase/u16-toupper (Depends-on): Add
22699         unicase/empty-prefix-context, unicase/empty-suffix-context.
22700
22701         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
22702         * modules/unicase/u8-toupper (Depends-on): Add
22703         unicase/empty-prefix-context, unicase/empty-suffix-context.
22704
22705         New module 'unicase/u32-ct-casefold'.
22706         * lib/unicase/u32-ct-casefold.c: New file.
22707         * modules/unicase/u32-ct-casefold: New file.
22708
22709         New module 'unicase/u16-ct-casefold'.
22710         * lib/unicase/u16-ct-casefold.c: New file.
22711         * modules/unicase/u16-ct-casefold: New file.
22712
22713         New module 'unicase/u8-ct-casefold'.
22714         * lib/unicase/u8-ct-casefold.c: New file.
22715         * lib/unicase/u-ct-casefold.h: New file, derived from
22716         lib/unicase/u-casefold.h.
22717         * modules/unicase/u8-ct-casefold: New file.
22718
22719         New module 'unicase/u32-ct-totitle'.
22720         * lib/unicase/u32-ct-totitle.c: New file.
22721         * modules/unicase/u32-ct-totitle: New file.
22722
22723         New module 'unicase/u16-ct-totitle'.
22724         * lib/unicase/u16-ct-totitle.c: New file.
22725         * modules/unicase/u16-ct-totitle: New file.
22726
22727         New module 'unicase/u8-ct-totitle'.
22728         * lib/unicase/u8-ct-totitle.c: New file.
22729         * lib/unicase/u-ct-totitle.h: New file, derived from
22730         lib/unicase/u-totitle.h.
22731         * modules/unicase/u8-ct-totitle: New file.
22732
22733         New module 'unicase/u32-ct-tolower'.
22734         * lib/unicase/u32-ct-tolower.c: New file.
22735         * modules/unicase/u32-ct-tolower: New file.
22736
22737         New module 'unicase/u16-ct-tolower'.
22738         * lib/unicase/u16-ct-tolower.c: New file.
22739         * modules/unicase/u16-ct-tolower: New file.
22740
22741         New module 'unicase/u8-ct-tolower'.
22742         * lib/unicase/u8-ct-tolower.c: New file.
22743         * modules/unicase/u8-ct-tolower: New file.
22744
22745         New module 'unicase/u32-ct-toupper'.
22746         * lib/unicase/u32-ct-toupper.c: New file.
22747         * modules/unicase/u32-ct-toupper: New file.
22748
22749         New module 'unicase/u16-ct-toupper'.
22750         * lib/unicase/u16-ct-toupper.c: New file.
22751         * modules/unicase/u16-ct-toupper: New file.
22752
22753         New module 'unicase/u8-ct-toupper'.
22754         * lib/unicase/u8-ct-toupper.c: New file.
22755         * modules/unicase/u8-ct-toupper: New file.
22756
22757         Add context arguments to u*_casemap functions.
22758         * lib/unicase/unicasemap.h: Include unicase.h.
22759         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
22760         suffix_context arguments.
22761         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
22762         functions.
22763         (FUNC): Add prefix_context and suffix_context arguments. Use
22764         uc_is_cased and uc_is_case_ignorable.
22765         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
22766         * lib/unicase/u16-casemap.c: Likewise.
22767         * lib/unicase/u32-casemap.c: Likewise.
22768         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
22769         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
22770         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
22771         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
22772         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
22773         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
22774
22775         New module 'unicase/u32-suffix-context'.
22776         * lib/unicase/u32-suffix-context.c: New file.
22777         * modules/unicase/u32-suffix-context: New file.
22778
22779         New module 'unicase/u16-suffix-context'.
22780         * lib/unicase/u16-suffix-context.c: New file.
22781         * modules/unicase/u16-suffix-context: New file.
22782
22783         New module 'unicase/u8-suffix-context'.
22784         * lib/unicase/u8-suffix-context.c: New file.
22785         * lib/unicase/u-suffix-context.h: New file.
22786         * modules/unicase/u8-suffix-context: New file.
22787
22788         New module 'unicase/empty-suffix-context'.
22789         * lib/unicase/empty-suffix-context.c: New file.
22790         * modules/unicase/empty-suffix-context: New file.
22791
22792         New module 'unicase/u32-prefix-context'.
22793         * lib/unicase/u32-prefix-context.c: New file.
22794         * modules/unicase/u32-prefix-context: New file.
22795
22796         New module 'unicase/u16-prefix-context'.
22797         * lib/unicase/u16-prefix-context.c: New file.
22798         * modules/unicase/u16-prefix-context: New file.
22799
22800         New module 'unicase/u8-prefix-context'.
22801         * lib/unicase/u8-prefix-context.c: New file.
22802         * lib/unicase/u-prefix-context.h: New file.
22803         * lib/unicase/context.h: New file.
22804         * modules/unicase/u8-prefix-context: New file.
22805
22806         New module 'unicase/empty-prefix-context'.
22807         * lib/unicase/empty-prefix-context.c: New file.
22808         * modules/unicase/empty-prefix-context: New file.
22809
22810         New module 'unicase/ignorable'.
22811         * lib/unicase/ignorable.c: New file.
22812         * modules/unicase/ignorable: New file.
22813
22814         New module 'unicase/cased'.
22815         * lib/unicase/caseprop.h: New file.
22816         * lib/unicase/cased.c: New file.
22817         * modules/unicase/cased: New file.
22818
22819         New functions for case mapping of substrings.
22820         * lib/unicase.h (casing_prefix_context_t): New type.
22821         (unicase_empty_prefix_context): New variable.
22822         (u8_casing_prefix_context, u16_casing_prefix_context,
22823         u32_casing_prefix_context, u8_casing_prefixes_context,
22824         u16_casing_prefixes_context, u32_casing_prefixes_context): New
22825         declarations.
22826         (casing_suffix_context_t): New type.
22827         (unicase_empty_suffix_context): New variable.
22828         (u8_casing_suffix_context, u16_casing_suffix_context,
22829         u32_casing_suffix_context, u8_casing_suffixes_context,
22830         u16_casing_suffixes_context, u32_casing_suffixes_context,
22831         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
22832         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
22833         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
22834         declarations.
22835
22836 2009-06-28  Jim Meyering  <meyering@redhat.com>
22837
22838         boostrap: indent only with spaces
22839         * build-aux/bootstrap: Indent only with spaces, never TABs.
22840
22841         bootstrap: split long lines
22842         * build-aux/bootstrap: Keep line length < 80.
22843
22844         bootstrap: sync from coreutils
22845         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
22846         just as autoreconf does.  Verify a list of prerequisite
22847         package-name,version-number pairs if defined in bootstrap.conf.
22848         Refer to README-prereq, if prerequisites are not satisfied.
22849
22850 2009-06-27  Eric Blake  <ebb9@byu.net>
22851
22852         tests: add test for bogus NULL definition
22853         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
22854         * tests/test-stdlib.c: Likewise.
22855         * tests/test-string.c: Likewise.
22856         * tests/test-locale.c: Likewise.
22857         * tests/test-unistd.c: Likewise.
22858         * modules/stdio-tests (Depends-on): Add verify.
22859         * modules/stdlib-tests (Depends-on): Likewise.
22860         * modules/string-tests (Depends-on): Likewise.
22861         * modules/locale-tests (Depends-on): Likewise.
22862         * modules/unistd-tests (Depends-on): Likewise.
22863
22864 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
22865
22866         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
22867         self-explaining comment.
22868         * m4/selinux-selinux-h: Update serial.
22869         (gl_LIBSELINUX): New macro, adding a warning for missing development
22870         packages to code extracted from...
22871         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
22872         Add warning for missing development packages here, too.
22873
22874 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
22875
22876         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
22877
22878 2009-06-25  Eric Blake  <ebb9@byu.net>
22879
22880         version-etc: fix regression
22881         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
22882         gcc.
22883         (version_etc): Use it, to catch bugs with trailing NULL.
22884         * lib/version-etc.c (version_etc_arn): Delete unused argument.
22885         (version_etc_va): Fix logic bug.
22886         * modules/version-etc-tests: Add test.
22887         * tests/test-version-etc.c: New file.
22888         * tests/test-version-etc.sh: Likewise.
22889
22890 2009-06-25  Sam Steingold  <sds@gnu.org>
22891
22892         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
22893         mbtowc declaration.
22894
22895 2009-06-25  Eric Blake  <ebb9@byu.net>
22896
22897         fpurge: migrate into <stdio.h>
22898         * lib/fpurge.h: Delete...
22899         * lib/stdio.in.h (fpurge): ...and declare here, instead.
22900         * lib/fpurge.c (fpurge): Change declaring header.
22901         * modules/fpurge (Files): Drop deleted file.
22902         (Depends-on): Add stdio.
22903         (configure.ac): Set witness.
22904         * modules/stdio (Makefile.am): Support fpurge macros.
22905         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22906         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
22907         * lib/fflush.c: Update client.
22908         * tests/test-fpurge.c: Likewise.
22909         * NEWS: Mention the change.
22910
22911 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
22912
22913         * lib/argp-version-etc.c (program_authors): Add const
22914         qualifier.
22915         * lib/version-etc.c: Fix typos in the comments.
22916         * modules/argp-version-etc: Depends on version-etc.
22917
22918 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
22919
22920         argp-version-etc: new module.
22921
22922         * lib/argp-version-etc.c: New file.
22923         * lib/argp-version-etc.h: New file.
22924         * modules/argp-version-etc: New file.
22925         * modules/argp-version-etc-tests: New file.
22926         * tests/test-argp-version-etc.c: New test.
22927         * tests/test-argp-version-etc-1.sh: New test.
22928
22929 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
22930
22931         Provide additional interfaces and documentation for version-etc
22932         module.
22933
22934         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
22935         interfaces.
22936         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
22937         prototypes.
22938
22939 2009-06-24  Bruno Haible  <bruno@clisp.org>
22940
22941         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
22942         HAVE_LIB${NAME} macro.
22943         Reported by Sam Steingold <sds@gnu.org>.
22944
22945 2009-06-23  Simon Josefsson  <simon@josefsson.org>
22946
22947         * modules/hash-tests (test_hash_LDADD): Link to libintl when
22948         needed.
22949
22950 2009-06-21  Bruno Haible  <bruno@clisp.org>
22951
22952         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
22953         work.
22954         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
22955         together with LIB${NAME}, LTLIB${NAME}.
22956         Reported by Sam Steingold <sds@gnu.org>.
22957
22958 2009-06-20  Jim Meyering  <meyering@redhat.com>
22959
22960         tests: make sc_require_test_exit_idiom more generic
22961         * top/maint.mk (Exit_witness_file): New overridable variable.
22962         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
22963         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
22964
22965 2009-06-19  Jim Meyering  <meyering@redhat.com>
22966
22967         hash: reverse order of src/dst parameters in an internal interface
22968         * lib/hash.c (transfer_entries): Reverse order of parameters to
22969         put DST before SRC.  Adjust callers.
22970
22971         tests: test-hash: avoid wholesale duplication
22972         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
22973         Instead, use a loop and add a single conditional.
22974
22975         tests: test-hash: allow seed selection via a command line argument
22976         * tests/test-hash.c (get_seed): New function.
22977         (main): Use it.
22978
22979 2009-06-19  Eric Blake  <ebb9@byu.net>
22980
22981         hash: avoid memory leak on allocation failure
22982         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
22983         failure.  Factor repeated algorithm...
22984         (transfer_entries): ...into new helper routine.
22985         (hash_delete): React to hash_rehash return value.
22986
22987         hash: reduce memory pressure in hash_rehash no-op case
22988         * lib/hash.c (next_prime): Avoid overflow.
22989         (hash_initialize): Factor bucket size computation...
22990         (compute_bucket_size): ...into new helper function.
22991         (hash_rehash): Use new function and open coding to reduce memory
22992         pressure, and avoid a memory leak in USE_OBSTACK code.
22993         Reported by Jim Meyering.
22994
22995 2009-06-18  Eric Blake  <ebb9@byu.net>
22996
22997         hash: make rotation more obvious
22998         * modules/hash (Depends-on): Add bitrotate and stdint.
22999         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
23000         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
23001         (SIZE_MAX): Rely on headers for definition.
23002         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
23003         (raw_hasher): Use rotr_sz.
23004         Suggested by Jim Meyering.
23005
23006         hash: fix memory leak in last patch
23007         * lib/hash.c (hash_rehash): Avoid memory leak.
23008
23009         hash: avoid no-op rehashing
23010         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
23011
23012         hash: provide default callback functions
23013         * lib/hash.c (raw_hasher, raw_comparator): New functions.
23014         (hash_initialize): Use them as defaults.
23015         * tests/test-hash.c (main): Test this.
23016
23017         hash: minor optimization
23018         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
23019         when possible.
23020         (hash_initialize): Document this promise.
23021         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
23022         * tests/test-hash.c (hash_compare_strings): Test this.
23023
23024 2009-06-18  Bruno Haible  <bruno@clisp.org>
23025
23026         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
23027         going to be replaced anyway.
23028
23029 2009-06-18  Bruno Haible  <bruno@clisp.org>
23030
23031         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
23032         in one place.
23033         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
23034         be replaced anyway.
23035
23036 2009-06-18  Eric Blake  <ebb9@byu.net>
23037
23038         hash: check for resize before insertion
23039         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
23040         threshold before insertion, so that a pathological hash_rehash
23041         that fills every bucket can still trigger another rehash.
23042
23043 2009-06-18  Jim Meyering  <meyering@redhat.com>
23044
23045         hash-tests: add a loop around the small tests
23046         * tests/test-hash.c (main): Repeat small tests with selected
23047         small initial table sizes.
23048
23049 2009-06-17  Eric Blake  <ebb9@byu.net>
23050
23051         hash: minor cleanups
23052         * lib/hash.h (hash_entry): Make opaque, by moving...
23053         * lib/hash.c (hash_entry): ...here.
23054         (hash_insert): Clarify restrictions on what can be inserted.
23055         (hash_get_next): Clarify when it is safe to remove an element
23056         during traversal.
23057         (check_tuning): Skip verification when tuning is known safe.
23058         (hash_initialize): Clarify restrictions on tuning.
23059
23060 2009-06-17  Jim Meyering  <jim@meyering.net>
23061         and Eric Blake  <ebb9@byu.net>
23062
23063         hash-tests: new module
23064         * modules/hash-tests: New file.
23065         * tests/test-hash.c: New file.
23066
23067 2009-06-17  Eric Blake  <ebb9@byu.net>
23068
23069         strstr-simple: document new module
23070         * MODULES.html.sh: Document new module.
23071
23072         strstr, strcasestr: replace on platforms with broken memchr
23073         * modules/strstr: Split into...
23074         * modules/strstr-simple: ...new module that does not care about
23075         performance, but does care about glibc bug.
23076         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
23077         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
23078         if platform memchr is broken, per Debian bug 521737.
23079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
23080         memchr.
23081         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
23082         * doc/posix-functions/strstr.texi (strstr): Document the fix.
23083         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23084         * modules/mountlist (Depends-on): Add strstr-simple.
23085         * modules/gen-uni-tables (Depends-on): Likewise.
23086         * modules/argz (Depends-on): Add strstr.
23087
23088 2009-06-17  Bruno Haible  <bruno@clisp.org>
23089
23090         * modules/posix_spawn-internal (Depends-on): Add errno.
23091
23092 2009-06-17  Bruno Haible  <bruno@clisp.org>
23093
23094         Define missing ESTALE on Interix 3.5.
23095         * lib/errno.in.h (ESTALE): Assign a value if missing.
23096         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
23097         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
23098         missing.
23099         * doc/posix-headers/errno.texi: Mention the Interix bug.
23100         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
23101
23102 2009-06-15  Eric Blake  <ebb9@byu.net>
23103
23104         memchr, memchr2: add valgrind exception
23105         * lib/memchr.valgrind: New file.
23106         * lib/memchr2.valgrind: New file.
23107         * modules/memchr (Files): Distribute valgrind file.
23108         * modules/memchr2 (Files): Likewise.
23109
23110         docs: memchr is no longer obsolete
23111         * MODULES.html.sh: Move memchr from obsolete to string.h section.
23112         * lib/string.in.h (memchr): Simplify logic.
23113
23114 2009-06-14  Jim Meyering  <meyering@redhat.com>
23115
23116         link-follow: fix the "checking..." message to not mention trailing slash
23117         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
23118         never considered trailing slashes.
23119
23120 2009-06-14  Bruno Haible  <bruno@clisp.org>
23121
23122         * m4/memchr.m4: Mention also the bug on IA-64.
23123         * doc/posix-functions/memchr.texi: Likewise.
23124
23125 2009-06-12  Eric Blake  <ebb9@byu.net>
23126
23127         memchr: detect broken x86_64 and alpha implementations
23128         * modules/memchr-tests (Depends-on): Move mmap detection...
23129         * modules/memchr (Depends-on): ...here.
23130         (configure.ac): Set indicator.
23131         * lib/string.in.h (memchr): Declare replacement.
23132         * modules/string (Makefile.am): Trigger replacement.
23133         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
23134         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
23135         bugs.
23136         * doc/posix-functions/memchr.texi (memchr): Document the bug.
23137         * modules/getpagesize (License): Relax license.
23138
23139 2009-06-11  Bruno Haible  <bruno@clisp.org>
23140
23141         * lib/idpriv.h: Add more references.
23142
23143 2009-06-08  Bruno Haible  <bruno@clisp.org>
23144
23145         Tests for module 'idpriv-droptemp'.
23146         * modules/idpriv-droptemp-tests: New file.
23147         * tests/test-idpriv-droptemp.sh: New file.
23148         * tests/test-idpriv-droptemp.su.sh: New file.
23149         * tests/test-idpriv-droptemp.c: New file.
23150
23151         New module 'idpriv-droptemp'.
23152         * lib/idpriv-droptemp.c: New file.
23153         * modules/idpriv-droptemp: New file.
23154
23155 2009-06-08  Bruno Haible  <bruno@clisp.org>
23156
23157         Tests for module 'idpriv-drop'.
23158         * modules/idpriv-drop-tests: New file.
23159         * tests/test-idpriv-drop.sh: New file.
23160         * tests/test-idpriv-drop.su.sh: New file.
23161         * tests/test-idpriv-drop.c: New file.
23162
23163         New module 'idpriv-drop'.
23164         * lib/idpriv.h: New file.
23165         * lib-idpriv-drop.c: New file.
23166         * m4/idpriv.m4: New file.
23167         * modules/idpriv-drop: New file.
23168
23169 2009-06-08  Bruno Haible  <bruno@clisp.org>
23170
23171         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
23172         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23173         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23174         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23175         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23176         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23177         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23178
23179 2009-06-08  Eric Blake  <ebb9@byu.net>
23180
23181         test-strstr: use memory fence, when possible
23182         * tests/test-strstr.c (main): Use memory fence, in order to be
23183         more likely to trigger Debian bug 521737.
23184         * modules/strstr-tests (Files): Pull in additional files.
23185
23186         memchr: no longer obsolete, for wider field testing
23187         * modules/memchr (Status, Notice): Delete, this module is no
23188         longer obsolete.
23189         * modules/vasnprintf (Depends-on): Add memchr.
23190
23191 2009-06-07  Jim Meyering  <meyering@redhat.com>
23192
23193         hash: declare some functions with the warn_unused_result attribute
23194         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
23195
23196 2009-06-07  Bruno Haible  <bruno@clisp.org>
23197
23198         * tests/test-alignof.c: Don't test int64_t if it does not exist.
23199         Reported by Eric Blake.
23200
23201 2009-06-06  Eric Blake  <ebb9@byu.net>
23202
23203         test-alignof: fix typo with long double
23204         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
23205         compiler error.
23206
23207 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
23208
23209         Escape non-texinfo { and }s.
23210         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
23211         markup error.
23212
23213 2009-06-04  Jim Meyering  <meyering@redhat.com>
23214
23215         gitlog-to-changelog: don't infloop on an empty commit log
23216         * build-aux/gitlog-to-changelog: Warn about an empty log message.
23217         Reported by Boris Petersen <transacid@centerim.org>.
23218
23219 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
23220
23221         version-etc: extend for packagers
23222         Add three new configure options, intended for packagers:
23223           --with-packager="packager name"
23224           --with-packager-version="packager-specific version"
23225           --with-packager-bug-reports="packager bug reporting"
23226         An example with coreutils:
23227           $ ./configure \
23228             --with-packager=Gentoo \
23229             --with-packager-bug-report=http://bugs.gentoo.org/ \
23230             --with-packager-version="patchset 1.6"
23231           $ ./src/ls --version | head -n2
23232           ls (GNU coreutils) 7.1-dirty
23233           Packaged by Gentoo (patchset 1.6)
23234         Note that the bug reporting info via --help doesn't show up because
23235         coreutils uses its own custom emit_bug_reporting_address() implementation
23236         in src/system.h.  If it didn't, it'd look like:
23237           $ ./src/ls --help | tail -n4
23238           Report bugs to <bug-coreutils@gnu.org>.
23239           Report Gentoo bugs to <http://bugs.gentoo.org/>.
23240           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
23241           General help using GNU software: <http://www.gnu.org/gethelp/>.
23242         * lib/version-etc.c: Print new information, if provided.
23243         * m4/version-etc.m4: New file.
23244         * modules/version-etc (Files): Add m4/version-etc.m4.
23245         (configure.ac): Add gl_VERSION_ETC.
23246
23247 2009-05-31  Bruno Haible  <bruno@clisp.org>
23248
23249         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
23250         and 'int64_t'.
23251         * modules/alignof-tests (Dependencies): Add stdint.
23252         Reported by Eric Blake.
23253
23254 2009-05-31  Bruno Haible  <bruno@clisp.org>
23255
23256         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
23257         restriction due to compiler bugs.
23258         Reported by Eric Blake.
23259
23260 2009-05-31  Simon Josefsson  <simon@josefsson.org>
23261             Bruno Haible  <bruno@clisp.org>
23262
23263         Fix test-alignof failure.
23264         * lib/alignof.h (alignof_slot): New macro.
23265         (alignof_type): New macro, with the same semantics as the previous
23266         'alignof'.
23267         (alignof): Alias to alignof_slot.
23268         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
23269         check that the results are usable as constant expressions.
23270
23271 2009-05-31  Bruno Haible  <bruno@clisp.org>
23272
23273         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
23274         * tests/test-memchr.c (main): Check that memchr does not read past the
23275         first occurrence of the byte.
23276         * tests/test-strstr.c (main): Update comment.
23277         Suggested by Eric Blake.
23278
23279 2009-05-30  Bruno Haible  <bruno@clisp.org>
23280
23281         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
23282         detail how to use dumpbin.
23283         Reported by David Byron <dbyron@dbyron.com>.
23284
23285 2009-06-02  Simon Josefsson  <simon@josefsson.org>
23286
23287         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
23288
23289 2009-06-02  Simon Josefsson  <simon@josefsson.org>
23290
23291         * m4/manywarnings.m4: Add GCC 4.4 warnings.
23292
23293 2009-05-28  Bruno Haible  <bruno@clisp.org>
23294
23295         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
23296         build-aux/ files.
23297
23298 2009-05-28  Simon Josefsson  <simon@josefsson.org>
23299
23300         * gnulib-tool (func_import): Transform license on build-aux/ files too.
23301
23302 2009-05-27  Simon Josefsson  <simon@josefsson.org>
23303
23304         * gnulib-tool (sed_transform_main_lib_file)
23305         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
23306         regexps.
23307
23308 2009-05-26  Simon Josefsson  <simon@josefsson.org>
23309
23310         * tests/test-strstr.c: Add another self-test.
23311         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
23312         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
23313
23314 2009-05-23  Bruno Haible  <bruno@clisp.org>
23315
23316         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
23317         change.
23318
23319 2009-05-21  Bruno Haible  <bruno@clisp.org>
23320
23321         Simplify use of mode_t varargs.
23322         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
23323         uses 'mode_t' or 'int'.
23324         * lib/openat.c (openat): Likewise.
23325         * lib/open-safer.c (open_safer): Likewise.
23326         * m4/mode_t.m4: New file.
23327         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
23328         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
23329         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
23330         * modules/open (Files): Add m4/mode_t.m4.
23331         * modules/openat (Files): Likewise.
23332         * modules/fcntl-safer (Files): Likewise.
23333         Suggested by Eric Blake.
23334
23335 2009-05-21  Pádraig Brady  <P@draigbrady.com>
23336
23337         * doc/glibc-functions/fallocate.texi: New file.
23338         * doc/gnulib.texi: Include it.
23339
23340 2009-05-21  Eric Blake  <ebb9@byu.net>
23341             Bruno Haible  <bruno@clisp.org>
23342
23343         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
23344         invocations.
23345         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23346
23347 2009-05-21  Eric Blake  <ebb9@byu.net>
23348             Bruno Haible  <bruno@clisp.org>
23349
23350         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
23351         include_next. Fix of 2008-11-20 commit.
23352         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
23353         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
23354         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
23355         NEXT_MATH_H.
23356         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
23357         instead of NEXT_MATH_H.
23358
23359 2009-05-21  Bruno Haible  <bruno@clisp.org>
23360
23361         Avoid redefinition warnings for SIZE_MAX.
23362         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
23363         Reported by Simon Josefsson.
23364
23365 2009-05-21  Bruno Haible  <bruno@clisp.org>
23366
23367         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
23368         AC_CACHE_VAL.
23369
23370 2009-05-20  Bruno Haible  <bruno@clisp.org>
23371
23372         Make zeroptr.h work on mingw.
23373         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
23374         mprotect.
23375         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
23376         * modules/memchr2-tests (configure.ac): Likewise.
23377         * modules/memcmp-tests (configure.ac): Likewise.
23378         * modules/memmem-tests (configure.ac): Likewise.
23379         * modules/memrchr-tests (configure.ac): Likewise.
23380         Reported by Simon Josefsson.
23381
23382 2009-05-20  Simon Josefsson  <simon@josefsson.org>
23383
23384         * tests/test-glob.c: Include string.h for strcmp prototype.
23385
23386 2009-05-20  Simon Josefsson  <simon@josefsson.org>
23387
23388         * modules/getdelim (Depends-on): Add explicit stdint, although it
23389         was implicitly already pulled in via realloc-posix.
23390         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
23391
23392 2009-05-20  Simon Josefsson  <simon@josefsson.org>
23393
23394         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
23395         G. Christensen" <tgc@jupiterrise.com>.
23396         * m4/sys_socket_h.m4: Check for sa_family_t.
23397         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
23398         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
23399         * tests/test-sys_socket.c: Check that sa_family_t works.
23400
23401 2009-05-18  Eric Blake  <ebb9@byu.net>
23402
23403         maint.mk: allow gnulib_dir in VPATH build
23404         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
23405
23406 2009-05-15  Jim Meyering  <meyering@redhat.com>
23407
23408         maint.mk: Give gnulib_dir a default definition.
23409         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
23410         Thus, most packages no longer need to specify this variable in cfg.mk
23411
23412 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
23413
23414         rename.m4: fix typos that would make non-mingw cross-configure fail
23415         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
23416
23417 2009-05-13  Eric Blake  <ebb9@byu.net>
23418
23419         mmap-anon: avoid out-of-order autoconf expansion
23420         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
23421         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
23422         * modules/memchr-tests (Depends-on): Add extensions.
23423         * modules/memchr2-tests (Depends-on): Add extensions.
23424         * modules/memcmp-tests (Depends-on): Add extensions.
23425         * modules/memmem-tests (Depends-on): Add extensions.
23426         * modules/memrchr-tests (Depends-on): Add extensions.
23427
23428 2009-05-13  Bruno Haible  <bruno@clisp.org>
23429
23430         Make some tests ISO C 99 compliant.
23431         * tests/zerosize-ptr.h: New file.
23432         * tests/test-memchr.c: Include zerosize-ptr.h.
23433         (main): Use a zero-size object pointer instead of NULL.
23434         * tests/test-memchr2.c: Include zerosize-ptr.h.
23435         (main): Use a zero-size object pointer instead of NULL.
23436         * tests/test-memcmp.c: Include zerosize-ptr.h.
23437         (main): Use a zero-size object pointer instead of NULL.
23438         * tests/test-memmem.c: Include zerosize-ptr.h.
23439         (main): Use a zero-size object pointer instead of NULL.
23440         * tests/test-memrchr.c: Include zerosize-ptr.h.
23441         (main): Use a zero-size object pointer instead of NULL.
23442         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
23443         m4/mmap-anon.m4.
23444         (Depends-on): Add getpagesize.
23445         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
23446         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
23447         m4/mmap-anon.m4.
23448         (Depends-on): Add getpagesize.
23449         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
23450         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
23451         m4/mmap-anon.m4.
23452         (Depends-on): Add getpagesize.
23453         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
23454         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
23455         m4/mmap-anon.m4.
23456         (Depends-on): Add getpagesize.
23457         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
23458         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
23459         m4/mmap-anon.m4.
23460         (Depends-on): Add getpagesize.
23461         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
23462
23463 2009-05-12  Bruno Haible  <bruno@clisp.org>
23464
23465         Tests for module 'alignof'.
23466         * modules/alignof-tests: New file.
23467         * tests/test-alignof.c: New file.
23468
23469 2009-05-12  Bruno Haible  <bruno@clisp.org>
23470
23471         Fix alignof macro.
23472         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
23473         vendor compilers that are always correct.
23474
23475 2009-05-12  Bruno Haible  <bruno@clisp.org>
23476
23477         Make the MAP_ANONYMOUS detection work on HP-UX 11.
23478         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
23479         not whether its fully works.
23480
23481 2009-05-12  Bruno Haible  <bruno@clisp.org>
23482
23483         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
23484
23485 2009-05-12  Jim Meyering  <meyering@redhat.com>
23486
23487         * top/maint.mk: Adjust backslash alignment.
23488
23489 2009-05-11  Simon Josefsson  <simon@josefsson.org>
23490
23491         * top/maint.mk: Make $(srcdir)/build-aux configurable.
23492
23493 2009-05-11  Eric Blake  <ebb9@byu.net>
23494
23495         argp: avoid undefined behavior
23496         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
23497         macros.
23498
23499 2009-05-08  Simon Josefsson  <simon@josefsson.org>
23500
23501         * tests/test-vc-list-files-git.sh: Do git config of user.email and
23502         user.name to prevent git commit from complaining.
23503
23504 2009-05-10  Bruno Haible  <bruno@clisp.org>
23505
23506         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
23507         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
23508         it rewrites every file name only once.
23509         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
23510
23511 2009-05-08  Bruno Haible  <bruno@clisp.org>
23512
23513         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
23514         instead of 'max'.
23515
23516 2009-05-08  Simon Josefsson  <simon@josefsson.org>
23517
23518         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
23519         sockaddr_storage test.
23520
23521 2009-05-07  Simon Josefsson  <simon@josefsson.org>
23522
23523         * modules/sys_socket (Makefile.am): Substitute
23524         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
23525         * m4/sys_socket_h.m4: Check for sockaddr_storage.
23526         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
23527         * tests/test-sys_socket.c: Check sockaddr_storage.
23528
23529 2009-05-08  Bruno Haible  <bruno@clisp.org>
23530
23531         New module 'alignof'.
23532         * lib/alignof.h: New file.
23533         * modules/alignof: New file.
23534
23535 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
23536             Bruno Haible  <bruno@clisp.org>
23537
23538         Fix test-file-has-acl on FreeBSD.
23539         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
23540         mask is implicitly added.
23541         * tests/test-file-has-acl.c: Include <signal.h>.
23542         (main): Terminate the test after 5 seconds.
23543         * modules/acl-tests (configure.ac): Check for alarm function.
23544
23545 2009-05-04  Bruno Haible  <bruno@clisp.org>
23546
23547         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
23548         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
23549         * modules/errno (configure.ac): Drop AC_REQUIRE.
23550         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
23551         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
23552
23553 2009-05-04  Simon Josefsson  <simon@josefsson.org>
23554
23555         * modules/glob-tests: New module.
23556         * tests/test-glob.c: Add.
23557
23558 2009-05-04  Simon Josefsson  <simon@josefsson.org>
23559
23560         * modules/fnmatch-tests: New module.
23561         * tests/test-fnmatch.c: Add.
23562
23563 2009-05-04  Eric Blake  <ebb9@byu.net>
23564
23565         maint: make the new no-submodule-changes rule VPATH-safe
23566         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
23567
23568 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
23569             Bruno Haible  <bruno@clisp.org>
23570
23571         acl: Fix infinite loop on FreeBSD.
23572         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
23573         of return value from acl_get_entry.
23574         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
23575         Likewise.
23576
23577 2009-05-03  Bruno Haible  <bruno@clisp.org>
23578
23579         * lib/acl-internal.h (acl_entries): Clarify return value.
23580         * lib/acl_entries.c (acl_entries): Likewise.
23581
23582 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
23583
23584         Bug fix in acl module.
23585         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
23586
23587 2009-05-03  Bruno Haible  <bruno@clisp.org>
23588
23589         Create gperf-generated file in the source dir, not in the build dir.
23590         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
23591         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
23592         * modules/unicase/locale-language (unicase/locale-languages.h):
23593         Likewise.
23594         * modules/unicase/special-casing (unicase/special-casing-table.h):
23595         Likewise.
23596         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
23597         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
23598         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
23599         Reported by Ralf Wildenhues.
23600
23601 2009-05-03  Bruno Haible  <bruno@clisp.org>
23602
23603         * modules/fnmatch (Description, configure.ac): Taken from
23604         fnmatch-posix.
23605         * modules/fnmatch-posix: Turn into a symbolic reference to the
23606         'fnmatch' module, and deprecate.
23607         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
23608
23609 2009-05-03  Bruno Haible  <bruno@clisp.org>
23610
23611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
23612         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
23613         Reported by Ralf Wildenhues.
23614
23615 2009-05-04  Simon Josefsson  <simon@josefsson.org>
23616
23617         * m4/fnmatch.m4: Fix fnmatch re-define.
23618
23619 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
23620
23621         priv-set: new module and tests; adapt write-any-file
23622         * lib/priv-set.c: New file.
23623         * lib/priv-set.h: New file.
23624         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
23625         * lib/write-any-file.c: Simplify by using priv-set module.
23626         * m4/priv-set.m4: New file.
23627         * modules/priv-set: New file.
23628         * modules/unlinkdir: Add dependency on priv-set module.
23629         * modules/write-any-file: Likewise.
23630
23631         Tests for module 'priv-set'.
23632         * modules/priv-set-tests: New file.
23633         * tests/test-priv-set.c: New file.
23634
23635 2009-05-03  Jim Meyering  <meyering@redhat.com>
23636             Bruno Haible  <bruno@clisp.org>
23637
23638         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
23639         use the converted UTF-8 variant of the name instead.
23640
23641 2009-05-03  Jim Meyering  <meyering@redhat.com>
23642
23643         tests: tighten some getdate tests
23644         * tests/test-getdate.c (main): Tighten tests: require equality,
23645         not just greater than.  Set TZ envvar to UTC0.
23646
23647 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23648
23649         getdate: correctly interpret "next monday" when run on a Monday
23650         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
23651         that e.g., "next tues" (when run on a tuesday) results in a date
23652         that is one week in the future, and not today's date.
23653         I.e., add a week when the wday is the same as the current one.
23654         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
23655         and earlier by Martin Bernreuther and Jan Minář.
23656         * tests/test-getdate.c (main): Check that "next DAY" is always in
23657         the future and that "last DAY" is always in the past.
23658
23659 2009-05-02  Jim Meyering  <meyering@redhat.com>
23660
23661         build: ensure that a release build fails when a submodule is unclean
23662         * top/maint.mk (no-submodule-changes): New rule.
23663         (alpha beta major): Depend on it.
23664
23665 2009-05-02  Bruno Haible  <bruno@clisp.org>
23666
23667         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
23668         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
23669         shell variable gl_fnmatch_required to detect which variant is
23670         requested.
23671         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
23672         gl_FUNC_FNMATCH_POSIX.
23673         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
23674         exclude fnmatch-posix.
23675
23676 2009-05-02  Bruno Haible  <bruno@clisp.org>
23677
23678         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
23679         * modules/mbsrtowcs (License): Change to LGPLv2+.
23680         * modules/strnlen1 (License): Likewise.
23681         Reported by Simon Josefsson.
23682
23683 2009-05-02  Bruno Haible  <bruno@clisp.org>
23684
23685         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
23686         "cross".
23687         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
23688         gnulib-tool was called with option --source-base=lib.
23689
23690 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23691
23692         Use automake *-local hooks without commands, for extensibility.
23693         * modules/localcharset (Makefile.am): Rename install-exec-local
23694         rule to install-exec-localcharset, and make it a prerequisite of
23695         install-exec-local.  Likewise, rename the uninstall-local rule to
23696         uninstall-localcharset, and make it a prerequisite of the former.
23697
23698 2009-05-01  Bruno Haible  <bruno@clisp.org>
23699
23700         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
23701         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
23702         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
23703         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
23704         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
23705         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
23706         m4/locale-zh.m4, m4/codeset.m4.
23707
23708         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
23709         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
23710         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
23711         m4/locale-zh.m4.
23712
23713         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
23714         REPLACE_WCRTOMB if mbstate_t must be replaced.
23715         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
23716         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
23717
23718 2009-05-01  Bruno Haible  <bruno@clisp.org>
23719
23720         Avoid compiler warnings when redefining macros defined by <libintl.h>.
23721         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
23722         dngettext, dcngettext, textdomain, bindtextdomain,
23723         bind_textdomain_codeset): Undefine before redefining.
23724
23725 2009-04-30  Bruno Haible  <bruno@clisp.org>
23726
23727         Fix bug introduced on 2009-04-25.
23728         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
23729         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
23730         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
23731         is defined.
23732         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
23733         is defined.
23734         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
23735         is defined.
23736         Reported by Elbert_Pol <elbert.pol@gmail.com>.
23737
23738 2009-04-28  Bruno Haible  <bruno@clisp.org>
23739
23740         Comment tweaks.
23741         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
23742         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
23743         * lib/unicase.h (u*_casexfrm): Likewise.
23744         Reported by Paolo Bonzini.
23745
23746 2009-04-28  Bruno Haible  <bruno@clisp.org>
23747
23748         Fix a compilation error.
23749         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
23750         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
23751         Reported by Jim Meyering.
23752
23753 2009-04-27  Bruno Haible  <bruno@clisp.org>
23754
23755         New module 'libunistring'.
23756         * modules/libunistring: New file.
23757         * m4/libunistring.m4: New file.
23758         * MODULES.html.sh (Unicode string functions): Add it.
23759
23760 2009-04-27  Eric Blake  <ebb9@byu.net>
23761
23762         maint.mk: allow package-specific header to provide <config.h>
23763         * top/maint.mk (sc_require_config_h): New variable.
23764         (sc_require_config_h, sc_require_config_h_first): Use it.
23765
23766 2009-04-27  Simon Josefsson  <simon@josefsson.org>
23767
23768         * top/maint.mk (sc_avoid_if_before_free): Except
23769         useless-if-before-free script.
23770
23771 2009-04-27  Eric Blake  <ebb9@byu.net>
23772
23773         maintainer-makefile: depend on all required helper scripts
23774         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
23775         useless-if-before-free.
23776         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
23777         version, rather than assuming gnulib checkout is available.
23778         Reported by Simen Josefsson.
23779
23780 2009-04-26  Bruno Haible  <bruno@clisp.org>
23781
23782         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
23783         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
23784         "../" or "..".
23785
23786 2009-04-26  Bruno Haible  <bruno@clisp.org>
23787
23788         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
23789         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
23790         AC_LIB_HAVE_LINKFLAGS.
23791
23792 2009-04-26  Bruno Haible  <bruno@clisp.org>
23793
23794         Simplify calling convention of u*_conv_from_encoding.
23795         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
23796         u32_conv_from_encoding): Expect a resultbuf argument and return the
23797         result directly as a pointer.
23798         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
23799         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
23800         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
23801         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
23802         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
23803         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
23804         Update.
23805         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
23806         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
23807         * lib/vasnprintf.c (VASNPRINTF): Update.
23808         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
23809         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
23810         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
23811         * NEWS: Mention the change.
23812
23813 2009-04-26  Bruno Haible  <bruno@clisp.org>
23814
23815         Simplify calling convention of u*_conv_to_encoding.
23816         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
23817         u32_conv_to_encoding): Expect a resultbuf argument and return the
23818         result directly as a pointer.
23819         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
23820         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
23821         freeing scaled_offsets if mem_iconveha failed.
23822         * lib/unicase/u-casexfrm.h (FUNC): Update.
23823         * lib/uninorm/u-normxfrm.h (FUNC): Update.
23824         * lib/vasnprintf.c (VASNPRINTF): Update.
23825         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
23826         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
23827         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
23828         * NEWS: Mention the change.
23829
23830 2009-04-26  Bruno Haible  <bruno@clisp.org>
23831
23832         Avoid test failures on AIX and OSF/1.
23833         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
23834         malloc(0).
23835         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
23836         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
23837         Likewise.
23838         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
23839         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
23840         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
23841         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
23842         * doc/posix-functions/malloc.texi: Document the portability problem
23843         related to malloc(0).
23844
23845 2009-04-26  Bruno Haible  <bruno@clisp.org>
23846
23847         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
23848         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
23849         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
23850
23851 2009-04-25  Bruno Haible  <bruno@clisp.org>
23852
23853         Avoid link error when creating a namespace clean library.
23854         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
23855         as macro with arguments if already defined as an alias.
23856         * lib/signbitf.c (gl_signbitf): Don't undefine.
23857         * lib/signbitd.c (gl_signbitd): Don't undefine.
23858         * lib/signbitl.c (gl_signbitl): Don't undefine.
23859
23860 2009-04-25  Jim Meyering  <meyering@redhat.com>
23861
23862         vc-list-files: fix another quoting bug
23863         * build-aux/vc-list-files: Avoid sed backslash expansion
23864         of pathological directory names.
23865
23866 2009-04-25  Eric Blake  <ebb9@byu.net>
23867
23868         vc-list-files: fix shell quoting error
23869         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
23870         timestamp.
23871
23872 2009-04-25  Jim Meyering  <meyering@redhat.com>
23873
23874         vc-list-files: restore lost functionality with subdir argument
23875         * build-aux/vc-list-files: When given a non-"." sub-directory
23876         argument, substitute the $dir/ prefix back onto each resulting name.
23877         Otherwise, coreutils' root_tests check would fail.
23878
23879 2009-04-24  Eric Blake  <ebb9@byu.net>
23880
23881         vc-list-files: ignore git symlinks
23882         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
23883         than ls-files, to ignore git symlinks.
23884
23885         maint.mk: import improvements from m4
23886         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
23887         (move_if_change): Delete unused macro.
23888         (news-date-check, vc-diff-check): Support VPATH builds.
23889         (announcement): Likewise.  Split --bootstrap-tools list...
23890         (boostrap-tools): ...into separate list, which can be overridden
23891         in cfg.mk.
23892         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
23893         requiring dependency on useless-if-before-free module.
23894         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
23895         Support VPATH builds.
23896
23897 2009-04-24  Jim Meyering  <meyering@redhat.com>
23898
23899         maint.mk: remove coreutils-specific rules and variables
23900         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
23901         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
23902         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
23903
23904         maint.mk: remove obsolete rule
23905         * top/maint.mk (rel-check): Remove rule.
23906         (WGET, WGETFLAGS): Remove now-unused variables.
23907
23908 2009-04-24  Simon Josefsson  <simon@josefsson.org>
23909
23910         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
23911         consistency.
23912
23913         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
23914         '$(PATH_SEPARATOR)' instead of ':'.
23915
23916 2009-04-24  Simon Josefsson  <simon@josefsson.org>
23917
23918         * lib/getopt1.c (main): Use 'const' for static array.
23919
23920 2009-04-24  Simon Josefsson  <simon@josefsson.org>
23921
23922         * top/maint.mk: Sync with coreutils.
23923         * NEWS: Explain incompatibilities.
23924
23925 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23926             Bruno Haible  <bruno@clisp.org>
23927
23928         Fix cross-compilation results.
23929         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
23930         statement, as third argument of AC_TRY_RUN.
23931         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23932         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23933         Likewise.
23934         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23935         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23936         Likewise.
23937         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23938         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
23939         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
23940
23941 2009-04-20  Bruno Haible  <bruno@clisp.org>
23942
23943         Avoid test failure on mingw.
23944         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
23945
23946 2009-04-20  Bruno Haible  <bruno@clisp.org>
23947
23948         Avoid compilation error on mingw.
23949         * modules/localename-tests (Depends-on): Add locale.
23950
23951 2009-04-19  Bruno Haible  <bruno@clisp.org>
23952
23953         Support for building a shared library on Windows platforms.
23954         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
23955         (main): Test the presence of UNINORM_NFC here.
23956         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
23957         (main): Test the presence of UNINORM_NFD here.
23958         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
23959         (main): Test the presence of UNINORM_NFKC here.
23960         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
23961         (main): Test the presence of UNINORM_NFKD here.
23962
23963 2009-04-19  Bruno Haible  <bruno@clisp.org>
23964
23965         Avoid a compiler warning.
23966         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
23967         Change type of variable 'sequence'.
23968
23969 2009-04-19  Bruno Haible  <bruno@clisp.org>
23970
23971         * modules/configmake (Makefile.am): When the contents of configmake.h
23972         does not change, arrange to preserve its modification time.
23973
23974 2009-04-17  Simon Josefsson  <simon@josefsson.org>
23975
23976         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
23977         gettext domain.
23978
23979 2009-04-16  Jim Meyering  <meyering@redhat.com>
23980
23981         useless-if-before-free: improve conversion code
23982         * build-aux/useless-if-before-free: Adjust code-in-comment to match
23983         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
23984
23985 2009-04-14  Bruno Haible  <bruno@clisp.org>
23986
23987         * modules/fcntl (Depends-on): Add extensions.
23988         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
23989
23990 2009-04-12  Ben Pfaff  <blp@gnu.org>
23991
23992         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
23993         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
23994
23995 2009-03-20  Ben Pfaff  <blp@gnu.org>
23996
23997         Make rename replace existing destinations on Windows.
23998         * m4/rename.m4: Add test for Mingw.
23999         * lib/rename.c: Add rename replacement that uses MoveFileEx with
24000         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
24001         * doc/posix-functions/rename.texi: Document.
24002
24003 2009-04-10  Bruno Haible  <bruno@clisp.org>
24004
24005         New include file "iconveh.h".
24006         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
24007         * lib/striconveh.h: Include it.
24008         (enum iconv_ilseq_handler): Remove definition.
24009         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
24010         striconveh.h.
24011         * lib/striconveha.c: Include striconveh.h.
24012         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
24013         * modules/striconveh (Files): Add lib/iconveh.h.
24014         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
24015         lib/striconveh.h.
24016
24017 2009-04-10  Bruno Haible  <bruno@clisp.org>
24018
24019         * lib/uniconv.h: Update comment.
24020
24021 2009-04-10  Bruno Haible  <bruno@clisp.org>
24022
24023         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
24024         always.
24025         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
24026         * lib/unistr/u16-mbtouc-aux.c: Likewise.
24027         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
24028         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
24029         "unistring-notinline.h", so that the function gets defined always.
24030         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
24031         * lib/unistr/u8-uctomb.c: Likewise.
24032         * lib/unistr/u16-mbtouc.c: Likewise.
24033         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
24034         * lib/unistr/u16-uctomb.c: Likewise.
24035         * lib/unistr/u32-mbtouc.c: Likewise.
24036         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
24037         * lib/unistr/u32-uctomb.c: Likewise.
24038
24039 2009-04-10  Bruno Haible  <bruno@clisp.org>
24040
24041         Mark 'utime' obsolete.
24042         * modules/utime (Status, Notice): New sections.
24043         Suggested by Jim Meyering.
24044
24045         Fix cross-compile guess for utime test.
24046         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
24047         autoconf.
24048         * doc/posix-functions/utime.texi: Give more precisions.
24049         Reported by Jan <ipif@ymail.com>.
24050
24051 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
24052
24053         filevercmp: correct today's change
24054         * lib/filevercmp.c: Also handle coreutils' test inputs.
24055         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
24056
24057         Fix regression in 'filevercmp' module. Thanks Sven Joachim
24058         for reporting it.
24059         * lib/filevercmp.c: Special handle for "", "." and "..".
24060         * tests/test-filevercmp.c: Enlarge the set suite.
24061
24062 2009-04-07  Jim Meyering  <meyering@redhat.com>
24063
24064         useless-if-before-free: show how to remove braced useless free, too
24065         * build-aux/useless-if-before-free: still only in a comment, though.
24066
24067 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
24068
24069         maint.mk: import changes to syntax-check macros from coreutils
24070         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
24071         Use them in the relevant macros.
24072
24073 2009-04-06  Bruno Haible  <bruno@clisp.org>
24074
24075         Fix unportable use of bit-fields.
24076         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
24077         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
24078         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
24079
24080 2009-04-06  Bruno Haible  <bruno@clisp.org>
24081
24082         Avoid test failures on AIX and OSF/1.
24083         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
24084         that malloc(0) = NULL.
24085         * tests/unicase/test-u8-tolower.c (check): Likewise.
24086         * tests/unicase/test-u8-totitle.c (check): Likewise.
24087         * tests/unicase/test-u8-toupper.c (check): Likewise.
24088         * tests/unicase/test-u16-casefold.c (check): Likewise.
24089         * tests/unicase/test-u16-tolower.c (check): Likewise.
24090         * tests/unicase/test-u16-totitle.c (check): Likewise.
24091         * tests/unicase/test-u16-toupper.c (check): Likewise.
24092         * tests/unicase/test-u32-casefold.c (check): Likewise.
24093         * tests/unicase/test-u32-tolower.c (check): Likewise.
24094         * tests/unicase/test-u32-totitle.c (check): Likewise.
24095         * tests/unicase/test-u32-toupper.c (check): Likewise.
24096         * tests/uninorm/test-u8-nfc.c (check): Likewise.
24097         * tests/uninorm/test-u8-nfd.c (check): Likewise.
24098         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
24099         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
24100         * tests/uninorm/test-u16-nfc.c (check): Likewise.
24101         * tests/uninorm/test-u16-nfd.c (check): Likewise.
24102         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
24103         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
24104         * tests/uninorm/test-u32-nfc.c (check): Likewise.
24105         * tests/uninorm/test-u32-nfd.c (check): Likewise.
24106         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
24107         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
24108
24109 2009-04-05  Bruno Haible  <bruno@clisp.org>
24110
24111         Work around an autoconf limitation.
24112         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
24113         comment line if it would be longer than 3 KB.
24114
24115 2009-04-05  Bruno Haible  <bruno@clisp.org>
24116
24117         Avoid test failure with libiconv-1.13.
24118         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
24119         of the expected test results.
24120
24121 2009-04-05  Bruno Haible  <bruno@clisp.org>
24122
24123         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
24124         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
24125         that it should be installed.
24126
24127 2009-04-05  Bruno Haible  <bruno@clisp.org>
24128
24129         * gnulib-tool: New option --copy-file.
24130         (func_usage): Document it.
24131         (func_dest_tmpfilename): Moved out of func_import.
24132         (func_add_file, func_update_file): New functions, extracted from
24133         func_import.
24134         (func_import): Update.
24135
24136 2009-04-05  Karl Berry  <karl@gnu.org>
24137
24138         * README: prominently mention gnulib-tool.
24139         Rearrange sections so getting the code is near the top.
24140
24141 2009-04-05  Bruno Haible  <bruno@clisp.org>
24142
24143         * lib/unicase.h: Mention u*_cmp2.
24144         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
24145         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
24146         * lib/unicase/ulc-casecmp.c: Likewise.
24147         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
24148         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
24149         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
24150         unistr/u8-cmp.
24151         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
24152         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
24153         unistr/u16-cmp.
24154         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
24155         unistr/u32-cmp.
24156
24157         * lib/uninorm.h: Mention u*_cmp2.
24158         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
24159         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
24160         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
24161         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
24162         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
24163         unistr/u8-cmp.
24164         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
24165         unistr/u16-cmp.
24166         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
24167         unistr/u32-cmp.
24168
24169         New module 'unistr/u32-cmp2'.
24170         * lib/unistr/u32-cmp2.c: New file.
24171         * modules/unistr/u32-cmp2: New file.
24172
24173         New module 'unistr/u16-cmp2'.
24174         * lib/unistr/u16-cmp2.c: New file.
24175         * modules/unistr/u16-cmp2: New file.
24176
24177         New module 'unistr/u8-cmp2'.
24178         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
24179         * lib/unistr/u8-cmp2.c: New file.
24180         * lib/unistr/u-cmp2.h: New file.
24181         * modules/unistr/u8-cmp2: New file.
24182
24183 2009-04-05  Bruno Haible  <bruno@clisp.org>
24184
24185         * lib/unictype.h (uc_property_is_valid): New macro.
24186         * tests/unictype/test-pr_byname.c (main): Use it.
24187
24188         * lib/unistr.h: Doc fixes.
24189         * lib/uniconv.h: Doc fixes.
24190         * lib/unictype.h: Doc fixes.
24191
24192 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
24193
24194         Port coreutils 7.2 to Solaris 8.
24195
24196         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
24197         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
24198         for Solaris 8.  This is a bit of a hack, as it means it's the
24199         caller's responsibility to add -lnsl if needed, but most likely it
24200         won't be needed since only getaddrinfo uses this and getaddrinfo
24201         isn't needed on Solaris 8.
24202
24203         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
24204         problem to Solaris 8 encountered with coreutils 7.2, which
24205         resulted in a message "fnmatch.c:292: warning: passing argument 4
24206         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
24207         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
24208
24209 2009-04-03  Simon Josefsson  <simon@josefsson.org>
24210
24211         * m4/ld-version-script.m4: Add FIXME comment.
24212
24213 2009-04-02  Simon Josefsson  <simon@josefsson.org>
24214
24215         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
24216         SOVERSION variable.
24217
24218 2009-04-02  Bruno Haible  <bruno@clisp.org>
24219
24220         * Makefile (info, html, dvi, pdf): Combine the rules.
24221         Suggested by Jim Meyering.
24222
24223 2009-04-01  Bruno Haible  <bruno@clisp.org>
24224
24225         * Makefile (info, html, dvi, pdf): New targets.
24226         Reported by Reuben Thomas <rrt@sc3d.org>.
24227
24228 2009-04-01  Bruno Haible  <bruno@clisp.org>
24229
24230         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
24231         can be put into PATH.
24232         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
24233
24234 2009-04-01  Bruno Haible  <bruno@clisp.org>
24235
24236         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
24237
24238 2009-04-01  Bruno Haible  <bruno@clisp.org>
24239
24240         Rename module 'visibility'.
24241         * modules/lib-symbol-visibility: Renamed from modules/visibility.
24242         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
24243         * doc/gnulib.texi: Update.
24244         * MODULES.html.sh (Misc): Update.
24245         * NEWS: Mention the change.
24246
24247 2009-04-01  Simon Josefsson  <simon@josefsson.org>
24248
24249         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
24250         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
24251         Eric Blake <ebb9@byu.net> for review.
24252         * MODULES.html.sh: Add lib-msvc-compat.
24253         * doc/gnulib.texi: Link to new section.
24254         * m4/ld-output-def.m4: New file.
24255         * doc/ld-output-def.texi: New file.
24256
24257 2009-04-01  Simon Josefsson  <simon@josefsson.org>
24258
24259         Rename ld-version-script to lib-symbol-versions.  Suggested by
24260         Bruno Haible <bruno@clisp.org>.
24261         * modules/ld-version-script: Renamed to lib-symbol-versions.
24262         * doc/ld-version-script.texi: Fix module name.
24263         * MODULES.html.sh: Add lib-symbol-versions.
24264
24265 2009-03-31  Simon Josefsson  <simon@josefsson.org>
24266
24267         * modules/u64-tests: New file.
24268         * tests/test-u64.c: New file.
24269
24270 2009-03-04  Simon Josefsson  <simon@josefsson.org>
24271
24272         * MODULES.html.sh: Mention u64.
24273         * modules/u64: New module.
24274         * modules/crypto/sha512: Depend on u64 module instead of providing
24275         u64.h.
24276
24277 2009-03-27  Eric Blake  <ebb9@byu.net>
24278
24279         test-strerror: make debugging EAI_SYSTEM easier
24280         * modules/getaddrinfo-tests (Depends-on): Add strerror.
24281         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
24282         failure was EAI_SYSTEM.
24283
24284 2009-03-25  Bruno Haible  <bruno@clisp.org>
24285
24286         Fix a problem with --enable-relocatable on Solaris 7.
24287         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
24288         since 2008-02-24.
24289
24290 2009-03-25  Eric Blake  <ebb9@byu.net>
24291
24292         test-sockets: avoid gcc warning
24293         * tests/test-sockets.c (main): Silence compiler warning.
24294
24295 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
24296
24297         New modules nproc, pthread, contributed by Glen Lenker.
24298
24299         * MODULES.html.sh: Add pthread, nproc.
24300         * lib/nproc.c: New file.
24301         * lib/nproc.h: New file.
24302         * lib/pthread.in.h: New file.
24303         * m4/pthread.m4: New file.
24304         * modules/nproc: New file.
24305         * modules/pthread: New file.
24306
24307 2009-03-24  Simon Josefsson  <simon@josefsson.org>
24308
24309         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
24310         New variable.
24311
24312 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
24313
24314         filevercmp: handle simple~ and numbered.~3~ backup suffixes
24315         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
24316         * tests/test-filevercmp.c: Add tests for backup suffixes.
24317
24318 2009-03-24  Simon Josefsson  <simon@josefsson.org>
24319
24320         * modules/stdlib (Depends-on): Add stdint, needed when defining
24321         struct random_data on, for example, HP-UX 10.20.  Reported by
24322         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24323
24324 2009-03-24  Simon Josefsson  <simon@josefsson.org>
24325
24326         * lib/readline.c (readline): Call fflush on stdout after printing
24327         prompt.
24328
24329 2009-03-20  Bruno Haible  <bruno@clisp.org>
24330
24331         Remove dependency from 'close' module to -lws2_32 on native Windows.
24332         * lib/close-hook.h: New file.
24333         * lib/close-hook.c: New file.
24334         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
24335         w32sock.h.
24336         (_gl_close_fd_maybe_socket): Remove function.
24337         (rpl_close): Invoke execute_all_close_hooks instead of
24338         _gl_close_fd_maybe_socket.
24339         * lib/sockets.c: Include close-hook.h, w32sock.h.
24340         (close_fd_maybe_socket): New function, essentially from lib/close.c.
24341         (close_sockets_hook): New variable.
24342         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
24343         (gl_sockets_cleanup): Unregister it.
24344         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
24345         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
24346         * modules/close-hook: New file.
24347         * modules/close (Files): Remove lib/w32sock.h.
24348         (Depends-on): Add close-hook.
24349         (Link): Remove section.
24350         * modules/sockets (Files): Add lib/w32sock.h.
24351         (Depends-on): Add close-hook.
24352         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
24353         invocation.
24354         * NEWS: Mention that LIB_CLOSE is gone.
24355
24356 2009-03-23  Eric Blake  <ebb9@byu.net>
24357
24358         signal-tests: test previous patch
24359         * tests/test-signal.c: New file.
24360         * modules/signal-tests: Likewise.
24361
24362         signal.h: always support 'volatile sig_atomic_t'
24363         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
24364         (gl_SIGNAL_H_DEFAULTS): Add a default.
24365         * modules/signal (Makefile.am): Substitute if needed.
24366         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
24367         users can blindly add volatile.
24368         * doc/posix-headers/signal.texi (signal.h): Document it.
24369         Reported by Matthew Woehlke.
24370
24371 2009-03-23  Jim Meyering  <meyering@redhat.com>
24372
24373         pathmax: PATH_MAX: use pathconf only when available
24374         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
24375         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
24376         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
24377         This avoids a link failure in a PSP cross-compilation environment
24378         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
24379
24380         * lib/vasnprintf.c (divide): Fix typo in comment.
24381
24382 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24383
24384         * gnulib-tool (func_filter_filelist): Fix comment.
24385
24386 2009-03-20  Bruno Haible  <bruno@clisp.org>
24387
24388         Make sockets.h self-contained.
24389         * lib/sockets.c: Include sockets.h first.
24390         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
24391
24392 2009-03-19  Eric Blake  <ebb9@byu.net>
24393
24394         doc: mention more functions added in cygwin 1.7.0
24395         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
24396         addition.
24397         * doc/posix-functions/log2f.texi: Likewise.
24398
24399 2009-03-19  Jim Meyering  <meyering@redhat.com>
24400
24401         fsusage: avoid syntax error due to statement-before-declaration
24402         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
24403         after all declarations.  Reported by Matthew Woehlke in
24404         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
24405
24406 2009-03-18  Eric Blake  <ebb9@byu.net>
24407
24408         build-aux/compile: sync from automake
24409         * build-aux/compile: New file, from automake.
24410         * config/srclist.txt: Mention build-aux/compile.
24411
24412 2009-03-17  Bruno Haible  <bruno@clisp.org>
24413
24414         * lib/git-merge-changelog.c: Fix typo in comment.
24415         Reported by Reuben Thomas <rrt@sc3d.org>.
24416
24417 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
24418
24419         * m4/regex.m4: update and improve help for
24420         --without-included-regex.
24421
24422 2009-03-17  Simon Josefsson  <simon@josefsson.org>
24423
24424         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
24425         failure on missing include files.
24426
24427 2009-03-17  Eric Blake  <ebb9@byu.net>
24428
24429         doc: mention more functions added in cygwin 1.7.0
24430         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
24431         addition.
24432         * doc/posix-functions/fwscanf.texi: Likewise.
24433         * doc/posix-functions/swprintf.texi: Likewise.
24434         * doc/posix-functions/swscanf.texi: Likewise.
24435         * doc/posix-functions/vfwprintf.texi: Likewise.
24436         * doc/posix-functions/vfwscanf.texi: Likewise.
24437         * doc/posix-functions/vswprintf.texi: Likewise.
24438         * doc/posix-functions/vswscanf.texi: Likewise.
24439         * doc/posix-functions/vwprintf.texi: Likewise.
24440         * doc/posix-functions/vwscanf.texi: Likewise.
24441         * doc/posix-functions/wcscasecmp.texi: Likewise.
24442         * doc/posix-functions/wcsdup.texi: Likewise.
24443         * doc/posix-functions/wcsftime.texi: Likewise.
24444         * doc/posix-functions/wcsncasecmp.texi: Likewise.
24445         * doc/posix-functions/wprintf.texi: Likewise.
24446         * doc/posix-functions/wscanf.texi: Likewise.
24447         * doc/glibc-functions/gethostbyname2.texi: Likewise.
24448
24449 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24450
24451         maint.mk: really add $(AM_MAKEFLAGS)
24452         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
24453         was inadvertently omitted in the last commit.
24454         Spotted by Bruno Haible.
24455
24456         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
24457         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
24458         $(AM_MAKEFLAGS)' rather than plain `make'.
24459
24460         gnulib-tool: execute $MAKE not make
24461         * gnulib-tool: Default $MAKE to 'make'.
24462         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
24463         than make.  Initialize $MAKE in the do-autobuild script.
24464
24465         gnulib-tool: use $MAKE not make in generated files
24466         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
24467         make, in generated files.  Initialize $MAKE in the do-autobuild
24468         script.
24469
24470         * top/GNUmakefile (_have-git-version-gen): Fix typo.
24471
24472         GNUmakefile: disable parallelism only for multiple, recursive targets
24473         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
24474         additions in the Makefile.
24475         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
24476         by Automake.
24477         (.NOTPARALLEL): Only disable parallel builds if multiple targets
24478         are listed on the command line and at least one of them is
24479         listed in $(ALL_RECURSIVE_TARGETS).
24480
24481 2009-03-14  Bruno Haible  <bruno@clisp.org>
24482
24483         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
24484         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
24485         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
24486         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
24487         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
24488         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
24489         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
24490         unistr/u8-uctomb.
24491         * modules/unistr/u8-strchr (Depends-on): Likewise.
24492         * modules/unistr/u8-strrchr (Depends-on): Likewise.
24493         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
24494         unistr/u16-uctomb.
24495         * modules/unistr/u16-strchr (Depends-on): Likewise.
24496         * modules/unistr/u16-strrchr (Depends-on): Likewise.
24497
24498 2009-03-12  Bruno Haible  <bruno@clisp.org>
24499
24500         Work around select() bug on Interix 3.5.
24501         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
24502         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
24503         * m4/select.m4: New file.
24504         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
24505         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
24506         * modules/select (Files): Add m4/select.m4.
24507         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
24508         * modules/nanosleep (Depends-on): Add select.
24509         * modules/poll (Depends-on): Likewise.
24510         * doc/posix-functions/select.texi: Mention the Interix bug.
24511         Reported by Markus Duft <mduft@gentoo.org>.
24512
24513         * lib/select.c: Renamed from lib/winsock-select.c.
24514         * modules/select (Files): Add lib/select.c, remove
24515         lib/winsock-select.c.
24516         (configure.ac): Update.
24517
24518 2009-03-12  Jim Meyering  <meyering@redhat.com>
24519
24520         avoid gcc warnings about unused macro definitions
24521         * lib/readtokens.c (STREQ): Remove unused definition.
24522         * lib/xmalloc.c (SIZE_MAX): Likewise.
24523         * lib/openat-die.c (N_): Likewise.
24524         * lib/mountlist.c (SIZE_MAX): Remove definition.
24525         Instead, include <stdint.h>.
24526         * lib/readutmp.c: Likewise.
24527         * modules/readutmp (Depends-on): Add stdint.
24528         * modules/mountlist (Depends-on): Add stdint.
24529         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
24530
24531 2009-03-10  Bruno Haible  <bruno@clisp.org>
24532
24533         Tests for module 'mbmemcasecoll'.
24534         * modules/mbmemcasecoll-tests: New file.
24535         * tests/test-mbmemcasecoll1.sh: New file.
24536         * tests/test-mbmemcasecoll2.sh: New file.
24537         * tests/test-mbmemcasecoll3.sh: New file.
24538         * tests/test-mbmemcasecoll.c: New file.
24539
24540         New module 'mbmemcasecoll'.
24541         * lib/mbmemcasecoll.h: New file.
24542         * lib/mbmemcasecoll.c: New file.
24543         * modules/mbmemcasecoll: New file.
24544
24545         * tests/test-mbmemcasecmp.h: New file, extracted from
24546         tests/test-mbmemcasecmp.c.
24547         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
24548         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
24549         (main): Update.
24550         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
24551
24552 2009-03-09  Bruno Haible  <bruno@clisp.org>
24553
24554         Tests for module 'mbmemcasecmp'.
24555         * modules/mbmemcasecmp-tests: New file.
24556         * tests/test-mbmemcasecmp1.sh: New file.
24557         * tests/test-mbmemcasecmp2.sh: New file.
24558         * tests/test-mbmemcasecmp3.sh: New file.
24559         * tests/test-mbmemcasecmp.c: New file.
24560
24561         New module 'mbmemcasecmp'.
24562         * lib/mbmemcasecmp.h: New file.
24563         * lib/mbmemcasecmp.c: New file.
24564         * modules/mbmemcasecmp: New file.
24565
24566 2009-03-09  Bruno Haible  <bruno@clisp.org>
24567
24568         Tests for module 'unicase/ulc-casecoll'.
24569         * modules/unicase/ulc-casecoll-tests: New file.
24570         * tests/unicase/test-ulc-casecoll1.sh: New file.
24571         * tests/unicase/test-ulc-casecoll2.sh: New file.
24572         * tests/unicase/test-ulc-casecoll.c: New file.
24573
24574         New module 'unicase/ulc-casecoll'.
24575         * lib/unicase.h (ulc_casecoll): New declaration.
24576         * lib/unicase/ulc-casecoll.c: New file.
24577         * modules/unicase/ulc-casecoll: New file.
24578
24579         New module 'unicase/ulc-casexfrm'.
24580         * lib/unicase.h (ulc_casexfrm): New declaration.
24581         * lib/unicase/ulc-casexfrm.c: New file.
24582         * modules/unicase/ulc-casexfrm: New file.
24583
24584 2009-03-09  Bruno Haible  <bruno@clisp.org>
24585
24586         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
24587         invocations.
24588
24589         * m4/mbscasecmp.m4: Remove file.
24590         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
24591         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
24592
24593         * m4/mbscasestr.m4: Remove file.
24594         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
24595         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
24596
24597         * m4/mbschr.m4: Remove file.
24598         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
24599         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
24600
24601         * m4/mbscspn.m4: Remove file.
24602         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
24603         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
24604
24605         * m4/mbslen.m4: Remove file.
24606         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
24607         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
24608
24609         * m4/mbsncasecmp.m4: Remove file.
24610         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
24611         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
24612
24613         * m4/mbsnlen.m4: Remove file.
24614         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
24615         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
24616
24617         * m4/mbspbrk.m4: Remove file.
24618         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
24619         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
24620
24621         * m4/mbspcasecmp.m4: Remove file.
24622         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
24623         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
24624
24625         * m4/mbsrchr.m4: Remove file.
24626         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
24627         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
24628
24629         * m4/mbssep.m4: Remove file.
24630         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
24631         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
24632
24633         * m4/mbsspn.m4: Remove file.
24634         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
24635         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
24636
24637         * m4/mbsstr.m4: Remove file.
24638         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
24639         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
24640
24641         * m4/mbstok_r.m4: Remove file.
24642         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
24643         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
24644
24645         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
24646
24647         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
24648         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
24649
24650         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
24651
24652 2009-03-08  Bruno Haible  <bruno@clisp.org>
24653
24654         Tests for module 'unicase/ulc-casecmp'.
24655         * modules/unicase/ulc-casecmp-tests: New file.
24656         * tests/unicase/test-ulc-casecmp1.sh: New file.
24657         * tests/unicase/test-ulc-casecmp2.sh: New file.
24658         * tests/unicase/test-ulc-casecmp.c: New file.
24659
24660         New module 'unicase/ulc-casecmp'.
24661         * lib/unicase.h (ulc_casecmp): New declaration.
24662         * lib/unicase/ulc-casecmp.c: New file.
24663         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
24664         'const SRC_UNIT *'.
24665         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
24666         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
24667         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
24668         * modules/unicase/ulc-casecmp: New file.
24669
24670         Tests for module 'unicase/u32-is-cased'.
24671         * modules/unicase/u32-is-cased-tests: New file.
24672         * tests/unicase/test-u32-is-cased.c: New file.
24673
24674         Tests for module 'unicase/u16-is-cased'.
24675         * modules/unicase/u16-is-cased-tests: New file.
24676         * tests/unicase/test-u16-is-cased.c: New file.
24677
24678         Tests for module 'unicase/u8-is-cased'.
24679         * modules/unicase/u8-is-cased-tests: New file.
24680         * tests/unicase/test-u8-is-cased.c: New file.
24681         * tests/unicase/test-is-cased.h: New file.
24682
24683         New module 'unicase/u32-is-cased'.
24684         * lib/unicase/u32-is-cased.c: New file.
24685         * modules/unicase/u32-is-cased: New file.
24686
24687         New module 'unicase/u16-is-cased'.
24688         * lib/unicase/u16-is-cased.c: New file.
24689         * modules/unicase/u16-is-cased: New file.
24690
24691         New module 'unicase/u8-is-cased'.
24692         * lib/unicase/u8-is-cased.c: New file.
24693         * lib/unicase/u-is-cased.h: New file.
24694         * modules/unicase/u8-is-cased: New file.
24695
24696         Tests for module 'unicase/u32-is-casefolded'.
24697         * modules/unicase/u32-is-casefolded-tests: New file.
24698         * tests/unicase/test-u32-is-casefolded.c: New file.
24699
24700         Tests for module 'unicase/u16-is-casefolded'.
24701         * modules/unicase/u16-is-casefolded-tests: New file.
24702         * tests/unicase/test-u16-is-casefolded.c: New file.
24703
24704         Tests for module 'unicase/u8-is-casefolded'.
24705         * modules/unicase/u8-is-casefolded-tests: New file.
24706         * tests/unicase/test-u8-is-casefolded.c: New file.
24707         * tests/unicase/test-is-casefolded.h: New file.
24708
24709         New module 'unicase/u32-is-casefolded'.
24710         * lib/unicase/u32-is-casefolded.c: New file.
24711         * modules/unicase/u32-is-casefolded: New file.
24712
24713         New module 'unicase/u16-is-casefolded'.
24714         * lib/unicase/u16-is-casefolded.c: New file.
24715         * modules/unicase/u16-is-casefolded: New file.
24716
24717         New module 'unicase/u8-is-casefolded'.
24718         * lib/unicase/u8-is-casefolded.c: New file.
24719         * modules/unicase/u8-is-casefolded: New file.
24720
24721         Tests for module 'unicase/u32-is-titlecase'.
24722         * modules/unicase/u32-is-titlecase-tests: New file.
24723         * tests/unicase/test-u32-is-titlecase.c: New file.
24724
24725         Tests for module 'unicase/u16-is-titlecase'.
24726         * modules/unicase/u16-is-titlecase-tests: New file.
24727         * tests/unicase/test-u16-is-titlecase.c: New file.
24728
24729         Tests for module 'unicase/u8-is-titlecase'.
24730         * modules/unicase/u8-is-titlecase-tests: New file.
24731         * tests/unicase/test-u8-is-titlecase.c: New file.
24732         * tests/unicase/test-is-titlecase.h: New file.
24733
24734         New module 'unicase/u32-is-titlecase'.
24735         * lib/unicase/u32-is-titlecase.c: New file.
24736         * modules/unicase/u32-is-titlecase: New file.
24737
24738         New module 'unicase/u16-is-titlecase'.
24739         * lib/unicase/u16-is-titlecase.c: New file.
24740         * modules/unicase/u16-is-titlecase: New file.
24741
24742         New module 'unicase/u8-is-titlecase'.
24743         * lib/unicase/u8-is-titlecase.c: New file.
24744         * modules/unicase/u8-is-titlecase: New file.
24745
24746         Tests for module 'unicase/u32-is-lowercase'.
24747         * modules/unicase/u32-is-lowercase-tests: New file.
24748         * tests/unicase/test-u32-is-lowercase.c: New file.
24749
24750         Tests for module 'unicase/u16-is-lowercase'.
24751         * modules/unicase/u16-is-lowercase-tests: New file.
24752         * tests/unicase/test-u16-is-lowercase.c: New file.
24753
24754         Tests for module 'unicase/u8-is-lowercase'.
24755         * modules/unicase/u8-is-lowercase-tests: New file.
24756         * tests/unicase/test-u8-is-lowercase.c: New file.
24757         * tests/unicase/test-is-lowercase.h: New file.
24758
24759         New module 'unicase/u32-is-lowercase'.
24760         * lib/unicase/u32-is-lowercase.c: New file.
24761         * modules/unicase/u32-is-lowercase: New file.
24762
24763         New module 'unicase/u16-is-lowercase'.
24764         * lib/unicase/u16-is-lowercase.c: New file.
24765         * modules/unicase/u16-is-lowercase: New file.
24766
24767         New module 'unicase/u8-is-lowercase'.
24768         * lib/unicase/u8-is-lowercase.c: New file.
24769         * modules/unicase/u8-is-lowercase: New file.
24770
24771         Tests for module 'unicase/u32-is-uppercase'.
24772         * modules/unicase/u32-is-uppercase-tests: New file.
24773         * tests/unicase/test-u32-is-uppercase.c: New file.
24774
24775         Tests for module 'unicase/u16-is-uppercase'.
24776         * modules/unicase/u16-is-uppercase-tests: New file.
24777         * tests/unicase/test-u16-is-uppercase.c: New file.
24778
24779         Tests for module 'unicase/u8-is-uppercase'.
24780         * modules/unicase/u8-is-uppercase-tests: New file.
24781         * tests/unicase/test-u8-is-uppercase.c: New file.
24782         * tests/unicase/test-is-uppercase.h: New file.
24783
24784         New module 'unicase/u32-is-uppercase'.
24785         * lib/unicase/u32-is-uppercase.c: New file.
24786         * modules/unicase/u32-is-uppercase: New file.
24787
24788         New module 'unicase/u16-is-uppercase'.
24789         * lib/unicase/u16-is-uppercase.c: New file.
24790         * modules/unicase/u16-is-uppercase: New file.
24791
24792         New module 'unicase/u8-is-uppercase'.
24793         * lib/unicase/u8-is-uppercase.c: New file.
24794         * modules/unicase/u8-is-uppercase: New file.
24795
24796         New module 'unicase/u32-is-invariant'.
24797         * lib/unicase/u32-is-invariant.c: New file.
24798         * modules/unicase/u32-is-invariant: New file.
24799
24800         New module 'unicase/u16-is-invariant'.
24801         * lib/unicase/u16-is-invariant.c: New file.
24802         * modules/unicase/u16-is-invariant: New file.
24803
24804         New module 'unicase/u8-is-invariant'.
24805         * lib/unicase/u8-is-invariant.c: New file.
24806         * lib/unicase/invariant.h: New file.
24807         * lib/unicase/u-is-invariant.h: New file.
24808         * modules/unicase/u8-is-invariant: New file.
24809
24810         Tests for module 'unicase/u32-casecoll'.
24811         * modules/unicase/u32-casecoll-tests: New file.
24812         * tests/unicase/test-u32-casecoll.c: New file.
24813
24814         Tests for module 'unicase/u16-casecoll'.
24815         * modules/unicase/u16-casecoll-tests: New file.
24816         * tests/unicase/test-u16-casecoll.c: New file.
24817
24818         Tests for module 'unicase/u8-casecoll'.
24819         * modules/unicase/u8-casecoll-tests: New file.
24820         * tests/unicase/test-u8-casecoll.c: New file.
24821
24822         New module 'unicase/u32-casecoll'.
24823         * lib/unicase/u32-casecoll.c: New file.
24824         * modules/unicase/u32-casecoll: New file.
24825
24826         New module 'unicase/u16-casecoll'.
24827         * lib/unicase/u16-casecoll.c: New file.
24828         * modules/unicase/u16-casecoll: New file.
24829
24830         New module 'unicase/u8-casecoll'.
24831         * lib/unicase/u8-casecoll.c: New file.
24832         * lib/unicase/u-casecoll.h: New file.
24833         * modules/unicase/u8-casecoll: New file.
24834
24835         New module 'unicase/u32-casexfrm'.
24836         * lib/unicase/u32-casexfrm.c: New file.
24837         * modules/unicase/u32-casexfrm: New file.
24838
24839         New module 'unicase/u16-casexfrm'.
24840         * lib/unicase/u16-casexfrm.c: New file.
24841         * modules/unicase/u16-casexfrm: New file.
24842
24843         New module 'unicase/u8-casexfrm'.
24844         * lib/unicase/u8-casexfrm.c: New file.
24845         * lib/unicase/u-casexfrm.h: New file.
24846         * modules/unicase/u8-casexfrm: New file.
24847
24848         Tests for module 'unicase/u32-casecmp'.
24849         * modules/unicase/u32-casecmp-tests: New file.
24850         * tests/unicase/test-u32-casecmp.c: New file.
24851
24852         Tests for module 'unicase/u16-casecmp'.
24853         * modules/unicase/u16-casecmp-tests: New file.
24854         * tests/unicase/test-u16-casecmp.c: New file.
24855
24856         Tests for module 'unicase/u8-casecmp'.
24857         * modules/unicase/u8-casecmp-tests: New file.
24858         * tests/unicase/test-u8-casecmp.c: New file.
24859         * tests/unicase/test-casecmp.h: New file.
24860
24861         New module 'unicase/u32-casecmp'.
24862         * lib/unicase/u32-casecmp.c: New file.
24863         * modules/unicase/u32-casecmp: New file.
24864
24865         New module 'unicase/u16-casecmp'.
24866         * lib/unicase/u16-casecmp.c: New file.
24867         * modules/unicase/u16-casecmp: New file.
24868
24869         New module 'unicase/u8-casecmp'.
24870         * lib/unicase/u8-casecmp.c: New file.
24871         * lib/unicase/u-casecmp.h: New file.
24872         * modules/unicase/u8-casecmp: New file.
24873
24874         Tests for module 'unicase/u32-casefold'.
24875         * modules/unicase/u32-casefold-tests: New file.
24876         * tests/unicase/test-u32-casefold.c: New file.
24877
24878         Tests for module 'unicase/u16-casefold'.
24879         * modules/unicase/u16-casefold-tests: New file.
24880         * tests/unicase/test-u16-casefold.c: New file.
24881
24882         Tests for module 'unicase/u8-casefold'.
24883         * modules/unicase/u8-casefold-tests: New file.
24884         * tests/unicase/test-u8-casefold.c: New file.
24885
24886         New module 'unicase/u32-casefold'.
24887         * lib/unicase/u32-casefold.c: New file.
24888         * modules/unicase/u32-casefold: New file.
24889
24890         New module 'unicase/u16-casefold'.
24891         * lib/unicase/u16-casefold.c: New file.
24892         * modules/unicase/u16-casefold: New file.
24893
24894         New module 'unicase/u8-casefold'.
24895         * lib/unicase/u8-casefold.c: New file.
24896         * lib/unicase/u-casefold.h: New file.
24897         * modules/unicase/u8-casefold: New file.
24898
24899         New module 'unicase/tocasefold'.
24900         * lib/unicase/casefold.h: New file.
24901         * lib/unicase/tocasefold.c: New file.
24902         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
24903         * modules/unicase/tocasefold: New file.
24904
24905         Tests for module 'unicase/u32-totitle'.
24906         * modules/unicase/u32-totitle-tests: New file.
24907         * tests/unicase/test-u32-totitle.c: New file.
24908
24909         Tests for module 'unicase/u16-totitle'.
24910         * modules/unicase/u16-totitle-tests: New file.
24911         * tests/unicase/test-u16-totitle.c: New file.
24912
24913         Tests for module 'unicase/u8-totitle'.
24914         * modules/unicase/u8-totitle-tests: New file.
24915         * tests/unicase/test-u8-totitle.c: New file.
24916
24917         New module 'unicase/u32-totitle'.
24918         * lib/unicase/u32-totitle.c: New file.
24919         * modules/unicase/u32-totitle: New file.
24920
24921         New module 'unicase/u16-totitle'.
24922         * lib/unicase/u16-totitle.c: New file.
24923         * modules/unicase/u16-totitle: New file.
24924
24925         New module 'unicase/u8-totitle'.
24926         * lib/unicase/u8-totitle.c: New file.
24927         * lib/unicase/u-totitle.h: New file.
24928         * modules/unicase/u8-totitle: New file.
24929
24930         Tests for module 'unicase/u32-tolower'.
24931         * modules/unicase/u32-tolower-tests: New file.
24932         * tests/unicase/test-u32-tolower.c: New file.
24933
24934         Tests for module 'unicase/u16-tolower'.
24935         * modules/unicase/u16-tolower-tests: New file.
24936         * tests/unicase/test-u16-tolower.c: New file.
24937
24938         Tests for module 'unicase/u8-tolower'.
24939         * modules/unicase/u8-tolower-tests: New file.
24940         * tests/unicase/test-u8-tolower.c: New file.
24941
24942         New module 'unicase/u32-tolower'.
24943         * lib/unicase/u32-tolower.c: New file.
24944         * modules/unicase/u32-tolower: New file.
24945
24946         New module 'unicase/u16-tolower'.
24947         * lib/unicase/u16-tolower.c: New file.
24948         * modules/unicase/u16-tolower: New file.
24949
24950         New module 'unicase/u8-tolower'.
24951         * lib/unicase/u8-tolower.c: New file.
24952         * modules/unicase/u8-tolower: New file.
24953
24954         Tests for module 'unicase/u32-toupper'.
24955         * modules/unicase/u32-toupper-tests: New file.
24956         * tests/unicase/test-u32-toupper.c: New file.
24957
24958         Tests for module 'unicase/u16-toupper'.
24959         * modules/unicase/u16-toupper-tests: New file.
24960         * tests/unicase/test-u16-toupper.c: New file.
24961
24962         Tests for module 'unicase/u8-toupper'.
24963         * modules/unicase/u8-toupper-tests: New file.
24964         * tests/unicase/test-u8-toupper.c: New file.
24965
24966         New module 'unicase/u32-toupper'.
24967         * lib/unicase/u32-toupper.c: New file.
24968         * modules/unicase/u32-toupper: New file.
24969
24970         New module 'unicase/u16-toupper'.
24971         * lib/unicase/u16-toupper.c: New file.
24972         * modules/unicase/u16-toupper: New file.
24973
24974         New module 'unicase/u8-toupper'.
24975         * lib/unicase/u8-toupper.c: New file.
24976         * modules/unicase/u8-toupper: New file.
24977
24978         New module 'unicase/u32-casemap'.
24979         * lib/unicase/u32-casemap.c: New file.
24980         * modules/unicase/u32-casemap: New file.
24981
24982         New module 'unicase/u16-casemap'.
24983         * lib/unicase/u16-casemap.c: New file.
24984         * modules/unicase/u16-casemap: New file.
24985
24986         New module 'unicase/u8-casemap'.
24987         * lib/unicase/unicasemap.h: New file.
24988         * lib/unicase/u8-casemap.c: New file.
24989         * lib/unicase/u-casemap.h: New file.
24990         * modules/unicase/u8-casemap: New file.
24991
24992         New module 'unicase/special-casing'.
24993         * lib/unicase/special-casing.h: New file.
24994         * lib/unicase/special-casing.c: New file.
24995         * lib/unicase/special-casing-table.gperf: New file, generated by
24996         gen-uni-tables.c.
24997         * modules/unicase/special-casing: New file.
24998
24999         Tests for module 'unicase/locale-language'.
25000         * modules/unicase/locale-language-tests: New file.
25001         * tests/unicase/test-locale-language.sh: New file.
25002         * tests/unicase/test-locale-language.c: New file.
25003
25004         New module 'unicase/locale-language'.
25005         * lib/unicase/locale-language.c: New file.
25006         * lib/unicase/locale-languages.gperf: New file.
25007         * modules/unicase/locale-language: New file.
25008
25009         Generate more tables for case conversion and case folding.
25010         * lib/gen-uni-tables.c (SCC_*): New enum items.
25011         (struct special_casing_rule): New type.
25012         (casing_rules, num_casing_rules, allocated_casing_rules): New
25013         variables.
25014         (add_casing_rule, fill_casing_rules): New functions.
25015         (struct casefold_rule): New type.
25016         (casefolding_rules, num_casefolding_rules,
25017         allocated_casefolding_rules): New variables.
25018         (fill_casefolding_rules): New function.
25019         (unicode_casefold): New variable.
25020         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
25021         sort_casing_rules, output_casing_rules): New functions.
25022         (main): Accept to more arguments: SpecialCasing.txt and
25023         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
25024         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
25025         Output mapping for casefolding.
25026
25027         * lib/unicase.h: Include stdbool.h, uninorm.h.
25028         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
25029         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
25030         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
25031         arguments.
25032         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
25033         resultp arguments.
25034         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
25035         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
25036         resultp arguments.
25037         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
25038         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
25039         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
25040         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
25041         declarations.
25042         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
25043
25044 2009-03-08  Bruno Haible  <bruno@clisp.org>
25045
25046         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
25047         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
25048         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
25049         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
25050
25051 2009-03-07  Bruno Haible  <bruno@clisp.org>
25052
25053         Adjust u*_normcmp, u*_normcoll API.
25054         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
25055         u16_normcoll, u32_normcoll): Change failure conventions.
25056         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
25057         errno and return -1.
25058         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
25059
25060 2009-03-07  Bruno Haible  <bruno@clisp.org>
25061
25062         Tests for module 'uninorm/u32-normcoll'.
25063         * modules/uninorm/u32-normcoll-tests: New file.
25064         * tests/uninorm/test-u32-normcoll.c: New file.
25065
25066         Tests for module 'uninorm/u16-normcoll'.
25067         * modules/uninorm/u16-normcoll-tests: New file.
25068         * tests/uninorm/test-u16-normcoll.c: New file.
25069
25070         Tests for module 'uninorm/u8-normcoll'.
25071         * modules/uninorm/u8-normcoll-tests: New file.
25072         * tests/uninorm/test-u8-normcoll.c: New file.
25073
25074 2009-03-07  Bruno Haible  <bruno@clisp.org>
25075
25076         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
25077         tests/uninorm/test-u32-normcmp.c.
25078         * tests/uninorm/test-u32-normcmp.c: Include it.
25079         (test_nonascii): New function, extracted from main. Add some more
25080         tests.
25081         (main): Invoke test_ascii and test_nonascii.
25082         * modules/uninorm/u32-normcmp-tests (Files): Add
25083         tests/uninorm/test-u32-normcmp.h.
25084         (Depends-on): Remove uninorm/u32-normcmp.
25085
25086         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
25087         tests/uninorm/test-u16-normcmp.c.
25088         * tests/uninorm/test-u16-normcmp.c: Include it.
25089         (test_nonascii): New function, extracted from main. Add some more
25090         tests.
25091         (main): Invoke test_ascii and test_nonascii.
25092         * modules/uninorm/u16-normcmp-tests (Files): Add
25093         tests/uninorm/test-u16-normcmp.h.
25094         (Depends-on): Remove uninorm/u16-normcmp.
25095
25096         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
25097         tests/uninorm/test-u8-normcmp.c.
25098         * tests/uninorm/test-u8-normcmp.c: Include it.
25099         (test_nonascii): New function, extracted from main. Add some more
25100         tests.
25101         (main): Invoke test_ascii and test_nonascii.
25102         * modules/uninorm/u8-normcmp-tests (Files): Add
25103         tests/uninorm/test-u8-normcmp.h.
25104         (Depends-on): Remove uninorm/u8-normcmp.
25105
25106 2009-03-07  Bruno Haible  <bruno@clisp.org>
25107
25108         New module 'uninorm/u32-normcoll'.
25109         * lib/uninorm/u32-normcoll.c: New file.
25110         * modules/uninorm/u32-normcoll: New file.
25111
25112         New module 'uninorm/u16-normcoll'.
25113         * lib/uninorm/u16-normcoll.c: New file.
25114         * modules/uninorm/u16-normcoll: New file.
25115
25116         New module 'uninorm/u8-normcoll'.
25117         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
25118         declarations.
25119         * lib/uninorm/u8-normcoll.c: New file.
25120         * lib/uninorm/u-normcoll.h: New file.
25121         * modules/uninorm/u8-normcoll: New file.
25122
25123         New module 'uninorm/u32-normxfrm'.
25124         * lib/uninorm/u32-normxfrm.c: New file.
25125         * modules/uninorm/u32-normxfrm: New file.
25126
25127         New module 'uninorm/u16-normxfrm'.
25128         * lib/uninorm/u16-normxfrm.c: New file.
25129         * modules/uninorm/u16-normxfrm: New file.
25130
25131         New module 'uninorm/u8-normxfrm'.
25132         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
25133         declarations.
25134         * lib/uninorm/u8-normxfrm.c: New file.
25135         * lib/uninorm/u-normxfrm.h: New file.
25136         * modules/uninorm/u8-normxfrm: New file.
25137
25138 2009-03-07  Bruno Haible  <bruno@clisp.org>
25139
25140         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
25141         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
25142         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
25143
25144 2009-03-07  Bruno Haible  <bruno@clisp.org>
25145
25146         New module 'memxfrm'.
25147         * lib/memxfrm.h: New file.
25148         * lib/memxfrm.c: New file.
25149         * modules/memxfrm: New file.
25150
25151 2009-03-07  Bruno Haible  <bruno@clisp.org>
25152
25153         New module 'memcmp2'.
25154         * lib/memcmp2.h: New file.
25155         * lib/memcmp2.c: New file.
25156         * modules/memcmp2: New file.
25157
25158 2009-03-07  Bruno Haible  <bruno@clisp.org>
25159
25160         Tests for module 'uninorm/decomposing-form'.
25161         * modules/uninorm/decomposing-form-tests: New file.
25162         * tests/uninorm/test-decomposing-form.c: New file.
25163
25164         New module 'uninorm/decomposing-form'.
25165         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
25166         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
25167         Add 'decomposing_variant' field.
25168         * lib/uninorm/decomposing-form.c: New file.
25169         * lib/uninorm/nfc.c (uninorm_nfc): Update.
25170         * lib/uninorm/nfd.c (uninorm_nfd): Update.
25171         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
25172         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
25173         * modules/uninorm/decomposing-form: New file.
25174         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
25175         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
25176
25177 2009-03-07  Bruno Haible  <bruno@clisp.org>
25178
25179         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
25180         strings.
25181
25182 2009-03-06  Bruno Haible  <bruno@clisp.org>
25183
25184         Tests for module 'uninorm/u32-normcmp'.
25185         * tests/uninorm/test-u32-normcmp.c: New file.
25186         * modules/uninorm/u32-normcmp-tests: New file.
25187
25188         Tests for module 'uninorm/u16-normcmp'.
25189         * tests/uninorm/test-u16-normcmp.c: New file.
25190         * modules/uninorm/u16-normcmp-tests: New file.
25191
25192         Tests for module 'uninorm/u8-normcmp'.
25193         * tests/uninorm/test-u8-normcmp.c: New file.
25194         * modules/uninorm/u8-normcmp-tests: New file.
25195
25196         New module 'uninorm/u32-normcmp'.
25197         * lib/uninorm/u32-normcmp.c: New file.
25198         * modules/uninorm/u32-normcmp: New file.
25199
25200         New module 'uninorm/u16-normcmp'.
25201         * lib/uninorm/u16-normcmp.c: New file.
25202         * modules/uninorm/u16-normcmp: New file.
25203
25204         New module 'uninorm/u8-normcmp'.
25205         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
25206         declarations.
25207         * lib/uninorm/u8-normcmp.c: New file.
25208         * lib/uninorm/u-normcmp.h: New file.
25209         * modules/uninorm/u8-normcmp: New file.
25210
25211 2009-03-06  Bruno Haible  <bruno@clisp.org>
25212
25213         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
25214         Reported by Eric Blake.
25215
25216 2009-03-06  Eric Blake  <ebb9@byu.net>
25217             Bruno Haible  <bruno@clisp.org>
25218
25219         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
25220         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
25221         condition.
25222         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
25223         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
25224         condition.
25225         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
25226
25227 2009-03-06  Eric Blake  <ebb9@byu.net>
25228
25229         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
25230         to avoid compiler warnings.
25231         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
25232
25233 2009-03-05  Bruno Haible  <bruno@clisp.org>
25234
25235         * tests/test-ftell.c (main): Disable test beyond end of file on
25236         FreeMiNT.
25237         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
25238
25239 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
25240
25241         * lib/filevercmp.c: Move hidden files up in ordering.
25242         * tests/test-filevercmp.c: Add tests for hidden files.
25243
25244 2009-03-04  Bruno Haible  <bruno@clisp.org>
25245
25246         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
25247         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
25248         AM_CFLAGS.
25249         Reported by Simon Josefsson.
25250
25251 2009-03-03  Bruno Haible  <bruno@clisp.org>
25252
25253         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
25254         Reported by Simon Josefsson.
25255
25256         * doc/ld-version-script.texi: Update node reference.
25257
25258 2009-03-03  Bruno Haible  <bruno@clisp.org>
25259
25260         * modules/visibility (License): Change to 'unlimited'.
25261         Suggested by Simon Josefsson.
25262
25263 2009-03-03  Jim Meyering  <meyering@redhat.com>
25264
25265         unlinkdir: cannot_unlink_dir may modify process state
25266         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
25267         it's neither thread-safe nor appropriate for use in a library.
25268
25269 2009-03-03  Eric Blake  <ebb9@byu.net>
25270
25271         test-closein: silence test under Darwin
25272         * tests/test-closein.sh: Ignore stderr from cat, since we don't
25273         care if it dies from EPIPE or EBADF.
25274
25275 2009-03-03  Bruno Haible  <bruno@clisp.org>
25276
25277         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
25278         earlier.
25279         * doc/visibility.texi: Fix @node and @section.
25280
25281 2009-03-03  Simon Josefsson  <simon@josefsson.org>
25282
25283         * doc/gnulib.texi: Link to sections for ld version script and
25284         visibility.
25285         * doc/visibility.texi: Add @node and @section.
25286         * modules/ld-version-script: New module.
25287         * m4/ld-version-script.m4: New file.
25288         * doc/ld-version-script.texi: New file.
25289
25290 2009-03-02  David Lutterkort  <lutter@redhat.com>
25291
25292         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
25293         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25294
25295 2009-03-02  Bruno Haible  <bruno@clisp.org>
25296
25297         * doc/visibility.texi: Mention libtool's -export-symbols option.
25298
25299 2009-03-02  Jim Meyering  <meyering@redhat.com>
25300
25301         announce-gen: new option: --no-print-checksums
25302         * build-aux/announce-gen (usage): Describe it.
25303         (print_checksums): Print a newline here, not in the [*] footnote.
25304         (main): Honor it.
25305
25306 2009-03-01  Bruno Haible  <bruno@clisp.org>
25307
25308         Use socklen_t in the native Windows replacements prototypes.
25309         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
25310         instead of 'int'.
25311         * lib/getsockopt.c (rpl_getsockopt): Likewise.
25312         * lib/setsockopt.c (rpl_setsockopt): Likewise.
25313         * modules/getsockopt (Depends-on): Add socklen.
25314         * modules/setsockopt (Depends-on): Add socklen.
25315
25316 2009-03-01  Bruno Haible  <bruno@clisp.org>
25317
25318         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
25319         least 4.2.
25320
25321 2009-03-01  Eric Blake  <ebb9@byu.net>
25322             Bruno Haible  <bruno@clisp.org>
25323
25324         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
25325         error messages.
25326         * lib/wait-process.c (wait_subprocess): Omit error message about
25327         deadly signal sent to the child of termsigp != NULL.
25328
25329 2009-03-01  Eric Blake  <ebb9@byu.net>
25330
25331         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
25332
25333 2009-03-01  Bruno Haible  <bruno@clisp.org>
25334
25335         Avoid a gcc warning.
25336         * tests/test-sched.c (b): Make global.
25337         Reported by Eric Blake.
25338
25339 2009-01-19  Martin Lambers  <marlam@marlam.de>
25340
25341         Provide POSIX semantics for socket timeout options on W32.
25342         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
25343         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
25344         * modules/setsockopt: Depend on sys_time module for struct timeval.
25345         * modules/getsockopt: Depend on sys_time module for struct timeval.
25346
25347 2009-03-01  Simon Josefsson  <simon@josefsson.org>
25348
25349         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
25350         __USE_GNU, for consistency with netdb.in.h.
25351         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25352
25353 2009-03-01  Bruno Haible  <bruno@clisp.org>
25354
25355         More support for FreeMiNT.
25356         * lib/fseeko.c (rpl_fseeko): Complete last commit.
25357         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25358
25359 2009-03-01  Bruno Haible  <bruno@clisp.org>
25360
25361         More support for FreeMiNT.
25362         * lib/fpurge.c (fpurge): Correct last commit.
25363         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25364
25365 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25366
25367         Fix unportable awk script in vc-list-files.
25368         * build-aux/vc-list-files: In the replacement awk script, use
25369         substr with a second argument of 1, not zero.
25370         Report by Simon Josefsson.
25371
25372 2009-02-28  Bruno Haible  <bruno@clisp.org>
25373
25374         More support for FreeMiNT.
25375         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
25376         to FreeMiNT today.
25377         * lib/fwriting.c (fwriting): Likewise.
25378         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
25379
25380 2009-02-28  Bruno Haible  <bruno@clisp.org>
25381
25382         * tests/test-freadseek.c (main): Disable test beyond end of file on
25383         FreeMiNT.
25384         * tests/test-ftello.c (main): Likewise.
25385         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
25386
25387 2009-02-28  Bruno Haible  <bruno@clisp.org>
25388
25389         Add tentative support for FreeMiNT.
25390         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
25391         * lib/fpurge.c (fpurge): Likewise.
25392         * lib/freadable.c (freadable): Likewise.
25393         * lib/freading.c (freading): Likewise.
25394         * lib/freadptr.c (freadptr): Likewise.
25395         * lib/freadseek.c (freadptrinc): Likewise.
25396         * lib/fseeko.c (rpl_fseeko): Likewise.
25397         * lib/fseterr.c (fseterr): Likewise.
25398         * lib/fwritable.c (fwritable): Likewise.
25399         * lib/fwriting.c (fwriting): Likewise.
25400         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
25401         Hourihane.
25402         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25403
25404 2009-02-28  Bruno Haible  <bruno@clisp.org>
25405
25406         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
25407         SIGCHLD.
25408         Reported by Jim Meyering.
25409
25410 2009-02-28  Bruno Haible  <bruno@clisp.org>
25411
25412         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
25413         Mention the results of these tests on various platforms.
25414         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
25415         order.
25416         * doc/posix-functions/printf.texi: Likewise.
25417         * doc/posix-functions/snprintf.texi: Likewise.
25418         * doc/posix-functions/sprintf.texi: Likewise.
25419         * doc/posix-functions/vfprintf.texi: Likewise.
25420         * doc/posix-functions/vprintf.texi: Likewise.
25421         * doc/posix-functions/vsnprintf.texi: Likewise.
25422         * doc/posix-functions/vsprintf.texi: Likewise.
25423         * doc/glibc-functions/obstack_printf.texi: Likewise.
25424         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25425
25426 2009-02-28  Bruno Haible  <bruno@clisp.org>
25427
25428         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
25429         Reported by Loïc Minier <lool@dooz.org>.
25430
25431 2009-02-27  Bruno Haible  <bruno@clisp.org>
25432
25433         * gnulib-tool (func_import): Make the sed expression used to create the
25434         sed script for updating the .gitignore file POSIX compliant.
25435         Reported by Eric Blake.
25436
25437 2009-02-27  Bruno Haible  <bruno@clisp.org>
25438
25439         * gnulib-tool (sed): Don't alias as "sed --posix".
25440         Reported by Eric Blake.
25441
25442 2009-02-27  Bruno Haible  <bruno@clisp.org>
25443
25444         Avoid test link errors.
25445         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
25446         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
25447         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
25448         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
25449         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25450
25451 2009-02-27  Bruno Haible  <bruno@clisp.org>
25452
25453         Avoid spurious "(cached)" in configure output.
25454         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
25455         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
25456         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25457         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25458         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25459         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25460         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25461         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25462         Reported by Eric Blake.
25463
25464 2009-02-27  Eric Blake  <ebb9@byu.net>
25465
25466         printf: fix regression in previous patch
25467         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
25468
25469 2009-02-27  Bruno Haible  <bruno@clisp.org>
25470
25471         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
25472         value.
25473         * lib/stdint.in.h: Likewise.
25474         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
25475
25476 2009-02-27  Eric Blake  <ebb9@byu.net>
25477
25478         doc: mention more functions added in cygwin 1.7.0
25479         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
25480         addition.
25481         * doc/posix-functions/open_wmemstream.texi: Likewise.
25482         * doc/posix-functions/wcsnlen.texi: Likewise.
25483         * doc/posix-functions/wcsnrtombs.texi: Likewise.
25484         * doc/posix-functions/wcstod.texi: Likewise.
25485         * doc/posix-functions/wcstof.texi: Likewise.
25486         * doc/posix-functions/wcstoimax.texi: Likewise.
25487         * doc/posix-functions/wcstok.texi: Likewise.
25488         * doc/posix-functions/wcstoumax.texi: Likewise.
25489
25490         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
25491         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
25492         * doc/posix-functions/fprintf.texi: Update.
25493         * doc/posix-functions/printf.texi: Update.
25494         * doc/posix-functions/snprintf.texi: Update.
25495         * doc/posix-functions/sprintf.texi: Update.
25496         * doc/posix-functions/vfprintf.texi: Update.
25497         * doc/posix-functions/vprintf.texi: Update.
25498         * doc/posix-functions/vsnprintf.texi: Update.
25499         * doc/posix-functions/vsprintf.texi: Update.
25500         * doc/glibc-functions/obstack_printf.texi: Update.
25501         * doc/glibc-functions/obstack_vprintf.texi: Update.
25502
25503 2009-02-26  Eric Blake  <ebb9@byu.net>
25504
25505         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
25506         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
25507         compilation bug by using runtime conversion.
25508         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
25509         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
25510         * modules/ceill-tests (Files): Use nan.h.
25511         * modules/floorl-tests (Files): Likewise.
25512         * modules/frexpl-tests (Files): Likewise.
25513         * modules/isnanl-tests (Files): Likewise.
25514         * modules/ldexpl-tests (Files): Likewise.
25515         * modules/roundl-tests (Files): Likewise.
25516         * modules/truncl-tests (Files): Likewise.
25517         * tests/test-ceill.c (main): Use a working NaN.
25518         * tests/test-floorl.c (main): Likewise.
25519         * tests/test-frexpl.c (main): Likewise.
25520         * tests/test-isnan.c (test_long_double): Likewise.
25521         * tests/test-isnanl.h (main): Likewise.
25522         * tests/test-ldexpl.h (main): Likewise.
25523         * tests/test-roundl.h (main): Likewise.
25524         * tests/test-truncl.h (main): Likewise.
25525         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
25526
25527 2009-02-26  Eric Blake  <ebb9@byu.net>
25528             Bruno Haible  <bruno@clisp.org>
25529
25530         Work around a *printf bug with %ls on Solaris.
25531         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
25532         precision is specified, sprintf stops converting the wide string
25533         argument when the number of bytes that have been produced by this
25534         conversion equals or exceeds the precision.
25535         * doc/posix-functions/fprintf.texi: Update.
25536         * doc/posix-functions/printf.texi: Update.
25537         * doc/posix-functions/snprintf.texi: Update.
25538         * doc/posix-functions/sprintf.texi: Update.
25539         * doc/posix-functions/vfprintf.texi: Update.
25540         * doc/posix-functions/vprintf.texi: Update.
25541         * doc/posix-functions/vsnprintf.texi: Update.
25542         * doc/posix-functions/vsprintf.texi: Update.
25543         * doc/glibc-functions/obstack_printf.texi: Update.
25544         * doc/glibc-functions/obstack_vprintf.texi: Update.
25545
25546 2009-02-26  Eric Blake  <ebb9@byu.net>
25547
25548         stdlib: favor compiler check of random.h
25549         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
25550         to avoid an ObjC random.h installed by Swarm.
25551
25552 2009-02-26  Bruno Haible  <bruno@clisp.org>
25553
25554         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
25555         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
25556         Reported by Gary V. Vaughan <gary@gnu.org>.
25557
25558 2009-02-26  Bruno Haible  <bruno@clisp.org>
25559
25560         Fix *printf behaviour regarding the %ls directive.
25561         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
25562         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
25563         NEED_PRINTF_DIRECTIVE_LS.
25564         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
25565         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25566         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25567         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
25568         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
25569         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
25570         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
25571         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25572         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25573         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25574         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25575         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
25576         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25577         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25578         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25579         * doc/posix-functions/fprintf.texi: Update.
25580         * doc/posix-functions/printf.texi: Update.
25581         * doc/posix-functions/snprintf.texi: Update.
25582         * doc/posix-functions/sprintf.texi: Update.
25583         * doc/posix-functions/vfprintf.texi: Update.
25584         * doc/posix-functions/vprintf.texi: Update.
25585         * doc/posix-functions/vsnprintf.texi: Update.
25586         * doc/posix-functions/vsprintf.texi: Update.
25587         * doc/glibc-functions/obstack_printf.texi: Update.
25588         * doc/glibc-functions/obstack_vprintf.texi: Update.
25589         Reported by Eric Blake.
25590
25591 2009-02-25  Bruno Haible  <bruno@clisp.org>
25592
25593         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
25594         with known value.
25595         Reported by Gary V. Vaughan <gary@gnu.org>.
25596
25597 2009-02-25  Bruno Haible  <bruno@clisp.org>
25598
25599         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
25600         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
25601         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
25602         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
25603         Reported by Gary V. Vaughan <gary@gnu.org>.
25604
25605 2009-02-25  Bruno Haible  <bruno@clisp.org>
25606
25607         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
25608         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
25609         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
25610         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
25611         Reported by Gary V. Vaughan <gary@gnu.org>.
25612
25613 2009-02-25  Eric Blake  <ebb9@byu.net>
25614
25615         tests: skip fseek/ftell tests if ungetc is broken
25616         * m4/ungetc.m4: New file.
25617         * modules/fseek-tests: Split test, so ungetc dependency is
25618         separate from rest of test.
25619         * modules/fseeko-tests: Likewise.
25620         * modules/ftell-tests: Likewise.
25621         * modules/ftello-tests: Likewise.
25622         * tests/test-fseek.c (main): Isolate ungetc dependency.
25623         * tests/test-fseeko.c (main): Likewise.
25624         * tests/test-ftell.c (main): Likewise.
25625         * tests/test-ftello.c (main): Likewise.
25626         * tests/test-fseek2.sh: New file.
25627         * tests/test-fseeko2.sh: Likewise.
25628         * tests/test-ftell2.sh: Likewise.
25629         * tests/test-ftello2.sh: Likewise.
25630
25631 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
25632
25633         test-getaddrinfo: fix usage of skip return code 77
25634         * tests/test-gettaddrinfo.c: Return skip code 77 only
25635         for first occurance of skip (4x77 is not 77)
25636
25637 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
25638
25639         strtod: avoid C99 decl-after-statement
25640         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
25641
25642 2009-02-24  Eric Blake  <ebb9@byu.net>
25643
25644         strtod: detect HP-UX 11.31 bug
25645         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
25646         Reported by Gary V. Vaughan.
25647
25648 2009-02-23  Bruno Haible  <bruno@clisp.org>
25649
25650         Fix invalid read past end of memory block.
25651         * lib/vasnprintf.c (DCHAR_SET): Define.
25652         (local_wcslen): Define only when needed.
25653         (local_strnlen, local_wcsnlen): New functions.
25654         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
25655         directives that involve a conversion ourselves.
25656         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
25657         wcsnlen, mbrtowc, wcrtomb.
25658         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
25659         * tests/test-vasprintf-posix.c (test_function): Likewise.
25660         * tests/test-snprintf-posix.h (test_function): Likewise.
25661         * tests/test-sprintf-posix.h (test_function): Likewise.
25662         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25663
25664 2009-02-22  Bruno Haible  <bruno@clisp.org>
25665
25666         Implement new clarified decomposition of Hangul syllables.
25667         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
25668         of type LTV, return only a pairwise decomposition.
25669         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
25670         Likewise.
25671         * tests/uninorm/test-decomposition.c (main): Updated expected result.
25672         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
25673         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
25674
25675 2009-02-22  Bruno Haible  <bruno@clisp.org>
25676
25677         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
25678         zero-length results and shrink excess allocated memory.
25679         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
25680         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
25681         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
25682         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
25683         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
25684         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
25685         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
25686         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
25687         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
25688         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
25689         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
25690         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
25691
25692 2009-02-21  Bruno Haible  <bruno@clisp.org>
25693
25694         * doc/gnulib.texi: Include safe-alloc.texi earlier.
25695         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
25696         spaces after a period. Put a space between a macro name and its
25697         argument list. Trivial rewordings.
25698         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
25699         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
25700         (main): Return 0 explicitly.
25701
25702 2009-02-21  Bruno Haible  <bruno@clisp.org>
25703
25704         Tests for module 'uninorm/filter'.
25705         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
25706         * modules/uninorm/filter-tests: New file.
25707
25708         New module 'uninorm/filter'.
25709         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
25710         uninorm_filter_flush, uninorm_filter_free): New declarations.
25711         * lib/uninorm/uninorm-filter.c: New file.
25712         * modules/uninorm/filter: New file.
25713
25714 2009-02-21  Bruno Haible  <bruno@clisp.org>
25715
25716         Tests for module 'uninorm/nfkc'.
25717         * tests/uninorm/test-nfkc.c: New file.
25718         * tests/uninorm/test-u8-nfkc.c: New file.
25719         * tests/uninorm/test-u16-nfkc.c: New file.
25720         * tests/uninorm/test-u32-nfkc.c: New file.
25721         * tests/uninorm/test-u32-nfkc-big.sh: New file.
25722         * tests/uninorm/test-u32-nfkc-big.c: New file.
25723         * modules/uninorm/nfkc-tests: New file.
25724
25725         New module 'uninorm/nfkc'.
25726         * lib/uninorm/nfkc.c: New file.
25727         * modules/uninorm/nfkc: New file.
25728
25729         Tests for module 'uninorm/nfkd'.
25730         * tests/uninorm/test-nfkd.c: New file.
25731         * tests/uninorm/test-u8-nfkd.c: New file.
25732         * tests/uninorm/test-u16-nfkd.c: New file.
25733         * tests/uninorm/test-u32-nfkd.c: New file.
25734         * tests/uninorm/test-u32-nfkd-big.sh: New file.
25735         * tests/uninorm/test-u32-nfkd-big.c: New file.
25736         * modules/uninorm/nfkd-tests: New file.
25737
25738         New module 'uninorm/nfkd'.
25739         * lib/uninorm/nfkd.c: New file.
25740         * modules/uninorm/nfkd: New file.
25741
25742         Tests for module 'uninorm/nfc'.
25743         * tests/uninorm/test-nfc.c: New file.
25744         * tests/uninorm/test-u8-nfc.c: New file.
25745         * tests/uninorm/test-u16-nfc.c: New file.
25746         * tests/uninorm/test-u32-nfc.c: New file.
25747         * tests/uninorm/test-u32-nfc-big.sh: New file.
25748         * tests/uninorm/test-u32-nfc-big.c: New file.
25749         * modules/uninorm/nfc-tests: New file.
25750
25751         New module 'uninorm/nfc'.
25752         * lib/uninorm/nfc.c: New file.
25753         * modules/uninorm/nfc: New file.
25754
25755         Tests for module 'uninorm/nfd'.
25756         * tests/uninorm/test-nfd.c: New file.
25757         * tests/uninorm/test-u8-nfd.c: New file.
25758         * tests/uninorm/test-u16-nfd.c: New file.
25759         * tests/uninorm/test-u32-nfd.c: New file.
25760         * tests/uninorm/test-u32-nfd-big.sh: New file.
25761         * tests/uninorm/test-u32-nfd-big.c: New file.
25762         * tests/uninorm/test-u32-normalize-big.h: New file.
25763         * tests/uninorm/test-u32-normalize-big.c: New file.
25764         * tests/uninorm/NormalizationTest.txt: New file, created from
25765         Unicode 5.1.0 NormalizationTest.txt.
25766         * modules/uninorm/nfd-tests: New file.
25767
25768         New module 'uninorm/nfd'.
25769         * lib/uninorm/nfd.c: New file.
25770         * modules/uninorm/nfd: New file.
25771
25772         New module 'uninorm/u32-normalize'.
25773         * lib/uninorm/u32-normalize.c: New file.
25774         * modules/uninorm/u32-normalize: New file.
25775
25776         New module 'uninorm/u16-normalize'.
25777         * lib/uninorm/u16-normalize.c: New file.
25778         * modules/uninorm/u16-normalize: New file.
25779
25780         New module 'uninorm/u8-normalize'.
25781         * lib/uninorm/u8-normalize.c: New file.
25782         * lib/uninorm/normalize-internal.h: New file.
25783         * lib/uninorm/u-normalize-internal.h: New file.
25784         * modules/uninorm/u8-normalize: New file.
25785
25786         New module 'uninorm/decompose-internal'.
25787         * lib/uninorm/decompose-internal.c: New file.
25788         * modules/uninorm/decompose-internal: New file.
25789
25790         Tests for module 'uninorm/composition'.
25791         * tests/uninorm/test-composition.c: New file.
25792         * modules/uninorm/composition-tests: New file.
25793
25794         New module 'uninorm/composition'.
25795         * lib/uninorm/composition.c: New file.
25796         * lib/uninorm/composition-table.gperf: New file, generated by
25797         gen-uni-tables.
25798         * modules/uninorm/composition: New file.
25799
25800         Tests for module 'uninorm/compat-decomposition'.
25801         * tests/uninorm/test-compat-decomposition.c: New file.
25802         * modules/uninorm/compat-decomposition-tests: New file.
25803
25804         New module 'uninorm/compat-decomposition'.
25805         * lib/uninorm/decompose-internal.h: New file.
25806         * lib/uninorm/compat-decomposition.c: New file.
25807         * modules/uninorm/compat-decomposition: New file.
25808
25809         Tests for module 'uninorm/canonical-decomposition'.
25810         * tests/uninorm/test-canonical-decomposition.c: New file.
25811         * modules/uninorm/canonical-decomposition-tests: New file.
25812
25813         New module 'uninorm/canonical-decomposition'.
25814         * lib/uninorm/canonical-decomposition.c: New file.
25815         * modules/uninorm/canonical-decomposition: New file.
25816
25817         Tests for module 'uninorm/decomposition'.
25818         * tests/uninorm/test-decomposition.c: New file.
25819         * modules/uninorm/decomposition-tests: New file.
25820
25821         New module 'uninorm/decomposition'.
25822         * lib/uninorm/decomposition.c: New file.
25823         * modules/uninorm/decomposition: New file.
25824
25825         New module 'uninorm/decomposition-table'.
25826         * lib/uninorm/decomposition-table.h: New file.
25827         * lib/uninorm/decomposition-table.c: New file.
25828         * lib/uninorm/decomposition-table1.h: New file, generated by
25829         gen-uni-tables.
25830         * lib/uninorm/decomposition-table2.h: New file, generated by
25831         gen-uni-tables.
25832         * modules/uninorm/decomposition-table: New file.
25833
25834         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
25835         (UC_DECOMP_*): New enumeration items.
25836         (get_decomposition): New function.
25837         (struct decomp_table): New type.
25838         (output_decomposition, output_decomposition_tables): New functions.
25839         (unicode_composition_exclusions): New variable.
25840         (fill_composition_exclusions, debug_output_composition_tables): New
25841         functions.
25842         (main): Accept one more argument. Invoke fill_composition_exclusions.
25843         Output decomposition and composition tables.
25844
25845         New module 'uninorm/base'.
25846         * lib/uninorm.h: New file.
25847         * lib/unictype.h: Update comment.
25848         * modules/uninorm/base: New file.
25849
25850 2009-02-21  David Lutterkort  <lutter@redhat.com>
25851
25852         Tests for module 'safe-alloc'.
25853         * tests/test-safe-alloc.c: New file.
25854         * modules/safe-alloc-tests: New file.
25855
25856         New module 'safe-alloc'.
25857         * lib/safe-alloc.h: New file.
25858         * lib/safe-alloc.c: New file.
25859         * m4/safe-alloc.m4: New file.
25860         * modules/safe-alloc: New file.
25861         * doc/safe-alloc.texi: New file.
25862         * doc/gnulib.texi: Include it.
25863         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25864         safe-alloc.
25865
25866 2009-02-18  Bruno Haible  <bruno@clisp.org>
25867
25868         Fix link error on non-glibc systems.
25869         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
25870         variable.
25871         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25872
25873 2009-02-18  Jim Meyering  <meyering@redhat.com>
25874
25875         fts: avoid used-uninitialized error due to recent change
25876         * lib/fts.c (fts_read): Guard uses of the new member,
25877         parent->fts_n_dirs_remaining, since it's not relevant for
25878         the parent of a directory specified on the command-line.
25879
25880 2009-02-17  James Youngman  <jay@gnu.org>
25881             Bruno Haible  <bruno@clisp.org>
25882
25883         * m4/include_next.m4: Reformulate comment.
25884
25885 2009-02-16  Jim Meyering  <meyering@redhat.com>
25886
25887         fts: add #if guards so that the fts_lgpl module still builds
25888         * lib/fts.c: Guard just-added hash-table-using parts with
25889         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
25890         Reported by Simon Josefsson.
25891
25892 2009-02-15  Bruno Haible  <bruno@clisp.org>
25893
25894         * modules/array-mergesort-tests: New file.
25895         * tests/test-array-mergesort.c: New file.
25896
25897         New module 'array-mergesort'.
25898         * modules/array-mergesort: New file.
25899         * lib/array-mergesort.h: New file.
25900
25901 2009-02-15  Bruno Haible  <bruno@clisp.org>
25902
25903         Fix 2009-02-07 commit.
25904         * lib/gen-uni-tables.c (output_predicate, output_category,
25905         output_combclass, output_bidi_category, output_decimal_digit,
25906         output_digit, output_numeric, output_mirror, output_scripts,
25907         output_ident_category, output_simple_mapping): Fix format directives.
25908         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
25909
25910 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
25911
25912         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
25913         fixes are available from IBM.
25914
25915 2009-02-13  Jim Meyering  <meyering@redhat.com>
25916
25917         fts: arrange not to stat non-directories in more cases
25918         This makes GNU find (when it doesn't need to stat each file)
25919         *much* more efficient at traversing reiserfs file systems.
25920         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
25921         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
25922         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
25923         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
25924         (leaf_optimization_applies): New function.
25925         (LCO_hash, LCO_compare): New helper functions.
25926         (link_count_optimize_ok): New function.
25927         (fts_stat): Initialize new member (if dir).
25928         (fts_read): Decrement parent's fts_n_dirs_remaining count if
25929         we've just stat'ed a directory.  Skip the stat call when possible.
25930         ---
25931         Note this AFS-related exchange:
25932         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
25933         and note find's pioctl call in find/fstype.c.
25934         But that is necessary only if you want to enable the
25935         optimization for AFS, and for now, I don't.
25936
25937         fts: move a function definition "up" (no semantic change)
25938         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
25939         "up" to precede upcoming use of a related function.
25940
25941 2009-02-11  Jim Meyering  <meyering@redhat.com>
25942
25943         fts: correct internal computation of nlinks (optimization-related)
25944         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
25945         whether the current entry is a directory, so don't test it.
25946
25947 2009-02-10  Bruno Haible  <bruno@clisp.org>
25948
25949         Tests for module 'uniwbrk/ulc-wordbreaks'.
25950         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
25951         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
25952         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
25953
25954         Tests for module 'uniwbrk/u32-wordbreaks'.
25955         * modules/uniwbrk/u32-wordbreaks-tests: New file.
25956         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
25957
25958         Tests for module 'uniwbrk/u16-wordbreaks'.
25959         * modules/uniwbrk/u16-wordbreaks-tests: New file.
25960         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
25961
25962         Tests for module 'uniwbrk/u8-wordbreaks'.
25963         * modules/uniwbrk/u8-wordbreaks-tests: New file.
25964         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
25965
25966 2009-02-10  Bruno Haible  <bruno@clisp.org>
25967
25968         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
25969         property.
25970         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
25971         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
25972         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
25973
25974 2009-02-10  Simon Josefsson  <simon@josefsson.org>
25975
25976         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
25977         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
25978
25979 2009-02-10  Bruno Haible  <bruno@clisp.org>
25980
25981         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
25982         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
25983         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
25984         * lib/unilbrk/u8-possible-linebreaks.c: Update.
25985         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
25986         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
25987
25988 2009-02-09  Simon Josefsson  <simon@josefsson.org>
25989
25990         * lib/sockets.h (gl_fd_to_handle): New function.
25991
25992         * tests/test-sockets.c: Call gl_fd_to_handle.
25993
25994 2009-02-09  Bruno Haible  <bruno@clisp.org>
25995
25996         * doc/havelib.texi: Document the conventions on bi-arch systems.
25997
25998 2009-02-08  Bruno Haible  <bruno@clisp.org>
25999
26000         Document the AC_LIB_LINKFLAGS macro.
26001         * doc/havelib.texi: New file, mostly written on 2005-05-24.
26002         * doc/gnulib.texi: Include it.
26003
26004 2009-02-08  Bruno Haible  <bruno@clisp.org>
26005
26006         Fix wrong order of sections, compared to TOC.
26007         * doc/gnulib.texi: Include relocatable-maint.texi after the
26008         "Regular expressions" node, not before.
26009
26010 2009-02-08  Bruno Haible  <bruno@clisp.org>
26011
26012         Tests for module 'unicase/totitle'.
26013         * modules/unicase/totitle-tests: New file.
26014
26015         Tests for module 'unicase/tolower'.
26016         * modules/unicase/tolower-tests: New file.
26017
26018         Tests for module 'unicase/toupper'.
26019         * modules/unicase/toupper-tests: New file.
26020         * tests/unicase/test-mapping-part1.h: New file.
26021         * tests/unicase/test-mapping-part2.h: New file.
26022
26023         New module 'unicase/totitle'.
26024         * modules/unicase/totitle: New file.
26025         * lib/unicase/totitle.c: New file.
26026
26027         New module 'unicase/tolower'.
26028         * modules/unicase/tolower: New file.
26029         * lib/unicase/tolower.c: New file.
26030
26031         New module 'unicase/toupper'.
26032         * modules/unicase/toupper: New file.
26033         * lib/unicase/toupper.c: New file.
26034         * lib/unicase/simple-mapping.h: New file.
26035
26036         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
26037         (mapping_table): New structure.
26038         (output_simple_mapping): New function.
26039         (main): Invoke output_simple_mapping_test and output_simple_mapping.
26040         * modules/gen-uni-tables (Description): Update.
26041         * lib/unicase/toupper.h: New file, automatically generated by
26042         gen-uni-tables.
26043         * lib/unicase/tolower.h: New file, automatically generated by
26044         gen-uni-tables.
26045         * lib/unicase/totitle.h: New file, automatically generated by
26046         gen-uni-tables.
26047         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
26048         gen-uni-tables.
26049         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
26050         gen-uni-tables.
26051         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
26052         gen-uni-tables.
26053
26054         New module 'unicase/base'.
26055         * modules/unicase/base: New file.
26056         * lib/unicase.h: New file.
26057
26058 2009-02-08  Bruno Haible  <bruno@clisp.org>
26059
26060         New module 'uniwbrk/ulc-wordbreaks'.
26061         * modules/uniwbrk/ulc-wordbreaks: New file.
26062         * lib/uniwbrk/ulc-wordbreaks.c: New file.
26063
26064         New module 'uniwbrk/u32-wordbreaks'.
26065         * modules/uniwbrk/u32-wordbreaks: New file.
26066         * lib/uniwbrk/u32-wordbreaks.c: New file.
26067
26068         New module 'uniwbrk/u16-wordbreaks'.
26069         * modules/uniwbrk/u16-wordbreaks: New file.
26070         * lib/uniwbrk/u16-wordbreaks.c: New file.
26071
26072         New module 'uniwbrk/u8-wordbreaks'.
26073         * modules/uniwbrk/u8-wordbreaks: New file.
26074         * lib/uniwbrk/u8-wordbreaks.c: New file.
26075         * lib/uniwbrk/u-wordbreaks.h: New file.
26076
26077         New module 'uniwbrk/table'.
26078         * modules/uniwbrk/table: New file.
26079         * lib/uniwbrk/wbrktable.h: New file.
26080         * lib/uniwbrk/wbrktable.c: New file.
26081
26082         New module 'uniwbrk/wordbreak-property'.
26083         * modules/uniwbrk/wordbreak-property: New file.
26084         * lib/uniwbrk/wordbreak-property.c: New file.
26085
26086         * lib/gen-uni-tables.c (WBP_*): New enum items.
26087         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
26088         (unicode_org_wbp): New variable.
26089         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
26090         New functions.
26091         (wbp_table): New structure.
26092         (output_wbp, output_wbrk_tables): New functions.
26093         (main): Accept additional argument. Invoke fill_org_wbp,
26094         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
26095         output_wbrk_tables.
26096         * modules/gen-uni-tables (Description): Update.
26097         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
26098         gen-uni-tables.
26099
26100         New module 'uniwbrk/base'.
26101         * modules/uniwbrk/base: New file.
26102         * lib/uniwbrk.h: New file.
26103
26104 2009-02-08  Bruno Haible  <bruno@clisp.org>
26105
26106         Update to Unicode 5.1.0.
26107         * lib/gen-uni-tables.c (is_property_alphabetic): Include
26108         U+2185..U+2188.
26109         (is_property_default_ignorable_code_point): Don't include characters
26110         of category Cc or Cs and not-a-characters.
26111         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
26112         U+0D79, U+109E, U+109F, U+A60C.
26113         * lib/unictype/bidi_of.h: Regenerated.
26114         * lib/unictype/blocks.h: Regenerated.
26115         * lib/unictype/categ_C.h: Regenerated.
26116         * lib/unictype/categ_Cf.h: Regenerated.
26117         * lib/unictype/categ_Cn.h: Regenerated.
26118         * lib/unictype/categ_L.h: Regenerated.
26119         * lib/unictype/categ_Ll.h: Regenerated.
26120         * lib/unictype/categ_Lm.h: Regenerated.
26121         * lib/unictype/categ_Lo.h: Regenerated.
26122         * lib/unictype/categ_Lu.h: Regenerated.
26123         * lib/unictype/categ_M.h: Regenerated.
26124         * lib/unictype/categ_Mc.h: Regenerated.
26125         * lib/unictype/categ_Me.h: Regenerated.
26126         * lib/unictype/categ_Mn.h: Regenerated.
26127         * lib/unictype/categ_N.h: Regenerated.
26128         * lib/unictype/categ_Nd.h: Regenerated.
26129         * lib/unictype/categ_Nl.h: Regenerated.
26130         * lib/unictype/categ_No.h: Regenerated.
26131         * lib/unictype/categ_P.h: Regenerated.
26132         * lib/unictype/categ_Pd.h: Regenerated.
26133         * lib/unictype/categ_Pe.h: Regenerated.
26134         * lib/unictype/categ_Pf.h: Regenerated.
26135         * lib/unictype/categ_Pi.h: Regenerated.
26136         * lib/unictype/categ_Po.h: Regenerated.
26137         * lib/unictype/categ_Ps.h: Regenerated.
26138         * lib/unictype/categ_S.h: Regenerated.
26139         * lib/unictype/categ_Sk.h: Regenerated.
26140         * lib/unictype/categ_Sm.h: Regenerated.
26141         * lib/unictype/categ_So.h: Regenerated.
26142         * lib/unictype/categ_of.h: Regenerated.
26143         * lib/unictype/combining.h: Regenerated.
26144         * lib/unictype/ctype_alnum.h: Regenerated.
26145         * lib/unictype/ctype_alpha.h: Regenerated.
26146         * lib/unictype/ctype_graph.h: Regenerated.
26147         * lib/unictype/ctype_lower.h: Regenerated.
26148         * lib/unictype/ctype_print.h: Regenerated.
26149         * lib/unictype/ctype_punct.h: Regenerated.
26150         * lib/unictype/ctype_upper.h: Regenerated.
26151         * lib/unictype/decdigit.h: Regenerated.
26152         * lib/unictype/digit.h: Regenerated.
26153         * lib/unictype/mirror.h: Regenerated.
26154         * lib/unictype/numeric.h: Regenerated.
26155         * lib/unictype/pr_alphabetic.h: Regenerated.
26156         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
26157         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
26158         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
26159         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
26160         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
26161         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
26162         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
26163         * lib/unictype/pr_combining.h: Regenerated.
26164         * lib/unictype/pr_dash.h: Regenerated.
26165         * lib/unictype/pr_decimal_digit.h: Regenerated.
26166         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
26167         * lib/unictype/pr_deprecated.h: Regenerated.
26168         * lib/unictype/pr_diacritic.h: Regenerated.
26169         * lib/unictype/pr_extender.h: Regenerated.
26170         * lib/unictype/pr_format_control.h: Regenerated.
26171         * lib/unictype/pr_grapheme_base.h: Regenerated.
26172         * lib/unictype/pr_grapheme_extend.h: Regenerated.
26173         * lib/unictype/pr_grapheme_link.h: Regenerated.
26174         * lib/unictype/pr_id_continue.h: Regenerated.
26175         * lib/unictype/pr_id_start.h: Regenerated.
26176         * lib/unictype/pr_ideographic.h: Regenerated.
26177         * lib/unictype/pr_ignorable_control.h: Regenerated.
26178         * lib/unictype/pr_lowercase.h: Regenerated.
26179         * lib/unictype/pr_math.h: Regenerated.
26180         * lib/unictype/pr_numeric.h: Regenerated.
26181         * lib/unictype/pr_other_alphabetic.h: Regenerated.
26182         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
26183         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
26184         * lib/unictype/pr_other_id_continue.h: Regenerated.
26185         * lib/unictype/pr_other_lowercase.h: Regenerated.
26186         * lib/unictype/pr_other_math.h: Regenerated.
26187         * lib/unictype/pr_punctuation.h: Regenerated.
26188         * lib/unictype/pr_sentence_terminal.h: Regenerated.
26189         * lib/unictype/pr_soft_dotted.h: Regenerated.
26190         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
26191         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
26192         * lib/unictype/pr_unified_ideograph.h: Regenerated.
26193         * lib/unictype/pr_uppercase.h: Regenerated.
26194         * lib/unictype/pr_xid_continue.h: Regenerated.
26195         * lib/unictype/pr_xid_start.h: Regenerated.
26196         * lib/unictype/pr_zero_width.h: Regenerated.
26197         * lib/unictype/scripts.h: Regenerated.
26198         * lib/unictype/scripts_byname.gperf: Regenerated.
26199         * lib/unictype/sy_java_ident.h: Regenerated.
26200         * lib/unilbrk/lbrkprop1.h: Regenerated.
26201         * lib/unilbrk/lbrkprop2.h: Regenerated.
26202         * tests/unictype/test-categ_C.c: Regenerated.
26203         * tests/unictype/test-categ_Cf.c: Regenerated.
26204         * tests/unictype/test-categ_Cn.c: Regenerated.
26205         * tests/unictype/test-categ_L.c: Regenerated.
26206         * tests/unictype/test-categ_Ll.c: Regenerated.
26207         * tests/unictype/test-categ_Lm.c: Regenerated.
26208         * tests/unictype/test-categ_Lo.c: Regenerated.
26209         * tests/unictype/test-categ_Lu.c: Regenerated.
26210         * tests/unictype/test-categ_M.c: Regenerated.
26211         * tests/unictype/test-categ_Mc.c: Regenerated.
26212         * tests/unictype/test-categ_Me.c: Regenerated.
26213         * tests/unictype/test-categ_Mn.c: Regenerated.
26214         * tests/unictype/test-categ_N.c: Regenerated.
26215         * tests/unictype/test-categ_Nd.c: Regenerated.
26216         * tests/unictype/test-categ_Nl.c: Regenerated.
26217         * tests/unictype/test-categ_No.c: Regenerated.
26218         * tests/unictype/test-categ_P.c: Regenerated.
26219         * tests/unictype/test-categ_Pd.c: Regenerated.
26220         * tests/unictype/test-categ_Pe.c: Regenerated.
26221         * tests/unictype/test-categ_Pf.c: Regenerated.
26222         * tests/unictype/test-categ_Pi.c: Regenerated.
26223         * tests/unictype/test-categ_Po.c: Regenerated.
26224         * tests/unictype/test-categ_Ps.c: Regenerated.
26225         * tests/unictype/test-categ_S.c: Regenerated.
26226         * tests/unictype/test-categ_Sk.c: Regenerated.
26227         * tests/unictype/test-categ_Sm.c: Regenerated.
26228         * tests/unictype/test-categ_So.c: Regenerated.
26229         * tests/unictype/test-ctype_alnum.c: Regenerated.
26230         * tests/unictype/test-ctype_alpha.c: Regenerated.
26231         * tests/unictype/test-ctype_graph.c: Regenerated.
26232         * tests/unictype/test-ctype_lower.c: Regenerated.
26233         * tests/unictype/test-ctype_print.c: Regenerated.
26234         * tests/unictype/test-ctype_punct.c: Regenerated.
26235         * tests/unictype/test-ctype_upper.c: Regenerated.
26236         * tests/unictype/test-decdigit.h: Regenerated.
26237         * tests/unictype/test-digit.h: Regenerated.
26238         * tests/unictype/test-numeric.h: Regenerated.
26239         * tests/unictype/test-pr_alphabetic.c: Regenerated.
26240         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
26241         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
26242         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
26243         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
26244         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
26245         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
26246         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
26247         * tests/unictype/test-pr_combining.c: Regenerated.
26248         * tests/unictype/test-pr_dash.c: Regenerated.
26249         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
26250         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
26251         * tests/unictype/test-pr_deprecated.c: Regenerated.
26252         * tests/unictype/test-pr_diacritic.c: Regenerated.
26253         * tests/unictype/test-pr_extender.c: Regenerated.
26254         * tests/unictype/test-pr_format_control.c: Regenerated.
26255         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
26256         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
26257         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
26258         * tests/unictype/test-pr_id_continue.c: Regenerated.
26259         * tests/unictype/test-pr_id_start.c: Regenerated.
26260         * tests/unictype/test-pr_ideographic.c: Regenerated.
26261         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
26262         * tests/unictype/test-pr_lowercase.c: Regenerated.
26263         * tests/unictype/test-pr_math.c: Regenerated.
26264         * tests/unictype/test-pr_numeric.c: Regenerated.
26265         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
26266         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
26267         Regenerated.
26268         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
26269         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
26270         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
26271         * tests/unictype/test-pr_other_math.c: Regenerated.
26272         * tests/unictype/test-pr_punctuation.c: Regenerated.
26273         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
26274         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
26275         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
26276         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
26277         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
26278         * tests/unictype/test-pr_uppercase.c: Regenerated.
26279         * tests/unictype/test-pr_xid_continue.c: Regenerated.
26280         * tests/unictype/test-pr_xid_start.c: Regenerated.
26281         * tests/unictype/test-pr_zero_width.c: Regenerated.
26282
26283         Update to Unicode 5.1.0.
26284         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
26285         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
26286         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
26287         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
26288         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
26289         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
26290         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
26291         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
26292         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
26293         (nonspacing_table_ind): Update.
26294         * tests/uniwidth/test-uc_width2.sh: Update expected result.
26295
26296         Update to Unicode 5.1.0.
26297         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
26298         code transform.
26299         * lib/uniname/uniname.c (unicode_character_name,
26300         unicode_name_character): Add the range 0x1Fxxx to the code transform.
26301         * lib/uniname/uninames.h: Regenerated.
26302         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
26303
26304 2009-02-07  Bruno Haible  <bruno@clisp.org>
26305
26306         Merge gen-ctype and gen-lbrk into a single program.
26307         * lib/gen-uni-tables.c: New file, incorporating
26308         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
26309         Add directory prefixes to the names of the generated files.
26310         * lib/unictype/gen-ctype.c: Remove file.
26311         * lib/unilbrk/gen-lbrk.c: Remove file.
26312         * modules/gen-uni-tables: New file.
26313         * modules/unictype/gen-ctype: Remove file.
26314         * modules/unilbrk/gen-lbrk: Remove file.
26315
26316 2009-02-07  Bruno Haible  <bruno@clisp.org>
26317
26318         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
26319
26320         New module 'unistr/u32-strcoll'.
26321         * modules/unistr/u32-strcoll: New file.
26322         * lib/unistr/u32-strcoll.c: New file.
26323
26324         New module 'unistr/u16-strcoll'.
26325         * modules/unistr/u16-strcoll: New file.
26326         * lib/unistr/u16-strcoll.c: New file.
26327
26328         New module 'unistr/u8-strcoll'.
26329         * modules/unistr/u8-strcoll: New file.
26330         * lib/unistr/u8-strcoll.c: New file.
26331         * lib/unistr/u-strcoll.h: New file.
26332
26333 2009-02-07  Bruno Haible  <bruno@clisp.org>
26334
26335         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
26336         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
26337         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
26338         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
26339         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
26340         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
26341
26342 2009-02-07  Bruno Haible  <bruno@clisp.org>
26343
26344         Make 64-bit clean.
26345         * lib/unictype/gen-ctype.c (output_predicate, output_category,
26346         output_combclass, output_bidi_category, output_decimal_digit,
26347         output_digit, output_numeric, output_mirror, output_scripts,
26348         output_ident_category): Use proper width specifier in format strings.
26349
26350 2009-02-07  Bruno Haible  <bruno@clisp.org>
26351
26352         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
26353         failure behaviour.
26354
26355 2009-02-07  Jim Meyering  <meyering@redhat.com>
26356
26357         regex: avoid compilation failure with upcoming gcc-4.4
26358         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
26359         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
26360         "... error: integer overflow in preprocessor expression".
26361
26362 2009-02-05  Ben Pfaff  <blp@gnu.org>
26363
26364         Fix link errors on Windows when close module is used.
26365         * modules/close: Add $(LIB_CLOSE) to Link section.
26366         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
26367         $(LIB_CLOSE) on Windows.
26368
26369 2009-02-05  Jim Meyering  <meyering@redhat.com>
26370
26371         still avoid unused-parameter warnings, but do it cleanly
26372         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
26373         (get_fs_usage): Cast to void instead.
26374         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
26375         (dev_from_mount_options, read_file_system_list): Cast to void.
26376         Prompted by Bruno Haible.
26377
26378 2009-02-04  Jim Meyering  <meyering@redhat.com>
26379
26380         fsusage.c: correct copyright year
26381         * lib/fsusage.c: Reflect year in which the change is pushed into
26382
26383         avoid misc. warnings
26384         * lib/fsusage.c (UNUSED_PARAM): Define.
26385         (get_fs_usage): Mark parameter "disk" as unused.
26386         * lib/getugroups.c (getgrent): Use "void" in prototype.
26387         * lib/mountlist.c: Mark unused parameters.
26388         (read_file_system_list): Declare a local with "const".
26389         * lib/nanosleep.c (getnow): Declare static.
26390         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
26391
26392         dirfd: set errno upon failure
26393         * lib/dirfd.c: Include <errno.h>.
26394         Set errno to ENOTSUP when returning -1.
26395         * modules/dirfd (Depends-on): Add errno.
26396         Suggested by John Kodis <kodis@comcast.net>.
26397
26398 2009-02-01  Bruno Haible  <bruno@clisp.org>
26399
26400         Don't assume sizeof (long) >= sizeof (void *).
26401         * lib/memcmp.c: Include stdint.h.
26402         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
26403         srcp2 to 'const byte *'.
26404         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
26405         types to uintptr_t.
26406         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
26407         * modules/memcmp (Depends-on): Add stdint.
26408         Reported by Ozkan Sezer <sezeroz@gmail.com>.
26409
26410 2009-01-30  Eric Blake  <ebb9@byu.net>
26411
26412         fix more require-before-expand issues
26413         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
26414         expand, AC_PROG_AWK.
26415         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
26416
26417 2009-01-28  Eric Blake  <ebb9@byu.net>
26418
26419         version-etc: use consistent URL formatting
26420         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
26421         Improve formatting.  Use fputs for string without %.
26422
26423 2009-01-28  Jim Meyering  <meyering@redhat.com>
26424
26425         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
26426         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
26427         "underquoted definition of NAME" from autoconf-2.59.
26428
26429 2009-01-28  Bruno Haible  <bruno@clisp.org>
26430
26431         * doc/gnulib.texi: Add "Obsolete modules" to index.
26432
26433 2009-01-28  Jim Meyering  <meyering@redhat.com>
26434
26435         useless-if-before-free: recognize more variants
26436         * build-aux/useless-if-before-free: Also recognize e.g.,
26437         if (NULL != p) free (p);
26438
26439 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
26440
26441         test-getaddrinfo: skip (don't fail) this test when there's no network
26442         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
26443         on the presumption that it means you lack network access.
26444
26445 2009-01-26  Jim Meyering  <meyering@redhat.com>
26446
26447         fflush: avoid warnings on modern systems
26448         * lib/fflush.c (rpl_fflush): Move declarations of locals,
26449         pos and result, into scopes where they're used.
26450
26451 2009-01-26  Eric Blake  <ebb9@byu.net>
26452
26453         Silence warning reintroduced by recent extensions patch.
26454         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
26455         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
26456         autoconf.
26457
26458         Backport improved autoconf semantics of AC_DEFUN_ONCE.
26459         * m4/00gnulib.m4: New file.
26460         * gnulib-tool (func_get_filelist): Always use it.
26461         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
26462         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
26463
26464 2009-01-25  Bruno Haible  <bruno@clisp.org>
26465
26466         Make test-quotearg work on MacOS X and AIX.
26467         * tests/test-quotearg.sh: New file.
26468         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
26469         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
26470         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
26471         include <libintl.h>.
26472         (fake_locale): Remove variable.
26473         (gettext, dgettext, dcgettext): Remove functions.
26474         (main): Instead of setting a fake locale, set a real locale. Call
26475         textdomain and bindtextdomain.
26476         * modules/quotearg-tests (Files): Add the new files.
26477         (Depends-on): Add gettext, setenv, unsetenv.
26478         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
26479         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
26480         Augment TESTS_ENVIRONMENT.
26481
26482 2009-01-25  Bruno Haible  <bruno@clisp.org>
26483
26484         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
26485         fr_FR.ISO8859-1 locale on MacOS X.
26486         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
26487         ja_JP.eucJP locale on MacOS X.
26488         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
26489         zh_CN.GB18030 locale on MacOS X.
26490
26491 2009-01-25  Bruno Haible  <bruno@clisp.org>
26492
26493         Avoid link errors on MacOS X 10.3.
26494         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
26495         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26496
26497 2009-01-25  Bruno Haible  <bruno@clisp.org>
26498
26499         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
26500         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
26501         * modules/pipe (Files): Remove m4/posix_spawn.m4.
26502         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
26503         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
26504         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
26505         posix_spawnattr_init, posix_spawnattr_setsigmask,
26506         posix_spawnattr_setflags, posix_spawnattr_destroy.
26507
26508         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
26509         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
26510         * modules/execute (Files): Remove m4/posix_spawn.m4.
26511         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
26512         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
26513         posix_spawnattr_init, posix_spawnattr_setsigmask,
26514         posix_spawnattr_setflags, posix_spawnattr_destroy.
26515
26516 2009-01-25  Bruno Haible  <bruno@clisp.org>
26517
26518         * lib/glthread/threadlib.c: Include <stdlib.h>.
26519
26520 2009-01-25  Bruno Haible  <bruno@clisp.org>
26521
26522         * lib/glthread/threadlib.c (dummy): New declaration.
26523
26524 2009-01-25  Bruno Haible  <bruno@clisp.org>
26525
26526         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
26527         multibyte characters also for the GB18030 encoding. Don't crash when
26528         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
26529
26530 2009-01-25  Bruno Haible  <bruno@clisp.org>
26531
26532         Avoid redefining 'struct random_data' on OSF/1 5.1.
26533         * lib/stdlib.in.h: Include <random.h> if it exists.
26534         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
26535         HAVE_RANDOM_H. Include <random.h> when testing whether
26536         'struct random_data' exists.
26537         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
26538
26539 2009-01-25  Bruno Haible  <bruno@clisp.org>
26540
26541         Don't install charset.alias on MacOS X >= 10.3.
26542         * lib/localcharset.c (DARWIN7): New macro.
26543         (get_charset_aliases): Hardcode the result for Darwin7.
26544         * modules/localcharset (install-exec-local): Don't install
26545         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
26546
26547 2009-01-25  Bruno Haible  <bruno@clisp.org>
26548
26549         Don't install charset.alias on mingw and Cygwin.
26550         * modules/localcharset (install-exec-local): Don't install
26551         charset.alias on mingw and Cygwin, if the file does not yet exist.
26552         The result for these platforms is hardcoded in localcharset.c.
26553
26554 2009-01-25  Bruno Haible  <bruno@clisp.org>
26555
26556         Make it possible again to use AC_GNU_SOURCE together with gnulib.
26557         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
26558         before requiring AC_USE_SYSTEM_EXTENSIONS.
26559
26560 2009-01-25  Jim Meyering  <meyering@redhat.com>
26561
26562         c-strtod: avoid warnings
26563         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
26564         "assignment discards qualifiers from pointer target type" warnings.
26565
26566 2009-01-24  Bruno Haible  <bruno@clisp.org>
26567
26568         Add support for non-UTF-8 locales on MacOS X.
26569         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
26570         canonical encodings. For Darwin 7 and newer, don't map traditional
26571         encodings to UTF-8.
26572         Reported by Vincent Lefevre <vincent@vinc17.org>
26573         at <http://savannah.gnu.org/bugs/?25235>.
26574
26575 2009-01-24  Bruno Haible  <bruno@clisp.org>
26576
26577         * doc/gnulib.texi (Obsolete modules): New section.
26578         Reported by Mike Frysinger <vapier@gentoo.org>.
26579
26580 2009-01-24  Bruno Haible  <bruno@clisp.org>
26581
26582         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
26583         (%.dvi): New rule.
26584
26585 2009-01-24  Bruno Haible  <bruno@clisp.org>
26586
26587         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
26588         Reported by Eric Blake.
26589
26590 2009-01-24  Bruno Haible  <bruno@clisp.org>
26591
26592         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
26593         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
26594         Reported by Gary V. Vaughan <gary@gnu.org>.
26595
26596 2009-01-24  Bruno Haible  <bruno@clisp.org>
26597
26598         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
26599
26600 2009-01-23  Bruno Haible  <bruno@clisp.org>
26601
26602         Make c-strtod, c-strtold usable in libraries.
26603         * lib/c-strtod.c: Include string.h instead of xalloc.h.
26604         (C_STRTOD): Call strdup instead of xstrdup.
26605         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
26606         * modules/c-strtold (Depends-on): Likewise.
26607         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
26608         * NEWS: Mention the change.
26609         Reported by Michael Gold <mgold@ncf.ca>.
26610
26611 2009-01-23  Jim Meyering  <meyering@redhat.com>
26612
26613         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
26614         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
26615         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
26616
26617 2009-01-23  Simon Josefsson  <simon@josefsson.org>
26618
26619         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
26620         GNU CoreUtils.
26621         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
26622         * modules/version-etc (Description): Update.
26623
26624 2009-01-22  Bruno Haible  <bruno@clisp.org>
26625
26626         Cache the C locale object.
26627         * lib/c-strtod.c (c_locale_cache): New variable.
26628         (c_locale): New function.
26629         (C_STRTOD): Use it, and don't call freelocale.
26630         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
26631         Suggested by Paolo Bonzini.
26632
26633 2009-01-21  Bruno Haible  <bruno@clisp.org>
26634
26635         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
26636         conditions other than overflow.
26637
26638 2009-01-21  Bruno Haible  <bruno@clisp.org>
26639
26640         * lib/c-strtod.c: Include errno.h.
26641         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
26642         value from STRTOD_L and STRTOD.
26643
26644 2009-01-21  Bruno Haible  <bruno@clisp.org>
26645         and Jim Meyering  <meyering@redhat.com>
26646
26647         nanosleep: skip configure test (fail it) for apple universal builds
26648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
26649         universal builds, assume that nanosleep does not work.
26650         * modules/nanosleep (Depends-on): Add multiarch.
26651
26652         mktime: skip configure test (fail it) for apple universal builds
26653         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
26654         universal builds, assume that mktime does not work.
26655         * modules/mktime (Depends-on): Add multiarch.
26656
26657 2009-01-21  Eric Blake  <ebb9@byu.net>
26658
26659         multiarch: avoid expand-before-require warning
26660         * modules/multiarch (configure.ac): Require, rather than expand,
26661         gl_MULTIARCH.
26662         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
26663         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
26664         enforce that all clients require it.  Partial reversion of
26665         2008-12-29 patch.
26666
26667         error: avoid expand-before-require warning
26668         * modules/errno (configure.ac): Require, rather than expand,
26669         gl_HEADER_ERRNO_H.
26670         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
26671         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
26672         enforce that all clients require it.
26673
26674         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
26675         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
26676         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
26677         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
26678
26679 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
26680
26681         Revert:
26682         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
26683
26684         regex: do not depend on obsolete modules.
26685         * modules/regex: Remove memcmp and memmove.
26686
26687 2009-01-20  Bruno Haible  <bruno@clisp.org>
26688
26689         Make the 'link' module link on Windows NT 4.
26690         * lib/link.c (_WIN32_WINNT): Don't define.
26691         (CreateHardLinkFuncType): New type.
26692         (CreateHardLinkFunc, initialized): New variables.
26693         (initialize): New function.
26694         (link): Invoke CreateHardLink indirectly through the function pointer.
26695
26696 2009-01-20  Bruno Haible  <bruno@clisp.org>
26697
26698         Fix compilation failure on mingw.
26699         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
26700
26701 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
26702
26703         * doc/c-strtod.texi: Mention a couple of restrictions.
26704
26705 2009-01-20  Jim Meyering  <meyering@redhat.com>
26706
26707         gettimeofday: move more declarations out of functions
26708         * lib/gettimeofday.c: Move extern declarations of tzset and
26709         gmtime out of containing functions.  Prompted by Bruno Haible.
26710
26711 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
26712
26713         regex: do not depend on obsolete modules.
26714         * modules/regex: Remove memcmp and memmove.
26715
26716 2009-01-19  Bruno Haible  <bruno@clisp.org>
26717
26718         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
26719         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
26720         gl_BIGENDIAN, not AC_C_BIGENDIAN.
26721         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
26722         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
26723
26724 2009-01-19  Bruno Haible  <bruno@clisp.org>
26725
26726         * tests/test-link.c: Include <errno.h>.
26727         (main): Exit with code 77 when a hard link cannot be created due to
26728         the file system.
26729         * tests/test-link.sh: Skip test when a hard link cannot be created due
26730         to the file system.
26731         Suggested by Eric Blake.
26732
26733 2009-01-19  Martin Lambers  <marlam@marlam.de>
26734
26735         * modules/link-tests: New file.
26736         * tests/test-link.sh: New file.
26737         * tests/test-link.c: New file.
26738
26739 2009-01-19  Eric Blake  <ebb9@byu.net>
26740
26741         doc: mention another function added in cygwin 1.7.0
26742         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
26743         Another new function in cygwin 1.7.
26744
26745 2009-01-19  Bruno Haible  <bruno@clisp.org>
26746
26747         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
26748         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
26749         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
26750         gl_BIGENDIAN, not AC_C_BIGENDIAN.
26751         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26752         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
26753         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26754         * m4/md4.m4 (gl_MD4): Likewise.
26755         * m4/md5.m4 (gl_MD5): Likewise.
26756         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
26757         * m4/sha1.m4 (gl_SHA1): Likewise.
26758         * m4/sha256.m4 (gl_SHA256): Likewise.
26759         * m4/sha512.m4 (gl_SHA512): Likewise.
26760
26761 2009-01-19  Bruno Haible  <bruno@clisp.org>
26762
26763         * modules/uniname/uniname-tests (Depends-on): Add progname.
26764         * tests/uniname/test-uninames.c: Include progname.h.
26765         (main): Call set_program_name.
26766
26767         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
26768         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
26769         (main): Call set_program_name.
26770
26771         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
26772         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
26773         (main): Call set_program_name.
26774
26775         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
26776         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
26777         (main): Call set_program_name.
26778
26779         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
26780         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
26781         (main): Call set_program_name.
26782
26783         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
26784         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
26785         (main): Call set_program_name.
26786
26787         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
26788         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
26789         (main): Call set_program_name.
26790
26791         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
26792         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
26793         (main): Call set_program_name.
26794
26795         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
26796         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
26797         (main): Call set_program_name.
26798
26799 2009-01-19  Eric Blake  <ebb9@byu.net>
26800
26801         test-unistd: test previous patch
26802         * tests/test-unistd.c: Test *_FILENO macros.
26803
26804         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
26805         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
26806         Guarantee a definition.
26807         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
26808         * modules/unistd-safer (Depends-on): Add dependency on unistd.
26809         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
26810         * lib/dup-safer.c (STDERR_FILENO): Likewise.
26811         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
26812         Likewise.
26813         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
26814         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
26815         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
26816         Likewise.
26817         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
26818         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
26819         (STDERR_FILENO): Likewise.
26820         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
26821         (STDERR_FILENO): Likewise.
26822         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
26823         (STDERR_FILENO): Likewise.
26824         Reported by Elbert Pol.
26825
26826 2009-01-19  Eric Blake  <ebb9@byu.net>
26827
26828         doc: mention more functions added in cygwin 1.7.0
26829         * doc/posix-functions/abort.texi (abort): Update wording related
26830         to cygwin.
26831         * doc/posix-functions/daylight.texi (daylight): Likewise.
26832         * doc/posix-functions/optarg.texi (optarg): Likewise.
26833         * doc/posix-functions/optarg.texi (opterr): Likewise.
26834         * doc/posix-functions/optarg.texi (optind): Likewise.
26835         * doc/posix-functions/optarg.texi (optopt): Likewise.
26836         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
26837         worked in 1.5.x, and was withdrawn in 1.7.
26838         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
26839         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
26840         cygwin versions.
26841         * doc/posix-functions/perror.texi (perror): Likewise.
26842         * doc/posix-functions/printf.texi (printf): Likewise.
26843         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
26844         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
26845         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
26846         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
26847         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26848         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
26849         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
26850         Likewise.
26851         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
26852         Likewise.
26853         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
26854         this function.
26855         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
26856         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
26857         Likewise.
26858         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
26859         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
26860         * doc/posix-functions/confstr.texi (confstr): Likewise.
26861         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
26862         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
26863         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
26864         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
26865         * doc/posix-functions/fputws.texi (fputws): Likewise.
26866         * doc/posix-functions/fwide.texi (fwide): Likewise.
26867         * doc/posix-functions/getwc.texi (getwc): Likewise.
26868         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
26869         * doc/posix-functions/putwc.texi (putwc): Likewise.
26870         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
26871         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
26872         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
26873         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
26874         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
26875         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
26876         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
26877         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
26878         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
26879         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
26880         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
26881
26882 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
26883
26884         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
26885         * lib/ioctl.c: Include <sys/ioctl.h>.
26886
26887 2009-01-19  Simon Josefsson  <simon@josefsson.org>
26888
26889         * modules/getdate-tests (Depends-on): Add progname.
26890         * tests/test-getdate.c: Use progname module, to avoid link errors
26891         on non-glibc systems.
26892
26893 2009-01-18  Simon Josefsson  <simon@josefsson.org>
26894
26895         * modules/filenamecat-tests (Depends-on): Add progname.
26896         * modules/fstrcmp-tests (Depends-on): Likewise.
26897
26898         * tests/test-filenamecat.c: Use progname module, to avoid link
26899         errors on non-glibc systems.
26900         * tests/test-fstrcmp.c: Likewise.
26901
26902 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
26903
26904         gettimeofday: avoid warning: nested extern declaration of 'localtime'
26905         * lib/gettimeofday.c: Move extern declaration out of function.
26906
26907 2009-01-18  Bruno Haible  <bruno@clisp.org>
26908
26909         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
26910         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
26911         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
26912
26913 2009-01-18  Bruno Haible  <bruno@clisp.org>
26914
26915         * lib/strftime.c (MEMPCPY): Remove unused macro.
26916         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
26917
26918 2009-01-18  Martin Lambers  <marlam@marlam.de>
26919
26920         New module 'link'.
26921         * lib/unistd.in.h (link): New declaration.
26922         * lib/link.c: New file.
26923         * m4/link.m4: New file.
26924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
26925         HAVE_LINK.
26926         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
26927         * modules/link: New file.
26928         * doc/posix-functions/link.texi: Mention the new module.
26929
26930 2009-01-18  Bruno Haible  <bruno@clisp.org>
26931
26932         * tests/test-avltree_list.c (main): Call set_program_name.
26933         * tests/test-avltree_oset.c (main): Likewise.
26934         * tests/test-obstack-printf.c: Include progname.h.
26935         (main): Call set_program_name.
26936         * tests/test-quotearg.c: Include progname.h.
26937         (main): Call set_program_name.
26938         * tests/test-xmemdup0.c: Include progname.h.
26939         (main): Call set_program_name.
26940
26941 2009-01-18  Bruno Haible  <bruno@clisp.org>
26942
26943         New module 'alphasort'.
26944         * lib/dirent.in.h (alphasort): New declaration.
26945         * lib/alphasort.c: New file, from glibc with modifications.
26946         * m4/alphasort.m4: New file.
26947         * modules/alphasort: New file.
26948         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
26949         HAVE_ALPHASORT.
26950         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
26951         HAVE_ALPHASORT.
26952         * doc/posix-functions/alphasort.texi: Mention the new module and the
26953         portability problems.
26954
26955 2009-01-18  Bruno Haible  <bruno@clisp.org>
26956
26957         New module 'scandir'.
26958         * lib/dirent.in.h (scandir): New declaration.
26959         * lib/scandir.c: New file, from glibc with modifications.
26960         * m4/scandir.m4: New file.
26961         * modules/scandir: New file.
26962         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
26963         HAVE_SCANDIR.
26964         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
26965         HAVE_SCANDIR.
26966         * doc/posix-functions/scandir.texi: Mention the new module and the
26967         portability problems.
26968
26969 2009-01-17  Bruno Haible  <bruno@clisp.org>
26970
26971         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
26972         Update documentation.
26973         (func_remove_suffix): Escape all dots in the suffix. Update
26974         documentation.
26975         (func_filter_filelist): Update documentation.
26976         Reported by Ralf Wildenhues.
26977
26978 2009-01-17  Bruno Haible  <bruno@clisp.org>
26979
26980         * modules/dprintf-posix-tests: New file.
26981         * tests/test-dprintf-posix.sh: New file.
26982         * tests/test-dprintf-posix.c: New file.
26983
26984         New modules 'dprintf', 'dprintf-posix'.
26985         * lib/stdio.in.h (dprintf): New declaration.
26986         * lib/dprintf.c: New file.
26987         * m4/dprintf.m4: New file.
26988         * m4/dprintf-posix.m4: New file.
26989         * modules/dprintf: New file.
26990         * modules/dprintf-posix: New file.
26991         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
26992         HAVE_DPRINTF, REPLACE_DPRINTF.
26993         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
26994         HAVE_DPRINTF, REPLACE_DPRINTF.
26995         * doc/posix-functions/dprintf.texi: Mention the new modules.
26996
26997 2009-01-17  Bruno Haible  <bruno@clisp.org>
26998
26999         * modules/vdprintf-posix-tests: New file.
27000         * tests/test-vdprintf-posix.sh: New file.
27001         * tests/test-vdprintf-posix.c: New file.
27002
27003         New modules 'vdprintf', 'vdprintf-posix'.
27004         * lib/stdio.in.h (vdprintf): New declaration.
27005         * lib/vdprintf.c: New file.
27006         * m4/vdprintf.m4: New file.
27007         * m4/vdprintf-posix.m4: New file.
27008         * modules/vdprintf: New file.
27009         * modules/vdprintf-posix: New file.
27010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
27011         HAVE_VDPRINTF, REPLACE_VDPRINTF.
27012         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
27013         HAVE_VDPRINTF, REPLACE_VDPRINTF.
27014         * doc/posix-functions/vdprintf.texi: Mention the new modules.
27015
27016 2009-01-17  Bruno Haible  <bruno@clisp.org>
27017
27018         Fix replacement of fopen on mingw.
27019         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
27020         mingw.
27021
27022 2009-01-17  Bruno Haible  <bruno@clisp.org>
27023
27024         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
27025         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
27026
27027 2009-01-17  Bruno Haible  <bruno@clisp.org>
27028
27029         Avoid test-fflush2.sh failure on mingw.
27030         * tests/test-fflush2.c: Include binary-io.h.
27031         (main): Put standard input into binary mode.
27032         * modules/fflush-tests (Depends-on): Add binary-io.
27033
27034 2009-01-17  Bruno Haible  <bruno@clisp.org>
27035
27036         * lib/wchar.in.h: In another particular situation, include only the
27037         system's <wchar.h> file.
27038         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
27039         Reported by Albert Chin-A-Young <china@thewrittenword.com>
27040         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
27041
27042 2009-01-17  Bruno Haible  <bruno@clisp.org>
27043
27044         Support for stripping executables in --enable-relocatable.
27045         * build-aux/install-reloc: Expect one more argument, or an environment
27046         variable RELOC_STRIP_PROG. If set, strip the destination program and
27047         its wrapper.
27048         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
27049         RELOC_STRIP_PROG.
27050         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
27051         to set RELOCATABLE_STRIP.
27052         * NEWS: Mention the new Makefile requirement.
27053
27054 2009-01-17  Bruno Haible  <bruno@clisp.org>
27055
27056         * build-aux/install-reloc: Remove debugging information left over by
27057         C compiler on MacOS X.
27058
27059 2009-01-17  Bruno Haible  <bruno@clisp.org>
27060
27061         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
27062         * lib/progreloc.c (find_executable): Fix type of pointer passed to
27063         _NSGetExecutablePath.
27064
27065 2009-01-16  Jim Meyering  <meyering@redhat.com>
27066
27067         strerror: avoid warnings about discarding "const"
27068         * lib/strerror.c (rpl_strerror): Instead of returning a const
27069         string from each and every "case", use a variable, and add a single
27070         cast after the switch.
27071
27072 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
27073
27074         * lib/arpa_inet.in.h: Add extern "C" block for C++.
27075
27076 2009-01-16  Bruno Haible  <bruno@clisp.org>
27077
27078         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
27079         array initializer syntax that also works in C++ mode.
27080         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27081
27082 2009-01-16  Jim Meyering  <meyering@redhat.com>
27083
27084         poll: suppress a warning
27085         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
27086         to ignore "...unsigned expression < 0 is always false" warnings.
27087
27088 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
27089
27090         poll: remove declarations of unused variables
27091         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
27092         sockbuf and optlen.
27093
27094 2009-01-15  Bruno Haible  <bruno@clisp.org>
27095
27096         Make fflush-after-ungetc POSIX compliant on BSD systems.
27097         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
27098         (clear_ungetc_buffer): Implement also for other systems.
27099         (rpl_fflush): On glibc systems, invoke
27100         clear_ungetc_buffer_preserving_position. Otherwise, invoke
27101         clear_ungetc_buffer after fetching the stream's position, not before.
27102
27103 2009-01-15  Bruno Haible  <bruno@clisp.org>
27104
27105         Make fflush-after-ungetc POSIX compliant on glibc systems.
27106         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
27107         after ungetc.
27108         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
27109         (rpl_fflush): On glibc systems, simply call the system's fflush
27110         function after clearing the ungetc buffer.
27111         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
27112         Instead, lseek only to the end of file, then use the system's fseeko
27113         for the rest. On glibc systems, reset the EOF indicator bit.
27114
27115 2009-01-15  Jim Meyering  <meyering@redhat.com>
27116
27117         openmp.m4: revert quote-adding change, for portability to older autoconf
27118         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
27119         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
27120         Simon Josefsson noticed the problem when using autoconf-2.61.
27121
27122 2009-01-15  Bruno Haible  <bruno@clisp.org>
27123
27124         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
27125         * tests/test-fflush2.c (ASSERT): Always fail.
27126         (main): Add two tests for fflush() after ungetc(), taking into account
27127         the Austin Group's clarification.
27128         Suggested by Eric Blake.
27129
27130 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
27131
27132         mktime.m4: remove K&R-style function prototypes
27133         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
27134         for the Sun C++ compiler.
27135
27136 2009-01-14  Bruno Haible  <bruno@clisp.org>
27137
27138         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
27139         while including <wchar.h>.
27140         * lib/wchar.in.h: In two particular situations on HP-UX, include only
27141         the system's <wchar.h> file.
27142         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27143
27144 2009-01-14  Bruno Haible  <bruno@clisp.org>
27145
27146         * m4/csharp.m4: Don't mention gettext on the serial number line.
27147         * m4/csharpexec.m4: Likewise.
27148         * m4/eaccess.m4: Likewise.
27149         * m4/javaexec.m4: Likewise.
27150         * m4/sig_atomic_t.m4: Likewise.
27151         * m4/tmpdir.m4: Likewise.
27152         * m4/intldir.m4: Bump gettext version.
27153         * m4/lib-ld.m4: Likewise.
27154
27155 2009-01-14  Bruno Haible  <bruno@clisp.org>
27156
27157         * lib/progname.c (set_program_name): Add more comments.
27158         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
27159
27160 2009-01-14  Simon Josefsson  <simon@josefsson.org>
27161
27162         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
27163         were sys/stat.h does not define it.
27164
27165 2009-01-14  Jim Meyering  <meyering@redhat.com>
27166
27167         many *.m4 files: improve m4 quoting
27168         99% of this change was performed by running the following commands:
27169         git ls-files | grep '\.m4$' | xargs perl -pi \
27170           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
27171           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
27172           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
27173           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
27174         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
27175         The remainder were to add Copyright dates, increment serial numbers,
27176         undo some changes in comments, exclude m4/intl.m4, and add quotes
27177         around the "1" in ",1" where the unusual spacing prohibited the
27178         above regexps from doing the job.  For more details, see
27179         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
27180         * m4/acl.m4: Modified.
27181         * m4/afs.m4: Likewise.
27182         * m4/alloca.m4: Likewise.
27183         * m4/argp.m4: Likewise.
27184         * m4/argz.m4: Likewise.
27185         * m4/atexit.m4: Likewise.
27186         * m4/bison-i18n.m4: Likewise.
27187         * m4/bison.m4: Likewise.
27188         * m4/byteswap.m4: Likewise.
27189         * m4/c-stack.m4: Likewise.
27190         * m4/c-strtod.m4: Likewise.
27191         * m4/calloc.m4: Likewise.
27192         * m4/canonicalize-lgpl.m4: Likewise.
27193         * m4/chown.m4: Likewise.
27194         * m4/clock_time.m4: Likewise.
27195         * m4/codeset.m4: Likewise.
27196         * m4/copy-file.m4: Likewise.
27197         * m4/csharp.m4: Likewise.
27198         * m4/csharpcomp.m4: Likewise.
27199         * m4/csharpexec.m4: Likewise.
27200         * m4/d-ino.m4: Likewise.
27201         * m4/d-type.m4: Likewise.
27202         * m4/dirfd.m4: Likewise.
27203         * m4/double-slash-root.m4: Likewise.
27204         * m4/eaccess.m4: Likewise.
27205         * m4/eealloc.m4: Likewise.
27206         * m4/environ.m4: Likewise.
27207         * m4/errno_h.m4: Likewise.
27208         * m4/euidaccess.m4: Likewise.
27209         * m4/execute.m4: Likewise.
27210         * m4/fatal-signal.m4: Likewise.
27211         * m4/fchdir.m4: Likewise.
27212         * m4/fcntl_h.m4: Likewise.
27213         * m4/fileblocks.m4: Likewise.
27214         * m4/filenamecat.m4: Likewise.
27215         * m4/findprog.m4: Likewise.
27216         * m4/flexmember.m4: Likewise.
27217         * m4/fnmatch.m4: Likewise.
27218         * m4/fopen.m4: Likewise.
27219         * m4/fpending.m4: Likewise.
27220         * m4/fprintf-posix.m4: Likewise.
27221         * m4/free.m4: Likewise.
27222         * m4/frexp.m4: Likewise.
27223         * m4/frexpl.m4: Likewise.
27224         * m4/fsusage.m4: Likewise.
27225         * m4/ftruncate.m4: Likewise.
27226         * m4/gc-camellia.m4: Likewise.
27227         * m4/gc-random.m4: Likewise.
27228         * m4/gc.m4: Likewise.
27229         * m4/getaddrinfo.m4: Likewise.
27230         * m4/getcwd-abort-bug.m4: Likewise.
27231         * m4/getcwd-path-max.m4: Likewise.
27232         * m4/getdate.m4: Likewise.
27233         * m4/getdomainname.m4: Likewise.
27234         * m4/getgroups.m4: Likewise.
27235         * m4/gethostname.m4: Likewise.
27236         * m4/gethrxtime.m4: Likewise.
27237         * m4/getline.m4: Likewise.
27238         * m4/getloadavg.m4: Likewise.
27239         * m4/getndelim2.m4: Likewise.
27240         * m4/getpass.m4: Likewise.
27241         * m4/gettext.m4: Likewise.
27242         * m4/gettime.m4: Likewise.
27243         * m4/gettimeofday.m4: Likewise.
27244         * m4/gnulib-common.m4: Likewise.
27245         * m4/group-member.m4: Likewise.
27246         * m4/host-os.m4: Likewise.
27247         * m4/iconv.m4: Likewise.
27248         * m4/iconv_open.m4: Likewise.
27249         * m4/inet_ntop.m4: Likewise.
27250         * m4/inet_pton.m4: Likewise.
27251         * m4/inline.m4: Likewise.
27252         * m4/intldir.m4: Likewise.
27253         * m4/intlmacosx.m4: Likewise.
27254         * m4/intmax.m4: Likewise.
27255         * m4/intmax_t.m4: Likewise.
27256         * m4/inttypes.m4: Likewise.
27257         * m4/inttypes_h.m4: Likewise.
27258         * m4/inttypes-pri.m4: Likewise.
27259         * m4/isapipe.m4: Likewise.
27260         * m4/isnand.m4: Likewise.
27261         * m4/isnanf.m4: Likewise.
27262         * m4/isnanl.m4: Likewise.
27263         * m4/javacomp.m4: Likewise.
27264         * m4/javaexec.m4: Likewise.
27265         * m4/jm-winsz1.m4: Likewise.
27266         * m4/jm-winsz2.m4: Likewise.
27267         * m4/lchown.m4: Likewise.
27268         * m4/lcmessage.m4: Likewise.
27269         * m4/ldexpl.m4: Likewise.
27270         * m4/lib-ld.m4: Likewise.
27271         * m4/lib-link.m4: Likewise.
27272         * m4/libsigsegv.m4: Likewise.
27273         * m4/link-follow.m4: Likewise.
27274         * m4/localcharset.m4: Likewise.
27275         * m4/locale-fr.m4: Likewise.
27276         * m4/locale-ja.m4: Likewise.
27277         * m4/locale-tr.m4: Likewise.
27278         * m4/locale-zh.m4: Likewise.
27279         * m4/lock.m4: Likewise.
27280         * m4/longlong.m4: Likewise.
27281         * m4/ls-mntd-fs.m4: Likewise.
27282         * m4/lstat.m4: Likewise.
27283         * m4/malloc.m4: Likewise.
27284         * m4/mathl.m4: Likewise.
27285         * m4/mbrtowc.m4: Likewise.
27286         * m4/mbstate_t.m4: Likewise.
27287         * m4/mbswidth.m4: Likewise.
27288         * m4/memchr.m4: Likewise.
27289         * m4/memcmp.m4: Likewise.
27290         * m4/memcpy.m4: Likewise.
27291         * m4/memmem.m4: Likewise.
27292         * m4/memmove.m4: Likewise.
27293         * m4/mempcpy.m4: Likewise.
27294         * m4/memrchr.m4: Likewise.
27295         * m4/memset.m4: Likewise.
27296         * m4/minmax.m4: Likewise.
27297         * m4/mkdir-slash.m4: Likewise.
27298         * m4/mkdtemp.m4: Likewise.
27299         * m4/mktime.m4: Likewise.
27300         * m4/mmap-anon.m4: Likewise.
27301         * m4/mountlist.m4: Likewise.
27302         * m4/nanosleep.m4: Likewise.
27303         * m4/nls.m4: Likewise.
27304         * m4/nocrash.m4: Likewise.
27305         * m4/open.m4: Likewise.
27306         * m4/openat.m4: Likewise.
27307         * m4/openmp.m4: Likewise.
27308         * m4/pathmax.m4: Likewise.
27309         * m4/perl.m4: Likewise.
27310         * m4/physmem.m4: Likewise.
27311         * m4/pipe.m4: Likewise.
27312         * m4/po.m4: Likewise.
27313         * m4/poll.m4: Likewise.
27314         * m4/posixtm.m4: Likewise.
27315         * m4/posixver.m4: Likewise.
27316         * m4/printf-frexp.m4: Likewise.
27317         * m4/printf-frexpl.m4: Likewise.
27318         * m4/printf-posix.m4: Likewise.
27319         * m4/printf-posix-rpl.m4: Likewise.
27320         * m4/printf.m4: Likewise.
27321         * m4/progtest.m4: Likewise.
27322         * m4/putenv.m4: Likewise.
27323         * m4/readline.m4: Likewise.
27324         * m4/readlink.m4: Likewise.
27325         * m4/readutmp.m4: Likewise.
27326         * m4/realloc.m4: Likewise.
27327         * m4/regex.m4: Likewise.
27328         * m4/relocatable.m4: Likewise.
27329         * m4/relocatable-lib.m4: Likewise.
27330         * m4/rename-dest-slash.m4: Likewise.
27331         * m4/rename.m4: Likewise.
27332         * m4/rmdir-errno.m4: Likewise.
27333         * m4/rmdir.m4: Likewise.
27334         * m4/roundf.m4: Likewise.
27335         * m4/roundl.m4: Likewise.
27336         * m4/rpmatch.m4: Likewise.
27337         * m4/save-cwd.m4: Likewise.
27338         * m4/selinux-selinux-h.m4: Likewise.
27339         * m4/setenv.m4: Likewise.
27340         * m4/settime.m4: Likewise.
27341         * m4/sig2str.m4: Likewise.
27342         * m4/sig_atomic_t.m4: Likewise.
27343         * m4/signalblocking.m4: Likewise.
27344         * m4/signbit.m4: Likewise.
27345         * m4/sigpipe.m4: Likewise.
27346         * m4/sockets.m4: Likewise.
27347         * m4/sockpfaf.m4: Likewise.
27348         * m4/st_dm_mode.m4: Likewise.
27349         * m4/stat-time.m4: Likewise.
27350         * m4/stdbool.m4: Likewise.
27351         * m4/stdint.m4: Likewise.
27352         * m4/stdint_h.m4: Likewise.
27353         * m4/stpcpy.m4: Likewise.
27354         * m4/stpncpy.m4: Likewise.
27355         * m4/strcase.m4: Likewise.
27356         * m4/strchrnul.m4: Likewise.
27357         * m4/strcspn.m4: Likewise.
27358         * m4/strdup.m4: Likewise.
27359         * m4/strftime.m4: Likewise.
27360         * m4/strndup.m4: Likewise.
27361         * m4/strnlen.m4: Likewise.
27362         * m4/strpbrk.m4: Likewise.
27363         * m4/strptime.m4: Likewise.
27364         * m4/strsep.m4: Likewise.
27365         * m4/strtod.m4: Likewise.
27366         * m4/strtoimax.m4: Likewise.
27367         * m4/strtok_r.m4: Likewise.
27368         * m4/strtol.m4: Likewise.
27369         * m4/strtoll.m4: Likewise.
27370         * m4/strtoul.m4: Likewise.
27371         * m4/strtoull.m4: Likewise.
27372         * m4/strtoumax.m4: Likewise.
27373         * m4/strverscmp.m4: Likewise.
27374         * m4/threadlib.m4: Likewise.
27375         * m4/timegm.m4: Likewise.
27376         * m4/tm_gmtoff.m4: Likewise.
27377         * m4/tmpdir.m4: Likewise.
27378         * m4/tmpfile.m4: Likewise.
27379         * m4/tzset.m4: Likewise.
27380         * m4/uintmax_t.m4: Likewise.
27381         * m4/unlinkdir.m4: Likewise.
27382         * m4/unlocked-io.m4: Likewise.
27383         * m4/uptime.m4: Likewise.
27384         * m4/userspec.m4: Likewise.
27385         * m4/utimbuf.m4: Likewise.
27386         * m4/utime.m4: Likewise.
27387         * m4/utimes-null.m4: Likewise.
27388         * m4/utimes.m4: Likewise.
27389         * m4/vararrays.m4: Likewise.
27390         * m4/vasnprintf.m4: Likewise.
27391         * m4/vfprintf-posix.m4: Likewise.
27392         * m4/vprintf-posix.m4: Likewise.
27393         * m4/wait-process.m4: Likewise.
27394         * m4/wchar_t.m4: Likewise.
27395         * m4/wint_t.m4: Likewise.
27396         * m4/write-any-file.m4: Likewise.
27397         * m4/yield.m4: Likewise.
27398
27399 2009-01-13  Bruno Haible  <bruno@clisp.org>
27400
27401         Avoid test-copy-file.sh failures when ACL support insufficient.
27402         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
27403         TESTS_ENVIRONMENT.
27404         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
27405         Reported by Jim Meyering.
27406
27407 2009-01-13  Bruno Haible  <bruno@clisp.org>
27408
27409         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
27410         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
27411         * modules/unistdio/u8-printf-parse (Files): Likewise.
27412         * modules/unistdio/u32-printf-parse (Files): Likewise.
27413         * modules/unistdio/ulc-printf-parse (Files): Likewise.
27414
27415 2009-01-13  Simon Josefsson  <simon@josefsson.org>
27416
27417         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
27418         and m4/inttypes_h.m4 too.
27419
27420 2009-01-12  Eric Blake  <ebb9@byu.net>
27421
27422         tests: IRIX 6.2 cc can't compile -0.0 into .data
27423         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
27424         rather than at compile-time.
27425         * tests/test-floorl.c (minus_zero): Likewise.
27426         * tests/test-frexpl.c (minus_zero): Likewise.
27427         * tests/test-isnan.c (minus_zerol): Likewise.
27428         * tests/test-isnanl.h (minus_zero): Likewise.
27429         * tests/test-ldexpl.c (minus_zero): Likewise.
27430         * tests/test-roundl.c (minus_zero): Likewise.
27431         * tests/test-signbit.c (minus_zerol): Likewise.
27432         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
27433         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
27434         * tests/test-truncl.c (minus_zero): Likewise.
27435         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
27436         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
27437         Reported by Tom G. Christensen and Nelson H. F. Beebe.
27438
27439 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
27440
27441         regex: fix glibc bug 9697
27442         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
27443         handling.
27444
27445 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
27446
27447         regex: fix glibc bug 697
27448         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
27449         being NULL also if there are no backreferences.
27450
27451 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
27452
27453         regex: merge glibc changes
27454         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
27455         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
27456         re_string_skip_chars, re_string_reconstruct): Likewise.
27457         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
27458
27459 2009-01-07  Jim Meyering  <meyering@redhat.com>
27460
27461         poll: filter through cppi
27462         * lib/poll.c: Indent cpp directives to reflect nesting.
27463
27464 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
27465
27466         poll: don't return uninitialized
27467         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
27468
27469 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
27470
27471         avoid compile failure on AIX 6.1
27472         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
27473         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
27474
27475 2009-01-04  Jim Meyering  <meyering@redhat.com>
27476
27477         remove duplicate inclusion of <stdio.h>
27478         * tests/test-fprintf-posix.c: Likewise.
27479         * tests/test-printf-posix.c: Likewise.
27480         * tests/test-snprintf-posix.c: Likewise.
27481         * tests/test-sprintf-posix.c: Likewise.
27482         * tests/test-vasprintf-posix.c: Likewise.
27483         * tests/test-vfprintf-posix.c: Likewise.
27484         * tests/test-vprintf-posix.c: Likewise.
27485         * tests/test-vsnprintf-posix.c: Likewise.
27486         * tests/test-vsprintf-posix.c: Likewise.
27487
27488 2009-01-03  Jim Meyering  <meyering@redhat.com>
27489
27490         gnulib-tool: fix sed-based filtering
27491         * gnulib-tool (func_filter_filelist): Remove extra backslash
27492         in sed_fff_filter definition.
27493
27494 2009-01-02  Jim Meyering  <meyering@redhat.com>
27495
27496         strftime: avoid compilation failure on Solaris 2.6
27497         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
27498         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
27499         Don't #define mbrlen or mbsinit, since now they're guaranteed to
27500         be available.  Reported by Tom G. Christensen.  Details in
27501         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
27502
27503 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27504             Bruno Haible  <bruno@clisp.org>
27505
27506         Speed up gnulib-tool by doing more string processing through shell
27507         built-ins.
27508         * gnulib-tool (fast_func_append): New variable.
27509         (func_remove_prefix, func_remove_suffix): New functions.
27510         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
27511         (func_filter_filelist): New function.
27512         (func_get_dependencies): Use func_remove_suffix instead of sed.
27513         (func_get_automake_snippet): Use func_filter_filelist instead of a
27514         subshell and sed invocation.
27515
27516 2009-01-01  Bruno Haible  <bruno@clisp.org>
27517
27518         Fix a security bug.
27519         * gnulib-tool (func_import, import, update): Don't allow the characters
27520         '"', '$', '`', '\' in macro arguments that become part of commands that
27521         are evaluated.
27522
27523 2009-01-01  Bruno Haible  <bruno@clisp.org>
27524
27525         * gnulib-tool (func_reset_sigpipe): Add more comments.
27526
27527 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27528
27529         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
27530         func_emit_tests_Makefile_am, func_import): Abort loops early if we
27531         already know the answer.
27532
27533 2009-01-01  Jim Meyering  <meyering@redhat.com>
27534
27535         * lib/version-etc.c (version_etc_va): Update copyright year.
27536
27537 2008-12-30  Bruno Haible  <bruno@clisp.org>
27538
27539         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
27540         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
27541         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
27542
27543 2008-12-29  Eric Blake  <ebb9@byu.net>
27544
27545         multiarch: avoid autoconf AC_REQUIRE bug
27546         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
27547         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
27548         2.63 and older.
27549         Reported by Bruno Haible, and analyzed in
27550         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
27551
27552 2008-12-29  Bruno Haible  <bruno@clisp.org>
27553
27554         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
27555         files in subdirectories correctly.
27556         Reported by Ralf Wildenhues.
27557
27558 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27559
27560         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
27561         rather than 'join FILE -', for Solaris join.
27562
27563 2008-12-29  Bruno Haible  <bruno@clisp.org>
27564
27565         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
27566         quoting.
27567         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27568         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27569         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27570         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
27571         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27572         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27573         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27574         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27575         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27576         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27577         * m4/nls.m4 (AM_NLS): Likewise.
27578         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
27579         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27580         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27581         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27582         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27583         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27584         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
27585         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27586         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27587         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27588         * m4/xsize.m4 (gl_XSIZE): Likewise.
27589         Suggested by Jim Meyering.
27590
27591 2008-11-17  Bruce Korb  <bkorb@gnu.org>
27592
27593         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
27594         * lib/parse-duration.c: use a switch instead of cascading if's.
27595
27596 2008-12-29  Eric Blake  <ebb9@byu.net>
27597
27598         wchar.h: supply WEOF on Irix 5.3
27599         * lib/wchar.in.h (wint_t): Also supply WEOF.
27600         * lib/wctype.in.h (wint_t): Likewise.
27601         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
27602         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
27603         Reported by Tom G. Christensen.
27604
27605 2008-12-26  Bruno Haible  <bruno@clisp.org>
27606
27607         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
27608         i486, i586, i686.
27609
27610 2008-12-26  Bruno Haible  <bruno@clisp.org>
27611
27612         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
27613
27614 2008-12-26  Bruno Haible  <bruno@clisp.org>
27615
27616         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
27617         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
27618         not __STDC_CONSTANT_MACROS.
27619         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
27620
27621 2008-12-25  Bruno Haible  <bruno@clisp.org>
27622
27623         Add support for universal builds to vasnprintf.
27624         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
27625         universal builds, guess no.
27626         * modules/vasnprintf-posix (Depends-on): Add multiarch.
27627         * modules/vasprintf-posix (Depends-on): Likewise.
27628         * modules/fprintf-posix (Depends-on): Likewise.
27629         * modules/vfprintf-posix (Depends-on): Likewise.
27630         * modules/snprintf-posix (Depends-on): Likewise.
27631         * modules/vsnprintf-posix (Depends-on): Likewise.
27632         * modules/sprintf-posix (Depends-on): Likewise.
27633         * modules/vsprintf-posix (Depends-on): Likewise.
27634         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27635         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27636         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27637         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27638         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27639         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27640         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27641
27642         Add support for universal builds to <inttypes.h>.
27643         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
27644         _SCNu64_PREFIX): In Apple
27645         universal builds, define directly, using _LP64.
27646         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
27647         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
27648         * modules/inttypes (Depends-on): Add multiarch.
27649         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
27650
27651         Add support for universal builds to <stdint.h>.
27652         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
27653         universal builds, define directly, using _LP64.
27654         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
27655         Apple universal builds, don't test for the size and suffix of ptrdiff_t
27656         and size_t.
27657         * modules/stdint (Depends-on): Add multiarch.
27658         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
27659
27660         New module 'multiarch'.
27661         * modules/multiarch: New file.
27662         * m4/multiarch.m4: New file.
27663
27664 2008-12-25  Bruno Haible  <bruno@clisp.org>
27665
27666         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
27667
27668 2008-12-25  Bruno Haible  <bruno@clisp.org>
27669
27670         * modules/btowc (License): Relicense under LGPLv2+.
27671         * modules/mbsinit (License): Likewise.
27672         * modules/mbrtowc (License): Likewise.
27673         * modules/wcrtomb (License): Likewise.
27674         * modules/streq (License): Likewise.
27675         Reported by David Lutterkort <lutter@redhat.com>.
27676
27677 2008-12-23  Bruno Haible  <bruno@clisp.org>
27678
27679         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
27680
27681 2008-12-23  Bruno Haible  <bruno@clisp.org>
27682
27683         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
27684         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
27685         GETADDRINFO_LIB, not in LIBS.
27686         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
27687         * modules/canon-host (Link): Likewise.
27688         * NEWS: Mention the change.
27689         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
27690         GETADDRINFO_LIB.
27691
27692 2008-12-22  Bruno Haible  <bruno@clisp.org>
27693
27694         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
27695         * doc/posix-functions/iswalpha_l.texi: Likewise.
27696         * doc/posix-functions/iswblank_l.texi: Likewise.
27697         * doc/posix-functions/iswcntrl_l.texi: Likewise.
27698         * doc/posix-functions/iswctype_l.texi: Likewise.
27699         * doc/posix-functions/iswdigit_l.texi: Likewise.
27700         * doc/posix-functions/iswgraph_l.texi: Likewise.
27701         * doc/posix-functions/iswlower_l.texi: Likewise.
27702         * doc/posix-functions/iswprint_l.texi: Likewise.
27703         * doc/posix-functions/iswpunct_l.texi: Likewise.
27704         * doc/posix-functions/iswspace_l.texi: Likewise.
27705         * doc/posix-functions/iswupper_l.texi: Likewise.
27706         * doc/posix-functions/iswxdigit_l.texi: Likewise.
27707         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
27708         * doc/posix-functions/open_wmemstream.texi: Likewise.
27709         * doc/posix-functions/swscanf.texi: Likewise.
27710         * doc/posix-functions/towctrans_l.texi: Likewise.
27711         * doc/posix-functions/towlower.texi: Likewise.
27712         * doc/posix-functions/towlower_l.texi: Likewise.
27713         * doc/posix-functions/towupper.texi: Likewise.
27714         * doc/posix-functions/towupper_l.texi: Likewise.
27715         * doc/posix-functions/vfwprintf.texi: Likewise.
27716         * doc/posix-functions/vfwscanf.texi: Likewise.
27717         * doc/posix-functions/vswscanf.texi: Likewise.
27718         * doc/posix-functions/vwprintf.texi: Likewise.
27719         * doc/posix-functions/vwscanf.texi: Likewise.
27720         * doc/posix-functions/wcpcpy.texi: Likewise.
27721         * doc/posix-functions/wcpncpy.texi: Likewise.
27722         * doc/posix-functions/wcscasecmp.texi: Likewise.
27723         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
27724         * doc/posix-functions/wcscoll_l.texi: Likewise.
27725         * doc/posix-functions/wcsdup.texi: Likewise.
27726         * doc/posix-functions/wcsncasecmp.texi: Likewise.
27727         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
27728         * doc/posix-functions/wcsnlen.texi: Likewise.
27729         * doc/posix-functions/wcsnrtombs.texi: Likewise.
27730         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
27731         * doc/posix-functions/wctrans_l.texi: Likewise.
27732         * doc/posix-functions/wctype_l.texi: Likewise.
27733         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
27734         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
27735         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
27736         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
27737         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
27738         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
27739         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
27740         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
27741         * doc/glibc-functions/wcschrnul.texi: Likewise.
27742         * doc/glibc-functions/wcsftime_l.texi: Likewise.
27743         * doc/glibc-functions/wcstod_l.texi: Likewise.
27744         * doc/glibc-functions/wcstof_l.texi: Likewise.
27745         * doc/glibc-functions/wcstol_l.texi: Likewise.
27746         * doc/glibc-functions/wcstold_l.texi: Likewise.
27747         * doc/glibc-functions/wcstoll_l.texi: Likewise.
27748         * doc/glibc-functions/wcstoq.texi: Likewise.
27749         * doc/glibc-functions/wcstoul_l.texi: Likewise.
27750         * doc/glibc-functions/wcstoull_l.texi: Likewise.
27751         * doc/glibc-functions/wcstouq.texi: Likewise.
27752         * doc/glibc-functions/wmempcpy.texi: Likewise.
27753
27754 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
27755             Eric Blake  <ebb9@byu.net>
27756             Paolo Bonzini  <bonzini@gnu.org>
27757             Bruno Haible  <bruno@clisp.org>
27758
27759         Make c-stack work on Haiku.
27760         * lib/c-stack.c (SA_ONSTACK): Define fallback.
27761         (c_stack_action): Use SA_ONSTACK flag.
27762
27763 2008-12-22  Bruno Haible  <bruno@clisp.org>
27764
27765         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
27766
27767 2008-12-22  Bruno Haible  <bruno@clisp.org>
27768
27769         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
27770         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
27771         being overridden.
27772         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
27773         New macros.
27774         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
27775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
27776         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
27777         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
27778
27779 2008-12-22  Bruno Haible  <bruno@clisp.org>
27780
27781         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
27782         from test code.
27783
27784 2008-12-22  Eric Blake  <ebb9@byu.net>
27785
27786         Avoid gcc warnings on cygwin.
27787         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
27788         Avoid unused variable.
27789         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
27790         Likewise.
27791
27792 2008-12-22  Bruno Haible  <bruno@clisp.org>
27793
27794         Remove HAVE_MBRTOWC conditionals.
27795         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
27796         (mbscasecmp): Assume mbrtowc function.
27797         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
27798         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
27799         * lib/mbschr.c: Include mbuiter.h unconditionally.
27800         (mbschr): Assume mbrtowc function.
27801         * lib/mbscspn.c: Include mbuiter.h unconditionally.
27802         (mbscspn): Assume mbrtowc function.
27803         * lib/mbslen.c: Include mbuiter.h unconditionally.
27804         (mbslen): Assume mbrtowc function.
27805         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
27806         (mbsncasecmp): Assume mbrtowc function.
27807         * lib/mbsnlen.c: Include mbiter.h unconditionally.
27808         (mbsnlen): Assume mbrtowc function.
27809         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
27810         (mbspbrk): Assume mbrtowc function.
27811         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
27812         (mbspcasecmp): Assume mbrtowc function.
27813         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
27814         (mbsrchr): Assume mbrtowc function.
27815         * lib/mbssep.c: Include mbuiter.h unconditionally.
27816         (mbssep): Assume mbrtowc function.
27817         * lib/mbsspn.c: Include mbuiter.h unconditionally.
27818         (mbsspn): Assume mbrtowc function.
27819         * lib/mbsstr.c: Include mbuiter.h unconditionally.
27820         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
27821         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
27822         (mbstok_r): Assume mbrtowc function.
27823         * lib/propername.c: Include mbuiter.h unconditionally.
27824         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
27825         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
27826         (trim2): Assume mbrtowc function.
27827         * lib/mbswidth.c (mbsinit): Remove fallback definition.
27828         (mbsnwidth): Assume mbrtowc function.
27829         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
27830         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
27831         fallback definitions.
27832         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
27833
27834 2008-12-22  Bruno Haible  <bruno@clisp.org>
27835
27836         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
27837
27838 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
27839
27840         * modules/regex: Request emulations for the mb*/wc* functions we need.
27841         * m4/regex.m4: Don't look for those functions here.
27842         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
27843
27844 2008-12-22  Bruno Haible  <bruno@clisp.org>
27845
27846         * modules/fnmatch (Depends-on): Remove duplicated dependency.
27847
27848 2008-12-21  Bruno Haible  <bruno@clisp.org>
27849
27850         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
27851         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
27852         (Include): Remove conditionalization.
27853         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
27854         (Include): Remove conditionalization.
27855         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
27856         (Include): Remove conditionalization.
27857         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
27858         * m4/mbfile.m4 (gl_MBFILE): Likewise.
27859         * NEWS: Mention the change.
27860         Reported by Alan Hourihane <alanh@fairlite.co.uk>
27861         via Sergey Poznyakoff <gray@gnu.org.ua>.
27862
27863 2008-12-21  Bruno Haible  <bruno@clisp.org>
27864
27865         * MODULES.html.sh (Extended multibyte and wide character utilities
27866         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
27867         wcrtomb, wcsrtombs.
27868         (Support for systems lacking POSIX:2008): Add accept, bind, close,
27869         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
27870         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
27871         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
27872
27873 2008-12-21  Bruno Haible  <bruno@clisp.org>
27874
27875         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
27876
27877 2008-12-21  Bruno Haible  <bruno@clisp.org>
27878
27879         * modules/wcsnrtombs-tests: New file.
27880         * tests/test-wcsnrtombs1.sh: New file.
27881         * tests/test-wcsnrtombs2.sh: New file.
27882         * tests/test-wcsnrtombs3.sh: New file.
27883         * tests/test-wcsnrtombs4.sh: New file.
27884         * tests/test-wcsnrtombs.c: New file.
27885
27886         New module 'wcsnrtombs'.
27887         * lib/wchar.in.h (wcsnrtombs): New declaration.
27888         * lib/wcsnrtombs.c: New file.
27889         * lib/wcsrtombs-state.c: New file.
27890         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
27891         (internal_state): Remove variable.
27892         * m4/wcsnrtombs.m4: New file.
27893         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
27894         compilation units.
27895         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
27896         HAVE_WCSNRTOMBS.
27897         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
27898         HAVE_WCSNRTOMBS.
27899         * modules/wcsnrtombs: New file.
27900         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
27901         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
27902
27903 2008-12-21  Bruno Haible  <bruno@clisp.org>
27904
27905         * modules/wcsrtombs-tests: New file.
27906         * tests/test-wcsrtombs1.sh: New file.
27907         * tests/test-wcsrtombs2.sh: New file.
27908         * tests/test-wcsrtombs3.sh: New file.
27909         * tests/test-wcsrtombs4.sh: New file.
27910         * tests/test-wcsrtombs.c: New file.
27911
27912         New module 'wcsrtombs'.
27913         * lib/wchar.in.h (wcsrtombs): New declaration.
27914         * lib/wcsrtombs.c: New file.
27915         * m4/wcsrtombs.m4: New file.
27916         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
27917         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
27918         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
27919         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
27920         * modules/wcsrtombs: New file.
27921         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
27922         bugs.
27923
27924 2008-12-21  Bruno Haible  <bruno@clisp.org>
27925
27926         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
27927         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
27928         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
27929         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
27930         if not correct.
27931         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
27932         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
27933         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
27934         m4/locale-zh.m4, m4/codeset.m4.
27935         * doc/posix-functions/wcrtomb.texi: Document the bug.
27936
27937 2008-12-21  Bruno Haible  <bruno@clisp.org>
27938
27939         Work around a btowc() bug on IRIX 6.5.
27940         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
27941         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
27942         REPLACE_WTOBC if not.
27943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
27944         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
27945         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
27946
27947 2008-12-21  Bruno Haible  <bruno@clisp.org>
27948
27949         * modules/wcrtomb-tests: New file.
27950         * tests/test-wcrtomb.sh: New file.
27951         * tests/test-wcrtomb.c: New file.
27952
27953         New module 'wcrtomb'.
27954         * lib/wchar.in.h (wcrtomb): New declaration.
27955         * lib/wcrtomb.c: New file.
27956         * m4/wcrtomb.m4: New file.
27957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
27958         HAVE_WCRTOMB.
27959         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
27960         HAVE_WCRTOMB.
27961         * modules/wcrtomb: New file.
27962         * doc/posix-functions/wcrtomb.texi: Mention the new module.
27963
27964 2008-12-21  Bruno Haible  <bruno@clisp.org>
27965
27966         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
27967         * modules/mbsrtowcs (Files): Likewise.
27968         * modules/wctob (Files): Likewise.
27969         * modules/c-strcase-tests (Files): Likewise.
27970         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
27971         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
27972         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
27973         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
27974         * modules/vasnprintf-posix-tests (Files): Likewise.
27975
27976 2008-12-21  William Pursell  <bill.pursell@gmail.com>
27977
27978         gitlog-to-changelog: pass all command-line arguments to git-log
27979         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
27980         it is sometimes convenient to filter the commits in various ways.
27981         gitlog-to-changelog only allows --since to specify a start date,
27982         but git-log itself supports many other filtering mechanisms.
27983         At the moment, I want to filter by branch name.  Rather than
27984         adding a --branch option to gitlog-to-changelog, it seems more
27985         flexible to simply pass all options directly to git-log and let
27986         git do the work.  Notice that this effectively makes --since a
27987         redundant option for gitlog-to-changelog, but removing it would
27988         require current usage to change since calls would then require
27989         an additional '--'.
27990
27991 2008-12-21  Bruno Haible  <bruno@clisp.org>
27992
27993         * modules/mbsnrtowcs-tests: New file.
27994         * tests/test-mbsnrtowcs1.sh: New file.
27995         * tests/test-mbsnrtowcs2.sh: New file.
27996         * tests/test-mbsnrtowcs3.sh: New file.
27997         * tests/test-mbsnrtowcs4.sh: New file.
27998         * tests/test-mbsnrtowcs.c: New file.
27999
28000         New module 'mbsnrtowcs'.
28001         * lib/wchar.in.h (mbsnrtowcs): New declaration.
28002         * lib/mbsnrtowcs.c: New file.
28003         * lib/mbsrtowcs-state.c: New file.
28004         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
28005         (internal_state): Remove variable.
28006         * m4/mbsnrtowcs.m4: New file.
28007         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
28008         compilation units.
28009         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
28010         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
28011         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
28012         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
28013         * modules/mbsnrtowcs: New file.
28014         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
28015         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
28016         portability problem.
28017
28018 2008-12-21  Bruno Haible  <bruno@clisp.org>
28019
28020         Work around mbsrtowcs bug.
28021         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
28022         (gl_FUNC_MBSRTOWCS): Invoke it.
28023         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
28024         m4/locale-zh.m4.
28025         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
28026
28027 2008-12-21  Bruno Haible  <bruno@clisp.org>
28028
28029         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
28030
28031 2008-12-21  Bruno Haible  <bruno@clisp.org>
28032
28033         Update doc for AIX.
28034         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
28035         16-bit wchar_t type.
28036         * doc/posix-functions/btowc.texi: Likewise.
28037         * doc/posix-functions/fgetwc.texi: Likewise.
28038         * doc/posix-functions/fgetws.texi: Likewise.
28039         * doc/posix-functions/fputwc.texi: Likewise.
28040         * doc/posix-functions/fputws.texi: Likewise.
28041         * doc/posix-functions/fwide.texi: Likewise.
28042         * doc/posix-functions/fwprintf.texi: Likewise.
28043         * doc/posix-functions/fwscanf.texi: Likewise.
28044         * doc/posix-functions/getwchar.texi: Likewise.
28045         * doc/posix-functions/getwc.texi: Likewise.
28046         * doc/posix-functions/iswalnum.texi: Likewise.
28047         * doc/posix-functions/iswalpha.texi: Likewise.
28048         * doc/posix-functions/iswblank.texi: Likewise.
28049         * doc/posix-functions/iswcntrl.texi: Likewise.
28050         * doc/posix-functions/iswctype.texi: Likewise.
28051         * doc/posix-functions/iswdigit.texi: Likewise.
28052         * doc/posix-functions/iswgraph.texi: Likewise.
28053         * doc/posix-functions/iswlower.texi: Likewise.
28054         * doc/posix-functions/iswprint.texi: Likewise.
28055         * doc/posix-functions/iswpunct.texi: Likewise.
28056         * doc/posix-functions/iswspace.texi: Likewise.
28057         * doc/posix-functions/iswupper.texi: Likewise.
28058         * doc/posix-functions/iswxdigit.texi: Likewise.
28059         * doc/posix-functions/mbrtowc.texi: Likewise.
28060         * doc/posix-functions/mbsrtowcs.texi: Likewise.
28061         * doc/posix-functions/mbstowcs.texi: Likewise.
28062         * doc/posix-functions/mbtowc.texi: Likewise.
28063         * doc/posix-functions/putwchar.texi: Likewise.
28064         * doc/posix-functions/putwc.texi: Likewise.
28065         * doc/posix-functions/swprintf.texi: Likewise.
28066         * doc/posix-functions/tolower.texi: Likewise.
28067         * doc/posix-functions/toupper.texi: Likewise.
28068         * doc/posix-functions/towctrans.texi: Likewise.
28069         * doc/posix-functions/ungetwc.texi: Likewise.
28070         * doc/posix-functions/vswprintf.texi: Likewise.
28071         * doc/posix-functions/wcrtomb.texi: Likewise.
28072         * doc/posix-functions/wcscat.texi: Likewise.
28073         * doc/posix-functions/wcschr.texi: Likewise.
28074         * doc/posix-functions/wcscmp.texi: Likewise.
28075         * doc/posix-functions/wcscoll.texi: Likewise.
28076         * doc/posix-functions/wcscpy.texi: Likewise.
28077         * doc/posix-functions/wcscspn.texi: Likewise.
28078         * doc/posix-functions/wcsftime.texi: Likewise.
28079         * doc/posix-functions/wcslen.texi: Likewise.
28080         * doc/posix-functions/wcsncat.texi: Likewise.
28081         * doc/posix-functions/wcsncmp.texi: Likewise.
28082         * doc/posix-functions/wcsncpy.texi: Likewise.
28083         * doc/posix-functions/wcspbrk.texi: Likewise.
28084         * doc/posix-functions/wcsrchr.texi: Likewise.
28085         * doc/posix-functions/wcsrtombs.texi: Likewise.
28086         * doc/posix-functions/wcsspn.texi: Likewise.
28087         * doc/posix-functions/wcsstr.texi: Likewise.
28088         * doc/posix-functions/wcstod.texi: Likewise.
28089         * doc/posix-functions/wcstof.texi: Likewise.
28090         * doc/posix-functions/wcstoimax.texi: Likewise.
28091         * doc/posix-functions/wcstok.texi: Likewise.
28092         * doc/posix-functions/wcstold.texi: Likewise.
28093         * doc/posix-functions/wcstoll.texi: Likewise.
28094         * doc/posix-functions/wcstol.texi: Likewise.
28095         * doc/posix-functions/wcstombs.texi: Likewise.
28096         * doc/posix-functions/wcstoull.texi: Likewise.
28097         * doc/posix-functions/wcstoul.texi: Likewise.
28098         * doc/posix-functions/wcstoumax.texi: Likewise.
28099         * doc/posix-functions/wcswidth.texi: Likewise.
28100         * doc/posix-functions/wcsxfrm.texi: Likewise.
28101         * doc/posix-functions/wctob.texi: Likewise.
28102         * doc/posix-functions/wctomb.texi: Likewise.
28103         * doc/posix-functions/wctrans.texi: Likewise.
28104         * doc/posix-functions/wctype.texi: Likewise.
28105         * doc/posix-functions/wcwidth.texi: Likewise.
28106         * doc/posix-functions/wmemchr.texi: Likewise.
28107         * doc/posix-functions/wmemcmp.texi: Likewise.
28108         * doc/posix-functions/wmemcpy.texi: Likewise.
28109         * doc/posix-functions/wmemmove.texi: Likewise.
28110         * doc/posix-functions/wmemset.texi: Likewise.
28111         * doc/posix-functions/wprintf.texi: Likewise.
28112         * doc/posix-functions/wscanf.texi: Likewise.
28113
28114 2008-12-21  Bruno Haible  <bruno@clisp.org>
28115
28116         Update doc for HP-UX 11.11.
28117         * doc/posix-functions/btowc.texi: Clarify that the function is missing
28118         in HP-UX version 11.00, not in all versions of HP-UX 11.
28119         * doc/posix-functions/fwide.texi: Likewise.
28120         * doc/posix-functions/fwprintf.texi: Likewise.
28121         * doc/posix-functions/fwscanf.texi: Likewise.
28122         * doc/posix-functions/inet_ntop.texi: Likewise.
28123         * doc/posix-functions/inet_pton.texi: Likewise.
28124         * doc/posix-functions/mbrlen.texi: Likewise.
28125         * doc/posix-functions/mbrtowc.texi: Likewise.
28126         * doc/posix-functions/mbsinit.texi: Likewise.
28127         * doc/posix-functions/mbsrtowcs.texi: Likewise.
28128         * doc/posix-functions/swprintf.texi: Likewise.
28129         * doc/posix-functions/swscanf.texi: Likewise.
28130         * doc/posix-functions/towctrans.texi: Likewise.
28131         * doc/posix-functions/vfwprintf.texi: Likewise.
28132         * doc/posix-functions/vswprintf.texi: Likewise.
28133         * doc/posix-functions/vwprintf.texi: Likewise.
28134         * doc/posix-functions/wcrtomb.texi: Likewise.
28135         * doc/posix-functions/wcsrtombs.texi: Likewise.
28136         * doc/posix-functions/wcsstr.texi: Likewise.
28137         * doc/posix-functions/wctob.texi: Likewise.
28138         * doc/posix-functions/wctrans.texi: Likewise.
28139         * doc/posix-functions/wmemchr.texi: Likewise.
28140         * doc/posix-functions/wmemcmp.texi: Likewise.
28141         * doc/posix-functions/wmemcpy.texi: Likewise.
28142         * doc/posix-functions/wmemmove.texi: Likewise.
28143         * doc/posix-functions/wmemset.texi: Likewise.
28144         * doc/posix-functions/wprintf.texi: Likewise.
28145         * doc/posix-functions/wscanf.texi: Likewise.
28146
28147 2008-12-21  Bruno Haible  <bruno@clisp.org>
28148
28149         Work around a portability problem.
28150         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
28151         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
28152
28153 2008-12-20  Bruno Haible  <bruno@clisp.org>
28154
28155         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
28156         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
28157         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
28158         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
28159         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
28160
28161         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
28162         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
28163         set.
28164         (GNULIB_defined_mbstate_t): New macro.
28165         (mbsinit): Redefine if REPLACE_MBSINIT is set.
28166         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
28167         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
28168         reuses the system's mbrtowc function but works around the bugs.
28169         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
28170         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
28171         macros.
28172         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
28173         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
28174         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
28175         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
28176         REPLACE_MBSINIT if mbsinit needs to be overridden.
28177         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
28178         REPLACE_MBSINIT, REPLACE_MBRTOWC.
28179         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
28180         REPLACE_MBSINIT, REPLACE_MBRTOWC.
28181         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
28182         m4/locale-zh.m4.
28183         (Depends): Add mbsinit.
28184         * modules/mbsinit (Depends): Add mbrtowc.
28185         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
28186
28187 2008-12-20  Bruno Haible  <bruno@clisp.org>
28188
28189         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
28190         so that there are no conversion errors on AIX.
28191         * tests/test-mbsrtowcs.c (main): LIkewise.
28192
28193 2008-12-20  Bruno Haible  <bruno@clisp.org>
28194
28195         Work around wctob bug on Solaris <= 9.
28196         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
28197         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
28198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
28199         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
28200         * modules/wctob (Files): Add m4/locale-fr.m4.
28201         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
28202
28203 2008-12-20  Bruno Haible  <bruno@clisp.org>
28204
28205         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
28206         /dev/null.
28207         * tests/test-select-in.sh: Likewise.
28208         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28209
28210 2008-12-20  Bruno Haible  <bruno@clisp.org>
28211
28212         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
28213         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
28214         Cygwin 1.5.x.
28215
28216 2008-12-20  Bruno Haible  <bruno@clisp.org>
28217
28218         Ensure mbstate_t is defined on HP-UX 11.11.
28219         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
28220         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
28221         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
28222         AC_USE_SYSTEM_EXTENSIONS.
28223         * modules/fnmatch (Depends-on): Add extensions.
28224         * modules/mbrlen (Depends-on): Likewise.
28225         * modules/mbrtowc (Depends-on): Likewise.
28226         * modules/mbsinit (Depends-on): Likewise.
28227         * modules/mbsrtowcs (Depends-on): Likewise.
28228         * modules/mbswidth (Depends-on): Likewise.
28229         * modules/quotearg (Depends-on): Likewise.
28230         * modules/strftime (Depends-on): Likewise.
28231
28232 2008-12-20  Bruno Haible  <bruno@clisp.org>
28233
28234         Ensure wctob is declared on IRIX 6.5.
28235         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
28236         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
28237         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
28238         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
28239         of HAVE_WCTOB.
28240         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
28241         HAVE_WCTOB.
28242         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
28243
28244 2008-12-19  Bruno Haible  <bruno@clisp.org>
28245
28246         * modules/mbsrtowcs-tests: New file.
28247         * tests/test-mbsrtowcs1.sh: New file.
28248         * tests/test-mbsrtowcs2.sh: New file.
28249         * tests/test-mbsrtowcs3.sh: New file.
28250         * tests/test-mbsrtowcs4.sh: New file.
28251         * tests/test-mbsrtowcs.c: New file.
28252
28253         New module 'mbsrtowcs'.
28254         * lib/wchar.in.h (mbsrtowcs): New declaration.
28255         * lib/mbsrtowcs.c: New file.
28256         * m4/mbsrtowcs.m4: New file.
28257         * modules/mbsrtowcs: New file.
28258         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
28259         HAVE_MBSRTOWCS.
28260         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
28261         HAVE_MBSRTOWCS.
28262         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
28263
28264 2008-12-19  Bruno Haible  <bruno@clisp.org>
28265
28266         New module 'mbrlen'.
28267         * lib/wchar.in.h (mbrlen): New declaration.
28268         * lib/mbrlen.c: New file.
28269         * m4/mbrlen.m4: New file.
28270         * modules/mbrlen: New file.
28271         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
28272         HAVE_MBRLEN.
28273         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
28274         HAVE_MBRLEN.
28275         * doc/posix-functions/mbrlen.texi: Document the new module.
28276
28277 2008-12-19  Bruno Haible  <bruno@clisp.org>
28278
28279         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
28280         * modules/mbrtowc (Depends-on): Add verify.
28281         Suggested by Paul Eggert.
28282
28283 2008-12-18  Bruno Haible  <bruno@clisp.org>
28284
28285         * modules/mbsinit-tests: New file.
28286         * tests/test-mbsinit.sh: New file.
28287         * tests/test-mbsinit.c: New file.
28288
28289 2008-12-18  Bruno Haible  <bruno@clisp.org>
28290
28291         * modules/mbrtowc-tests: New file.
28292         * tests/test-mbrtowc1.sh: New file.
28293         * tests/test-mbrtowc2.sh: New file.
28294         * tests/test-mbrtowc3.sh: New file.
28295         * tests/test-mbrtowc4.sh: New file.
28296         * tests/test-mbrtowc.c: New file.
28297
28298         New module 'mbrtowc'.
28299         * lib/wchar.in.h (mbstate_t): Override when the system does not have
28300         mbsinit and mbrtowc.
28301         (mbrtowc): New declaration.
28302         * lib/mbrtowc.c: New file.
28303         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
28304         * modules/mbrtowc: New file.
28305         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
28306         HAVE_MBRTOWC.
28307         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
28308         HAVE_MBRTOWC.
28309         * doc/posix-functions/mbrtowc.texi: Document the new module.
28310
28311 2008-12-18  Bruno Haible  <bruno@clisp.org>
28312
28313         New module 'wctob'.
28314         * lib/wchar.in.h (wctob): New declaration.
28315         * lib/wctob.c: New file.
28316         * m4/wctob.m4: New file.
28317         * modules/wctob: New file.
28318         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
28319         HAVE_WCTOB.
28320         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
28321         * doc/posix-functions/wctob.texi: Document the new module.
28322
28323 2008-12-18  Bruno Haible  <bruno@clisp.org>
28324
28325         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
28326         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
28327
28328 2008-12-18  Simon Josefsson  <simon@josefsson.org>
28329
28330         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
28331         G. Christensen" <tgc@jupiterrise.com>.
28332
28333         * lib/flock.c: Need to include errno.h.  Reported by "Tom
28334         G. Christensen" <tgc@jupiterrise.com>.
28335
28336         * lib/flock.c: Need to include string.h.  Reported by "Tom
28337         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
28338         <ebb9@byu.net>.
28339
28340 2008-12-18  Bruno Haible  <bruno@clisp.org>
28341
28342         * m4/locale-ja.m4: New file, from GNU gettext.
28343
28344 2008-12-17  Bruno Haible  <bruno@clisp.org>
28345
28346         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
28347         Suggested by Eric Blake.
28348
28349 2008-12-17  Bruno Haible  <bruno@clisp.org>
28350
28351         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
28352
28353 2008-12-17  Bruno Haible  <bruno@clisp.org>
28354
28355         * lib/mbsinit.c: Include verify.h. Verify an assumption.
28356         * modules/mbsinit (Depends-on): Add verify.
28357         Suggested by Paul Eggert.
28358
28359 2008-12-17  Bruno Haible  <bruno@clisp.org>
28360
28361         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
28362         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
28363         gl_FUNC_MBRTOWC.
28364         * m4/mbiter.m4 (gl_MBITER): LIkewise.
28365         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
28366         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
28367         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
28368         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
28369         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
28370         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
28371         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
28372         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
28373         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
28374         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
28375         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
28376         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
28377         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
28378         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
28379         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28380         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
28381         * modules/trim (configure.ac): Likewise.
28382
28383 2008-12-17  Bruno Haible  <bruno@clisp.org>
28384
28385         * modules/btowc-tests: New file.
28386         * tests/test-btowc1.sh: New file.
28387         * tests/test-btowc2.sh: New file.
28388         * tests/test-btowc.c: New file.
28389
28390         New module 'btowc'.
28391         * lib/wchar.in.h (btowc): New declaration.
28392         * lib/btowc.c: New file.
28393         * m4/btowc.m4: New file.
28394         * modules/btowc: New file.
28395         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
28396         HAVE_BTOWC.
28397         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
28398         * doc/posix-functions/btowc.texi: Document the new module.
28399
28400 2008-12-17  Bruno Haible  <bruno@clisp.org>
28401
28402         New module 'mbsinit'.
28403         * lib/wchar.in.h (mbsinit): New declaration.
28404         * lib/mbsinit.c: New file.
28405         * m4/mbsinit.m4: New file.
28406         * modules/mbsinit: New file.
28407         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
28408         HAVE_MBSINIT.
28409         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
28410         HAVE_MBSINIT.
28411         * doc/posix-functions/mbsinit.texi: Document the new module.
28412
28413 2008-12-16  Bruno Haible  <bruno@clisp.org>
28414
28415         * lib/unistd.in.h: Add comment.
28416         * tests/test-environ.c: Don't include <stdlib.h>.
28417
28418 2008-12-16  Bruno Haible  <bruno@clisp.org>
28419
28420         * lib/parse-duration.h (parse_duration): Document return value
28421         convention.
28422         * lib/parse-duration.c: Include specification header first. Add
28423         comments.
28424         (_): Remove macro.
28425         (parse_year_month_day, parse_hour_minute_second): Move side effects
28426         outside of strchr call.
28427         (parse_non_iso8601): Move side effects outside of isspace call.
28428         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
28429         call.
28430
28431 2008-12-16  Bruno Haible  <bruno@clisp.org>
28432
28433         * tests/test-parse-duration.sh: Produce no output when the test
28434         succeeds.
28435
28436 2008-12-16  Bruno Haible  <bruno@clisp.org>
28437
28438         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
28439         expressions.
28440
28441 2008-12-15  Bruno Haible  <bruno@clisp.org>
28442
28443         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
28444         * doc/glibc-functions/flistxattr.texi: Likewise.
28445         * doc/glibc-functions/fopencookie.texi: Likewise.
28446         * doc/glibc-functions/fremovexattr.texi: Likewise.
28447         * doc/glibc-functions/fsetxattr.texi: Likewise.
28448         * doc/glibc-functions/getxattr.texi: Likewise.
28449         * doc/glibc-functions/lgetxattr.texi: Likewise.
28450         * doc/glibc-functions/listxattr.texi: Likewise.
28451         * doc/glibc-functions/llistxattr.texi: Likewise.
28452         * doc/glibc-functions/lremovexattr.texi: Likewise.
28453         * doc/glibc-functions/lsetxattr.texi: Likewise.
28454         * doc/glibc-functions/removexattr.texi: Likewise.
28455         * doc/glibc-functions/setxattr.texi: Likewise.
28456         * doc/posix-functions/open_memstream.texi: Likewise.
28457
28458 2008-12-15  Eric Blake  <ebb9@byu.net>
28459
28460         Update doc for cygwin 1.7.
28461         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
28462         functions.
28463         * doc/posix-functions/fchmodat.texi: Likewise.
28464         * doc/posix-functions/fchownat.texi: Likewise.
28465         * doc/posix-functions/fdopendir.texi: Likewise.
28466         * doc/posix-functions/fmemopen.texi: Likewise.
28467         * doc/posix-functions/freeaddrinfo.texi: Likewise.
28468         * doc/posix-functions/fstatat.texi: Likewise.
28469         * doc/posix-functions/futimens.texi: Likewise.
28470         * doc/posix-functions/gai_strerror.texi: Likewise.
28471         * doc/posix-functions/getaddrinfo.texi: Likewise.
28472         * doc/posix-functions/getnameinfo.texi: Likewise.
28473         * doc/posix-functions/if_freenameindex.texi: Likewise.
28474         * doc/posix-functions/if_indextoname.texi: Likewise.
28475         * doc/posix-functions/if_nameindex.texi: Likewise.
28476         * doc/posix-functions/if_nametoindex.texi: Likewise.
28477         * doc/posix-functions/insque.texi: Likewise.
28478         * doc/posix-functions/linkat.texi: Likewise.
28479         * doc/posix-functions/llrint.texi: Likewise.
28480         * doc/posix-functions/llrintf.texi: Likewise.
28481         * doc/posix-functions/llrintl.texi: Likewise.
28482         * doc/posix-functions/lockf.texi: Likewise.
28483         * doc/posix-functions/lrintl.texi: Likewise.
28484         * doc/posix-functions/mkdirat.texi: Likewise.
28485         * doc/posix-functions/mkfifoat.texi: Likewise.
28486         * doc/posix-functions/mknodat.texi: Likewise.
28487         * doc/posix-functions/mq_close.texi: Likewise.
28488         * doc/posix-functions/mq_getattr.texi: Likewise.
28489         * doc/posix-functions/mq_notify.texi: Likewise.
28490         * doc/posix-functions/mq_open.texi: Likewise.
28491         * doc/posix-functions/mq_receive.texi: Likewise.
28492         * doc/posix-functions/mq_send.texi: Likewise.
28493         * doc/posix-functions/mq_setattr.texi: Likewise.
28494         * doc/posix-functions/mq_timedreceive.texi: Likewise.
28495         * doc/posix-functions/mq_timedsend.texi: Likewise.
28496         * doc/posix-functions/mq_unlink.texi: Likewise.
28497         * doc/posix-functions/open_memstream.texi: Likewise.
28498         * doc/posix-functions/openat.texi: Likewise.
28499         * doc/posix-functions/posix_fadvise.texi: Likewise.
28500         * doc/posix-functions/posix_fallocate.texi: Likewise.
28501         * doc/posix-functions/posix_madvise.texi: Likewise.
28502         * doc/posix-functions/posix_memalign.texi: Likewise.
28503         * doc/posix-functions/posix_openpt.texi: Likewise.
28504         * doc/posix-functions/readlinkat.texi: Likewise.
28505         * doc/posix-functions/remque.texi: Likewise.
28506         * doc/posix-functions/renameat.texi: Likewise.
28507         * doc/posix-functions/rintl.texi: Likewise.
28508         * doc/posix-functions/sem_unlink.texi: Likewise.
28509         * doc/posix-functions/shm_open.texi: Likewise.
28510         * doc/posix-functions/shm_unlink.texi: Likewise.
28511         * doc/posix-functions/signgam.texi: Likewise.
28512         * doc/posix-functions/sigset.texi: Likewise.
28513         * doc/posix-functions/stpcpy.texi: Likewise.
28514         * doc/posix-functions/stpncpy.texi: Likewise.
28515         * doc/posix-functions/strerror.texi: Likewise.
28516         * doc/posix-functions/strtod.texi: Likewise.
28517         * doc/posix-functions/symlinkat.texi: Likewise.
28518         * doc/posix-functions/unlinkat.texi: Likewise.
28519         * doc/posix-functions/utimensat.texi: Likewise.
28520         * doc/glibc-functions/bindresvport.texi: Likewise.
28521         * doc/glibc-functions/dn_expand.texi: Likewise.
28522         * doc/glibc-functions/exp10.texi: Likewise.
28523         * doc/glibc-functions/exp10f.texi: Likewise.
28524         * doc/glibc-functions/fgetxattr.texi: Likewise.
28525         * doc/glibc-functions/flistxattr.texi: Likewise.
28526         * doc/glibc-functions/fopencookie.texi: Likewise.
28527         * doc/glibc-functions/freeifaddrs.texi: Likewise.
28528         * doc/glibc-functions/fremovexattr.texi: Likewise.
28529         * doc/glibc-functions/fsetxattr.texi: Likewise.
28530         * doc/glibc-functions/getifaddrs.texi: Likewise.
28531         * doc/glibc-functions/getxattr.texi: Likewise.
28532         * doc/glibc-functions/lgetxattr.texi: Likewise.
28533         * doc/glibc-functions/listxattr.texi: Likewise.
28534         * doc/glibc-functions/llistxattr.texi: Likewise.
28535         * doc/glibc-functions/lremovexattr.texi: Likewise.
28536         * doc/glibc-functions/lsetxattr.texi: Likewise.
28537         * doc/glibc-functions/pow10.texi: Likewise.
28538         * doc/glibc-functions/pow10f.texi: Likewise.
28539         * doc/glibc-functions/rcmd_af.texi: Likewise.
28540         * doc/glibc-functions/removexattr.texi: Likewise.
28541         * doc/glibc-functions/res_init.texi: Likewise.
28542         * doc/glibc-functions/res_mkquery.texi: Likewise.
28543         * doc/glibc-functions/res_query.texi: Likewise.
28544         * doc/glibc-functions/res_querydomain.texi: Likewise.
28545         * doc/glibc-functions/res_send.texi: Likewise.
28546         * doc/glibc-functions/rresvport_af.texi: Likewise.
28547         * doc/glibc-functions/setxattr.texi: Likewise.
28548         * doc/glibc-functions/strcasestr.texi: Likewise.
28549
28550 2008-12-15  Bruno Haible  <bruno@clisp.org>
28551
28552         Fix compilation error on OSF/1 4.0.
28553         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
28554         <sys/time.h>, simply delegate to the system header.
28555         Reported by Daniel Richard G. <oss@teragram.com>.
28556
28557 2008-12-15  Bruno Haible  <bruno@clisp.org>
28558
28559         * doc/posix-functions/openat.texi: Mention the 'openat' module.
28560         * doc/posix-functions/fchmodat.texi: Likewise.
28561         * doc/posix-functions/fchownat.texi: Likewise.
28562         * doc/posix-functions/fdopendir.texi: Likewise.
28563         * doc/posix-functions/fstatat.texi: Likewise.
28564         * doc/posix-functions/mkdirat.texi: Likewise.
28565         * doc/posix-functions/unlinkat.texi: Likewise.
28566
28567 2008-12-14  Bruno Haible  <bruno@clisp.org>
28568
28569         Update doc for POSIX:2008.
28570         * doc/posix-functions/faccessat.texi: New file.
28571         * doc/posix-functions/fchmodat.texi: New file.
28572         * doc/posix-functions/fchownat.texi: New file.
28573         * doc/posix-functions/fdopendir.texi: New file.
28574         * doc/posix-functions/fstatat.texi: New file.
28575         * doc/posix-functions/futimens.texi: New file.
28576         * doc/posix-functions/linkat.texi: New file.
28577         * doc/posix-functions/mkdirat.texi: New file.
28578         * doc/posix-functions/mkfifoat.texi: New file.
28579         * doc/posix-functions/mknodat.texi: New file.
28580         * doc/posix-functions/open_wmemstream.texi: New file.
28581         * doc/posix-functions/openat.texi: New file.
28582         * doc/posix-functions/psiginfo.texi: New file.
28583         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
28584         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
28585         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
28586         * doc/posix-functions/readlinkat.texi: New file.
28587         * doc/posix-functions/renameat.texi: New file.
28588         * doc/posix-functions/strerror_l.texi: New file.
28589         * doc/posix-functions/symlinkat.texi: New file.
28590         * doc/posix-functions/unlinkat.texi: New file.
28591         * doc/posix-functions/utimensat.texi: New file.
28592         * doc/gnulib.texi (Function Substitutes): Add these subsections.
28593
28594 2008-12-14  Bruno Haible  <bruno@clisp.org>
28595
28596         Update doc for POSIX:2008.
28597         * doc/posix-functions/alphasort.texi: Renamed from
28598         doc/glibc-functions/alphasort.texi.
28599         * doc/posix-functions/dirfd.texi: Renamed from
28600         doc/glibc-functions/dirfd.texi.
28601         * doc/posix-functions/dprintf.texi: Renamed from
28602         doc/glibc-functions/dprintf.texi.
28603         * doc/posix-functions/duplocale.texi: Renamed from
28604         doc/glibc-functions/duplocale.texi.
28605         * doc/posix-functions/fexecve.texi: Renamed from
28606         doc/glibc-functions/fexecve.texi.
28607         * doc/posix-functions/fmemopen.texi: Renamed from
28608         doc/glibc-functions/fmemopen.texi.
28609         * doc/posix-functions/freelocale.texi: Renamed from
28610         doc/glibc-functions/freelocale.texi.
28611         * doc/posix-functions/getdate_err.texi: Renamed from
28612         doc/glibc-functions/getdate_err.texi.
28613         * doc/posix-functions/isalnum_l.texi: Renamed from
28614         doc/glibc-functions/isalnum_l.texi.
28615         * doc/posix-functions/isalpha_l.texi: Renamed from
28616         doc/glibc-functions/isalpha_l.texi.
28617         * doc/posix-functions/isblank_l.texi: Renamed from
28618         doc/glibc-functions/isblank_l.texi.
28619         * doc/posix-functions/iscntrl_l.texi: Renamed from
28620         doc/glibc-functions/iscntrl_l.texi.
28621         * doc/posix-functions/isdigit_l.texi: Renamed from
28622         doc/glibc-functions/isdigit_l.texi.
28623         * doc/posix-functions/isgraph_l.texi: Renamed from
28624         doc/glibc-functions/isgraph_l.texi.
28625         * doc/posix-functions/islower_l.texi: Renamed from
28626         doc/glibc-functions/islower_l.texi.
28627         * doc/posix-functions/isprint_l.texi: Renamed from
28628         doc/glibc-functions/isprint_l.texi.
28629         * doc/posix-functions/ispunct_l.texi: Renamed from
28630         doc/glibc-functions/ispunct_l.texi.
28631         * doc/posix-functions/isspace_l.texi: Renamed from
28632         doc/glibc-functions/isspace_l.texi.
28633         * doc/posix-functions/isupper_l.texi: Renamed from
28634         doc/glibc-functions/isupper_l.texi.
28635         * doc/posix-functions/iswalnum_l.texi: Renamed from
28636         doc/glibc-functions/iswalnum_l.texi.
28637         * doc/posix-functions/iswalpha_l.texi: Renamed from
28638         doc/glibc-functions/iswalpha_l.texi.
28639         * doc/posix-functions/iswblank_l.texi: Renamed from
28640         doc/glibc-functions/iswblank_l.texi.
28641         * doc/posix-functions/iswcntrl_l.texi: Renamed from
28642         doc/glibc-functions/iswcntrl_l.texi.
28643         * doc/posix-functions/iswctype_l.texi: Renamed from
28644         doc/glibc-functions/iswctype_l.texi.
28645         * doc/posix-functions/iswdigit_l.texi: Renamed from
28646         doc/glibc-functions/iswdigit_l.texi.
28647         * doc/posix-functions/iswgraph_l.texi: Renamed from
28648         doc/glibc-functions/iswgraph_l.texi.
28649         * doc/posix-functions/iswlower_l.texi: Renamed from
28650         doc/glibc-functions/iswlower_l.texi.
28651         * doc/posix-functions/iswprint_l.texi: Renamed from
28652         doc/glibc-functions/iswprint_l.texi.
28653         * doc/posix-functions/iswpunct_l.texi: Renamed from
28654         doc/glibc-functions/iswpunct_l.texi.
28655         * doc/posix-functions/iswspace_l.texi: Renamed from
28656         doc/glibc-functions/iswspace_l.texi.
28657         * doc/posix-functions/iswupper_l.texi: Renamed from
28658         doc/glibc-functions/iswupper_l.texi.
28659         * doc/posix-functions/iswxdigit_l.texi: Renamed from
28660         doc/glibc-functions/iswxdigit_l.texi.
28661         * doc/posix-functions/isxdigit_l.texi: Renamed from
28662         doc/glibc-functions/isxdigit_l.texi.
28663         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
28664         doc/glibc-functions/mbsnrtowcs.texi.
28665         * doc/posix-functions/mkdtemp.texi: Renamed from
28666         doc/glibc-functions/mkdtemp.texi.
28667         * doc/posix-functions/newlocale.texi: Renamed from
28668         doc/glibc-functions/newlocale.texi.
28669         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
28670         doc/glibc-functions/nl_langinfo_l.texi.
28671         * doc/posix-functions/open_memstream.texi: Renamed from
28672         doc/glibc-functions/open_memstream.texi.
28673         * doc/posix-functions/opterr.texi: Renamed from
28674         doc/glibc-functions/opterr.texi.
28675         * doc/posix-functions/optind.texi: Renamed from
28676         doc/glibc-functions/optind.texi.
28677         * doc/posix-functions/optopt.texi: Renamed from
28678         doc/glibc-functions/optopt.texi.
28679         * doc/posix-functions/psignal.texi: Renamed from
28680         doc/glibc-functions/psignal.texi.
28681         * doc/posix-functions/scandir.texi: Renamed from
28682         doc/glibc-functions/scandir.texi.
28683         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
28684         doc/glibc-functions/sched_get_priority_min.texi.
28685         * doc/posix-functions/signgam.texi: Renamed from
28686         doc/glibc-functions/signgam.texi.
28687         * doc/posix-functions/stpcpy.texi: Renamed from
28688         doc/glibc-functions/stpcpy.texi.
28689         * doc/posix-functions/stpncpy.texi: Renamed from
28690         doc/glibc-functions/stpncpy.texi.
28691         * doc/posix-functions/strcasecmp_l.texi: Renamed from
28692         doc/glibc-functions/strcasecmp_l.texi.
28693         * doc/posix-functions/strcoll_l.texi: Renamed from
28694         doc/glibc-functions/strcoll_l.texi.
28695         * doc/posix-functions/strfmon_l.texi: Renamed from
28696         doc/glibc-functions/strfmon_l.texi.
28697         * doc/posix-functions/strftime_l.texi: Renamed from
28698         doc/glibc-functions/strftime_l.texi.
28699         * doc/posix-functions/strncasecmp_l.texi: Renamed from
28700         doc/glibc-functions/strncasecmp_l.texi.
28701         * doc/posix-functions/strndup.texi: Renamed from
28702         doc/glibc-functions/strndup.texi.
28703         * doc/posix-functions/strnlen.texi: Renamed from
28704         doc/glibc-functions/strnlen.texi.
28705         * doc/posix-functions/strsignal.texi: Renamed from
28706         doc/glibc-functions/strsignal.texi.
28707         * doc/posix-functions/strxfrm_l.texi: Renamed from
28708         doc/glibc-functions/strxfrm_l.texi.
28709         * doc/posix-functions/timer_gettime.texi: Renamed from
28710         doc/glibc-functions/timer_gettime.texi.
28711         * doc/posix-functions/tolower_l.texi: Renamed from
28712         doc/glibc-functions/tolower_l.texi.
28713         * doc/posix-functions/toupper_l.texi: Renamed from
28714         doc/glibc-functions/toupper_l.texi.
28715         * doc/posix-functions/towctrans_l.texi: Renamed from
28716         doc/glibc-functions/towctrans_l.texi.
28717         * doc/posix-functions/towlower_l.texi: Renamed from
28718         doc/glibc-functions/towlower_l.texi.
28719         * doc/posix-functions/towupper_l.texi: Renamed from
28720         doc/glibc-functions/towupper_l.texi.
28721         * doc/posix-functions/uselocale.texi: Renamed from
28722         doc/glibc-functions/uselocale.texi.
28723         * doc/posix-functions/vdprintf.texi: Renamed from
28724         doc/glibc-functions/vdprintf.texi.
28725         * doc/posix-functions/wcpcpy.texi:
28726         Renamed from doc/glibc-functions/wcpcpy.texi.
28727         * doc/posix-functions/wcpncpy.texi: Renamed from
28728         doc/glibc-functions/wcpncpy.texi.
28729         * doc/posix-functions/wcscasecmp.texi: Renamed from
28730         doc/glibc-functions/wcscasecmp.texi.
28731         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
28732         doc/glibc-functions/wcscasecmp_l.texi.
28733         * doc/posix-functions/wcscoll_l.texi: Renamed from
28734         doc/glibc-functions/wcscoll_l.texi.
28735         * doc/posix-functions/wcsdup.texi: Renamed from
28736         doc/glibc-functions/wcsdup.texi.
28737         * doc/posix-functions/wcsncasecmp.texi: Renamed from
28738         doc/glibc-functions/wcsncasecmp.texi.
28739         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
28740         doc/glibc-functions/wcsncasecmp_l.texi.
28741         * doc/posix-functions/wcsnlen.texi: Renamed from
28742         doc/glibc-functions/wcsnlen.texi.
28743         * doc/posix-functions/wcsnrtombs.texi: Renamed from
28744         doc/glibc-functions/wcsnrtombs.texi.
28745         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
28746         doc/glibc-functions/wcsxfrm_l.texi.
28747         * doc/posix-functions/wctrans_l.texi: Renamed from
28748         doc/glibc-functions/wctrans_l.texi.
28749         * doc/posix-functions/wctype_l.texi: Renamed from
28750         doc/glibc-functions/wctype_l.texi.
28751         * doc/gnulib.texi (Function Substitutes): Add these subsections.
28752         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
28753         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
28754         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
28755         these subsections.
28756         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
28757         Remove sections.
28758
28759 2008-12-14  Bruno Haible  <bruno@clisp.org>
28760
28761         Update doc for POSIX:2008.
28762         * doc/posix-functions/*.texi: Update URL of POSIX specification.
28763
28764 2008-12-14  Bruno Haible  <bruno@clisp.org>
28765
28766         Update doc for POSIX:2008.
28767         * doc/pastposix-functions/bcmp.texi: Renamed from
28768         doc/posix-functions/bcmp.texi.
28769         * doc/pastposix-functions/bcopy.texi: Renamed from
28770         doc/posix-functions/bcopy.texi.
28771         * doc/pastposix-functions/bsd_signal.texi: Renamed from
28772         doc/posix-functions/bsd_signal.texi.
28773         * doc/pastposix-functions/bzero.texi: Renamed from
28774         doc/posix-functions/bzero.texi.
28775         * doc/pastposix-functions/ecvt.texi: Renamed from
28776         doc/posix-functions/ecvt.texi.
28777         * doc/pastposix-functions/fcvt.texi: Renamed from
28778         doc/posix-functions/fcvt.texi.
28779         * doc/pastposix-functions/ftime.texi: Renamed from
28780         doc/posix-functions/ftime.texi.
28781         * doc/pastposix-functions/gcvt.texi: Renamed from
28782         doc/posix-functions/gcvt.texi.
28783         * doc/pastposix-functions/getcontext.texi: Renamed from
28784         doc/posix-functions/getcontext.texi.
28785         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
28786         doc/posix-functions/gethostbyaddr.texi.
28787         * doc/pastposix-functions/gethostbyname.texi: Renamed from
28788         doc/posix-functions/gethostbyname.texi.
28789         * doc/pastposix-functions/getwd.texi: Renamed from
28790         doc/posix-functions/getwd.texi.
28791         * doc/pastposix-functions/h_errno.texi: Renamed from
28792         doc/posix-functions/h_errno.texi.
28793         * doc/pastposix-functions/index.texi: Renamed from
28794         doc/posix-functions/index.texi.
28795         * doc/pastposix-functions/makecontext.texi: Renamed from
28796         doc/posix-functions/makecontext.texi.
28797         * doc/pastposix-functions/mktemp.texi: Renamed from
28798         doc/posix-functions/mktemp.texi.
28799         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
28800         doc/posix-functions/pthread_attr_getstackaddr.texi.
28801         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
28802         doc/posix-functions/pthread_attr_setstackaddr.texi.
28803         * doc/pastposix-functions/rindex.texi: Renamed from
28804         doc/posix-functions/rindex.texi.
28805         * doc/pastposix-functions/scalb.texi: Renamed from
28806         doc/posix-functions/scalb.texi.
28807         * doc/pastposix-functions/setcontext.texi: Renamed from
28808         doc/posix-functions/setcontext.texi.
28809         * doc/pastposix-functions/swapcontext.texi: Renamed from
28810         doc/posix-functions/swapcontext.texi.
28811         * doc/pastposix-functions/ualarm.texi: Renamed from
28812         doc/posix-functions/ualarm.texi.
28813         * doc/pastposix-functions/usleep.texi: Renamed from
28814         doc/posix-functions/usleep.texi.
28815         * doc/pastposix-functions/vfork.texi: Renamed from
28816         doc/posix-functions/vfork.texi.
28817         * doc/pastposix-functions/wcswcs.texi: Renamed from
28818         doc/posix-functions/wcswcs.texi.
28819         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
28820         (Function Substitutes): Update.
28821
28822 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28823
28824         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
28825         m4/strerror.m4.
28826
28827 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28828             Bruno Haible  <bruno@clisp.org>
28829
28830         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
28831
28832 2008-12-13  Bruno Haible  <bruno@clisp.org>
28833
28834         * modules/strtoull (Depends-on): Remove unistd.
28835
28836 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28837
28838         * modules/strtoull (Depends-on): Add stdlib.
28839
28840 2008-12-11  Simon Josefsson  <simon@josefsson.org>
28841
28842         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
28843
28844 2008-12-10  Jim Meyering  <meyering@redhat.com>
28845
28846         gl_ASSERT: don't say assertions are disabled when they're not
28847         * m4/assert.m4 (gl_ASSERT): Do not make configure report
28848         "checking whether to enable assertions... no", when they are in
28849         fact enabled.  This is solely a bug in the output of configure.
28850         In spite of saying "no", NDEBUG was not defined in that case.
28851         Also, as noted by Eric Blake, leave assertions enabled upon
28852         --enable-assert=INVALID.
28853
28854 2008-12-10  Bruno Haible  <bruno@clisp.org>
28855
28856         Change MODULES.html to refer to POSIX:2008 where possible.
28857         * MODULES.html.sh (POSIX2008_URL): New variable.
28858         (posix_headers): Remove sys/timeb, ucontext.
28859         (posix2001_headers): New variable.
28860         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
28861         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
28862         index, makecontext, mktemp, pthread_attr_getstackaddr,
28863         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
28864         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
28865         (posix2001_functions): New variable.
28866         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
28867         otherwise.
28868
28869 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28870
28871         add missing include to parse-duration.c
28872         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
28873         * modules/parse-duration (Depends-on): Add xalloc.
28874
28875         fix sed script reading maint.mk
28876         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
28877         (syntax-check-rules): Use it.
28878
28879 2008-12-09  Bruno Haible  <bruno@clisp.org>
28880
28881         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
28882         MacOS X 10.4/PowerPC.
28883         Reported by Simon Josefsson.
28884
28885 2008-12-08  Jim Meyering  <meyering@redhat.com>
28886
28887         work around mingw's lack of some S_IF definitions
28888         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
28889         Reported by Simon Josefsson.
28890
28891 2008-12-08  Bruno Haible  <bruno@clisp.org>
28892
28893         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
28894         applied to variables. Needed on MacOS X 10.4/PowerPC.
28895         Reported by Simon Josefsson.
28896
28897 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
28898         and Eric Blake  <ebb9@byu.net>
28899
28900         assert: honor --enable-assert
28901         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
28902         order to honor --enable-assert, rather than treating it as a
28903         synonym for --disable-assert.
28904
28905 2008-12-08  Jim Meyering  <meyering@redhat.com>
28906
28907         * lib/posixtm.c: Remove now-useless declaration of mktime.
28908
28909         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
28910
28911 2008-12-07  Bruno Haible  <bruno@clisp.org>
28912
28913         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
28914         test_once): Mark functions as static.
28915         * tests/test-tls.c (test_tls): Likewise.
28916
28917 2008-12-07  Bruno Haible  <bruno@clisp.org>
28918
28919         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
28920         iconv_register_autodetect.
28921
28922 2008-12-07  Jim Meyering  <meyering@redhat.com>
28923
28924         posixtm.c: avoid a warning
28925         * lib/posixtm.c (posixtime): Don't initialize tm0.
28926         It's no longer needed to placate gcc4's -Wuninitialized,
28927         and the attempt to placate would elicit a new warning.
28928
28929         unicodeio.c: mark unused parameters
28930         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
28931         (fallback_failure_callback): Likewise.
28932
28933 2008-12-07  Bruno Haible  <bruno@clisp.org>
28934
28935         * gnulib-tool (func_create_testdir): When building the tests
28936         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
28937         Reported by Simon Josefsson.
28938
28939 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28940
28941         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
28942
28943 2008-12-06  Bruno Haible  <bruno@clisp.org>
28944
28945         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
28946         Suggested by Eric Blake.
28947
28948 2008-12-06  Bruno Haible  <bruno@clisp.org>
28949
28950         Fix a c-stack test failure on MacOS X.
28951         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
28952         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
28953         handler for SIGBUS as well.
28954         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
28955         install a signal handler for SIGBUS as well.
28956         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
28957
28958 2008-12-06  Bruno Haible  <bruno@clisp.org>
28959
28960         Advocacy documentation.
28961         * doc/gnulib-intro.texi (Benefits): New section.
28962         * doc/gnulib.texi: Update.
28963
28964 2008-12-06  Bruno Haible  <bruno@clisp.org>
28965
28966         Document the 'manywarnings' module.
28967         * doc/manywarnings.texi: New file.
28968         * doc/gnulib.texi: Include it.
28969
28970 2008-12-05  Eric Blake  <ebb9@byu.net>
28971
28972         tests: silence some gcc warnings
28973         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
28974         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
28975         type mismatches.
28976
28977 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28978             Bruno Haible  <bruno@clisp.org>
28979
28980         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
28981
28982 2008-11-29  Jim Meyering  <meyering@redhat.com>
28983
28984         unicodeio.c: mark unused parameters
28985         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
28986         (fallback_failure_callback): Likewise.
28987
28988         fts: fix a thinko
28989         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
28990         (set_stat_type): Return S_IF*-valued "type" directly.
28991         Prompted by James Youngman's spotting a related bug.
28992         Confirmed by further testing through find.
28993
28994         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
28995         * lib/fts.c (D_TYPE): Define.
28996         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
28997         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
28998         (s_ifmt_shift_bits): New function.
28999         (set_stat_type): New function.
29000         (fts_build): When not calling fts_stat, call set_stat_type
29001         to propagate dirent.d_type info to fts_read caller.
29002         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
29003         fts_statp->st_mode type information may be valid.
29004
29005 2008-11-28  Simon Josefsson  <simon@josefsson.org>
29006
29007         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
29008         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
29009         <sds@gnu.org>.
29010
29011 2008-11-20  Bruno Haible  <bruno@clisp.org>
29012
29013         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
29014         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
29015         INCLUDE_NEXT.
29016         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
29017         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
29018         * modules/math (Makefile.am): Substitute
29019         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
29020         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29021
29022 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
29023             Bruno Haible  <bruno@clisp.org>
29024
29025         * lib/stdint.in.h: Define all type macros so that their expansion is
29026         a single typedef'ed token. Fixes a compilation failure in Boost which
29027         does "using ::int8_t;".
29028
29029 2008-11-18  Simon Josefsson  <simon@josefsson.org>
29030
29031         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
29032         gl_MANYWARN_ALL_GCC.
29033         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
29034         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
29035         * modules/manywarnings: New file.
29036         * MODULES.html.sh: Mention manywarnings module.
29037
29038 2008-11-18  Bruno Haible  <bruno@clisp.org>
29039
29040         * doc/gnulib-tool.texi (Unit tests): New section.
29041
29042 2008-11-18  Simon Josefsson  <simon@josefsson.org>
29043
29044         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
29045         paths like 'lib/po/foo.po'.
29046
29047 2008-11-17  Simon Josefsson  <simon@josefsson.org>
29048
29049         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
29050         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
29051
29052 2008-11-17  Simon Josefsson  <simon@josefsson.org>
29053
29054         * m4/warnings.m4: Use CPPFLAGS to really check whether the
29055         parameter works.
29056
29057 2008-11-17  Simon Josefsson  <simon@josefsson.org>
29058
29059         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
29060
29061 2008-11-17  Bruce Korb  <bkorb@gnu.org>
29062
29063         * modules/parse-duration-tests: New file.
29064         * tests/test-parse-duration.sh: New file.
29065         * tests/test-parse-duration.c: New file.
29066
29067         New module 'parse-duration'.
29068         * lib/parse-duration.h: New file.
29069         * lib/parse-duration.c: New file.
29070         * modules/parse-duration: New file.
29071
29072 2008-11-17  Bruno Haible  <bruno@clisp.org>
29073
29074         * tests/test-select-out.sh: Comment out the first pipe test.
29075         Reported by Simon Josefsson.
29076
29077 2008-11-17  Bruno Haible  <bruno@clisp.org>
29078
29079         * modules/getaddrinfo (Depends-on): Add servent, hostent.
29080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
29081         gl_HOSTENT.
29082
29083 2008-11-17  Bruno Haible  <bruno@clisp.org>
29084
29085         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
29086         -lnetwork and -lnet. Needed for Haiku and BeOS.
29087
29088 2008-11-16  Bruno Haible  <bruno@clisp.org>
29089
29090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
29091
29092 2008-11-16  Bruno Haible  <bruno@clisp.org>
29093
29094         Avoid test failure on Haiku.
29095         * tests/test-fsync.c: Include <errno.h>.
29096         (main): Don't require that fsync (0) fails.
29097
29098 2008-11-15  Bruno Haible  <bruno@clisp.org>
29099
29100         New module 'hostent'.
29101         * modules/hostent: New file.
29102         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
29103
29104 2008-11-15  Bruno Haible  <bruno@clisp.org>
29105
29106         New module 'servent'.
29107         * modules/servent: New file.
29108         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
29109
29110 2008-11-15  Bruno Haible  <bruno@clisp.org>
29111
29112         Avoid generating same test program with two different rules.
29113         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
29114         test-frexp to test-frexp-nolibm.
29115         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
29116         test-frexpl to test-frexpl-nolibm.
29117
29118 2008-11-15  Bruno Haible  <bruno@clisp.org>
29119
29120         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
29121         $(FREXPL_LIBM).
29122
29123 2008-11-15  Bruno Haible  <bruno@clisp.org>
29124
29125         * lib/netdb.in.h: Activate the definitions also when the system's
29126         <netdb.h> has 'struct addrinfo'.
29127         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
29128         EAI_OVERFLOW or AI_NUMERICSERV.
29129         * doc/posix-headers/netdb.texi: Document the problem.
29130
29131 2008-11-15  Bruno Haible  <bruno@clisp.org>
29132
29133         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
29134
29135         Make the 'sched' module work on platforms where <sched.h> exists but
29136         is incomplete (such as Haiku).
29137         * lib/sched.in.h; Include the system's <sched.h> if it exists.
29138         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
29139         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
29140         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
29141         HAVE_STRUCT_SCHED_PARAM.
29142         * modules/sched (Depends-on): Add include_next.
29143         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
29144         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
29145         * doc/posix-headers/sched.texi: Document the issue.
29146
29147 2008-11-13  Jim Meyering  <meyering@redhat.com>
29148
29149         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
29150         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
29151         test would fail due to the difference in the Report bugs to ...
29152         line.  The expected address is empty, "<>", while the actual
29153         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
29154
29155 2008-11-12  Bruno Haible  <bruno@clisp.org>
29156
29157         lstat: don't compile lstat.c on systems lacking lstat
29158         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
29159         which don't have lstat; this is handled by lib/sys_stat.in.h already.
29160         Reported by Daniel P. Berrange via Jim Meyering.
29161
29162 2008-11-12  Jim Meyering  <meyering@redhat.com>
29163
29164         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
29165
29166 2008-11-12  Simon Josefsson  <simon@josefsson.org>
29167
29168         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
29169         instead.
29170
29171 2008-11-12  Bruno Haible  <bruno@clisp.org>
29172
29173         * lib/unicodeio.c: Include unistr.h.
29174         (utf8_wctomb): Remove function.
29175         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
29176
29177 2008-11-12  Simon Josefsson  <simon@josefsson.org>
29178
29179         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
29180         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
29181         <bruno@clisp.org>.
29182         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
29183
29184 2008-11-12  Simon Josefsson  <simon@josefsson.org>
29185
29186         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
29187         * doc/gnulib.texi: Add section for warnings.
29188
29189 2008-11-11  Bruno Haible  <bruno@clisp.org>
29190
29191         * lib/sockets.h: Add a comment.
29192
29193 2008-11-11  Karl Berry  <karl@gnu.org>
29194
29195         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
29196
29197 2008-11-11  Eric Blake  <ebb9@byu.net>
29198
29199         fdl.texi: avoid git symlinks
29200         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
29201
29202 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
29203
29204         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
29205
29206 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
29207
29208         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
29209         (gl_WARN_ADD): Substitute $2 if literal.
29210
29211 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
29212
29213         * m4/warning.m4: Remove.
29214
29215 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
29216
29217         * m4/warnings.m4: Almost complete rewrite. :-)
29218
29219 2008-11-10  Simon Josefsson  <simon@josefsson.org>
29220
29221         * modules/warnings: New module.
29222         * m4/warnings.m4: New file.
29223         * MODULES.html.sh: Mention warnings module.
29224         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
29225         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29226
29227 2008-11-10  Eric Blake  <ebb9@byu.net>
29228
29229         fdl.texi: make a symlink to the latest version
29230         * doc/standards.texi: Revert today's earlier change.
29231         * doc/fdl-1.2.texi: Rename from old fdl.texi...
29232         * doc/fdl.texi: ...and replace this with a symlink to the newer
29233         fdl-1.3.texi.
29234
29235 2008-11-10  Bruno Haible  <bruno@clisp.org>
29236
29237         * tests/test-select-fd.c (main): Accept the result file name as fourth
29238         argument.
29239         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
29240         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
29241
29242 2008-11-10  Bruno Haible  <bruno@clisp.org>
29243
29244         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
29245         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
29246         as autoconf-substituted macros.
29247         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
29248         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
29249         gl_NETDB_H_DEFAULTS. Set these variables.
29250         * modules/netdb (Makefile.am): Substitute these variables.
29251
29252 2008-11-10  Eric Blake  <ebb9@byu.net>
29253
29254         standards.texi: include correct file for FDL 1.3
29255         * doc/standards.texi (GNU Free Documentation License): Change
29256         include file to pull in FDL 1.3, not 1.2.
29257
29258         fdl.texi: revert accidental change to license
29259         * doc/fdl.texi: This is FDL 1.2, not 1.3.
29260
29261 2008-11-10  Bruno Haible  <bruno@clisp.org>
29262
29263         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
29264         cross-compiling guesses also when the native compile gives no result.
29265
29266 2008-11-10  Bruno Haible  <bruno@clisp.org>
29267
29268         * lib/spawni.c (__spawni): Force variable into the stack.
29269
29270 2008-11-10  Bruno Haible  <bruno@clisp.org>
29271
29272         Add support for Haiku.
29273         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
29274         glibc and BeOS, but also on Haiku.
29275         * lib/fpurge.c (fpurge): Likewise.
29276         * lib/freadable.c (freadable): Likewise.
29277         * lib/freadahead.c (freadahead): Likewise.
29278         * lib/freading.c (freading): Likewise.
29279         * lib/freadptr.c (freadptr): Likewise.
29280         * lib/freadseek.c (freadptrinc): Likewise.
29281         * lib/fseeko.c (rpl_fseeko): Likewise.
29282         * lib/fseterr.c (fseterr): Likewise.
29283         * lib/fwritable.c (fwritable): Likewise.
29284         * lib/fwriting.c (fwriting): Likewise.
29285         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
29286
29287 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
29288
29289         * lib/config.charset: Treat Haiku like BeOS.
29290
29291 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
29292
29293         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
29294         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
29295
29296 2008-11-08  Bruno Haible  <bruno@clisp.org>
29297
29298         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
29299         AC_CACHE_CHECK.
29300
29301 2008-11-08  Bruno Haible  <bruno@clisp.org>
29302
29303         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
29304
29305 2008-11-08  Bruno Haible  <bruno@clisp.org>
29306
29307         * tests/test-select-fd.c: New file.
29308         * tests/test-select-in.sh: New file.
29309         * tests/test-select-out.sh: New file.
29310         * tests/test-select-stdin.c: New file.
29311         * modules/select-tests (Files): Add the new files.
29312         (Depends-on): Add gettimeofday.
29313         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
29314         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
29315         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
29316
29317 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
29318             Bruno Haible  <bruno@clisp.org>
29319
29320         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
29321
29322 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
29323
29324         * build-aux/pmccabe2html: Added support for C++ source files.
29325
29326 2008-11-05  Ben Pfaff  <blp@gnu.org>
29327
29328         Fix lib/close.c build on Windows.
29329         * modules/close (Files): Add lib/w32sock.h.
29330
29331 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
29332
29333         Accept Bison's NEWS format.
29334         * build-aux/announce-gen (print_news_deltas): Tweak
29335         $re_prefix.
29336
29337 2008-11-04  Bruno Haible  <bruno@clisp.org>
29338
29339         * modules/random_r (Maintainer): Add glibc.
29340
29341 2008-11-04  Simon Josefsson  <simon@josefsson.org>
29342
29343         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
29344         by karl@freefriends.org (Karl Berry).
29345         * doc/alloca.texi: Likewise.
29346         * doc/c-ctype.texi: Likewise.
29347         * doc/c-strcase.texi: Likewise.
29348         * doc/c-strcaseeq.texi: Likewise.
29349         * doc/c-strcasestr.texi: Likewise.
29350         * doc/c-strstr.texi: Likewise.
29351         * doc/c-strtod.texi: Likewise.
29352         * doc/c-strtold.texi: Likewise.
29353         * doc/ctime.texi: Likewise.
29354         * doc/error.texi: Likewise.
29355         * doc/fdl.texi: Likewise.
29356         * doc/gcd.texi: Likewise.
29357         * doc/getdate.texi: Likewise.
29358         * doc/gnulib-intro.texi: Likewise.
29359         * doc/gnulib-tool.texi: Likewise.
29360         * doc/gnulib.texi: Likewise.
29361         * doc/inet_ntoa.texi: Likewise.
29362         * doc/maintain.texi: Likewise.
29363         * doc/make-stds.texi: Likewise.
29364         * doc/quote.texi: Likewise.
29365         * doc/regexprops-generic.texi: Likewise.
29366         * doc/standards.texi: Likewise.
29367         * doc/verify.texi: Likewise.
29368         * doc/visibility.texi: Likewise.
29369         * doc/gnulib.texi (GNU Free Documentation License): Include
29370         fdl-1.3.texi instead of fdl.texi.
29371
29372 2008-11-04  Simon Josefsson  <simon@josefsson.org>
29373
29374         * doc/fdl-1.3.texi: New file, from
29375         <http://www.gnu.org/licenses/fdl-1.3.texi>.
29376         * modules/fdl-1.3: Add.
29377         * MODULES.html.sh: Add fdl-1.3.
29378
29379 2008-11-03  Bruno Haible  <bruno@clisp.org>
29380
29381         Make determination of absolute name of header file work with AIX xlc.
29382         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
29383         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
29384         preprocessing.
29385         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29386         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
29387
29388 2008-11-03  Simon Josefsson  <simon@josefsson.org>
29389
29390         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
29391         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
29392         <ludo@gnu.org>.
29393
29394 2008-11-02  Bruno Haible  <bruno@clisp.org>
29395
29396         Mark 'strpbrk' obsolete.
29397         * modules/strpbrk (Status, Notice): New sections.
29398         * modules/strtok_r (Depends-on): Add strpbrk.
29399
29400 2008-11-02  Bruno Haible  <bruno@clisp.org>
29401
29402         Mark 'strdup' obsolete.
29403         * modules/strdup (Status, Notice): New sections.
29404         * modules/findprog (Depends-on): Add strdup.
29405         * modules/getaddrinfo (Depends-on): Likewise.
29406         * modules/localename (Depends-on): Likewise.
29407         * modules/relocatable-lib (Depends-on): Likewise.
29408         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
29409         * modules/relocatable-prog (Depends-on): Likewise.
29410         * modules/trim (Depends-on): Likewise.
29411         * modules/unictype/gen-ctype (Depends-on): Likewise.
29412         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
29413
29414 2008-11-02  Bruno Haible  <bruno@clisp.org>
29415
29416         Mark 'strcspn' obsolete.
29417         * modules/strcspn (Status, Notice): New sections.
29418
29419 2008-11-02  Bruno Haible  <bruno@clisp.org>
29420
29421         Mark 'rmdir' obsolete.
29422         * modules/rmdir (Status, Notice): New sections.
29423         * modules/clean-temp (Depends-on): Add rmdir.
29424         * modules/openat (Depends-on): Likewise.
29425
29426 2008-11-02  Bruno Haible  <bruno@clisp.org>
29427
29428         Mark 'raise' obsolete.
29429         * modules/raise (Status, Notice): New sections.
29430         (Include): Specify <signal.h>.
29431         * modules/stdio (Depends-on): Add raise.
29432         * modules/write (Depends-on): Likewise.
29433
29434 2008-11-02  Bruno Haible  <bruno@clisp.org>
29435
29436         Mark 'memset' obsolete.
29437         * modules/memset (Status, Notice): New sections.
29438
29439 2008-11-02  Bruno Haible  <bruno@clisp.org>
29440
29441         Mark 'memmove' obsolete.
29442         * modules/memmove (Status, Notice): New sections.
29443         * modules/argp (Depends-on): Add memmove.
29444         * modules/argz (Depends-on): Likewise.
29445         * modules/canonicalize (Depends-on): Likewise.
29446         * modules/canonicalize-lgpl (Depends-on): Likewise.
29447         * modules/fts (Depends-on): Likewise.
29448         * modules/getcwd (Depends-on): Likewise.
29449         * modules/human (Depends-on): Likewise.
29450         * modules/regex (Depends-on): Likewise.
29451         * modules/striconveh (Depends-on): Likewise.
29452         * modules/trim (Depends-on): Likewise.
29453         * modules/unistr/u8-move (Depends-on): Likewise.
29454         * modules/unistr/u16-move (Depends-on): Likewise.
29455         * modules/unistr/u32-move (Depends-on): Likewise.
29456
29457 2008-11-02  Bruno Haible  <bruno@clisp.org>
29458
29459         Mark 'memcpy' obsolete.
29460         * modules/memcpy (Status, Notice): New sections.
29461
29462 2008-11-02  Bruno Haible  <bruno@clisp.org>
29463
29464         Mark 'memcmp' obsolete.
29465         * modules/memcmp (Status, Notice): New sections.
29466         * modules/argmatch (Depends-on): Add memchr.
29467         * modules/backupfile (Depends-on): Likewise.
29468         * modules/c-strcasestr (Depends-on): Likewise.
29469         * modules/crypto/des (Depends-on): Likewise.
29470         * modules/csharpcomp (Depends-on): Likewise.
29471         * modules/fnmatch (Depends-on): Likewise.
29472         * modules/git-merge-changelog (Depends-on): Likewise.
29473         * modules/isnand (Depends-on): Likewise.
29474         * modules/isnand-nolibm (Depends-on): Likewise.
29475         * modules/isnanf (Depends-on): Likewise.
29476         * modules/isnanf-nolibm (Depends-on): Likewise.
29477         * modules/isnanl (Depends-on): Likewise.
29478         * modules/isnanl-nolibm (Depends-on): Likewise.
29479         * modules/mbchar (Depends-on): Likewise.
29480         * modules/memcoll (Depends-on): Likewise.
29481         * modules/quotearg (Depends-on): Likewise.
29482         * modules/regex (Depends-on): Likewise.
29483         * modules/relocatable-prog (Depends-on): Likewise.
29484         * modules/same (Depends-on): Likewise.
29485         * modules/signbit (Depends-on): Likewise.
29486         * modules/strcasestr-simple (Depends-on): Likewise.
29487         * modules/unictype/gen-ctype (Depends-on): Likewise.
29488         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
29489         * modules/uniname/uniname (Depends-on): Likewise.
29490         * modules/unistr/u8-cmp (Depends-on): Likewise.
29491
29492 2008-11-02  Bruno Haible  <bruno@clisp.org>
29493
29494         Mark 'memchr' obsolete.
29495         * modules/memchr (Status, Notice): New sections.
29496         * modules/argp (Depends-on): Add memchr.
29497         * modules/base64 (Depends-on): Likewise.
29498         * modules/c-strcasestr (Depends-on): Likewise.
29499         * modules/chdir-long (Depends-on): Likewise.
29500         * modules/fnmatch (Depends-on): Likewise.
29501         * modules/getsubopt (Depends-on): Likewise.
29502         * modules/git-merge-changelog (Depends-on): Likewise.
29503         * modules/glob (Depends-on): Likewise.
29504         * modules/strcasestr-simple (Depends-on): Likewise.
29505         * modules/strnlen (Depends-on): Likewise.
29506
29507 2008-11-02  Bruno Haible  <bruno@clisp.org>
29508
29509         Mark 'atexit' obsolete.
29510         * modules/atexit (Status, Notice): New sections.
29511         * modules/chdir-long (Depends-on): Add atexit.
29512         * modules/wait-process (Depends-on): Likewise.
29513
29514 2008-11-02  Bruno Haible  <bruno@clisp.org>
29515
29516         * gnulib-tool: New option --with-obsolete.
29517         (func_usage): Document it.
29518         (func_modules_transitive_closure): Drop obsolete dependencies if
29519         incobsolete is not true.
29520         (func_import): Read and save the incobsolete variable to the cache.
29521
29522 2008-11-02  Bruno Haible  <bruno@clisp.org>
29523
29524         * modules/TEMPLATE-EXTENDED: New field 'Status'.
29525         * gnulib-tool: New option --extract-status.
29526         (func_usage): Document it.
29527         (sed_extract_prog): Recognize it.
29528         (func_get_status): New function.
29529
29530 2008-10-30  Simon Josefsson  <simon@josefsson.org>
29531
29532         * modules/sockets (License): Change from LGPL to LGPLv2+.
29533
29534 2008-10-28  Simon Josefsson  <simon@josefsson.org>
29535
29536         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
29537
29538 2008-10-28  Simon Josefsson  <simon@josefsson.org>
29539
29540         * MODULES.html.sh (Support for systems lacking POSIX:2001):
29541         Mention times and sys_times.
29542         * modules/sys_times, modules/sys_times-tests: New modules.
29543         * modules/times, modules/times-tests: Likewise
29544         * m4/sys_times_h.m4: New file.
29545         * lib/sys_times.in.h: Likewise
29546         * lib/times.c: Likewise.
29547         * tests/test-sys_times.c: Likewise.
29548         * tests/test-times.c: Likewise.
29549         * doc/posix-headers/sys_times.texi: Update.
29550         * doc/posix-functions/times.texi: Update.
29551
29552 2008-10-28  Jim Meyering  <meyering@redhat.com>
29553
29554         * modules/tempname (Depends-on): Add lstat.
29555
29556         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
29557
29558 2008-10-28  Simon Josefsson  <simon@josefsson.org>
29559
29560         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
29561         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
29562         using idiom used elsewhere in gnulib.
29563
29564 2008-10-27  Jim Meyering  <meyering@redhat.com>
29565
29566         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
29567
29568 2008-10-27  Simon Josefsson  <simon@josefsson.org>
29569
29570         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
29571         TESTS_ENVIRONMENT, for shell scripts that needs to call built
29572         programs.
29573         * tests/test-argp-2.sh: Use $EXEEXT when needed.
29574
29575 2008-10-27  Simon Josefsson  <simon@josefsson.org>
29576
29577         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
29578
29579 2008-10-27  Bruno Haible  <bruno@clisp.org>
29580
29581         * tests/test-lstat.c: Include <stdio.h>.
29582
29583 2008-10-27  Simon Josefsson  <simon@josefsson.org>
29584
29585         * modules/lstat-tests: New module.
29586         * tests/test-lstat.c: New file.
29587
29588 2008-10-26  Jim Meyering  <meyering@redhat.com>
29589
29590         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
29591
29592 2008-10-26  Simon Josefsson  <simon@josefsson.org>
29593             Bruno Haible  <bruno@clisp.org>
29594
29595         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
29596         * modules/configmake (Include): Add a note that the include must come
29597         after all system headers.
29598         * lib/javaversion.c: Include configmake.h after all other includes.
29599
29600 2008-10-26  Bruno Haible  <bruno@clisp.org>
29601
29602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
29603         HAVE_STRUCT_RANDOM_DATA to 1.
29604         (gl_STDLIB_H): Simplify.
29605
29606 2008-10-26  Simon Josefsson  <simon@josefsson.org>
29607
29608         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
29609         substitute HAVE_STRUCT_RANDOM_DATA.
29610         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
29611         random_data.
29612         * modules/stdlib (Makefile.am): Substitute
29613         HAVE_STRUCT_RANDOM_DATA.
29614
29615 2008-10-26  Simon Josefsson  <simon@josefsson.org>
29616
29617         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
29618         * doc/gnulib-intro.texi (Copyright): Likewise.
29619
29620 2008-10-26  Simon Josefsson  <simon@josefsson.org>
29621
29622         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
29623         findings.
29624
29625 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
29626             Bruno Haible  <bruno@clisp.org>
29627
29628         * lib/unistd.in.h: Include <winsock2.h>.
29629         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
29630         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
29631         Provide dummy declarations.
29632         (gethostname): Override.
29633         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
29634         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
29635         gl_PREREQ_SYS_H_WINSOCK2.
29636         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
29637         * doc/posix-functions/gethostname.texi: More details.
29638
29639 2008-10-25  Bruno Haible  <bruno@clisp.org>
29640
29641         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
29642         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
29643         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
29644
29645         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
29646         here ...
29647         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
29648         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
29649         gl_UNISTD_H_DEFAULTS.
29650
29651 2008-10-25  Eric Blake  <ebb9@byu.net>
29652
29653         signbit: avoid spurious compiler failure
29654         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
29655         declarations inside function.
29656
29657 2008-10-24  Simon Josefsson  <simon@josefsson.org>
29658             Bruno Haible  <bruno@clisp.org>
29659
29660         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
29661         * modules/random_r (Depends-on): Add stdint.
29662
29663 2008-10-24  Bruno Haible  <bruno@clisp.org>
29664
29665         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
29666         Eggert.
29667         * modules/strerror (License): Likewise.
29668
29669 2008-10-24  Jim Meyering  <meyering@redhat.com>
29670
29671         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
29672         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
29673
29674 2008-10-24  Eric Blake  <ebb9@byu.net>
29675
29676         getgroups: fix compilation when getgroups is available
29677         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
29678         but with <config.h> override of getgroups disabled.
29679
29680 2008-10-24  Simon Josefsson  <simon@josefsson.org>
29681
29682         * doc/gnulib.texi (Header files): Add note about C++ problems.
29683         Explained by Bruno Haible <bruno@clisp.org>.
29684
29685 2008-10-23  Bruno Haible  <bruno@clisp.org>
29686
29687         Define a dummy SA_NODEFER macro on Interix.
29688         * lib/signal.in.h (SA_NODEFER): Define fallback.
29689         Reported by Aleksey Cheusov <cheusov@tut.by> via
29690         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
29691
29692 2008-10-23  Bruno Haible  <bruno@clisp.org>
29693
29694         * modules/freadahead (License): Change to LGPLv2+.
29695         Suggested by Simon Josefsson.
29696
29697 2008-10-23  Jim Meyering  <meyering@redhat.com>
29698
29699         random_r: new module
29700         * modules/random_r: New file.
29701         * m4/random_r.m4: New file.
29702         * lib/random_r.c: New file, from glibc.
29703         * modules/random_r-tests: New file.
29704         * tests/test-random_r.c: New file.
29705         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
29706          Declare.
29707         (RAND_MAX): Define.
29708         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
29709         * modules/stdlib: Substitute them, too.
29710         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
29711         * doc/glibc-functions/initstate_r.texi: Mention the new module.
29712         * doc/glibc-functions/random_r.texi: Likewise.
29713         * doc/glibc-functions/setstate_r.texi: Likewise.
29714         * doc/glibc-functions/srandom_r.texi: Likewise.
29715         * config/srclist.txt: Mention it.
29716
29717 2008-10-23  David Lutterkort  <lutter@redhat.com>
29718
29719         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
29720         link requirement
29721
29722 2008-10-23  Jim Meyering  <meyering@redhat.com>
29723
29724         selinux-h: mark parameters of stub functions as intentionally unused
29725         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
29726         * lib/se-context.in.h: Likewise.
29727
29728 2008-10-22  Simon Josefsson  <simon@josefsson.org>
29729
29730         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
29731
29732 2008-10-22  Simon Josefsson  <simon@josefsson.org>
29733
29734         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
29735
29736 2008-10-22  Eric Blake  <ebb9@byu.net>
29737
29738         glthread/thread: avoid compiler warning
29739         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
29740         Add unreachable abort to silence compiler.
29741
29742 2008-10-22  Eric Blake  <ebb9@byu.net>
29743
29744         netdb: also supply struct addrinfo for cygwin 1.5.x
29745         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
29746         older cygwin.
29747         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
29748         cygwin.
29749         * doc/posix-headers/netdb.texi (netdb.h): Document this.
29750
29751 2008-10-22  Bruno Haible  <bruno@clisp.org>
29752
29753         * users.txt: Update entry about pspp.
29754
29755 2008-10-21  Bruno Haible  <bruno@clisp.org>
29756
29757         Simplification.
29758         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
29759         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
29760
29761         Simplification.
29762         * lib/ioctl.c (ioctl): Don't undefine.
29763         * lib/socket.c (socket): Don't undefine.
29764
29765         Remove unused module indicator macros.
29766         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
29767         GNULIB_$1 as a C macro.
29768
29769         * doc/posix-functions/close.texi: Undo last change.
29770         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
29771         Windows platforms.
29772
29773 2008-10-21  Bruno Haible  <bruno@clisp.org>
29774
29775         Add gethostname() declaration to <unistd.h>.
29776         * lib/unistd.in.h (gethostname): New declaration.
29777         * lib/gethostname.c: Include <unistd.h>.
29778         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
29779         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
29780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
29781         and HAVE_GETHOSTNAME.
29782         * modules/gethostname (Depends-on): Add unistd.
29783         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29784         (Include): Specify <unistd.h>.
29785         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
29786         HAVE_GETHOSTNAME.
29787         * tests/test-gethostname.c: Include <unistd.h> first.
29788
29789 2008-10-21  Bruno Haible  <bruno@clisp.org>
29790
29791         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
29792         * modules/select-tests (Depends-on): Likewise.
29793         Reported by Simon Josefsson.
29794
29795 2008-10-21  Simon Josefsson  <simon@josefsson.org>
29796
29797         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
29798         * lib/accept.c: New file, based on winsock.c.
29799         * lib/bind.c: New file, based on winsock.c.
29800         * lib/connect.c: New file, based on winsock.c.
29801         * lib/getpeername.c: New file, based on winsock.c.
29802         * lib/getsockname.c: New file, based on winsock.c.
29803         * lib/getsockopt.c: New file, based on winsock.c.
29804         * lib/ioctl.c: New file, based on winsock.c.
29805         * lib/listen.c: New file, based on winsock.c.
29806         * lib/recv.c: New file, based on winsock.c.
29807         * lib/recvfrom.c: New file, based on winsock.c.
29808         * lib/send.c: New file, based on winsock.c.
29809         * lib/sendto.c: New file, based on winsock.c.
29810         * lib/setsockopt.c: New file, based on winsock.c.
29811         * lib/shutdown.c: New file, based on winsock.c.
29812         * lib/socket.c: New file, based on winsock.c.
29813         * lib/w32sock.h: New file, based on winsock.c.
29814         * lib/winsock.c: Remove file.
29815         * modules/accept: Likewise.
29816         * modules/bind: Likewise.
29817         * modules/connect: Likewise.
29818         * modules/getpeername: Likewise.
29819         * modules/getsockname: Likewise.
29820         * modules/getsockopt: Likewise.
29821         * modules/ioctl: Likewise.
29822         * modules/listen: Likewise.
29823         * modules/recv: Likewise.
29824         * modules/recvfrom: Likewise.
29825         * modules/send: Likewise.
29826         * modules/sendto: Likewise.
29827         * modules/setsockopt: Likewise.
29828         * modules/shutdown: Likewise.
29829         * modules/socket: Use socket.c instead of winsock.c.
29830         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
29831         * doc/posix-functions/accept.texi: Doc fix.
29832         * doc/posix-functions/bind.texi: Doc fix.
29833         * doc/posix-functions/close.texi: Doc fix.
29834         * doc/posix-functions/connect.texi: Doc fix.
29835         * doc/posix-functions/getpeername.texi: Doc fix.
29836         * doc/posix-functions/getsockname.texi: Doc fix.
29837         * doc/posix-functions/getsockopt.texi: Doc fix.
29838         * doc/posix-functions/ioctl.texi: Doc fix.
29839         * doc/posix-functions/listen.texi: Doc fix.
29840         * doc/posix-functions/recv.texi: Doc fix.
29841         * doc/posix-functions/recvfrom.texi: Doc fix.
29842         * doc/posix-functions/send.texi: Doc fix.
29843         * doc/posix-functions/sendto.texi: Doc fix.
29844         * doc/posix-functions/setsockopt.texi: Doc fix.
29845         * doc/posix-functions/shutdown.texi: Doc fix.
29846         * doc/posix-functions/socket.texi: Doc fix.
29847
29848 2008-10-20  Bruno Haible  <bruno@clisp.org>
29849
29850         Take into account the role of SIGABRT_COMPAT on Windows 2008.
29851         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
29852         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
29853         as an alias for SIGABRT.
29854         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
29855         (sigaction): Map it to SIGABRT.
29856         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
29857
29858 2008-10-20  Bruno Haible  <bruno@clisp.org>
29859
29860         * lib/fts.c: Don't include lstat.h.
29861         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
29862
29863         Move the lstat() declaration to <sys/stat.h>.
29864         * lib/lstat.h: Remove file.
29865         * lib/sys_stat.in.h: Add special invocation convention.
29866         (lstat): New declaration.
29867         * lib/lstat.c (orig_lstat): New function.
29868         (rpl_lstat): Use orig_lstat instead of lstat.
29869         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
29870         AC_C_INLINE. Set REPLACE_LSTAT.
29871         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
29872         and REPLACE_LSTAT.
29873         * modules/lstat (Files): Remove lib/lstat.h.
29874         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
29875         (Include): Specify <sys/stat.h> instead of lstat.h.
29876         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
29877         REPLACE_LSTAT.
29878         * NEWS: Mention the change.
29879
29880 2008-10-20  Bruno Haible  <bruno@clisp.org>
29881
29882         * modules/posix_spawn-tests: New file.
29883         * tests/test-posix_spawn3.c: New file.
29884
29885 2008-10-20  Bruno Haible  <bruno@clisp.org>
29886
29887         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
29888         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
29889         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
29890         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
29891         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
29892
29893 2008-10-20  Bruno Haible  <bruno@clisp.org>
29894
29895         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
29896         of posix_spawn on AIX 5.3.
29897
29898 2008-10-20  Bruno Haible  <bruno@clisp.org>
29899
29900         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
29901
29902 2008-10-20  Bruno Haible  <bruno@clisp.org>
29903
29904         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
29905         of AC_LANG_PROGRAM.
29906
29907 2008-10-20  Simon Josefsson  <simon@josefsson.org>
29908
29909         * lib/netdb.in.h: Don't define GNU specific constants until they
29910         are supported or needed.  Reported by Bruno Haible
29911         <bruno@clisp.org>.
29912
29913 2008-10-20  Simon Josefsson  <simon@josefsson.org>
29914
29915         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
29916
29917 2008-10-20  Simon Josefsson  <simon@josefsson.org>
29918
29919         * lib/getaddrinfo.h: Remove file.
29920         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
29921         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
29922         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
29923         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
29924         * modules/netdb: Substitute GNULIB_GETADDRINFO.
29925         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
29926         * tests/test-getaddrinfo.c: Likewise.
29927         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
29928         * NEWS: Mention change.
29929
29930 2008-10-19  Bruno Haible  <bruno@clisp.org>
29931
29932         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
29933
29934 2008-10-19  Bruno Haible  <bruno@clisp.org>
29935
29936         * lib/wait-process.c: Include simply <sys/wait.h>.
29937         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
29938         WIFSTOPPED): Remove fallback definitions.
29939         * modules/wait-process (Depends-on): Add sys_wait.
29940
29941         New module 'sys_wait'.
29942         * modules/sys_wait: New file.
29943         * lib/sys_wait.in.h: New file, partially copied from
29944         lib/wait-process.c.
29945         * m4/sys_wait_h.m4: New file.
29946         * doc/posix-headers/sys_wait.texi: Mention the new module.
29947
29948 2008-10-19  Bruno Haible  <bruno@clisp.org>
29949
29950         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
29951
29952 2008-10-19  Bruno Haible  <bruno@clisp.org>
29953
29954         Assume that waitpid() fills an 'int' status, not a 'union wait'.
29955         * lib/wait-process.c (WAIT_T): Remove type.
29956         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
29957         (wait_subprocess): Update.
29958
29959 2008-10-19  Bruno Haible  <bruno@clisp.org>
29960
29961         New module 'atoll'.
29962         * modules/atoll: New file.
29963         * lib/stdlib.in.h (atoll): New declaration.
29964         * lib/atoll.c: New file, from glibc with modifications.
29965         * m4/atoll.m4: New file.
29966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
29967         HAVE_ATOLL.
29968         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
29969         * doc/posix-functions/atoll.texi: Mention the new module.
29970
29971 2008-10-19  Bruno Haible  <bruno@clisp.org>
29972
29973         Add strtoull() declaration to <stdlib.h>.
29974         * lib/stdlib.in.h (strtoull): New declaration.
29975         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
29976         Set HAVE_STRTOULL.
29977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
29978         HAVE_STRTOULL.
29979         * modules/strtoull (Depends-on): Add stdlib.
29980         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29981         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
29982         HAVE_STRTOULL.
29983
29984 2008-10-19  Bruno Haible  <bruno@clisp.org>
29985
29986         Add strtoll() declaration to <stdlib.h>.
29987         * lib/stdlib.in.h (strtoll): New declaration.
29988         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
29989         Set HAVE_STRTOLL.
29990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
29991         HAVE_STRTOLL.
29992         * modules/strtoll (Depends-on): Add stdlib.
29993         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29994         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
29995
29996 2008-10-19  Bruno Haible  <bruno@clisp.org>
29997
29998         * modules/bcopy (Depends-on): Add strings.
29999         (Include): Specify <strings.h>.
30000
30001 2008-10-19  Bruno Haible  <bruno@clisp.org>
30002
30003         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
30004
30005 2008-10-19  Bruno Haible  <bruno@clisp.org>
30006
30007         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
30008         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
30009         mingw.
30010
30011 2008-10-19  Bruno Haible  <bruno@clisp.org>
30012
30013         * lib/atanl.c: Don't include isnanl.h.
30014         * lib/cosl.c: Likewise.
30015         * lib/ldexpl.c: Likewise.
30016         * lib/logl.c: Likewise.
30017         * lib/sinl.c: Likewise.
30018         * lib/sqrtl.c: Likewise.
30019         * lib/tanl.c: Likewise.
30020
30021         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
30022         * lib/isnanf.h: Remove file.
30023         * lib/isnand.h: Remove file.
30024         * lib/isnanl.h: Remove file.
30025         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
30026         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
30027         macros.
30028         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
30029         HAVE_ISNANF, don't define it as a C macro.
30030         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
30031         HAVE_ISNAND, don't define it as a C macro.
30032         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
30033         HAVE_ISNANL, don't define it as a C macro.
30034         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
30035         HAVE_ISNAN[FDL].
30036         * modules/isnanf (Files): Remove lib/isnanf.h.
30037         (Depends-on): Add math.
30038         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
30039         (Include): Specify <math.h> instead of isnanf.h.
30040         * modules/isnand (Files): Remove lib/isnand.h.
30041         (Depends-on): Add math.
30042         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
30043         (Include): Specify <math.h> instead of isnand.h.
30044         * modules/isnanl (Files): Remove lib/isnanl.h.
30045         (Depends-on): Add math.
30046         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
30047         (Include): Specify <math.h> instead of isnanl.h.
30048         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
30049         HAVE_ISNAN[FDL].
30050         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
30051         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
30052         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
30053         * NEWS: Mention the change.
30054
30055 2008-10-18  Bruno Haible  <bruno@clisp.org>
30056
30057         Add getusershell(), setusershell(), endusershell() declarations to
30058         <unistd.h>.
30059         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
30060         declarations.
30061         * lib/getusershell.c: Include unistd.h.
30062         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
30063         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
30064         HAVE_GETUSERSHELL.
30065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
30066         and HAVE_GETUSERSHELL.
30067         * modules/getusershell (Depends-on): Add unistd, extensions.
30068         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30069         (Include): Specify <unistd.h>.
30070         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
30071         HAVE_GETUSERSHELL.
30072
30073 2008-10-18  Bruno Haible  <bruno@clisp.org>
30074
30075         Add a getloadavg() declaration to <stdlib.h>.
30076         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
30077         getloadavg declaration.
30078         (getloadavg): New declaration.
30079         * lib/getloadavg.c: Include <stdlib.h> first.
30080         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
30081         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
30082         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
30083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
30084         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
30085         * modules/getloadavg (Depends-on): Add stdlib, extensions.
30086         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30087         (Include): Specify <stdlib.h>.
30088         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
30089         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
30090
30091 2008-10-18  Bruno Haible  <bruno@clisp.org>
30092
30093         * lib/dirchownmod.c: Don't include lchmod.h.
30094
30095         Move the lchmod() declaration to <sys/stat.h>.
30096         * lib/lchmod.h: Remove file.
30097         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
30098         (lchmod): New declaration, moved here from lib/lchown.h.
30099         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
30100         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
30101         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
30102         and HAVE_LCHMOD.
30103         * modules/lchmod (Files): Remove lib/lchmod.h.
30104         (Depends-on): Add sys_stat, extensions.
30105         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
30106         (Include): Specify <sys/stat.h> instead of lchmod.h.
30107         * modules/sys_stat (Depends-on): Add link-warning.
30108         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
30109         definition of GL_LINK_WARNING.
30110         * NEWS: Mention the change.
30111
30112 2008-10-18  Bruno Haible  <bruno@clisp.org>
30113
30114         * lib/fchdir.c: Don't include dirfd.h.
30115         * lib/fts.c: Likewise.
30116         * lib/getcwd.c: Likewise.
30117         * lib/glob.c: Likewise.
30118
30119         Move the dirfd() declaration to <dirent.h>.
30120         * lib/dirfd.h: Remove file.
30121         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
30122         (dirfd): New declaration.
30123         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
30124         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
30125         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
30126         HAVE_DECL_DIRFD.
30127         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
30128         HAVE_DECL_DIRFD.
30129         * modules/dirfd (Files): Remove lib/dirfd.h.
30130         (Depends-on): Add dirent, extensions.
30131         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
30132         (Include): Specify <dirent.h> instead of dirfd.h.
30133         * modules/dirent (Depends-on): Add link-warning.
30134         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
30135         definition of GL_LINK_WARNING.
30136         * NEWS: Mention the change.
30137
30138 2008-10-18  Bruno Haible  <bruno@clisp.org>
30139
30140         Move the euidaccess() declaration to <unistd.h>.
30141         * lib/euidaccess.h: Remove file.
30142         * lib/unistd.in.h (euidaccess): New declaration.
30143         * lib/euidaccess.c: Don't include euidaccess.h.
30144         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
30145         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
30146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
30147         and HAVE_EUIDACCESS.
30148         * modules/euidaccess (Files): Remove lib/euidaccess.h.
30149         (Depends-on): Add unistd.
30150         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30151         (Include): Specify <unistd.h> instead of euidaccess.h.
30152         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
30153         HAVE_EUIDACCESS.
30154         * NEWS: Mention the change.
30155
30156 2008-10-18  Bruno Haible  <bruno@clisp.org>
30157
30158         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
30159
30160         Move the getdomainname() declaration to <unistd.h>.
30161         * lib/getdomainname.h: Remove file.
30162         * lib/unistd.in.h (getdomainname): New declaration.
30163         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
30164         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
30165         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
30166         HAVE_GETDOMAINNAME.
30167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30168         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
30169         * modules/getdomainname (Files): Remove lib/getdomainname.h.
30170         (Depends-on): Add unistd, extensions.
30171         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30172         (Includes): Specify <unistd.h> instead of getdomainname.h.
30173         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
30174         HAVE_GETDOMAINNAME.
30175         * NEWS: Mention the change.
30176
30177 2008-10-18  Bruno Haible  <bruno@clisp.org>
30178
30179         * modules/dirent: New file.
30180         * m4/dirent_h.m4: New file.
30181         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
30182         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
30183         * modules/fchdir (Files): Remove lib/dirent.in.h.
30184         (Depends-on): Add dirent.
30185         (Makefile.am): Move rules to modules/dirent.
30186         * doc/posix-headers/dirent.texi: Mention the new module.
30187
30188 2008-10-18  Bruno Haible  <bruno@clisp.org>
30189
30190         Avoid -Wunused-parameter warnings in public gnulib header files.
30191         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
30192         macro.
30193         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
30194
30195 2008-10-18  Bruno Haible  <bruno@clisp.org>
30196
30197         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
30198         * doc/glibc-functions/error.texi: Mention the module 'error'.
30199         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
30200         * doc/glibc-functions/getdomainname.texi: Mention the module
30201         'getdomainname'.
30202         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
30203         * doc/glibc-functions/getpagesize.texi: Mention the module
30204         'getpagesize'.
30205         * doc/glibc-functions/getusershell.texi: Mention the module
30206         'getusershell'.
30207         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
30208         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
30209         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
30210         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
30211         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
30212         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
30213         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
30214         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
30215         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
30216         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
30217         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
30218         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
30219         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
30220         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
30221
30222 2008-10-17  Bruno Haible  <bruno@clisp.org>
30223
30224         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
30225         HP-UX and IRIX, use -0.0L.
30226         * tests/test-ceill.c (minus_zero): Likewise.
30227         * tests/test-floorl.c (minus_zero): Likewise.
30228         * tests/test-frexpl.c (minus_zero): Likewise.
30229         * tests/test-isnan.c (minus_zerol): Likewise.
30230         * tests/test-isnanl.h (minus_zero): Likewise.
30231         * tests/test-ldexpl.c (minus_zero): Likewise.
30232         * tests/test-roundl.c (minus_zero): Likewise.
30233         * tests/test-signbit.c (minus_zerol): Likewise.
30234         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
30235         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
30236         * tests/test-truncl.c (minus_zero): Likewise.
30237         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
30238         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
30239         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
30240         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30241
30242 2008-10-17  Bruno Haible  <bruno@clisp.org>
30243
30244         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
30245         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
30246         that it gets activated only for gcc >= 3.0.
30247         * lib/dirent.in.h: Likewise.
30248         * lib/errno.in.h: Likewise.
30249         * lib/fcntl.in.h: Likewise.
30250         * lib/float.in.h: Likewise.
30251         * lib/iconv.in.h: Likewise.
30252         * lib/inttypes.in.h: Likewise.
30253         * lib/locale.in.h: Likewise.
30254         * lib/math.in.h: Likewise.
30255         * lib/netdb.in.h: Likewise.
30256         * lib/netinet_in.in.h: Likewise.
30257         * lib/search.in.h: Likewise.
30258         * lib/signal.in.h: Likewise.
30259         * lib/spawn.in.h: Likewise.
30260         * lib/stdarg.in.h: Likewise.
30261         * lib/stdint.in.h: Likewise.
30262         * lib/stdio.in.h: Likewise.
30263         * lib/stdlib.in.h: Likewise.
30264         * lib/string.in.h: Likewise.
30265         * lib/strings.in.h: Likewise.
30266         * lib/sys_file.in.h: Likewise.
30267         * lib/sys_ioctl.in.h: Likewise.
30268         * lib/sys_select.in.h: Likewise.
30269         * lib/sys_socket.in.h: Likewise.
30270         * lib/sys_stat.in.h: Likewise.
30271         * lib/sys_time.in.h: Likewise.
30272         * lib/sysexits.in.h: Likewise.
30273         * lib/time.in.h: Likewise.
30274         * lib/unistd.in.h: Likewise.
30275         * lib/wchar.in.h: Likewise.
30276         * lib/wctype.in.h: Likewise.
30277         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
30278
30279 2008-10-17  Jim Meyering  <meyering@redhat.com>
30280
30281         ignore-value: don't depend on inline module
30282         * modules/ignore-value (Depends-on): Remove 'inline'.
30283         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
30284         Suggestion from Bruno Haible.
30285
30286 2008-10-17  Bruno Haible  <bruno@clisp.org>
30287
30288         New implementation of condition variables for Win32.
30289         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
30290         (gl_linked_waitqueue_t): New type.
30291         (gl_cond_t): Use it.
30292         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
30293         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
30294         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
30295         (glthread_cond_init_func, glthread_cond_wait_func,
30296         glthread_cond_timedwait_func, glthread_cond_signal_func,
30297         glthread_cond_broadcast_func, glthread_cond_destroy_func):
30298         Reimplemented on the basis of gl_linked_waitqueue_t.
30299         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
30300         gl_waitqueue_t.
30301         (gl_rwlock_t): Update.
30302         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
30303
30304 2008-10-17  Simon Josefsson  <simon@josefsson.org>
30305
30306         * modules/recvfrom (Depends-on): Add dependency on getpeername.
30307         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
30308
30309 2008-10-17  Jim Meyering  <meyering@redhat.com>
30310
30311         ignore-value: new module
30312         * modules/ignore-value: New file.
30313         * lib/ignore-value.h: New file.
30314         * MODULES.html.sh (Compiler warning management): New section,
30315         just for this module.  More to come.
30316
30317 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30318
30319         open-safer.c: avoid 'signed and unsigned in conditional...' warning
30320         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
30321         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
30322
30323 2008-10-16  Jim Meyering  <meyering@redhat.com>
30324
30325         openat-die.c: avoid 'no previous prototype' warning
30326         * lib/openat-die.c: Include "openat.h".
30327         Reported by Reuben Thomas <rrt@sc3d.org>.
30328
30329 2008-10-16  Simon Josefsson  <simon@josefsson.org>
30330
30331         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
30332         * lib/netdb.in.h: Fix typo.
30333         Reported by Bruno Haible  <bruno@clisp.org>
30334
30335         * lib/netdb.in.h: Include sys/socket.h for platforms without
30336         netdb.h, to get structures like hostent on MinGW.
30337         * modules/netdb (Depends-on): Add sys_socket.
30338
30339 2008-10-15  Simon Josefsson  <simon@josefsson.org>
30340
30341         * modules/netdb, modules/netdb-tests: New file.
30342         * m4/netdb_h.m4: New file.
30343         * lib/netdb.in.h: Add, currently just an empty file pending
30344         definitions.
30345         * tests/test-netdb.c: New file.
30346         * doc/posix-headers/netdb.texi: Mention that we replace it if
30347         needed.
30348         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30349         netdb.
30350
30351 2008-10-15  Simon Josefsson  <simon@josefsson.org>
30352
30353         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
30354         with code.
30355
30356 2008-10-13  Bruno Haible  <bruno@clisp.org>
30357
30358         * lib/glthread/cond.c (glthread_cond_wait_func,
30359         glthread_cond_timedwait_func): Add a comment.
30360
30361 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
30362
30363         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
30364         * tests/test-select.c: Likewise,
30365
30366 2008-10-13  Bruno Haible  <bruno@clisp.org>
30367
30368         * lib/glthread/cond.c (glthread_cond_wait_func,
30369         glthread_cond_timedwait_func): Fix variable name.
30370         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
30371
30372 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
30373
30374         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
30375         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
30376         struct sockaddr.sa_len.
30377         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
30378
30379 2008-10-13  Simon Josefsson  <simon@josefsson.org>
30380
30381         * build-aux/pmccabe2html: Add css and css_url parameters.
30382
30383 2008-10-12  Bruno Haible  <bruno@clisp.org>
30384
30385         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
30386         calling aclx_get.
30387         Reported by Rainer Tammer <tammer@tammer.net>.
30388
30389 2008-10-12  Bruno Haible  <bruno@clisp.org>
30390
30391         Use msvcrt aware primitives for creation/termination of Win32 threads.
30392         * lib/glthread/thread.c: Include <process.h>.
30393         (glthread_create_func): Use _beginthreadex instead of CreateThread.
30394         (wrapper_func): Update signature.
30395         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
30396
30397 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
30398             Bruno Haible  <bruno@clisp.org>
30399
30400         Provide a Win32 implementation of the 'cond' module.
30401         * lib/glthread/cond.h [USE_WIN32]: New implementation.
30402         * lib/glthread/cond.c (glthread_cond_init_func,
30403         glthread_cond_wait_func, glthread_cond_timedwait_func,
30404         glthread_cond_signal_func, glthread_cond_broadcast_func,
30405         glthread_cond_destroy_func) [USE_WIN32]: New functions.
30406         * modules/cond (Dependencies): Add gettimeofday.
30407
30408 2008-10-11  Bruno Haible  <bruno@clisp.org>
30409
30410         Make sleep work on older versions of mingw.
30411         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
30412         only whether it exists.
30413         * doc/posix-functions/sleep.texi: Mention the problem with older
30414         versions of mingw.
30415
30416 2008-10-11  Bruno Haible  <bruno@clisp.org>
30417
30418         New module 'shutdown'.
30419         * modules/shutdown: New file.
30420         * lib/sys_socket.in.h (shutdown): New declaration.
30421         * lib/winsock.c (shutdown): New function.
30422         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
30423         GNULIB_SHUTDOWN.
30424         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
30425         * doc/posix-functions/shutdown.texi: Document the new module.
30426
30427 2008-10-11  Jim Meyering  <meyering@redhat.com>
30428
30429         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
30430
30431 2008-10-11  Bruno Haible  <bruno@clisp.org>
30432
30433         New module 'fclose'.
30434         * modules/fclose: New file.
30435         * lib/stdio.in.h (fclose): New declaration.
30436         * lib/fclose.c: New file.
30437         * m4/fclose.m4: New file.
30438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
30439         REPLACE_FCLOSE.
30440         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
30441         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
30442         REPLACE_FCLOSE.
30443         * modules/close (Depends-on): fclose.
30444         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
30445
30446 2008-10-11  Bruno Haible  <bruno@clisp.org>
30447
30448         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
30449         set errno and don't call _close.
30450
30451 2008-10-10  Bruno Haible  <bruno@clisp.org>
30452
30453         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
30454         ACL, not afterwards. Fixes test failure on Cygwin.
30455
30456 2008-10-09  Ben Pfaff  <blp@gnu.org>
30457
30458         * build-aux/announce-gen: Fix gnulib version related part of usage
30459         message.  Die with a useful error message if no tarballs are
30460         found.
30461
30462 2008-10-10  Jim Meyering  <meyering@redhat.com>
30463
30464         bootstrap: use git's --depth=N option only if it's supported
30465         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
30466         recognize the --depth option.  Reported by Pádraig Brady.
30467
30468 2008-10-09  Bruno Haible  <bruno@clisp.org>
30469
30470         New module 'ioctl'.
30471         * modules/ioctl: New file.
30472         * lib/sys_socket.in.h (ioctl): Remove declaration.
30473         * lib/winsock.c: Include <sys/ioctl.h>.
30474         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
30475         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
30476         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
30477         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
30478         * doc/posix-functions/ioctl.texi: Mention the new module.
30479
30480 2008-10-09  Bruno Haible  <bruno@clisp.org>
30481
30482         New module 'sys_ioctl'.
30483         * lib/sys_ioctl.in.h: New file.
30484         * m4/sys_ioctl_h.m4: New file.
30485         * modules/sys_ioctl: New file.
30486         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
30487
30488 2008-10-09  Bruno Haible  <bruno@clisp.org>
30489
30490         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
30491         * lib/winsock.c: Include <stdarg.h>.
30492         (rpl_ioctl): Change to second argument 'int' and then varargs.
30493
30494 2008-10-09  Bruno Haible  <bruno@clisp.org>
30495
30496         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
30497         when the sys_socket module is present and the system has <winsock2.h>.
30498
30499 2008-10-09  Bruno Haible  <bruno@clisp.org>
30500
30501         * doc/posix-functions/close.texi: Mention module 'close' instead of
30502         module 'sys_socket'.
30503
30504 2008-10-09  Bruno Haible  <bruno@clisp.org>
30505
30506         * doc/glibc-headers/sys_ioctl.texi: New file.
30507         * doc/gnulib.texi: Include it.
30508
30509 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
30510             Bruno Haible  <bruno@clisp.org>
30511
30512         Combine the two replacements of 'close'.
30513         * lib/sys_socket.in.h (close): Define to a reminder to include
30514         <unistd.h>.
30515         (_gl_close_fd_maybe_socket): New declaration.
30516         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
30517         * lib/winsock.c (close): Remove undefinition.
30518         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
30519         needed for the gnulib module 'close'.
30520         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
30521         define to an error symbol or to a warning, if suitable.
30522         * lib/close.c: Include <sys/socket.h>.
30523         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
30524         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
30525         UNISTD_H_HAVE_WINSOCK2_H.
30526         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
30527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30528         UNISTD_H_HAVE_WINSOCK2_H.
30529         * modules/sys_socket (Files): Add m4/unistd_h.m4.
30530         (configure.ac): Set a module indicator.
30531         (Makefile.am): Substitute GNULIB_CLOSE.
30532         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
30533         * modules/poll-tests (Depends-on): Add close.
30534         * modules/select-tests (Depends-on): Likewise.
30535
30536 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
30537             Bruno Haible  <bruno@clisp.org>
30538
30539         New module 'close'.
30540         * modules/close: New file.
30541         * lib/unistd.in.h (close): Move declaration out of the
30542         FCHDIR_REPLACEMENT scope.
30543         (_gl_unregister_fd): New declaration.
30544         * lib/close.c: New file.
30545         * lib/fchdir.c (rpl_close): Remove function.
30546         * m4/close.m4: New file.
30547         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
30548         close.
30549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
30550         REPLACE_CLOSE.
30551         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
30552         REPLACE_CLOSE.
30553         * modules/fchdir (Depends-on): Add close.
30554
30555 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
30556             Bruno Haible  <bruno@clisp.org>
30557
30558         * lib/fcntl.in.h (open): Simplify conditionals.
30559         (_gl_register_fd): New declaration.
30560         * lib/fchdir.c (rpl_open): Remove function.
30561         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
30562         also.
30563         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
30564         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
30565         open.
30566
30567 2008-10-09  Jim Meyering  <meyering@redhat.com>
30568
30569         GNUmakefile: use the more name-space-friendly "_version"
30570         * top/GNUmakefile (_dummy): Update.
30571         (_version): Rename from "version".
30572
30573 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
30574             Bruno Haible  <bruno@clisp.org>
30575
30576         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
30577         rpl_close.
30578         (_gl_register_fd): New function, extracted from rpl_open.
30579         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
30580         (rpl_open, rpl_opendir): Use _gl_register_fd.
30581
30582 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
30583
30584         Fix organization of 'open' replacement.
30585         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
30586         (gl_FUNC_OPEN): Use it.
30587         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
30588
30589 2008-10-08  Bruno Haible  <bruno@clisp.org>
30590
30591         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
30592
30593 2008-10-08  Simon Josefsson  <simon@josefsson.org>
30594
30595         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
30596         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
30597         listen).
30598
30599 2008-10-08  Eric Blake  <ebb9@byu.net>
30600
30601         GNUmakefile: add 'make version' target
30602         * top/GNUmakefile (_curr-ver): Split version update rules...
30603         (version): ...into a target.
30604
30605 2008-10-07  Bruno Haible  <bruno@clisp.org>
30606
30607         Use a more portable replacement expression for -0.0L.
30608         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
30609         instead of -0.0L. Fix m4 quotation.
30610
30611         * tests/test-signbit.c: Include <float.h>.
30612         (minus_zero): New variable.
30613         (test_signbitl): Use minus_zero instead of -zero.
30614         * modules/signbit-tests (Depends-on): Add float.
30615
30616         * tests/test-ceill.c: Include <float.h>.
30617         (zero): Remove variable.
30618         (minus_zero): New variable.
30619         (main): Use minus_zero instead of -zero.
30620         * modules/ceill-tests (Depends-on): Add float.
30621
30622         * tests/test-floorl.c: Include <float.h>.
30623         (zero): Remove variable.
30624         (minus_zero): New variable.
30625         (main): Use minus_zero instead of -zero.
30626         * modules/floorl-tests (Depends-on): Add float.
30627
30628         * tests/test-roundl.c: Include <float.h>.
30629         (zero): Remove variable.
30630         (minus_zero): New variable.
30631         (main): Use minus_zero instead of -zero.
30632         * modules/roundl-tests (Depends-on): Add float.
30633
30634         * tests/test-truncl.c: Include <float.h>.
30635         (zero): Remove variable.
30636         (minus_zero): New variable.
30637         (main): Use minus_zero instead of -zero.
30638         * modules/truncl-tests (Depends-on): Add float.
30639
30640         * tests/test-frexpl.c (zero): Remove variable.
30641         (minus_zero): New variable.
30642         (main): Use minus_zero instead of -zero.
30643         * modules/frexpl-tests (Depends-on): Add float.
30644
30645         * tests/test-isnan.c (zerol): Remove variable.
30646         (minus_zerol): New variable.
30647         (test_long_double): Use minus_zerol instead of -zerol.
30648         * modules/isnan-tests (Depends-on): Add float.
30649
30650         * tests/test-isnanl.h (zero): Remove variable.
30651         (minus_zero): New variable.
30652         (main): Use minus_zero instead of -zero.
30653         * modules/isnanl-nolibm-tests (Depends-on): Add float.
30654         * modules/isnanl-tests (Depends-on): Add float.
30655
30656         * tests/test-ldexpl.c (zero): Remove variable.
30657         (minus_zero): New variable.
30658         (main): Use minus_zero instead of -zero.
30659         * modules/ldexpl-tests (Depends-on): Add float.
30660
30661         * tests/test-snprintf-posix.h (zerol): Remove variable.
30662         (minus_zerol): New variable.
30663         (test_function): Use minus_zerol instead of -zerol.
30664         * modules/snprintf-posix-tests (Depends-on): Add float.
30665         * modules/vsnprintf-posix-tests (Depends-on): Add float.
30666
30667         * tests/test-sprintf-posix.h (zerol): Remove variable.
30668         (minus_zerol): New variable.
30669         (test_function): Use minus_zerol instead of -zerol.
30670         * modules/sprintf-posix-tests (Depends-on): Add float.
30671         * modules/vsprintf-posix-tests (Depends-on): Add float.
30672
30673         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
30674         (minus_zerol): New variable.
30675         (test_function): Use minus_zerol instead of -zerol.
30676         * modules/vasnprintf-posix-tests (Depends-on): Add float.
30677
30678         * tests/test-vasprintf-posix.c (zerol): Remove variable.
30679         (minus_zerol): New variable.
30680         (test_function): Use minus_zerol instead of -zerol.
30681         * modules/vasprintf-posix-tests (Depends-on): Add float.
30682
30683 2008-10-07  Simon Josefsson  <simon@josefsson.org>
30684
30685         * MODULES.html.sh (Support for building documentation): Mention
30686         pmccabe2html.  Sort entries.
30687
30688         Add pmccabe2html module, from gnupdf.
30689         * build-aux/pmccabe.css: New file.
30690         * build-aux/pmccabe2html: New file.
30691         * m4/pmccabe2html.m4: New file.
30692         * modules/pmccabe2html: New file.
30693
30694 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
30695
30696         flock: new module
30697         * MODULES.html.sh: Add to list of modules.
30698         * lib/flock.c: flock implementation for Windows and Unix systems
30699         which have fcntl.
30700         * doc/glibc-functions/flock.texi: Update documentation.
30701         * lib/sys_file.in.h: <sys/file.h> header file.
30702         * m4/flock.m4: M4 macros.
30703         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
30704         * modules/flock: flock module.
30705         * modules/flock-tests: flock tests module.
30706         * modules/sys_file: sys/file.h module.
30707         * tests/test-flock.c: test suite for flock.
30708
30709 2008-10-06  Jim Meyering  <meyering@redhat.com>
30710
30711         bootstrap: check for LT_INIT more portably still ;-)
30712         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
30713         Spotted by Bruno Haible.
30714
30715 2008-10-06  Eric Blake  <ebb9@byu.net>
30716
30717         test-signbit: avoid tripping Irix cc bug on -0.0L
30718         * tests/test-signbit.c (minus_zerol): Delete, and replace with
30719         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
30720         entire testsuite consistent and avoids an Irix 6.2 bug.
30721
30722 2008-10-05  Bruno Haible  <bruno@clisp.org>
30723             Jim Meyering  <jim@meyering.net>
30724
30725         Add an option for ignoring EPIPE during close_stdout.
30726         * lib/closeout.h: Include <stdbool.h>.
30727         (close_stdout_set_ignore_EPIPE): New declaration.
30728         * lib/closeout.c: Include <stdbool.h>.
30729         (ignore_EPIPE): New variable.
30730         (close_stdout_set_ignore_EPIPE): New function.
30731         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
30732         * lib/close-stream.c (close_stream): Mention the possible EPIPE
30733         failure.
30734         * modules/closeout (Depends-on): Add stdbool.
30735
30736 2008-10-05  Bruno Haible  <bruno@clisp.org>
30737
30738         * modules/accept: New file.
30739         * modules/bind: New file.
30740         * modules/connect: New file.
30741         * modules/getpeername: New file.
30742         * modules/getsockname: New file.
30743         * modules/getsockopt: New file.
30744         * modules/listen: New file.
30745         * modules/recv: New file.
30746         * modules/recvfrom: New file.
30747         * modules/send: New file.
30748         * modules/sendto: New file.
30749         * modules/setsockopt: New file.
30750         * modules/socket: New file.
30751         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
30752         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30753         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
30754         the particular module is requested. Add a link warning when the
30755         particular module is not requested.
30756         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
30757         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
30758         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
30759         the particular module is requested.
30760         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
30761         gl_SYS_SOCKET_H_DEFAULTS): New macros.
30762         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
30763         * modules/sys_socket (Depends-on): Add link-warning.
30764         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
30765         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
30766         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
30767         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
30768         GL_LINK_WARNING.
30769         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
30770         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
30771         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
30772         * doc/posix-functions/getpeername.texi: Mention the new module
30773         'getpeername'.
30774         * doc/posix-functions/getsockname.texi: Mention the new module
30775         'getsockname'.
30776         * doc/posix-functions/getsockopt.texi: Mention the new module
30777         'getsockopt'.
30778         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
30779         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
30780         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
30781         * doc/posix-functions/send.texi: Mention the new module 'send'.
30782         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
30783         * doc/posix-functions/setsockopt.texi: Mention the new module
30784         'setsockopt'.
30785         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
30786         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
30787         listen, connect, accept.
30788         * modules/select-tests (Depends-on): Likewise.
30789
30790 2008-10-05  Bruno Haible  <bruno@clisp.org>
30791
30792         * lib/winsock.c (strerror): Remove unused #undef.
30793         (rpl_close): Remove unused local variable.
30794
30795         * modules/sys_socket (Depends-on); Add errno.
30796
30797 2008-10-05  Bruno Haible  <bruno@clisp.org>
30798
30799         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
30800         (select): Add a link warning when the 'select' module is not used.
30801         * modules/sys_select (Depends-on): Add link-warning.
30802         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
30803         Suggested by Paolo Bonzini.
30804
30805 2008-10-05  Jim Meyering  <meyering@redhat.com>
30806
30807         bootstrap: check for LT_INIT more portably
30808         * build-aux/bootstrap: Avoid using grep -E, since it's not
30809         portable enough.  Suggestion from Bruno Haible.
30810
30811 2008-10-05  Bruno Haible  <bruno@clisp.org>
30812
30813         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
30814         as being fixed by gnulib.
30815
30816 2008-10-05  Bruno Haible  <bruno@clisp.org>
30817
30818         * modules/select-tests: New file, mostly copied from
30819         modules/sys_select-tests.
30820         * tests/test-select.c: New file, mostly copied from
30821         tests/test-sys_select.c.
30822         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
30823         * modules/sys_select-tests (Depends-on): Remove all dependencies.
30824         (Makefile.am): Remove test_sys_select_LDADD.
30825
30826         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
30827         to an undefined symbol, for an error message.
30828         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
30829         (gl_SYS_SELECT_H_DEFAULTS): New macro.
30830         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
30831         winsock-select.c here.
30832         * modules/sys_select (Files): Remove lib/winsock-select.c.
30833         (Depends-on): Remove alloca.
30834         (Makefile.am): Substitute GNULIB_SELECT.
30835         * modules/select: New file.
30836         * doc/posix-functions/select.texi: Update.
30837
30838 2008-10-05  Bruno Haible  <bruno@clisp.org>
30839
30840         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
30841         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
30842         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
30843         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
30844         getdtablesize.
30845         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
30846         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
30847
30848 2008-10-05  Bruno Haible  <bruno@clisp.org>
30849
30850         * modules/getdtablesize-tests: New file.
30851         * tests/test-getdtablesize.c: New file.
30852
30853         New module 'getdtablesize'.
30854         * lib/unistd.in.h (getdtablesize): New declaration.
30855         * lib/getdtablesize.c: New file.
30856         * m4/getdtablesize.m4: New file.
30857         * modules/getdtablesize: New file.
30858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30859         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
30860         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
30861         HAVE_GETDTABLESIZE.
30862         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
30863
30864 2008-10-05  Bruno Haible  <bruno@clisp.org>
30865
30866         * modules/sched (Makefile.am): Fix typo.
30867         Reported by Simon Josefsson.
30868
30869 2008-10-05  Jim Meyering  <meyering@redhat.com>
30870
30871         bootstrap: check for LT_INIT, too
30872         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
30873         are deprecated.  Suggestion from Ralf Wildenhues.
30874
30875 2008-10-05  Bruno Haible  <bruno@clisp.org>
30876
30877         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
30878         overriding them by ours.
30879         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
30880
30881 2008-10-05  Jim Meyering  <meyering@redhat.com>
30882
30883         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
30884         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
30885         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
30886
30887 2008-10-04  Bruno Haible  <bruno@clisp.org>
30888
30889         * modules/dup2 (License): Change to LGPLv2+.
30890         * modules/sleep (License): Likewise.
30891         * modules/perror (License): Likewise.
30892         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
30893         Blake.
30894         * modules/signal (License): Likewise.
30895         * modules/sigprocmask (License): Likewise.
30896         * modules/raise (License): Change to LGPLv2+, with approval by Jim
30897         Meyering.
30898
30899 2008-10-04  Bruno Haible  <bruno@clisp.org>
30900
30901         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
30902         Reported by Rainer Tammer <tammer@tammer.net>.
30903
30904 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
30905             Bruno Haible  <bruno@clisp.org>
30906
30907         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
30908         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
30909         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
30910
30911 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
30912
30913         filevercmp: new module
30914         * lib/filevercmp.h: New function filevercmp comparing version strings.
30915         * lib/filevercmp.c: Implementation of filevercmp function.
30916         * modules/filevercmp: Module metadata.
30917         * tests/test-filevercmp.c: Unit test for new module.
30918         * modules/filevercmp-tests: Unit test metadata.
30919         * MODULES.html.sh: Add filevercmp module.
30920
30921 2008-10-03  Bruno Haible  <bruno@clisp.org>
30922
30923         * lib/c-ctype.h: Add comment.
30924         Reported by Jim Meyering.
30925
30926 2008-10-02  Bruno Haible  <bruno@clisp.org>
30927
30928         * modules/posix_spawn-internal (Depends-on): Add 'open'.
30929
30930 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
30931
30932         * build-aux/bootstrap: Allow renaming bootstrap, and change the
30933         name of bootstrap.conf accordingly.
30934
30935 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
30936
30937         * build-aux/bootstrap: Install git-merge-changelog configuration
30938         items into .gitconfig if needed.
30939
30940 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
30941
30942         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
30943         git repository, and initialize/update it accordingly.
30944
30945 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
30946
30947         * modules/fsync-tests: New file.
30948         * tests/test-fsync.c: New file.
30949
30950         New module 'fsync'.
30951         * lib/fsync.c: New file.
30952         * m4/fsync.m4: New file.
30953         * modules/fsync: New file.
30954         * lib/unistd.in.h (fsync): New declaration.
30955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
30956         GNULIB_FSYNC and HAVE_FSYNC.
30957         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
30958         * MODULES.html.sh (posix_functions): Add fsync.
30959         * doc/posix-functions/fsync.texi: Mention the new module.
30960
30961 2008-10-02  Jim Meyering  <meyering@redhat.com>
30962
30963         fts.c: sync with similar code from coreutils' remove.c
30964         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
30965         Guard also with "#if defined __linux__", since for now at least,
30966         this code is Linux-kernel-specific.
30967
30968 2008-10-02  Jim Meyering  <meyering@redhat.com>
30969
30970         fts: bug fixes
30971         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
30972         Include <sys/vfs.h>, not <sys/statfs.h>.
30973
30974         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
30975         Include <sys/vfs.h>, not <sys/statfs.h>.
30976
30977 2008-10-01  Bruno Haible  <bruno@clisp.org>
30978
30979         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
30980         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
30981         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
30982         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
30983         * doc/posix-functions/posix_spawnp.texi: Likewise.
30984         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
30985         whether posix_spawn actually works.
30986         * m4/pipe.m4 (gl_PIPE): Likewise.
30987         * modules/execute (Files): Add m4/posix_spawn.m4.
30988         * modules/pipe (Files): Add m4/posix_spawn.m4.
30989         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
30990
30991 2008-10-01  Jim Meyering  <meyering@redhat.com>
30992
30993         remove trailing spaces
30994         * NEWS: Likewise.
30995         * lib/poll.c (poll): Likewise.
30996         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
30997         * lib/winsock.c (rpl_close): Likewise.
30998         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
30999         * modules/yield: Likewise.
31000         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
31001         * tests/test-sys_select.c (connect_to_socket): Likewise.
31002
31003         fts.c: adjust a new interface to be more generally useful
31004         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
31005         (fts_build): Adjust caller.
31006
31007 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31008
31009         * modules/cond-tests: New file.
31010         * tests/test-cond.c: New file.
31011
31012 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31013             Bruno Haible  <bruno@clisp.org>
31014
31015         * modules/cond (Dependencies): Add errno, time.
31016         * lib/glthread/cond.h: Include <time.h>.
31017         (gl_cond_define, gl_cond_define_initialized): Use the same definition
31018         across platforms.
31019
31020 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31021             Bruno Haible  <bruno@clisp.org>
31022
31023         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
31024
31025 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31026             Bruno Haible  <bruno@clisp.org>
31027
31028         * modules/tls-tests (Depends-on): Add thread, yield.
31029         (configure.ac): Remove all checks.
31030         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
31031         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
31032         gl_thread_self): Remove definitions. Include glthread/thread.h and
31033         glthread/yield.h instead.
31034         (test_tls): Pass an additional NULL argument to gl_thread_join.
31035
31036 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31037             Bruno Haible  <bruno@clisp.org>
31038
31039         * modules/lock-tests (Depends-on): Add thread, yield.
31040         (configure.ac): Remove all checks.
31041         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
31042         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
31043         gl_thread_self): Remove definitions. Include glthread/thread.h and
31044         glthread/yield.h instead.
31045         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
31046         additional NULL argument to gl_thread_join.
31047
31048 2008-09-30  Bruno Haible  <bruno@clisp.org>
31049
31050         Fix the Win32 implementation of the 'thread' module.
31051         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
31052         pointer type.
31053         (gl_thread_self): Invoke gl_thread_self_func.
31054         (gl_thread_self_func): New declaration.
31055         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
31056         (do_init_self_key, init_self_key): New functions.
31057         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
31058         Remove some fields.
31059         (running_threads, running_lock): Remove variables.
31060         (get_current_thread_handle): New function.
31061         (gl_thread_self_func, wrapper_func, glthread_create_func,
31062         glthread_join_func, gl_thread_exit_func): Largely rewritten and
31063         simplified.
31064
31065 2008-09-30  Bruno Haible  <bruno@clisp.org>
31066
31067         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
31068         files.
31069
31070 2008-09-30  Jim Meyering  <meyering@redhat.com>
31071
31072         fts.m4: correct the test for statfs.f_type
31073         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
31074         when checking for statfs.f_type.
31075
31076 2008-09-15  Simon Josefsson  <simon@josefsson.org>
31077
31078         tests: avoid some compiler warnings
31079         * tests/test-memchr.c (main): Pass NULL indirectly.
31080         * tests/test-getdate.c (main): Remove unused variable 'ret'.
31081
31082 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
31083
31084         getdate.y: disallow countable dayshifts like "4 yesterday ago"
31085         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
31086         exactly specified dayshifts.
31087         (dayshift): New rule.
31088         (rel): Add dayshift.
31089         (relative_time_table) [tomorrow, yesterday, today, now]:
31090         Use tDAY_SHIFT in place of tDAY_UNIT.
31091         * tests/test-getdate.c: Add tests for now-disallowed countable
31092         dayshifts, e.g., "4 yesterday ago".
31093
31094 2008-09-29  Bruno Haible  <bruno@clisp.org>
31095
31096         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
31097         * tests/test-posix_spawn1.in.sh: Renamed from
31098         tests/test-posix_spawn.in.sh.
31099         * tests/test-posix_spawn2.c: New file.
31100         * tests/test-posix_spawn2.in.sh: New file.
31101         * modules/posix_spawnp-tests (Files): Update.
31102         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
31103
31104 2008-09-29  Bruno Haible  <bruno@clisp.org>
31105
31106         Propagate effects of putenv/setenv/unsetenv to child processes.
31107         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
31108         * lib/pipe.c (create_pipe): Likewise.
31109
31110 2008-09-29  Bruno Haible  <bruno@clisp.org>
31111
31112         Enable use of shell scripts as executables in mingw.
31113         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
31114         run the program as a shell script.
31115         * lib/pipe.c (create_pipe): Likewise.
31116         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
31117         resulting array.
31118
31119 2008-09-29  Eric Blake  <ebb9@byu.net>
31120
31121         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
31122
31123 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
31124
31125         * doc/posix-functions/accept.texi: Update mingw problems.
31126         * doc/posix-functions/bind.texi: Update mingw problems.
31127         * doc/posix-functions/close.texi: Update mingw problems.
31128         * doc/posix-functions/connect.texi: Update mingw problems.
31129         * doc/posix-functions/getpeername.texi: Update mingw problems.
31130         * doc/posix-functions/getsockname.texi: Update mingw problems.
31131         * doc/posix-functions/getsockopt.texi: Update mingw problems.
31132         * doc/posix-functions/ioctl.texi: Update mingw problems.
31133         * doc/posix-functions/listen.texi: Update mingw problems.
31134         * doc/posix-functions/recv.texi: Update mingw problems.
31135         * doc/posix-functions/recvfrom.texi: Update mingw problems.
31136         * doc/posix-functions/select.texi: Update mingw problems.
31137         * doc/posix-functions/send.texi: Update mingw problems.
31138         * doc/posix-functions/sendto.texi: Update mingw problems.
31139         * doc/posix-functions/setsockopt.texi: Update mingw problems.
31140         * doc/posix-functions/socket.texi: Update mingw problems.
31141
31142 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
31143             Bruno Haible  <bruno@clisp.org>
31144
31145         * lib/sys_select.in.h: Include sys/time.h.
31146         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
31147         * modules/sys_select: Depend on sys_time.
31148         * tests/test-sys_select.c: Test that sys/select.h defines struct
31149         timeval fully.
31150
31151 2008-09-29  Bruno Haible  <bruno@clisp.org>
31152
31153         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
31154         * lib/sys_select.in.h: Likewise.
31155
31156 2008-09-29  Bruno Haible  <bruno@clisp.org>
31157
31158         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
31159
31160 2008-09-29  Bruno Haible  <bruno@clisp.org>
31161
31162         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
31163         Set LIBSOCKET instead of augmenting LIBS.
31164         * modules/sockets (Link): New section.
31165         * modules/sockets-tests (test_sockets_LDADD): New variable.
31166         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
31167         * modules/poll-tests (test_poll_LDADD): New variable.
31168         * NEWS: Document the change.
31169
31170 2008-09-29  Bruno Haible  <bruno@clisp.org>
31171
31172         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
31173         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
31174         ARPA_INET_H directly.
31175         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
31176
31177 2008-09-28  Bruno Haible  <bruno@clisp.org>
31178
31179         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
31180         from gl_HEADER_SYS_SOCKET.
31181         (gl_HEADER_SYS_SOCKET): Invoke it.
31182         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31183
31184 2008-09-28  Bruno Haible  <bruno@clisp.org>
31185
31186         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
31187         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
31188         Needed on OSF/1 4.0.
31189
31190 2008-09-28  Bruno Haible  <bruno@clisp.org>
31191
31192         Override open more carefully.
31193         * lib/open.c (orig_open): New function.
31194         (rpl_open): Use orig_open instead of open.
31195         * lib/fcntl.in.h: Add special invocation convention.
31196         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
31197         (gl_FUNC_OPEN): Invoke it.
31198
31199         Override freopen more carefully.
31200         * lib/freopen.c (orig_freopen): New function.
31201         (rpl_freopen): Use orig_freopen instead of freopen.
31202         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
31203         (gl_FUNC_FREOPEN): Invoke it.
31204
31205         Override fopen more carefully.
31206         * lib/fopen.c (orig_fopen): New function.
31207         (rpl_fopen): Use orig_fopen instead of fopen.
31208         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
31209         (gl_FUNC_FOPEN): Invoke it.
31210         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
31211
31212 2008-09-28  Bruno Haible  <bruno@clisp.org>
31213
31214         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
31215         SIGPIPE.
31216
31217 2008-09-28  Bruno Haible  <bruno@clisp.org>
31218
31219         * tests/test-sigaction.c (handler, main): Disable the check whether
31220         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
31221         glibc systems with LinuxThreads.
31222
31223 2008-09-28  Bruno Haible  <bruno@clisp.org>
31224
31225         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
31226
31227         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
31228         with AIX xlc.
31229         * lib/fcntl.in.h (open): Likewise.
31230         Reported by Rainer Tammer <tammer@tammer.net>.
31231
31232 2008-09-28  Bruno Haible  <bruno@clisp.org>
31233
31234         * modules/posix_spawnp-tests: New file.
31235         * tests/test-posix_spawn.c: New file.
31236         * tests/test-posix_spawn.in.sh: New file.
31237
31238         New module 'posix_spawnp'.
31239         * modules/posix_spawnp: New file.
31240         * lib/spawnp.c: New file, from GNU libc with modifications.
31241         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
31242
31243         New module 'posix_spawn'.
31244         * modules/posix_spawn: New file.
31245         * lib/spawn.c: New file, from GNU libc with modifications.
31246         * doc/posix-functions/posix_spawn.texi: Mention the new module.
31247
31248         New module 'posix_spawnattr_destroy'.
31249         * modules/posix_spawnattr_destroy: New file.
31250         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
31251         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
31252         module.
31253
31254         New module 'posix_spawnattr_setsigmask'.
31255         * modules/posix_spawnattr_setsigmask: New file.
31256         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
31257         modifications.
31258         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
31259         new module.
31260
31261         New module 'posix_spawnattr_getsigmask'.
31262         * modules/posix_spawnattr_getsigmask: New file.
31263         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
31264         modifications.
31265         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
31266         new module.
31267
31268         New module 'posix_spawnattr_setsigdefault'.
31269         * modules/posix_spawnattr_setsigdefault: New file.
31270         * lib/spawnattr_setdefault.c: New file, from GNU libc with
31271         modifications.
31272         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
31273         new module.
31274
31275         New module 'posix_spawnattr_getsigdefault'.
31276         * modules/posix_spawnattr_getsigdefault: New file.
31277         * lib/spawnattr_getdefault.c: New file, from GNU libc with
31278         modifications.
31279         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
31280         new module.
31281
31282         New module 'posix_spawnattr_setschedpolicy'.
31283         * modules/posix_spawnattr_setschedpolicy: New file.
31284         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
31285         modifications.
31286         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
31287         new module.
31288
31289         New module 'posix_spawnattr_getschedpolicy'.
31290         * modules/posix_spawnattr_getschedpolicy: New file.
31291         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
31292         modifications.
31293         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
31294         new module.
31295
31296         New module 'posix_spawnattr_setschedparam'.
31297         * modules/posix_spawnattr_setschedparam: New file.
31298         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
31299         modifications.
31300         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
31301         new module.
31302
31303         New module 'posix_spawnattr_getschedparam'.
31304         * modules/posix_spawnattr_getschedparam: New file.
31305         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
31306         modifications.
31307         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
31308         new module.
31309
31310         New module 'posix_spawnattr_setpgroup'.
31311         * modules/posix_spawnattr_setpgroup: New file.
31312         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
31313         modifications.
31314         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
31315         module.
31316
31317         New module 'posix_spawnattr_getpgroup'.
31318         * modules/posix_spawnattr_getpgroup: New file.
31319         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
31320         modifications.
31321         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
31322         module.
31323
31324         New module 'posix_spawnattr_setflags'.
31325         * modules/posix_spawnattr_setflags: New file.
31326         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
31327         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
31328         module.
31329
31330         New module 'posix_spawnattr_getflags'.
31331         * modules/posix_spawnattr_getflags: New file.
31332         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
31333         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
31334         module.
31335
31336         New module 'posix_spawnattr_init'.
31337         * modules/posix_spawnattr_init: New file.
31338         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
31339         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
31340         module.
31341
31342         New module 'posix_spawn_file_actions_destroy'.
31343         * modules/posix_spawn_file_actions_destroy: New file.
31344         * lib/spawn_faction_destroy.c: New file, from GNU libc with
31345         modifications.
31346         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
31347         the new module.
31348
31349         New module 'posix_spawn_file_actions_addopen'.
31350         * modules/posix_spawn_file_actions_addopen: New file.
31351         * lib/spawn_faction_addopen.c: New file, from GNU libc with
31352         modifications.
31353         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
31354         the new module.
31355
31356         New module 'posix_spawn_file_actions_adddup2'.
31357         * modules/posix_spawn_file_actions_adddup2: New file.
31358         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
31359         modifications.
31360         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
31361         the new module.
31362
31363         New module 'posix_spawn_file_actions_addclose'.
31364         * modules/posix_spawn_file_actions_addclose: New file.
31365         * lib/spawn_faction_addclose.c: New file, from GNU libc with
31366         modifications.
31367         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
31368         the new module.
31369
31370         New module 'posix_spawn_file_actions_init'.
31371         * modules/posix_spawn_file_actions_init: New file.
31372         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
31373         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
31374         new module.
31375
31376         New module 'posix_spawn-internal'.
31377         * modules/posix_spawn-internal: New file.
31378         * lib/spawn_int.h: New file, from GNU libc with modifications.
31379         * lib/spawni.c: New file, from GNU libc with modifications.
31380         * m4/posix_spawn.m4: New file.
31381
31382         New module 'spawn'.
31383         * modules/spawn: New file.
31384         * lib/spawn.in.h: New file, from GNU libc with modifications.
31385         * m4/spawn_h.m4: New file.
31386         * doc/posix-headers/spawn.texi: Mention the new module.
31387
31388 2008-09-28  Bruno Haible  <bruno@clisp.org>
31389
31390         * modules/sched-tests: New file.
31391         * tests/test-sched.c: New file.
31392
31393         New module 'sched'.
31394         * modules/sched: New file.
31395         * lib/sched.in.h: New file.
31396         * m4/sched_h.m4: New file.
31397         * doc/posix-headers/sched.texi: Mention the new module.
31398
31399 2008-09-27  Eric Blake  <ebb9@byu.net>
31400
31401         Fix previous patch, and tweak references to $0.
31402         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
31403         (func_version, func_gnulib_dir): Don't call this program
31404         gnulib-tool.
31405         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
31406         with using $0 in function.
31407         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
31408         (func_fatal_error): Reuse the name the user invoked us with.
31409
31410 2008-09-27  Bruno Haible  <bruno@clisp.org>
31411
31412         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
31413         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
31414         (gl_ICONV_H): Not here.
31415         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31416         instead of assigning ICONV_H directly.
31417
31418         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
31419         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
31420         WCHAR_H directly.
31421
31422 2008-09-27  Bruno Haible  <bruno@clisp.org>
31423
31424         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
31425         * modules/arpa_inet (Depends-on): Add link-warning.
31426         (Makefile.am): Insert the definition of GL_LINK-WARNING.
31427         * modules/unistd (Makefile.am): Likewise.
31428
31429 2008-09-26  Bruno Haible  <bruno@clisp.org>
31430
31431         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
31432         variables.
31433         (func_version): Essentially copied from gnulib-tool.
31434         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
31435         func_readlink): Copied from gnulib-tool.
31436
31437 2008-09-26  Bruno Haible  <bruno@clisp.org>
31438
31439         * gnulib-tool (func_version): Change directory to $gnulib_dir before
31440         invoking git-version-gen.
31441
31442 2008-09-26  Bruno Haible  <bruno@clisp.org>
31443
31444         * posix-modules: Update to directory names changed on 2008-01-19.
31445         Remove commas in output before splitting into words. No more need to
31446         avoid 'ftruncate' since 2007-02-19.
31447
31448 2008-09-26  Bruno Haible  <bruno@clisp.org>
31449
31450         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
31451
31452 2008-09-26  Bruno Haible  <bruno@clisp.org>
31453
31454         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
31455         * modules/fwriteerror (Depends-on): Add errno.
31456
31457 2008-09-26  Bruno Haible  <bruno@clisp.org>
31458
31459         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
31460         * tests/test-vc-list-files-cvs.sh: Likewise.
31461
31462 2008-09-26  Bruno Haible  <bruno@clisp.org>
31463
31464         * doc/posix-headers/sys_resource.texi: Reorder items.
31465
31466 2008-09-26  Jim Meyering  <meyering@redhat.com>
31467
31468         fts: tweak inode comparison function
31469         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
31470         inode numbers, as documented.
31471
31472         fts: sort dirent entries on inode number before traversing
31473         This avoids a quadratic, seek-related performance penalty when
31474         operating on a directory containing many entries (measurable at 10k;
31475         3.5 hours at 2 million entries with a cold cache) on certain types
31476         of file systems, including ext3 and ext4, but not tmpfs.
31477         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
31478         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
31479         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
31480         (fs_handles_readdir_ordered_dirents_efficiently): New function.
31481         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
31482         (fts_build): Set the stat.st_ino member from D_INO.
31483         If it is likely to be useful, sort dirent entries on inode number.
31484
31485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
31486         and the struct statfs.f_type member.
31487         * modules/fts (Depends-on): Add d-ino.
31488
31489 2008-09-26  Bruno Haible  <bruno@clisp.org>
31490
31491         * modules/sigpipe-die (Depends-on): Add sigpipe.
31492
31493         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
31494         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
31495         and GNULIB_STDIO_H_SIGPIPE are set.
31496         * lib/stdio-write.c: New file.
31497         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
31498         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
31499         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
31500         REPLACE_STDIO_WRITE_FUNCS.
31501         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
31502         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
31503         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
31504         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
31505         * modules/stdio (Files): Add lib/stdio-write.c.
31506         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
31507         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
31508         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
31509         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
31510         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
31511         REPLACE_FPRINTF_POSIX.
31512         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
31513         REPLACE_PRINTF_POSIX.
31514         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
31515         REPLACE_VFPRINTF_POSIX.
31516         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
31517         REPLACE_VPRINTF_POSIX.
31518         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
31519         SIGPIPE issue.
31520         * doc/posix-functions/fputc.texi: Likewise.
31521         * doc/posix-functions/fputs.texi: Likewise.
31522         * doc/posix-functions/fwrite.texi: Likewise.
31523         * doc/posix-functions/printf.texi: Likewise.
31524         * doc/posix-functions/putc.texi: Likewise.
31525         * doc/posix-functions/putchar.texi: Likewise.
31526         * doc/posix-functions/puts.texi: Likewise.
31527         * doc/posix-functions/vfprintf.texi: Likewise.
31528         * doc/posix-functions/vprintf.texi: Likewise.
31529
31530         * modules/safe-write (Depends-on): Add write.
31531
31532         * modules/sigpipe-tests: New file.
31533         * tests/test-sigpipe.c: New file.
31534         * tests/test-sigpipe.sh: New file.
31535
31536         * modules/write: New file.
31537         * lib/unistd.in.h: Include <sys/types.h>.
31538         (write): New declaration.
31539         * lib/write.c: New file.
31540         * m4/write.m4: New file.
31541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31542         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
31543         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
31544         GNULIB_WRITE, REPLACE_WRITE.
31545         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
31546         and the SIGPIPE issue.
31547
31548         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
31549         (raise): New declaration.
31550         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
31551         (ext_signal): New function.
31552         (rpl_raise): New function.
31553         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
31554         GNULIB_SIGNAL_H_SIGPIPE.
31555         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
31556         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
31557
31558         * modules/sigpipe: New file.
31559         * m4/sigpipe.m4: New file.
31560
31561 2008-09-25  Derek Price  <derek@ximbiot.com>
31562             Bruno Haible  <bruno@clisp.org>
31563
31564         * gnulib-tool (func_import): Report all license incompatibilities, not
31565         just the first one.
31566
31567 2008-09-25  Bruno Haible  <bruno@clisp.org>
31568
31569         * gnulib-tool (func_import): When computing the edits, consider not
31570         only the Makefile.ams that exist but also those that will be generated.
31571
31572 2008-09-25  Simon Josefsson  <simon@josefsson.org>
31573
31574         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
31575         fixes gnulib-tool --test warning about duplicate dependency.
31576
31577 2008-09-25  Bruno Haible  <bruno@clisp.org>
31578
31579         * gnulib-tool: Don't ask the user to perform edits in the generated
31580         Makefile.ams.
31581         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
31582         apply to the Makefile.am being generated.
31583         (func_emit_tests_Makefile_am): Execute edits that apply to the
31584         Makefile.am being generated.
31585         (func_import): Setup list of Makefile.am edits before emitting the
31586         Makefile.ams, not at the end.
31587         (func_create_testdir): Update.
31588         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31589
31590 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31591
31592         * gnulib-tool (func_import): Store the --tests-base option in the
31593         comment in gnulib-cache.m4.
31594
31595 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
31596
31597         * NEWS: Document increased portability that sys_select now provides.
31598
31599         * lib/sys_select.in.h: Install select wrapper.
31600         * lib/sys_socket.in.h: Use more descriptive name when there is no
31601         select wrapper.
31602         * lib/winsock-select.c: New.
31603         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
31604         Require gl_HEADER_SYS_SOCKET.
31605         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
31606         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
31607         * tests/test-sys_select.c: Add functional tests.
31608
31609 2008-09-24  Eric Blake  <ebb9@byu.net>
31610
31611         open, fopen: close fd leak in last patch
31612         * lib/open.c (rpl_open): Close fd before returning error.
31613         * lib/fopen.c (rpl_fopen): Close fd before returning error.
31614         * doc/posix-functions/open.texi (open): Document that Irix also
31615         has the bug.
31616         * doc/posix-functions/fopen.texi (fopen): Likewise.
31617         Reported by Paolo Bonzini.
31618
31619 2008-09-24  Bruno Haible  <bruno@clisp.org>
31620
31621         Ensure that a filename ending in a slash cannot be used to access a
31622         non-directory.
31623         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
31624         to check whether it's really a directory.
31625         * lib/fopen.c: Include fcntl.h, unistd.h.
31626         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
31627         and fdopen().
31628         * modules/fopen (Depends-on): Add unistd.
31629         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
31630         * tests/test-fopen.c (main): Likewise.
31631         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
31632         * doc/posix-functions/fopen.texi: Likewise.
31633         Reported by Eric Blake.
31634
31635 2008-09-23  Eric Blake  <ebb9@byu.net>
31636
31637         c-stack: avoid compiler optimizations when provoking overflow
31638         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
31639         recursion harder to optimize, to ensure a stack overflow occurs.
31640         * tests/test-c-stack.c (recurse): Likewise.
31641         Borrowed from libsigsegv.
31642
31643         c-stack: work around Irix sigaltstack bug
31644         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
31645         whether sigaltstack uses wrong end of stack_t (copied in part from
31646         libsigsegv).
31647         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
31648         Irix bug, without requiring an over-allocation.
31649         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
31650         bug.
31651
31652         fopen: document mingw bug on directories
31653         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
31654         not allowing a stream visiting a directory, even though reading
31655         from such a stream is not portable.
31656
31657 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
31658
31659         * lib/poll.c: Rewrite.
31660         * modules/poll: Depend on alloca.
31661
31662 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
31663
31664         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
31665         instead define prototypes for a full set of wrappers.  Ensure
31666         that Cygwin does not use the compatibility code, which is only
31667         for MinGW.
31668         * lib/winsock.c: New.
31669         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
31670         * modules/sys_socket: Add lib/winsock.c.
31671
31672         * modules/poll-tests: Add errno and perror.
31673         * tests/test-poll.c: Use ioctl, not ioctlsocket.
31674
31675 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
31676
31677         * tests/test-poll.c: Downgrade minimum needed Winsock version.
31678
31679 2008-09-23  Bruno Haible  <bruno@clisp.org>
31680
31681         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
31682         * doc/glibc-functions/*: Likewise.
31683
31684 2008-09-23  Simon Josefsson  <simon@josefsson.org>
31685
31686         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
31687         success.
31688
31689 2008-09-22  Eric Blake  <ebb9@byu.net>
31690             Bruno Haible  <bruno@clisp.org>
31691
31692         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
31693         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
31694         supply %A but mishandle pseudo-NaN.
31695         Reported by Simon Josefsson.
31696
31697 2008-09-21  Bruno Haible  <bruno@clisp.org>
31698
31699         * tests/test-lock.c (main): Tweak skip message.
31700         * tests/test-tls.c (main): Likewise.
31701
31702 2008-09-21  Bruno Haible  <bruno@clisp.org>
31703
31704         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
31705         whether 'struct sigaction' has sa_sigaction here...
31706         (gl_PREREQ_SIG_HANDLER_H): ... not here.
31707         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
31708
31709 2008-09-21  Bruno Haible  <bruno@clisp.org>
31710
31711         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
31712         section.
31713         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
31714         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
31715         the new section.
31716         (Support for obsolete systems lacking POSIX:2001): New section.
31717         (String handling <string.h>): Move strdup to the new section.
31718         Suggested by Simon Josefsson and Paolo Bonzini.
31719
31720 2008-09-21  Bruno Haible  <bruno@clisp.org>
31721
31722         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
31723         exponents in %e and %g results on 'long double'. Needed for mingw's
31724         improved *printf functions.
31725         * tests/test-vasprintf-posix.c (test_function): Likewise.
31726         * tests/test-snprintf-posix.h (test_function): Likewise.
31727         * tests/test-sprintf-posix.h (test_function): Likewise.
31728         Reported by Eric Blake.
31729
31730 2008-09-21  Bruno Haible  <bruno@clisp.org>
31731
31732         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
31733         * tests/test-sprintf-posix.h (test_function): Likewise.
31734
31735 2008-09-21  Bruno Haible  <bruno@clisp.org>
31736
31737         * modules/getpass (Depends-on): Add strdup-posix.
31738
31739         New module 'strdup-posix'.
31740         * modules/strdup-posix: New file.
31741         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
31742         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
31743         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31744         REPLACE_STRDUP.
31745         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
31746         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
31747         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31748         strdup-posix.
31749
31750         * modules/strdup (Depends-on): Remove malloc-posix.
31751
31752 2008-09-20  Bruno Haible  <bruno@clisp.org>
31753
31754         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
31755         Wildenhues.
31756
31757 2008-09-20  Bruno Haible  <bruno@clisp.org>
31758
31759         Ensure that wint_t gets defined on IRIX 5.3.
31760         * lib/wchar.in.h (wint_t): Define if not defined by the system.
31761         * lib/wctype.in.h (wint_t): Likewise.
31762         (__wctype_wint_t): Remove type.
31763         (isw*): Use wint_t instead of __wctype_wint_t.
31764         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
31765         * modules/wchar (Files): Add m4/wint_t.m4.
31766         (Makefile.am): Substitute HAVE_WINT_T.
31767         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
31768         * tests/test-wctype.c: Check that wint_t is defined.
31769         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
31770         * doc/posix-headers/wctype.texi: Likewise.
31771         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31772
31773 2008-09-18  Bruno Haible  <bruno@clisp.org>
31774
31775         * gnulib-tool (func_exit): Update comment.
31776
31777 2008-09-18  Simon Josefsson  <simon@josefsson.org>
31778
31779         * modules/getaddrinfo (Depends-on): Remove strdup, this module
31780         assumes strdup exists and does not depend on strdup to return
31781         ENOMEM on out of memory conditions.
31782
31783 2008-09-18  Bruno Haible  <bruno@clisp.org>
31784
31785         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
31786         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
31787         digits for the exponent.
31788
31789 2008-09-18  Jim Meyering  <meyering@redhat.com>
31790             Bruno Haible  <bruno@clisp.org>
31791
31792         * lib/vasnprintf.c (decimal_point_char): Define also if
31793         NEED_PRINTF_INFINITE_LONG_DOUBLE.
31794
31795 2008-09-16  Bruno Haible  <bruno@clisp.org>
31796         and Eric Blake  <ebb9@byu.net>
31797
31798         vasnprintf: support Irix 5.3
31799         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
31800         that mishandle long double infinity.
31801         Reported by Tom G. Christensen.
31802
31803 2008-09-16  Bruno Haible  <bruno@clisp.org>
31804
31805         * doc/glibc-functions/scandir.texi: Mention the function is missing on
31806         Solaris 9.
31807         * doc/glibc-functions/alphasort.texi: Likewise.
31808         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
31809
31810 2008-09-16  Jim Meyering  <meyering@redhat.com>
31811
31812         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
31813         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
31814         a umask modification leak out of a subshell.  Otherwise, the
31815         opensolaris /bin/sh would be accepted and thus cause unwarranted
31816         failures in the coreutils test suite.
31817
31818 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
31819
31820         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
31821         to succeed.
31822
31823 2008-09-16  Jim Meyering  <meyering@redhat.com>
31824
31825         avoid spurious test failure when library is built without ACL support
31826         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
31827         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
31828         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
31829         * tests/test-copy-acl.sh: Likewise.
31830
31831 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31832
31833         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
31834         based on character occurrence counts.
31835
31836 2008-09-15  Eric Blake  <ebb9@byu.net>
31837
31838         tests: avoid some compiler warnings
31839         * tests/test-memchr.c (main): Pass NULL indirectly.
31840         * tests/test-closein.c (main): Avoid unused variable.
31841
31842 2008-09-15  Bruno Haible  <bruno@clisp.org>
31843
31844         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
31845         are missing on OpenBSD 4.0 individually.
31846         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31847
31848 2008-09-15  Bruno Haible  <bruno@clisp.org>
31849
31850         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
31851         * doc/posix-functions/strerror.texi: Mention also Cygwin.
31852         * doc/posix-functions/perror.texi: Likewise.
31853         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
31854         is missing.
31855         Reported by Eric Blake.
31856
31857         * lib/errno.in.h: Use replacement values >= 2000.
31858         Reported by Eric Blake.
31859
31860 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31861
31862         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
31863         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
31864         limit.
31865         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
31866         compareseq was aborted.
31867
31868 2008-09-14  Bruno Haible  <bruno@clisp.org>
31869
31870         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
31871         yvec_edit_count.
31872         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
31873         (fstrcmp_bounded): Simplify result computation accordingly.
31874
31875 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31876
31877         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
31878         (fstrcmp): Define in terms of fstrcmp_bounded.
31879         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
31880         lower_bound argument.
31881         Return quickly if the result is certainly < lower_bound.
31882         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
31883
31884 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31885
31886         * lib/diffseq.h (EARLY_ABORT): New macro.
31887         (compareseq): Change return type to bool. Return true when EARLY_ABORT
31888         evaluates to true.
31889
31890 2008-09-14  Bruno Haible  <bruno@clisp.org>
31891
31892         * modules/perror-tests: New file.
31893         * tests/test-perror.sh: New file.
31894         * tests/test-perror.c: New file.
31895
31896         New module 'perror'.
31897         * lib/stdio.in.h (perror): New declaration.
31898         * lib/perror.c: New file.
31899         * m4/perror.m4: New file.
31900         * modules/perror: New file.
31901         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
31902         * doc/posix-functions/perror.texi: Mention the perror module.
31903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
31904         REPLACE_PERROR.
31905         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
31906         REPLACE_PERROR.
31907
31908 2008-09-14  Bruno Haible  <bruno@clisp.org>
31909
31910         * modules/stdio (Makefile.am): Reorder to match the order in
31911         lib/stdio.in.h.
31912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31913
31914 2008-09-13  Bruno Haible  <bruno@clisp.org>
31915
31916         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
31917
31918 2008-09-13  Bruno Haible  <bruno@clisp.org>
31919
31920         Extend strerror to cover the added errno values.
31921         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
31922         (rpl_strerror): Provide error messages for the added errno values and
31923         for the WSA* values.
31924         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
31925         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
31926         strerror.
31927         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
31928         * modules/strerror (Depends-on): Add errno.
31929         * doc/posix-functions/strerror.texi: Document the change.
31930         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
31931         and EOVERFLOW.
31932
31933 2008-09-13  Bruno Haible  <bruno@clisp.org>
31934
31935         * modules/EOVERFLOW: Remove file.
31936         * m4/eoverflow.m4: Remove file.
31937         * modules/EOVERFLOW-tests: Remove file.
31938         * tests/test-EOVERFLOW.c: Remove file.
31939         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
31940         * modules/ftell (Depends-on): Likewise.
31941         * modules/getdelim (Depends-on): Likewise.
31942         * modules/getugroups (Depends-on): Likewise.
31943         * modules/poll (Depends-on): Likewise.
31944         * modules/snprintf (Depends-on): Likewise.
31945         * modules/sprintf-posix (Depends-on): Likewise.
31946         * modules/vasnprintf (Depends-on): Likewise.
31947         * modules/vasprintf (Depends-on): Likewise.
31948         * modules/vfprintf-posix (Depends-on): Likewise.
31949         * modules/vsnprintf (Depends-on): Likewise.
31950         * modules/vsprintf-posix (Depends-on): Likewise.
31951         * modules/xvasprintf (Depends-on): Likewise.
31952         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31953         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
31954         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
31955         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
31956         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31957         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
31958         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
31959         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
31960         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31961         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
31962         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
31963         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
31964         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31965         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
31966         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
31967         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
31968         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31969         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
31970         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
31971         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
31972         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31973         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
31974         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
31975         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
31976         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
31977         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31978         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
31979         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
31980         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
31981         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
31982         * MODULES.html.sh: Remove EOVERFLOW.
31983         * NEWS: Mention the change.
31984
31985 2008-09-13  Bruno Haible  <bruno@clisp.org>
31986
31987         * modules/errno-tests: New file.
31988         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
31989
31990         * lib/errno.in.h: New file.
31991         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
31992         * modules/errno: New file.
31993         * doc/posix-headers/errno.texi: Update documentation.
31994         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
31995
31996 2008-09-13  Bruno Haible  <bruno@clisp.org>
31997
31998         * tests/test-poll.c: Use #if for native Windows, rather than testing
31999         __MSVCRT__.
32000
32001 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32002             Bruno Haible  <bruno@clisp.org>
32003
32004         * lib/glob.c: Don't include <pwd.h> on native Windows.
32005         (WINDOWS32): New macro.
32006         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
32007
32008 2008-09-13  Bruno Haible  <bruno@clisp.org>
32009
32010         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
32011         (ETIMEDOUT): Remove macro.
32012         (glthread_cond_timedwait_multithreaded): New declaration.
32013         (glthread_cond_timedwait): Use it.
32014         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
32015         (glthread_cond_timedwait_multithreaded): New function.
32016
32017 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32018
32019         * modules/poll-tests: Do not check for io.h.
32020         * tests/test-poll.c: Check for __MSVCRT__ instead.
32021
32022 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32023
32024         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
32025         * modules/poll-tests: Add inet_pton, stdbool, sockets.
32026         * tests/test-poll.c: Use them.  Use _pipe on Windows.
32027
32028 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32029
32030         * modules/poll-tests: New.
32031         * tests/test-poll.c: New.
32032
32033 2008-09-12  Eric Blake  <ebb9@byu.net>
32034
32035         frexp: test for NetBSD failure on -0.0
32036         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
32037         not all, bugs from NetBSD 3.0 have been fixed.
32038         * doc/posix-functions/frexp.texi (frexp): Document bug.
32039         Reported by Thomas Klausner.
32040
32041         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
32042         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
32043         literal -0.0.
32044         Reported by Jonathan C. Patschke <jp@centtech.com>.
32045
32046 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32047
32048         * lib/glthread/cond.h: Use dummy implementation also if
32049         USE_WIN32_THREADS.
32050
32051 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32052
32053         * modules/fnmatch-posix (License): Change to LGPLv2+.
32054         * modules/fnmatch-gnu (License): Likewise.
32055
32056 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32057
32058         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
32059
32060 2008-09-11  Jim Meyering  <meyering@redhat.com>
32061
32062         * users.txt: Add gtk-vnc.
32063
32064 2008-09-08  Simon Josefsson  <simon@josefsson.org>
32065
32066         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
32067         rotate amounts.
32068
32069         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
32070         required for 16-bit and 8-bit rotates.
32071         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
32072         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
32073         UINT8_MAX instead of hard-coded constants.
32074         Suggested by Paul Eggert.
32075
32076 2008-09-07  Bruno Haible  <bruno@clisp.org>
32077
32078         * tests/test-striconveh.c (main): Check behaviour when converting from
32079         UTF-7.
32080
32081         Make striconveh work better with stateful encodings.
32082         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
32083         that iconv does not increment the inptr when returning -1/EINVAL.
32084
32085 2008-09-07  Bruno Haible  <bruno@clisp.org>
32086
32087         * build-aux/config.rpath: Update according to libtool-2.2.6.
32088         * build-aux/config.libpath: Likewise.
32089
32090 2008-09-06  Bruno Haible  <bruno@clisp.org>
32091
32092         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
32093         * lib/freadptr.c (freadptr): Likewise.
32094         * lib/freadseek.c (freadptrinc): Likewise.
32095         Reported by Simon Josefsson.
32096
32097 2008-09-06  Bruno Haible  <bruno@clisp.org>
32098
32099         * modules/freadptr (License): Change to LGPLv2+.
32100         * modules/freadseek (License): Likewise.
32101         Suggested by Eric Blake.
32102
32103         * modules/memchr2 (License): Change to LGPLv2+.
32104         Approved by Eric Blake.
32105
32106 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32107             Bruno Haible  <bruno@clisp.org>
32108
32109         Make gnulib-tool work with native 'sed' on AIX.
32110         * gnulib-tool (sed_noop): New variable.
32111         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
32112         func_add_or_update, func_create_testdir): Use it to initialize sed
32113         script variables.
32114         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32115
32116 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
32117             Bruno Haible  <bruno@clisp.org>
32118
32119         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
32120         also works after #include directives.
32121
32122 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
32123
32124         getdate.y: reject an out-of-range timezone value
32125         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
32126         the range [-24...+24].  When specified with only one or two digits,
32127         * tests/test-getdate.c: Tests for the fix.
32128         * doc/getdate.texi: Document this change.
32129
32130 2008-09-03  Bruno Haible  <bruno@clisp.org>
32131
32132         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
32133
32134 2008-09-02  Simon Josefsson  <simon@josefsson.org>
32135
32136         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
32137         <bruce.korb@gmail.com> with ideas from Ben Pfaff
32138         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
32139         Blake <ebb9@byu.net>.
32140
32141         * tests/test-bitrotate.c: Add more test vectors.
32142
32143 2008-09-02  Eric Blake  <ebb9@byu.net>
32144
32145         vasnprintf-posix: handle large precision via %.*d
32146         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
32147         when handling it ourselves.
32148         * tests/test-vasnprintf-posix.c (test_function): Add test.
32149         * tests/test-snprintf-posix.h (test_function): Likewise.
32150         * tests/test-sprintf-posix.h (test_function): Likewise.
32151         * tests/test-vasprintf-posix.c (test_function): Likewise.
32152         Reported by Alain Guibert.
32153
32154 2008-09-01  Eric Blake  <ebb9@byu.net>
32155
32156         c-stack: make configure-time check more robust
32157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
32158         successful sigaction call.
32159         Reported by Tom G. Christensen.
32160
32161 2008-09-01  Bruno Haible  <bruno@clisp.org>
32162
32163         New module 'findprog-lgpl'.
32164         * modules/findprog-lgpl: New file.
32165         * lib/findprog-lgpl.c: New file.
32166         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
32167         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
32168         to decide whether to use strdup or xstrdup, concatenated_filename or
32169         xconcatenated_filename.
32170
32171 2008-09-01  Bruno Haible  <bruno@clisp.org>
32172
32173         Split module 'concat-filename' into 'concat-filename' (LGPL) and
32174         'xconcat-filename' (GPL).
32175         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
32176         (License): Change to LGPLv2+.
32177         * modules/xconcat-filename: New file.
32178         * lib/concat-filename.h (concatenated_filename): Change specification.
32179         (xconcatenated_filename): New declaration.
32180         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
32181         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
32182         memory situations.
32183         * lib/xconcat-filename.c: New file.
32184         * NEWS: Mention the change.
32185         * lib/findprog.c: Include concat-filename.h, not filename.h.
32186         (find_in_path): Use xconcatenated_filename instead of
32187         concatenated_filename.
32188         * lib/javacomp.c: Include concat-filename.h, not filename.h.
32189         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
32190         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
32191         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
32192         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
32193         instead of concatenated_filename.
32194         * lib/javaexec.c: Include concat-filename.h, not filename.h.
32195         (execute_java_class): Use xconcatenated_filename instead of
32196         concatenated_filename.
32197         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
32198         * modules/javacomp (Depends-on): Likewise.
32199         * modules/javaexec (Depends-on): Likewise.
32200
32201 2008-09-01  Bruno Haible  <bruno@clisp.org>
32202
32203         Split module 'filename' into 'filename' and 'concat-filename'.
32204         * modules/filename: Keep only lib/filename.h.
32205         (License): Change to LGPLv2+.
32206         * modules/concat-filename: New file, extracted from modules/filename.
32207         * lib/filename.h (concatenated_filename): Remove declaration.
32208         * lib/concat-filename.h: New file, extracted from lib/filename.h.
32209         * lib/concat-filename.c: Include concat-filename.h.
32210         * NEWS: Mention the change.
32211
32212 2008-09-01  Simon Josefsson  <simon@josefsson.org>
32213
32214         * lib/bitrotate.h (rotl8, rotr8): Add.
32215
32216         * modules/bitrotate (configure.ac): Need
32217         AC_REQUIRE([AC_C_INLINE]).
32218         (Description): Mention stdint.h.  Reported by Bruno Haible
32219         <bruno@clisp.org>.
32220
32221         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
32222         Paolo Bonzini <bonzini@gnu.org>.
32223
32224 2008-08-31  Bruno Haible  <bruno@clisp.org>
32225
32226         Assume Solaris specific bi-arch conventions on Solaris systems.
32227         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
32228         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
32229         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
32230         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
32231         like acl_libdirstem.
32232         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
32233         acl_libdirstem.
32234         * NEWS: Mention the change.
32235         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
32236
32237 2008-08-31  Jim Meyering  <meyering@redhat.com>
32238
32239         * lib/strftime.h: Add comments describing the two added arguments.
32240
32241         remove duplicate #include directives
32242         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
32243         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
32244
32245 2008-08-31  Bruno Haible  <bruno@clisp.org>
32246
32247         New module 'sigpipe-die'.
32248         * modules/sigpipe-die: New file.
32249         * lib/sigpipe-die.h: New file.
32250         * lib/sigpipe-die.c: New file.
32251         * MODULES.html.sh (Signal handling): Add sigpipe-die.
32252
32253 2008-08-31  Bruno Haible  <bruno@clisp.org>
32254
32255         Don't override previously installed signal handlers.
32256         * lib/fatal-signal.c (saved_sigactions): New variable.
32257         (uninstall_handlers): Reset the signal to the saved handler, not
32258         to SIG_DFL (except when ignored).
32259         (install_handlers): Save the previous handlers.
32260
32261 2008-08-30  Bruno Haible  <bruno@clisp.org>
32262
32263         * gnulib-tool (func_reset_sigpipe): New function.
32264         (func_get_automake_snippet, func_modules_transitive_closure,
32265         func_import): Invoke it before a join command that reads from stdin,
32266         to avoid "echo: write error: Broken pipe" error messages on stderr.
32267         Reported by Sam Steingold <sds@gnu.org>.
32268
32269 2008-08-30  Bruno Haible  <bruno@clisp.org>
32270
32271         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
32272         Code copied from m4/open.m4.
32273         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
32274         access and the filename ends in a slash. Code copied from lib/open.c.
32275         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
32276         * tests/test-fopen.c (main): Check against bug with trailing slash.
32277
32278 2008-08-29  Bruno Haible  <bruno@clisp.org>
32279
32280         Avoid some "gcc -pedantic" warnings.
32281         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
32282         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
32283         * lib/dirent.in.h: Likewise.
32284         * lib/fcntl.in.h: Likewise.
32285         * lib/float.in.h: Likewise.
32286         * lib/iconv.in.h: Likewise.
32287         * lib/inttypes.in.h: Likewise.
32288         * lib/locale.in.h: Likewise.
32289         * lib/math.in.h: Likewise.
32290         * lib/netinet_in.in.h: Likewise.
32291         * lib/search.in.h: Likewise.
32292         * lib/signal.in.h: Likewise.
32293         * lib/stdarg.in.h: Likewise.
32294         * lib/stdint.in.h: Likewise.
32295         * lib/stdio.in.h: Likewise.
32296         * lib/stdlib.in.h: Likewise.
32297         * lib/string.in.h: Likewise.
32298         * lib/strings.in.h: Likewise.
32299         * lib/sys_select.in.h: Likewise.
32300         * lib/sys_socket.in.h: Likewise.
32301         * lib/sys_stat.in.h: Likewise.
32302         * lib/sys_time.in.h: Likewise.
32303         * lib/sysexits.in.h: Likewise.
32304         * lib/time.in.h: Likewise.
32305         * lib/unistd.in.h: Likewise.
32306         * lib/wchar.in.h: Likewise.
32307         * lib/wctype.in.h: Likewise.
32308         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
32309         * modules/fchdir (Makefile.am): Likewise.
32310         * modules/fcntl (Makefile.am): Likewise.
32311         * modules/float (Makefile.am): Likewise.
32312         * modules/iconv_open (Makefile.am): Likewise.
32313         * modules/inttypes (Makefile.am): Likewise.
32314         * modules/locale (Makefile.am): Likewise.
32315         * modules/math (Makefile.am): Likewise.
32316         * modules/netinet_in (Makefile.am): Likewise.
32317         * modules/search (Makefile.am): Likewise.
32318         * modules/signal (Makefile.am): Likewise.
32319         * modules/stdarg (Makefile.am): Likewise.
32320         * modules/stdint (Makefile.am): Likewise.
32321         * modules/stdio (Makefile.am): Likewise.
32322         * modules/stdlib (Makefile.am): Likewise.
32323         * modules/string (Makefile.am): Likewise.
32324         * modules/strings (Makefile.am): Likewise.
32325         * modules/sys_select (Makefile.am): Likewise.
32326         * modules/sys_socket (Makefile.am): Likewise.
32327         * modules/sys_stat (Makefile.am): Likewise.
32328         * modules/sys_time (Makefile.am): Likewise.
32329         * modules/sysexits (Makefile.am): Likewise.
32330         * modules/time (Makefile.am): Likewise.
32331         * modules/unistd (Makefile.am): Likewise.
32332         * modules/wchar (Makefile.am): Likewise.
32333         * modules/wctype (Makefile.am): Likewise.
32334         Reported by Reuben Thomas <rrt@sc3d.org>.
32335
32336 2008-08-29  Bruno Haible  <bruno@clisp.org>
32337
32338         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
32339         any more.
32340
32341 2008-08-29  Simon Josefsson  <simon@josefsson.org>
32342
32343         * MODULES.html.sh (Misc): Add bitrotate.
32344
32345         * modules/bitrotate: New file.
32346
32347         * lib/bitrotate.h: New file.
32348
32349         * modules/bitrotate-tests: New file.
32350
32351         * tests/test-bitrotate.c: New file.
32352
32353         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
32354         on the bitrotate module.
32355
32356         * lib/arctwo.c: Use new bitrotate module.
32357
32358 2008-08-29  Jim Meyering  <meyering@redhat.com>
32359
32360         bootstrap: merge changes from coreutils
32361         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
32362         of copied files.  Remove a kludge, now that this is fixed.
32363         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
32364         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
32365         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
32366
32367 2008-08-29  Bruno Haible  <bruno@clisp.org>
32368
32369         * MODULES.html.sh: Remove --cvs-urls option.
32370
32371 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
32372
32373         maint.mk: adjust to file name change
32374         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
32375
32376 2008-08-28  Jim Meyering  <meyering@redhat.com>
32377
32378         * modules/getndelim2 (License): Relicense to LGPLv2+.
32379         Approved by Richard Stallman for the version of 1995, and by
32380         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
32381
32382 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
32383
32384         * lib/getdelim.c (flockfile, funlockfile): Make all of them
32385         dummy if one is not available.  Do not touch them if
32386         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
32387         (getc_maybe_unlocked): New.
32388         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
32389
32390 2008-08-26  Eric Blake  <ebb9@byu.net>
32391
32392         doc/INSTALL: resync from autoconf
32393         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
32394         (INSTALL_PRELUDE): Delete; this is done more efficiently by
32395         moving...
32396         * install.texi [!autoconf]: ...here.  Resync from autoconf.
32397         * INSTALL: Regenerate.
32398         * INSTALL.ISO: New file.
32399         * INSTALL.UTF-8: Likewise.
32400
32401 2008-08-26  Jim Meyering  <meyering@redhat.com>
32402
32403         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
32404         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
32405         these definitions conditional, so that they may be overridden, too.
32406
32407 2008-08-26  Bruno Haible  <bruno@clisp.org>
32408
32409         Generate INSTALL file variants with prettier quotes.
32410         * doc/Makefile (INSTALL_PRELUDE): New macro.
32411         (INSTALL): Use it.
32412         (INSTALL.ISO, INSTALL.UTF-8): New rules.
32413
32414 2008-08-26  Bruno Haible  <bruno@clisp.org>
32415
32416         Run makeinfo in an English locale.
32417         * doc/Makefile (MAKEINFO): New variable.
32418
32419 2008-08-26  Bruno Haible  <bruno@clisp.org>
32420
32421         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
32422         Suggested by Eric Blake.
32423
32424 2008-08-25  Bruno Haible  <bruno@clisp.org>
32425
32426         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
32427
32428 2008-08-25  Eric Blake  <ebb9@byu.net>
32429
32430         c-stack: test that stack overflow can be caught
32431         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
32432         that platform allows handling stack overflow; at least OS/2 EMX
32433         has sigaltstack, but crashes before transferring control to
32434         handler on stack overflow.
32435         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
32436         check for HAVE_STACK_OVERFLOW_HANDLING.
32437         Reported by Elbert Pol.
32438
32439 2008-08-25  Bruno Haible  <bruno@clisp.org>
32440
32441         * doc/posix-functions/strftime.texi: Fix description of strftime
32442         module.
32443
32444 2008-08-24  Bruno Haible  <bruno@clisp.org>
32445
32446         * tests/uniwidth/test-uc_width2.c: New file.
32447         * tests/uniwidth/test-uc_width2.sh: New file.
32448         * modules/uniwidth/width-tests (Files): Add the new files.
32449         (TESTS): Add uniwidth/test-uc_width2.sh.
32450         (TESTS_ENVIRONMENT): New variable.
32451         (check_PROGRAMS): Add test-uc_width2.
32452         (test_uc_width2_SOURCES): New variable.
32453
32454         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
32455         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
32456         not 0x00AB.
32457         Reported by Alexander V. Lukyanov <lav@netis.ru>.
32458
32459 2008-08-22  Eric Blake  <ebb9@byu.net>
32460
32461         test-lock, test-tls: mention why a test is skipped
32462         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
32463         skipped.
32464         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
32465
32466         count-one-bits: relax license
32467         * modules/count-one-bits (License): Relicense to LGPLv2+.
32468         Suggested by Ludovic Courtès, approved by Ben Pfaff.
32469
32470 2008-08-22  Andreas Schwab  <schwab@suse.de>
32471
32472         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32473         Remove spurious space in assignment.
32474
32475 2008-08-21  Simon Josefsson  <simon@josefsson.org>
32476
32477         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
32478         Paul Eggert <eggert@CS.UCLA.EDU>.
32479
32480 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
32481
32482         * modules/gettext: Add m4/threadlib.m4.
32483
32484 2008-08-19  Eric Blake  <ebb9@byu.net>
32485
32486         test-c-stack: fix compilation failure on FreeBSD 5.0
32487         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
32488         headers before <sys/resource.h>.
32489         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
32490         the bug.
32491         Reported by Nelson H. F. Beebe.
32492
32493         strverscmp: migrate from "strverscmp.h" to <string.h>
32494         * modules/string (Makefile.am): Add new hooks.
32495         * modules/strverscmp (Files): Remove strverscmp.h.
32496         (Depends-on): Add string.
32497         (configure.ac): Add indicator.
32498         (Include): Mention new header.
32499         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
32500         defaults.
32501         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
32502         results.
32503         * lib/strverscmp.h: Delete.
32504         * lib/string.in.h (strverscmp): Provide declaration, when needed.
32505         * tests/test-strverscmp.c (includes): Adjust client.
32506         * lib/check-version.c (includes): Likewise.
32507         * NEWS: Document the change.
32508
32509         strverscmp: add unit test
32510         * modules/strverscmp-tests: New file.
32511         * tests/test-strverscmp.c: Likewise.
32512
32513 2008-08-19  Simon Josefsson  <simon@josefsson.org>
32514
32515         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
32516         regarding Windows crypto stuff, from Mono.
32517
32518 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
32519
32520         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
32521         if present, for intel RND.  Return error on failures.
32522
32523 2008-08-18  Ben Pfaff  <blp@gnu.org>
32524
32525         gitlog-to-changelog: give better diagnostic for failed pipe-open
32526         * build-aux/gitlog-to-changelog: Improve error message: suggest
32527         that the version of Git may be too old.
32528
32529 2008-08-18  Simon Josefsson  <simon@josefsson.org>
32530
32531         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
32532         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
32533
32534 2008-08-18  Bruno Haible  <bruno@clisp.org>
32535
32536         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
32537         pthread_in_use().
32538
32539 2008-08-18  Bruno Haible  <bruno@clisp.org>
32540
32541         * lib/glthread/threadlib.c: Include <pthread.h>.
32542
32543 2008-08-18  Bruno Haible  <bruno@clisp.org>
32544
32545         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
32546         glthread_recursive_lock_* macros.
32547         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
32548         Fix syntax error.
32549
32550 2008-08-18  Bruno Haible  <bruno@clisp.org>
32551
32552         * lib/glthread/thread.c: Avoid forcing a context switch right after
32553         thread creation.
32554
32555 2008-08-17  Bruno Haible  <bruno@clisp.org>
32556
32557         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
32558         * lib/glthread/thread.h: Provide Win32 specific implementation.
32559         * modules/thread (Files): Add lib/glthread/thread.c.
32560         (Depends-on): Add lock.
32561         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
32562
32563 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32564
32565         New module 'yield'.
32566         * modules/yield: New file.
32567         * lib/glthread/yield.h: New file.
32568         * m4/yield.m4: New file.
32569         * MODULES.html.sh (Multithreading): Add yield.
32570
32571 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32572
32573         New module 'thread'.
32574         * modules/thread: New file.
32575         * lib/glthread/thread.h: New file.
32576         * m4/thread.m4: New file.
32577         * MODULES.html.sh (Multithreading): Add thread.
32578
32579 2008-08-17  Bruno Haible  <bruno@clisp.org>
32580
32581         * lib/glthread/lock.h: Include <stdlib.h> always.
32582         * lib/glthread/tls.h: Likewise.
32583         * lib/glthread/cond.h: Likewise.
32584
32585 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32586
32587         New module 'cond'.
32588         * modules/cond: New file.
32589         * lib/glthread/cond.h: New file.
32590         * lib/glthread/cond.c: New file.
32591         * m4/cond.m4: New file.
32592         * MODULES.html.sh (Multithreading): Add cond.
32593
32594 2008-08-16  Eric Blake  <ebb9@byu.net>
32595
32596         c-stack: fix regression on Irix 5.3 from 2008-06-21
32597         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
32598         sa_sigaction...
32599         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
32600         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
32601         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
32602         * modules/signal (Makefile.am): Use the value.
32603         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
32604         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
32605         * doc/posix-headers/signal.texi (signal.h): Document this
32606         portability issue.
32607         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
32608         Reported by Tom G. Christensen.
32609
32610 2008-08-17  Bruno Haible  <bruno@clisp.org>
32611
32612         New module 'threadlib'.
32613         * modules/threadlib: New file.
32614         * lib/glthread/threadlib.c: New file, extracted from
32615         lib/glthread/lock.c.
32616         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
32617         functions.
32618         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
32619         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
32620         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
32621         macros.
32622         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
32623         (gl_DISABLE_THREADS): Remove macro.
32624         * modules/lock (Files): Remove build-aux/config.rpath.
32625         (Depends-on): Remove havelib. Add threadlib.
32626         (configure.ac-early): Remove section.
32627         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
32628         * modules/tls (Depends-on): Remove lock. Add threadlib.
32629         (Link): New section, copied from threadlib.
32630         * MODULES.html.sh (Multithreading): Add threadlib.
32631
32632 2008-08-14  Bruno Haible  <bruno@clisp.org>
32633
32634         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
32635         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
32636         glthread_rwlock_unlock, glthread_rwlock_destroy,
32637         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
32638         glthread_recursive_lock_destroy): Define as macros always.
32639         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
32640         glthread_lock_lock.
32641         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
32642         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
32643         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
32644         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
32645         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
32646         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
32647         (glthread_recursive_lock_lock_func): Renamed from
32648         glthread_recursive_lock_lock.
32649         (glthread_recursive_lock_unlock_func): Renamed from
32650         glthread_recursive_lock_unlock.
32651         (glthread_recursive_lock_destroy_func): Renamed from
32652         glthread_recursive_lock_destroy.
32653
32654 2008-08-14  Bruno Haible  <bruno@clisp.org>
32655
32656         * lib/glthread/lock.h: Renamed from lib/lock.h.
32657         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
32658         * lib/glthread/tls.h: Renamed from lib/tls.h.
32659         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
32660         * lib/fstrcmp.c: Update includes.
32661         * lib/strsignal.c: Update includes.
32662         * modules/lock (Files, Makefile.am): Update.
32663         (Include): Change to "glthread/lock.h".
32664         * modules/tls (Files, Makefile.am): Update.
32665         (Include): Change to "glthread/tls.h".
32666         * tests/test-lock.c: Update includes.
32667         * tests/test-tls.c: Update includes.
32668         * NEWS: Mention the renamed header files.
32669
32670 2008-08-11  Jim Meyering  <meyering@redhat.com>
32671
32672         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
32673
32674 2008-08-11  Eric Blake  <ebb9@byu.net>
32675
32676         test-c-stack: avoid C99-ism
32677         * tests/test-c-stack.c (main): Fix whitespace, move declaration
32678         before statement.
32679         Reported by Alain Guibert.
32680
32681 2008-08-10  Jim Meyering  <meyering@redhat.com>
32682
32683         ensure that return value of uinttostr et al are not ignored
32684         * lib/inttostr.h (__GNUC_PREREQ): Define.
32685         (__attribute_warn_unused_result__): Define.
32686         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
32687
32688 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
32689
32690         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
32691         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
32692
32693 2008-08-07  Jim Meyering  <meyering@redhat.com>
32694
32695         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
32696
32697         * modules/mkstemp (License): Relicense under LGPLv2+.
32698         * modules/tempname (License): Likewise.
32699
32700 2008-08-06  Bruno Haible  <bruno@clisp.org>
32701
32702         * lib/poll.c (poll): Further micro-optimization.
32703
32704 2008-08-06  Jim Meyering  <meyering@redhat.com>
32705
32706         inet_pton.c: use locale-independent tolower
32707         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
32708         (inet_pton6): Use c_tolower rather than tolower.
32709         * modules/inet_pton (Depends-on): Add c-ctype.
32710
32711 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
32712
32713         * lib/poll.c (poll): Avoid division when timeout is 0, cache
32714         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
32715
32716 2008-08-06  Jim Meyering  <meyering@redhat.com>
32717
32718         * modules/inet_pton (License): Relicense under LGPLv2+.
32719
32720 2008-08-03  Bruno Haible  <bruno@clisp.org>
32721
32722         Additional non-aborting API for lock and tls.
32723         * lib/lock.h: Include <errno.h>.
32724         (glthread_lock_init): New macro/function.
32725         (gl_lock_init): Define as wrapper around glthread_lock_init.
32726         (glthread_lock_lock): New macro/function.
32727         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
32728         (glthread_lock_unlock): New macro/function.
32729         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
32730         (glthread_lock_destroy): New macro/function.
32731         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
32732         (glthread_rwlock_init): New macro/function.
32733         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
32734         (glthread_rwlock_rdlock): New macro/function.
32735         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
32736         (glthread_rwlock_wrlock): New macro/function.
32737         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
32738         (glthread_rwlock_unlock): New macro/function.
32739         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
32740         (glthread_rwlock_destroy): New macro/function.
32741         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
32742         (glthread_recursive_lock_init): New macro/function.
32743         (gl_recursive_lock_init): Define as wrapper around
32744         glthread_recursive_lock_init.
32745         (glthread_recursive_lock_lock): New macro/function.
32746         (gl_recursive_lock_lock): Define as wrapper around
32747         glthread_recursive_lock_lock.
32748         (glthread_recursive_lock_unlock): New macro/function.
32749         (gl_recursive_lock_unlock): Define as wrapper around
32750         glthread_recursive_lock_unlock.
32751         (glthread_recursive_lock_destroy): New macro/function.
32752         (gl_recursive_lock_destroy): Define as wrapper around
32753         glthread_recursive_lock_destroy.
32754         (glthread_once): New macro/function.
32755         (gl_once): Define as wrapper around glthread_once.
32756         Update function declarations.
32757         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
32758         glthread_rwlock_init. Return error code.
32759         (glthread_rwlock_rdlock_multithreaded): Renamed from
32760         glthread_rwlock_rdlock. Return error code.
32761         (glthread_rwlock_wrlock_multithreaded): Renamed from
32762         glthread_rwlock_wrlock. Return error code.
32763         (glthread_rwlock_unlock_multithreaded): Renamed from
32764         glthread_rwlock_unlock. Return error code.
32765         (glthread_rwlock_destroy_multithreaded): Renamed from
32766         glthread_rwlock_destroy. Return error code.
32767         (glthread_recursive_lock_init_multithreaded): Renamed from
32768         glthread_recursive_lock_init. Return error code.
32769         (glthread_recursive_lock_lock_multithreaded): Renamed from
32770         glthread_recursive_lock_lock. Return error code.
32771         (glthread_recursive_lock_unlock_multithreaded): Renamed from
32772         glthread_recursive_lock_unlock. Return error code.
32773         (glthread_recursive_lock_destroy_multithreaded): Renamed from
32774         glthread_recursive_lock_destroy. Return error code.
32775         (glthread_once_call): Make static.
32776         (glthread_once_multithreaded): Renamed from glthread_once.
32777         * lib/tls.h: Include <errno.h>.
32778         (glthread_tls_key_init): New macro/function.
32779         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
32780         (glthread_tls_set): New macro/function.
32781         (gl_tls_set): Define as wrapper around glthread_tls_set.
32782         (glthread_tls_key_destroy): New macro/function.
32783         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
32784         Update function declarations.
32785         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
32786         glthread_tls_get.
32787         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
32788
32789 2008-08-04  Eric Blake  <ebb9@byu.net>
32790
32791         gnumakefile: use space, not TAB, outside of targets
32792         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
32793
32794 2008-08-02  Jim Meyering  <meyering@redhat.com>
32795
32796         getdate.y: avoid locale-dependent date parsing failure
32797         In Turkish locales, getdate would fail to recognize keywords
32798         containing a lowercase "i".  The solution is not to rely on
32799         locale-sensitive case-conversion.
32800         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
32801         (lookup_word): Use c_toupper in place of toupper.
32802         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
32803         Reported by Vefa Bicakci <bicave@superonline.com> in
32804         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
32805         * modules/getdate (Depends-on): Add c-ctype.
32806
32807 2008-08-02  Bruno Haible  <bruno@clisp.org>
32808
32809         * gnulib-tool (func_import): When updating or creating a .gitignore
32810         file, prepend each added line with a slash, and ignore leading slashes
32811         from the existing lines.
32812         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
32813
32814 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32815
32816         Portability fix for GNU make 3.79.1.
32817         * top/GNUmakefile: Avoid 'else COND', which older GNU make
32818         versions do not understand.
32819
32820 2008-08-01  Bruno Haible  <bruno@clisp.org>
32821
32822         Work around bug of HP-UX 10.20 cc with -0.0 literal.
32823         * tests/test-isnanf.h (zero): New variable.
32824         (main): Avoid literal -0.0f.
32825         * tests/test-isnand.h (zero): New variable.
32826         (main): Avoid literal -0.0.
32827         * tests/test-isnanl.h (zero): New variable.
32828         (main): Avoid literal -0.0L.
32829         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
32830         (test_float, test_double, test_long_double): Avoid literals -0.0f,
32831         -0.0, -0.0L.
32832         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
32833         (test_signbitd): Avoid literal -0.0.
32834         (test_signbitl): Avoid literal -0.0L.
32835         * tests/test-ceilf1.c (zero): New variable.
32836         (main): Avoid literal -0.0f.
32837         * tests/test-ceill.c (zero): New variable.
32838         (main): Avoid literal -0.0L.
32839         * tests/test-floorf1.c (zero): New variable.
32840         (main): Avoid literal -0.0f.
32841         * tests/test-floorl.c (zero): New variable.
32842         (main): Avoid literal -0.0L.
32843         * tests/test-roundf1.c (zero): New variable.
32844         (main): Avoid literal -0.0f.
32845         * tests/test-round1.c (zero): New variable.
32846         (main): Avoid literal -0.0.
32847         * tests/test-roundl.c (zero): New variable.
32848         (main): Avoid literal -0.0L.
32849         * tests/test-truncf1.c (zero): New variable.
32850         (main): Avoid literal -0.0f.
32851         * tests/test-trunc1.c (zero): New variable.
32852         (main): Avoid literal -0.0.
32853         * tests/test-truncl.c (zero): New variable.
32854         (main): Avoid literal -0.0L.
32855         * tests/test-frexp.c (zero): New variable.
32856         (main): Avoid literal -0.0.
32857         * tests/test-frexpl.c (zero): New variable.
32858         (main): Avoid literal -0.0L.
32859         * tests/test-ldexpl.c (zero): New variable.
32860         (main): Avoid literal -0.0L.
32861         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
32862         (zerod, zerol): New variables.
32863         (test_function): Avoid literals -0.0, -0.0L.
32864         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
32865         (zerod, zerol): New variables.
32866         (test_function): Avoid literals -0.0, -0.0L.
32867         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
32868         (zerod, zerol): New variables.
32869         (test_function): Avoid literals -0.0, -0.0L.
32870         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
32871         (zerod, zerol): New variables.
32872         (test_function): Avoid literals -0.0, -0.0L.
32873         * tests/test-strtod.c (zero): New variable.
32874         (main): Avoid literal -0.0.
32875         Reported by Jonathan C. Patschke <jp@centtech.com>.
32876
32877 2008-07-31  Jim Meyering  <meyering@redhat.com>
32878
32879         sha256.h: correct definition of SHA224_DIGEST_SIZE
32880         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
32881         Reported by Paulie Pena IV <paulie4@gmail.com>.
32882         Define as 224 / 8, rather than as a literal.
32883         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
32884         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
32885         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
32886
32887 2008-07-31  Bruno Haible  <bruno@clisp.org>
32888
32889         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
32890         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
32891         Reported by Jonathan Patschke <jp@centtech.com>.
32892
32893 2008-07-31  Bruno Haible  <bruno@clisp.org>
32894
32895         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
32896         Reported by Paolo Bonzini <bonzini@gnu.org>.
32897
32898 2008-07-30  Eric Blake  <ebb9@byu.net>
32899
32900         test-strtod: allow compilation without -lm
32901         * tests/test-strtod.c (main): Avoid link dependence on fabs.
32902         Reported by Dennis Clarke <blastwave@gmail.com>.
32903
32904 2008-07-28  Jim Meyering  <meyering@redhat.com>
32905
32906         bootstrap: work also when there are no .po files in po/
32907         * build-aux/bootstrap (update_po_files): Complete the change
32908         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
32909
32910 2008-07-27  Jim Meyering  <meyering@redhat.com>
32911
32912         * users.txt: Add zile.
32913
32914 2008-07-26  Ben Pfaff  <blp@gnu.org>
32915
32916         Add missing dependencies on new m4/exponent[fdl].m4 files.
32917         * modules/isnanf-nolibm: Add m4/exponentf.m4.
32918         * modules/isnand-nolibm: Add m4/exponentd.m4.
32919         * modules/isnanl-nolibm: Add m4/exponentl.m4.
32920         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
32921         m4/isnan[fdl].m4, because the macros actually used moved.
32922         Reported by Jim Meyering.
32923
32924 2008-07-14  Ben Pfaff  <blp@gnu.org>
32925
32926         Add isinf module.
32927         * lib/isinf.c: New file.
32928         * lib/math.in.h: Define isinf macro if we have decided to replace
32929         it.
32930         * m4/isinf.m4: New file.
32931         * m4/math_h.m4: Initialize and substitute variables for isinf
32932         module.
32933         * modules/isinf: New file.
32934         * modules/isinf-tests: New file.
32935         * modules/math: Add substitutions for new module.
32936         * tests/test-isinf.c: New file.
32937         * doc/posix-functions/isinf.texi: Mention new module.
32938         * MODULES.html.sh: Mention new module.
32939
32940 2008-07-14  Ben Pfaff  <blp@gnu.org>
32941
32942         Factor out some macros for use by additional modules.
32943         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
32944         exponentf.m4.
32945         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
32946         exponentd.m4.
32947         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
32948         file exponentl.m4.
32949         * m4/exponentf.m4: New file.
32950         * m4/exponentd.m4: New file.
32951         * m4/exponentl.m4: New file.
32952         * modules/isnanf: Use new file m4/exponentf.m4.
32953         * modules/isnand: Use new file m4/exponentd.m4.
32954         * modules/isnanl: Use new file m4/exponentl.m4.
32955
32956 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
32957
32958         mktime.c: normalize tp->tm_isdst value to -1/0/1.
32959         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
32960         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
32961         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
32962
32963         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
32964         readlink on platforms without PATH_MAX.
32965
32966 2008-07-21  Eric Blake  <ebb9@byu.net>
32967
32968         Warn, not fail, on stale version.
32969         * top/GNUmakefile (_curr-ver): Tone down previous patch.
32970
32971         Don't allow installation with stale devel version number.
32972         * top/GNUmakefile (_is-install-target): New macro.
32973         (_curr-ver): Forbid installation with stale version number.
32974
32975 2008-07-20  Bruno Haible  <bruno@clisp.org>
32976
32977         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
32978         TESTS_ENVIRONMENT.
32979         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
32980
32981 2008-07-20  Bruno Haible  <bruno@clisp.org>
32982
32983         * lib/c-stack.h (c_stack_action): Add documentation.
32984         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
32985
32986 2008-07-20  Bruno Haible  <bruno@clisp.org>
32987
32988         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
32989         * modules/readlink (License): Likewise.
32990
32991 2008-07-17  Eric Blake  <ebb9@byu.net>
32992
32993         * modules/c-stack (Link): Fix typo.
32994
32995         Make c-stack use libsigsegv, when available.
32996         * modules/c-stack (Depends-on): Add libsigsegv.
32997         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
32998         needed.
32999         * lib/c-stack.c (SIGSTKSZ): Define fallback.
33000         (segv_handler, overflow_handler, c_stack_action)
33001         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
33002         implementation when libsigsegv is available, but only when using
33003         the library is necessary.
33004         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
33005         comment, explaining why XSI check fails on Linux.
33006         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
33007         * tests/test-c-stack2.sh: Tweak skip message.
33008         * NEWS: Document new link-time requirements.
33009
33010 2008-07-16  Eric Blake  <ebb9@byu.net>
33011
33012         c-stack: Expose false positives when not using libsigsegv.
33013         * modules/c-stack-tests (Files): Expand test.
33014         * tests/test-c-stack.c (main): Add means to conditionally trigger
33015         non-overflow SIGSEGV.
33016         * tests/test-c-stack2.sh: New file.
33017
33018 2008-07-14  Bruno Haible  <bruno@clisp.org>
33019
33020         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
33021         Reported by Eric Blake.
33022
33023 2008-07-14  Sam Steingold  <sds@gnu.org>
33024             Bruno Haible  <bruno@clisp.org>
33025
33026         New module libsigsegv.
33027         * modules/libsigsegv: New file.
33028         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
33029         modifications.
33030         * MODULES.html.sh (Signal handling): New section.
33031
33032 2008-07-14  Bruno Haible  <bruno@clisp.org>
33033
33034         * modules/unictype/ctype-* (Description): Add the word "function".
33035         Improves the resulting doc in MODULES.html.
33036
33037 2008-07-12  Ben Pfaff  <blp@gnu.org>
33038
33039         Add longlong module.
33040         * modules/longlong: New file.
33041
33042 2008-07-12  Bruno Haible  <bruno@clisp.org>
33043
33044         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
33045         to empty.
33046
33047 2008-07-10  Ben Pfaff  <blp@gnu.org>
33048
33049         Add isnan module.
33050         * doc/posix-functions/isnan.texi: Mention new module.
33051         * lib/math.in.h: Define isnan macro if we have decided to replace
33052         it.
33053         * m4/isnan.m4: New file.
33054         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
33055         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
33056         also.
33057         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
33058         redundancy.
33059         * m4/math_h.m4: Initialize and substitute variables for isnan
33060         module.
33061         * modules/isnan: New file.
33062         * modules/isnan-tests: New file.
33063         * modules/math: Add substitutions for new module.
33064         * tests/test-isnan.c: New file.
33065         * MODULES.html.sh: Mention new module.
33066
33067 2008-07-10  Ben Pfaff  <blp@gnu.org>
33068
33069         Add isnanf module.
33070         * lib/isnanf.m4: New file.
33071         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
33072         (gl_HAVE_ISNANF_IN_LIBM): New macro.
33073         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
33074         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
33075         * modules/isnanf: New file.
33076         * modules/isnanf-tests: New file.
33077         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
33078         files.
33079         * tests/test-isnanf-nolibm.c: factored most of its contents into
33080         new file tests/test-isnanf.h.
33081         * tests/test-isnanf.h: New file.
33082         * tests/test-isnanf.c: New file.
33083         * MODULES.html.sh: Mention new module.
33084         * doc/glibc-functions/isnanf.texi: Mention new module.
33085
33086 2008-07-10  Ben Pfaff  <blp@gnu.org>
33087
33088         Add isnand module.
33089         * lib/isnand.h: New file.
33090         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
33091         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
33092         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
33093         functionality also.
33094         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
33095         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
33096         (gl_HAVE_ISNAND_IN_LIBM): New macro.
33097         * modules/isnand: New file.
33098         * modules/isnand-tests: New file.
33099         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
33100         files.
33101         * tests/test-isnand-nolibm.c: factored most of its contents into
33102         new file tests/test-isnand.h.
33103         * tests/test-isnand.h: New file.
33104         * tests/test-isnand.c: New file.
33105         * MODULES.html.sh: Mention new module.
33106
33107 2008-07-10  Ben Pfaff  <blp@gnu.org>
33108
33109         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
33110         * lib/isnand.h: Rename lib/isnand-nolibm.h.
33111         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
33112         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
33113         * modules/isnanf-nolibm: Update references to renamed files.
33114         * modules/isnand-nolibm: Likewise.
33115         * modules/isnanf-nolibm-tests: Likewise.
33116         * modules/isnand-nolibm-tests: Likewise.
33117         * lib/frexp.c: Likewise.
33118         * lib/isfinite.c: Likewise.
33119         * lib/signbitd.c: Likewise.
33120         * lib/signbitf.c: Likewise.
33121         * lib/vasnprintf.c: Likewise.
33122         * tests/test-ceilf1.c: Likewise.
33123         * tests/test-ceilf2.c: Likewise.
33124         * tests/test-floorf1.c: Likewise.
33125         * tests/test-floorf2.c: Likewise.
33126         * tests/test-frexp.c: Likewise.
33127         * tests/test-round1.c: Likewise.
33128         * tests/test-round2.c: Likewise.
33129         * tests/test-roundf1.c: Likewise.
33130         * tests/test-strtod.c: Likewise.
33131         * tests/test-trunc1.c: Likewise.
33132         * tests/test-trunc2.c: Likewise.
33133         * tests/test-truncf1.c: Likewise.
33134         * tests/test-truncf2.c: Likewise.
33135         * NEWS: Mention the renamed header files.
33136
33137 2008-07-11  Jim Meyering  <meyering@redhat.com>
33138
33139         vc-list-files: make the last-resort awk code more portable
33140         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
33141         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
33142         does not support it.
33143
33144 2008-07-10  Eric Blake  <ebb9@byu.net>
33145
33146         Work with tar's bootstrap.
33147         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
33148         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
33149         an m4 comment.
33150
33151 2008-07-09  Jim Meyering  <meyering@redhat.com>
33152
33153         posix-shell.m4: fix typo that made this test malfunction
33154         * m4/posix-shell.m4: Remove capitalization in variable name.
33155
33156 2008-07-08  Bruno Haible  <bruno@clisp.org>
33157
33158         * m4/onceonly.m4: Update comments.
33159         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33160
33161 2008-07-04  Jim Meyering  <meyering@redhat.com>
33162
33163         * users.txt: Add vc-dwim.
33164         (bison, coreutils): Use the gitweb URL.
33165
33166 2008-07-03  Jim Meyering  <meyering@redhat.com>
33167
33168         * users.txt: Add libffcall.  From Sam Steingold.
33169
33170 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
33171
33172         getdate.y: do not ignore TZ with relative day, month or year offset
33173         * lib/getdate.y (get_date): Move the tz-handling block to follow the
33174         relative-date-handling, since otherwise, the latter would clobber the
33175         sole output (an updated Start value) of the tz-handling block.
33176         * tests/test-getdate.c: Tests for the fix
33177
33178 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33179
33180         Recognize 'foo_LIBRARIES += libgnu.a'.
33181         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
33182         makefile snippet has already specified an installation location,
33183         also using '+='.
33184
33185 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
33186
33187         getdate.y: factor out common actions
33188         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
33189         Use them in place of open-coded actions.
33190
33191 2008-07-01  Simon Josefsson  <simon@josefsson.org>
33192
33193         Add self-test for getdate module.
33194         * modules/getdate-tests: New file.
33195         * tests/test-getdate.c: New file.
33196
33197 2008-06-29  Bruno Haible  <bruno@clisp.org>
33198
33199         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
33200         .gitignore.
33201         Reported by Sylvain Beucler <beuc@beuc.net>.
33202
33203 2008-06-29  Bruno Haible  <bruno@clisp.org>
33204
33205         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
33206         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
33207
33208 2008-06-29  Bruno Haible  <bruno@clisp.org>
33209
33210         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
33211         EXTRA_DIST.
33212         Reported by Sylvain Beucler <beuc@beuc.net>.
33213
33214 2008-06-26  Jim Meyering  <meyering@redhat.com>
33215
33216         make several modules depend on the "open" module
33217         This provides slightly increased consistency when opening-for-write
33218         the name of a non-directory spelled with a trailing slash.
33219         * modules/chdir-safer: Likewise.
33220         * modules/chown: Likewise.
33221         * modules/clean-temp: Likewise.
33222         * modules/copy-file: Likewise.
33223         * modules/fchdir: Likewise.
33224         * modules/fcntl-safer: Likewise.
33225         * modules/pipe: Likewise.
33226         * modules/utime: Likewise.
33227         Prompted by Eric Blake and Bruno Haible.
33228
33229 2008-06-24  Andreas Schwab  <schwab@suse.de>
33230
33231         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
33232         literals can be used as initializers for global variables.
33233
33234 2008-06-23  Eric Blake  <ebb9@byu.net>
33235
33236         Make gnulib-cache.m4 easier to diff.
33237         * gnulib-tool (func_import): Allow newlines when reading cached
33238         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
33239
33240 2008-06-23  Bruno Haible  <bruno@clisp.org>
33241
33242         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
33243         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
33244         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
33245         m4/signalblocking.m4.
33246         (gl_PREREQ_SIGACTION): Don't invoke it.
33247         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
33248         gl_PREREQ_SIG_HANDLER_H.
33249         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33250         Don't check for sigaction here.
33251
33252 2008-06-23  Bruno Haible  <bruno@clisp.org>
33253
33254         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
33255         (install_handlers): Don't set the SA_RESETHAND flag.
33256
33257 2008-06-23  Bruno Haible  <bruno@clisp.org>
33258
33259         * m4/sigaction.m4: Comment fixes.
33260         * lib/signal.in.h: Likewise.
33261
33262 2008-06-23  Eric Blake  <ebb9@byu.net>
33263
33264         Fix typo.
33265         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
33266
33267         Avoid SA_ namespace.
33268         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
33269         Reported by Ralf Wildenhues.
33270
33271         Avoid test failure due to SA_RESTORER.
33272         * tests/test-sigaction.c (SA_MASK): New macro.
33273         (main): Avoid failing due to extension flags being set.
33274         Reported by Jim Meyering.
33275
33276         Revert use of sig-handler.h in sigprocmask.c.
33277         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
33278         it requires the existence of struct sigaction.
33279         * lib/sigprocmask.c (handler_t): Restore typedef.
33280         (rpl_signal, old_handlers): Use local type.
33281
33282 2008-06-22  Bruno Haible  <bruno@clisp.org>
33283
33284         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
33285         conditionally.
33286         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33287
33288 2008-06-22  Bruno Haible  <bruno@clisp.org>
33289
33290         * doc/posix-functions/siginterrupt.texi: Move note.
33291
33292         * lib/signal.in.h (SA_RESTART): New macro.
33293         * lib/sigaction.c: Update comment.
33294
33295         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
33296
33297         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
33298         (gl_PREREQ_SIGPROCMASK): Invoke it.
33299         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
33300
33301         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
33302
33303         * lib/sigprocmask.c: Update a comment.
33304
33305 2008-06-21  Eric Blake  <ebb9@byu.net>
33306
33307         Use sigaction module rather than signal().
33308         * modules/c-stack (Depends-on): Add sigaction.
33309         * modules/fatal-signal (Depends-on): Likewise.
33310         * modules/nanosleep (Depends-on): Likewise.
33311         * modules/sigprocmask (Files): Add sig-handler.h.
33312         * modules/sigaction (Files): Likewise.
33313         * lib/sig-handler.h (get_handler): New file, suggested by Paul
33314         Eggert.
33315         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
33316         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
33317         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
33318         (init_fatal_signals): Likewise.
33319         * lib/nanosleep.c (rpl_nanosleep): Likewise.
33320         (siginterrupt): Delete fallback.
33321         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
33322         instead.
33323         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
33324         siginterrupt.
33325
33326         New module sigaction, for mingw.
33327         * modules/sigaction: New module...
33328         * modules/sigaction-tests: ...and its test.
33329         * m4/sigaction.m4: New file.
33330         * lib/sigaction.c: Likewise.
33331         * tests/test-sigaction.c: Likewise.
33332         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
33333         * modules/signal (Makefile.am): Likewise.
33334         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
33335         needed.
33336         * doc/posix-headers/signal.texi (signal.h): Mention provided
33337         types.
33338         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
33339         that sigaction is preferable.
33340         * doc/posix-functions/sigaction.texi (sigaction): Mention new
33341         module.
33342         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33343         sigaction.
33344
33345         Improve robustness of sigprocmask by overriding signal.
33346         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
33347         is in use.
33348         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
33349         (SIGKILL, SIGSTOP): Provide fallbacks.
33350         (rpl_signal): Implement.
33351         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
33352         signal can be called inside handlers.
33353
33354         Fix nanosleep module on mingw.
33355         * modules/nanosleep (Depends-on): Add sys_select.
33356         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
33357
33358         Fix licensing of sigprocmask.
33359         * modules/raise (License): Relicense as LGPL.
33360
33361 2008-06-21  Bruno Haible  <bruno@clisp.org>
33362
33363         * lib/propername.c (proper_name_utf8): Don't use the transliterated
33364         result if it contains question marks.
33365         Reported by Michael Geng <linux@michaelgeng.de>.
33366
33367 2008-06-19  Bruno Haible  <bruno@clisp.org>
33368
33369         Fix CVS-ism.
33370         * doc/gnulib.texi: Include updated-stamp.texi.
33371         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
33372         (updated-stamp.texi): New rule.
33373         (gnulib.info): Depend on it.
33374         * doc/.gitignore: Add updated-stamp.texi.
33375         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
33376
33377 2008-06-19  Bruno Haible  <bruno@clisp.org>
33378
33379         * doc/Makefile (gnulib.info): Update and simplify dependencies.
33380         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
33381
33382 2008-06-19  Eric Blake  <ebb9@byu.net>
33383
33384         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
33385         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
33386         Reported by Stepan Kasal.
33387
33388 2008-06-18  Bruno Haible  <bruno@clisp.org>
33389
33390         * lib/fatal-signal.c (init_fatal_signals): Add comment.
33391         Reported by Eric Blake.
33392
33393 2008-06-18  Eric Blake  <ebb9@byu.net>
33394
33395         Work around cygwin 1.5.25 strsignal bug.
33396         * tests/test-strsignal.c: Allow for const char *.
33397         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
33398
33399 2008-06-18  Simon Josefsson  <simon@josefsson.org>
33400
33401         * users.txt: Update URL to article and add author/date
33402         information.
33403
33404 2008-06-17  Bruno Haible  <bruno@clisp.org>
33405
33406         New macro gl_DISABLE_THREADS.
33407         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
33408         if the user did not pass --enable-threads or --disable-threads option.
33409         (gl_DISABLE_THREADS): New macro.
33410         Reported by Eric Blake <ebb9@byu.net>.
33411
33412 2008-06-17  Bruno Haible  <bruno@clisp.org>
33413
33414         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
33415         when the macro ignores it.
33416         Based on a patch by Eric Blake <ebb9@byu.net>.
33417
33418 2008-06-17  Bruno Haible  <bruno@clisp.org>
33419
33420         * modules/tls (License): Change to LGPLv2+.
33421         Reported by Eric Blake.
33422
33423 2008-06-17  Eric Blake  <ebb9@byu.net>
33424
33425         Simplify c-stack prerequisites.
33426         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
33427         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
33428         no longer requires <ucontext.h> to exist.  Optimize setrlimit
33429         check.
33430         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
33431         <sys/resource.h>.
33432
33433         Move c-stack test into testsuite.
33434         * modules/c-stack-tests: New file.
33435         * lib/c-stack.c [DEBUG]: Move test program...
33436         * tests/test-c-stack.c: ...into this new file.  Skip rather than
33437         fail test if sigaltstack is lacking.
33438         * tests/test-c-stack.sh: New driver file.
33439
33440 2008-06-16  Eric Blake  <ebb9@byu.net>
33441
33442         Use raise module consistently.
33443         * modules/fatal-signal (Depends-on): Add raise.
33444         * modules/sigprocmask (Depends-on): Likewise.
33445         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
33446         * lib/sigprocmask.c (sigprocmask): Likewise.
33447         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33448         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
33449
33450         Fix compliance bug in sigpending.
33451         * lib/sigprocmask.c (sigpending): Return pending array via
33452         parameter, not return value.
33453
33454 2008-06-14  Eric Blake  <ebb9@byu.net>
33455
33456         Improve obstack-printf test code.
33457         * tests/test-obstack-printf.c (test_function): Fix comment, and
33458         simplify usage of obstack_* in macros.  Add a test for coverage.
33459         Reported by Bruno Haible.
33460
33461 2008-06-14  Bruno Haible  <bruno@clisp.org>
33462
33463         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
33464         array size as a constant, not as a const variable.
33465         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
33466         AC_USE_SYSTEM_EXTENSIONS.
33467         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
33468         Test whether the obstack_printf function actually exists.
33469         * modules/obstack-printf (Depends-on): Add extensions.
33470         (Include): Remove obstack.h.
33471         * modules/obstack-printf-posix (Depends-on): Add extensions.
33472         (Include): Remove obstack.h.
33473
33474 2008-06-13  Eric Blake  <ebb9@byu.net>
33475
33476         Add obstack-printf and obstack-printf-posix modules.
33477         * modules/obstack-printf: New file.
33478         * modules/obstack-printf-posix: Likewise.
33479         * MODULES.html.sh (Misc): Mention them.
33480         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
33481         Likewise.
33482         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
33483         Likewise.
33484         * modules/stdio (Makefile.am): Accomodate new modules.
33485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33486         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
33487         Declare.
33488         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
33489         functions.
33490         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
33491         (gl_REPLACE_OBSTACK_PRINTF): New macros
33492         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
33493         * tests/test-obstack-printf.c: New file.
33494         * modules/obstack-printf-tests: Likewise.
33495         * modules/obstack-printf-posix-tests: Likewise.
33496
33497 2008-06-11  Bruno Haible  <bruno@clisp.org>
33498
33499         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
33500         * lib/open.c: Include errno.h.
33501         (open): Fail when attempting to write to a file that has a trailing
33502         slash.
33503         * tests/test-open.c (main): Test against trailing slash bug.
33504         * doc/posix-functions/open.texi: Mention the trailing slash bug.
33505
33506 2008-06-10  Bruno Haible  <bruno@clisp.org>
33507
33508         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
33509         for $? to work inside the trap command, with various /bin/sh-s.
33510         * tests/test-vc-list-files-cvs.sh: Likewise.
33511
33512 2008-06-10  Bruno Haible  <bruno@clisp.org>
33513
33514         * lib/acl-internal.h: Don't include gettext.h here.
33515         * lib/set-mode-acl.c: Include gettext.h here.
33516         * lib/copy-acl.c: Likewise.
33517
33518 2008-06-10  Bruno Haible  <bruno@clisp.org>
33519
33520         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
33521         * lib/wait-process.c (wait_subprocess): Likewise.
33522         * lib/execute.h (execute): Add termsigp argument.
33523         * lib/execute.c (execute): Likewise.
33524         * lib/csharpcomp.c (compile_csharp_using_pnet,
33525         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
33526         * lib/csharpexec.c (execute_csharp_using_pnet,
33527         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
33528         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
33529         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
33530         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
33531         is_jikes_present): Update.
33532         * lib/javaexec.c (execute_java_class): Update.
33533         * lib/javaversion.c (execute_and_read_line): Update.
33534         * NEWS: Document the changes.
33535         Reported by Eric Blake.
33536
33537 2008-06-10  Eric Blake  <ebb9@byu.net>
33538
33539         Add missing include.
33540         * tests/test-strstr.c (includes): Add <signal.h>.
33541         * tests/test-strcasestr.c (includes): Likewise.
33542         * tests/test-memmem.c (includes): Likewise.
33543
33544 2008-06-10  Bruno Haible  <bruno@clisp.org>
33545
33546         * lib/wait-process.c (wait_subprocess): Add an assertion.
33547
33548 2008-06-10  Bruno Haible  <bruno@clisp.org>
33549
33550         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
33551
33552 2008-06-10  Bruno Haible  <bruno@clisp.org>
33553
33554         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
33555         using alarm().
33556         * tests/test-strcasestr.c (main): Likewise.
33557         * tests/test-strstr.c (main): Likewise.
33558
33559 2008-06-09  Bruno Haible  <bruno@clisp.org>
33560
33561         Work around the Solaris 10 ACE ACLs ABI change.
33562         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
33563         declare if ACL_NO_TRIVIAL is present.
33564         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
33565         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
33566         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
33567         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
33568         define if ACL_NO_TRIVIAL is present.
33569         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
33570         and use the current ABI.
33571         (file_has_acl): Use same #if condition as elsewhere.
33572         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
33573         in use, and use the current ABI.
33574         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
33575         Reported by Jim Meyering.
33576
33577 2008-06-09  Eric Blake  <ebb9@byu.net>
33578
33579         Work around environments that (stupidly) ignore SIGALRM.
33580         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
33581         before using alarm().
33582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
33583         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33584         Reported by Ian Beckwith <ianb@erislabs.net>.
33585
33586         Produce autobuild blurb earlier in log.
33587         * modules/autobuild (configure.ac-early): Move AB_INIT here.
33588
33589 2008-06-09  Jim Meyering  <meyering@redhat.com>
33590         and Ondřej Vašík  <ovasik@redhat.com>
33591
33592         utimens.c: correct kernel bug work-around
33593         Ondřej Vašík found that the invalid return value of 280 indicates
33594         failure, not success, and the kernel bug we're trying to work
33595         around affects not just the utimensat call, but also the fallback
33596         futimens call.
33597         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
33598         not success.
33599         [HAVE_FUTIMENS]: Use the same work-around, here.
33600
33601 2008-06-09  Jim Meyering  <meyering@redhat.com>
33602
33603         add more guards around definition of ACE_-related code
33604         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
33605         ALLOW and ACE_OWNER are also defined.
33606
33607 2008-06-08  Bruno Haible  <bruno@clisp.org>
33608
33609         * lib/acl-internal.h: Add me as co-author.
33610         * lib/file-has-acl.c: Likewise.
33611         * lib/set-mode-acl.c: Likewise.
33612         * lib/copy-acl.c: Likewise.
33613
33614 2008-06-08  Bruno Haible  <bruno@clisp.org>
33615
33616         Add support for AIX ACLs.
33617         * lib/acl-internal.h (acl_nontrivial): New declaration.
33618         * lib/file-has-acl.c (acl_nontrivial): New function.
33619         (file_has_acl): Add implementation using AIX 4 ACL API.
33620         * lib/set-mode-acl.c (qset_acl): Likewise.
33621         * lib/copy-acl.c (qcopy_acl): Likewise.
33622
33623 2008-06-08  Bruno Haible  <bruno@clisp.org>
33624
33625         Add support for HP-UX ACLs.
33626         * lib/acl-internal.h (acl_nontrivial): New declaration.
33627         * lib/file-has-acl.c (acl_nontrivial): New function.
33628         (file_has_acl): Add implementation using HP-UX 11 ACL API.
33629         * lib/set-mode-acl.c (qset_acl): Likewise.
33630         * lib/copy-acl.c (qcopy_acl): Likewise.
33631
33632 2008-06-08  Bruno Haible  <bruno@clisp.org>
33633
33634         Add support for Cygwin ACLs.
33635         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
33636         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
33637         the chmod_or_fchmod call.
33638         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
33639
33640 2008-06-08  Bruno Haible  <bruno@clisp.org>
33641
33642         Fix bug with setuid modes in Solaris 10+ code.
33643         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
33644         succeeded, when the mode contains some special bits.
33645
33646 2008-06-08  Bruno Haible  <bruno@clisp.org>
33647
33648         Add support for Solaris 7..10 ACLs.
33649         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
33650         declarations.
33651         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
33652         functions.
33653         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
33654         * lib/set-mode-acl.c (qset_acl): Likewise.
33655         * lib/copy-acl.c (qcopy_acl): Likewise.
33656
33657 2008-06-08  Bruno Haible  <bruno@clisp.org>
33658
33659         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
33660         declaration.
33661         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
33662         (acl_access_nontrivial): Remove MacOS X case.
33663         (file_has_acl): Use acl_extended_nontrivial.
33664         * lib/copy-acl.c (qcopy_acl): Likewise.
33665
33666 2008-06-08  Bruno Haible  <bruno@clisp.org>
33667
33668         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
33669
33670 2008-06-08  Jim Meyering  <meyering@redhat.com>
33671
33672         * modules/acl (Maintainer): Add Bruno Haible.
33673
33674 2008-06-07  Bruno Haible  <bruno@clisp.org>
33675
33676         Improve support for Tru64 ACLs.
33677         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
33678         ACL on OSF/1.
33679
33680 2008-06-07  Bruno Haible  <bruno@clisp.org>
33681
33682         Add support for MacOS X ACLs.
33683         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
33684         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
33685         * lib/set-mode-acl.c (qset_acl): Likewise.
33686         * lib/copy-acl.c (qcopy_acl): Likewise.
33687
33688 2008-06-07  Bruno Haible  <bruno@clisp.org>
33689
33690         Fix memory leak introduced on 2008-05-22.
33691         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
33692         use.
33693
33694 2008-06-07  Bruno Haible  <bruno@clisp.org>
33695
33696         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
33697         to construct an empty ACL.
33698
33699 2008-06-07  Bruno Haible  <bruno@clisp.org>
33700
33701         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
33702         precisely.
33703         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
33704
33705 2008-06-07  Bruno Haible  <bruno@clisp.org>
33706
33707         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
33708         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
33709
33710 2008-06-07  Bruno Haible  <bruno@clisp.org>
33711
33712         * doc/posix-functions/_setjmp.texi: Explain the use of this function
33713         regardless of POSIX.
33714         * doc/posix-functions/_longjmp.texi: Likewise.
33715         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
33716         SystemV platform in this case.
33717
33718 2008-06-06  Eric Blake  <ebb9@byu.net>
33719
33720         Document abort() bugs.
33721         * doc/posix-functions/abort.texi (abort): Mention anomalies.
33722
33723         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
33724         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
33725         sigsetjmp.
33726         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
33727         siglongjmp, but only as a macro.
33728         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
33729         is obsolete.
33730         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
33731
33732         Tweak documentation to cover cygwin argz bugs.
33733         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
33734         argz bug fix; no code change needed since no cygwin releases
33735         occurred between the last fix and the bug being tested.
33736         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
33737         module and recently fixed cygwin bugs.
33738         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
33739         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
33740         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
33741         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
33742         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
33743         Likewise.
33744         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
33745         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
33746         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
33747         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
33748         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
33749         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
33750         Likewise.
33751
33752         Avoid gcc warning on cygwin.
33753         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
33754         !ACL_NO_TRIVIAL]: Avoid unused variable.
33755
33756 2008-06-05  Eric Blake  <ebb9@byu.net>
33757
33758         Be tolerant of UNKNOWN version in gnulib-tool test dir.
33759         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
33760         git-version-gen fails to come up with a version.
33761         Reported by Simon Josefsson.
33762
33763 2008-06-05  Jim Meyering  <meyering@redhat.com>
33764             Paul Eggert  <eggert@cs.ucla.edu>
33765
33766         utimens.c: work around a probable Linux kernel bug
33767         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
33768         appears to be a kernel bug that causes utimensat to return 280
33769         instead of 0, indicating success.
33770
33771 2008-06-04  Bruno Haible  <bruno@clisp.org>
33772
33773         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
33774         2008-06-01 commit.
33775
33776 2008-06-04  Bruno Haible  <bruno@clisp.org>
33777
33778         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
33779         * lib/file-has-acl.c (acl_access_nontrivial): New function.
33780         (file_has_acl): Use it. Save errno afterwards.
33781         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
33782
33783 2008-06-03  Bruno Haible  <bruno@clisp.org>
33784
33785         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
33786         draft code. Simplify #ifs.
33787         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
33788         Put Solaris code after POSIX-draft code. Fix comments regarding
33789         Solaris 10, HP-UX. Mention Cygwin.
33790         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
33791
33792 2008-06-03  Eric Blake  <ebb9@byu.net>
33793
33794         Provide fallback for older kernels.
33795         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
33796         Provide runtime fallback if kernel lacks support.
33797         Reported by Mike Frysinger.
33798
33799 2008-06-02  Bruno Haible  <bruno@clisp.org>
33800
33801         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
33802         it exists.
33803
33804 2008-06-02  Bruno Haible  <bruno@clisp.org>
33805
33806         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
33807         * lib/copy-acl.c (qcopy_acl): Update comment.
33808
33809 2008-06-02  Bruno Haible  <bruno@clisp.org>
33810
33811         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
33812         like ACL APIs.
33813
33814 2008-06-02  Bruno Haible  <bruno@clisp.org>
33815
33816         * tests/test-file-has-acl.sh: Use different code for Cygwin.
33817         * tests/test-set-mode-acl.sh: Likewise.
33818         * tests/test-copy-acl.sh: Likewise.
33819         * tests/test-copy-file.sh: Likewise.
33820
33821 2008-06-02  Bruno Haible  <bruno@clisp.org>
33822
33823         * tests/test-file-has-acl.sh: Remove unused code.
33824
33825 2008-06-01  Bruno Haible  <bruno@clisp.org>
33826
33827         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
33828         (copy_acl): Just a wrapper around qcopy_acl that emits the error
33829         messages.
33830         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
33831
33832 2008-06-01  Bruno Haible  <bruno@clisp.org>
33833
33834         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
33835         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
33836         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
33837         APIs.
33838         * modules/acl-tests (configure.ac): Remove tests now contained in
33839         m4/acl.m4.
33840
33841 2008-06-02  Jim Meyering  <meyering@redhat.com>
33842
33843         announce-gen: use a better key-server host name
33844         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
33845         it may be more consistently reliable.  Suggested by Werner Koch
33846         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
33847
33848 2008-06-01  Bruno Haible  <bruno@clisp.org>
33849
33850         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
33851         Reported by Voroskoi Andras <voroskoi@gmail.com>.
33852
33853 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
33854
33855         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
33856
33857 2008-06-01  Bruno Haible  <bruno@clisp.org>
33858
33859         New ACL tests.
33860         * tests/test-file-has-acl.sh: New file.
33861         * tests/test-file-has-acl.c: New file.
33862         * tests/test-set-mode-acl.sh: New file.
33863         * tests/test-set-mode-acl.c: New file.
33864         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
33865         * tests/test-copy-acl.c: New file.
33866         * modules/acl-tests: New file, based on modules/copy-file-tests.
33867         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
33868         (Depends-on): Add acl-tests.
33869         (configure.ac): Remove checks.
33870         (Makefile.am): Don't create test-sameacls program here any more.
33871
33872 2008-06-01  Bruno Haible  <bruno@clisp.org>
33873
33874         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
33875         * tests/test-sameacls.c: Include progname.h.
33876         (main): Invoke set_program_name. Portability fixes for MacOS X,
33877         Solaris, HP-UX.
33878
33879 2008-06-01  Bruno Haible  <bruno@clisp.org>
33880
33881         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
33882         function.
33883         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
33884
33885 2008-06-01  Bruno Haible  <bruno@clisp.org>
33886
33887         * modules/rpmatch (Depends-on): Add strdup.
33888
33889 2008-06-01  Bruno Haible  <bruno@clisp.org>
33890
33891         * lib/pipe.c: Include unistd-safer.h.
33892         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
33893         * modules/pipe (Depends-on): Add unistd-safer.
33894
33895 2008-05-30  Simon Josefsson  <simon@josefsson.org>
33896
33897         * modules/autobuild (configure.ac): Call AB_INIT.
33898
33899 2008-05-30  Simon Josefsson  <simon@josefsson.org>
33900
33901         * tests/test-getaddrinfo.c: Don't print debug messages by default.
33902         Suggested by Bruno Haible <bruno@clisp.org>.
33903
33904 2008-05-30  Simon Josefsson  <simon@josefsson.org>
33905
33906         * tests/test-base64.c: Cast size_t to unsigned long when invoking
33907         printf.  Use %lu instead of %d.  Reported by Bruno Haible
33908         <bruno@clisp.org>.
33909
33910 2008-05-29  Eric Blake  <ebb9@byu.net>
33911
33912         Prefer new POSIX 200x interfaces over futimesat.
33913         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
33914         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
33915         when available.
33916         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
33917
33918 2008-05-28  Bruno Haible  <bruno@clisp.org>
33919
33920         * modules/stpcpy (License): Change to LGPLv2+.
33921         Requested by David Lutterkort <dlutter@redhat.com>.
33922
33923 2008-05-27  Bruno Haible  <bruno@clisp.org>
33924
33925         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
33926         current mingw.
33927         Reported by Jose E. Marchesi <jemarch@gnu.org>.
33928
33929 2008-05-27  Bruno Haible  <bruno@clisp.org>
33930
33931         * modules/iconv_open (Link): New section, from module 'iconv'.
33932         * modules/striconv (Link): Likewise.
33933         * modules/striconveh (Link): Likewise.
33934         * modules/xstriconv (Link): Likewise.
33935         * modules/unicodeio (Link): Likewise.
33936         * modules/propername (Link): Likewise.
33937         Reported by Jim Meyering.
33938
33939 2008-05-26  Jim Meyering  <meyering@redhat.com>
33940
33941         sha256: do not artificially restrict buffer length to be < 2^32
33942         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
33943         uint32_t to size_t.
33944         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
33945         to match.
33946
33947         avoid unaligned access errors, e.g., on sparc
33948         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
33949         direct access through a possibly-unaligned uint64* pointer.
33950         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
33951         direct access through a possibly-unaligned uint32* pointer.
33952         Prompted by this patch from Tom "spot" Callaway:
33953         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
33954
33955         sha512.c: fix typo in comment
33956         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
33957
33958 2008-05-25  Bruno Haible  <bruno@clisp.org>
33959
33960         * lib/set-mode-acl.c: Renamed from lib/acl.c.
33961         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
33962         (Makefile.am): Update lib_SOURCES.
33963
33964 2008-05-25  Bruno Haible  <bruno@clisp.org>
33965
33966         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
33967
33968 2008-05-25  Jim Meyering  <meyering@redhat.com>
33969
33970         useless-if-before-free: freed expr may have white-space differences
33971         * build-aux/useless-if-before-free: Recognize cases in which the
33972         freed expression differs from the tested one in embedded white
33973         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
33974         $1 was used, so we can't make any regexp shy.  Improved tests now
33975         detect this.
33976
33977         useless-if-before-free: accept white space in the expression.
33978         * build-aux/useless-if-before-free: For now, any white space
33979         in the expression must be identical in the free argument.
33980
33981         useless-if-before-free: efficiency tweak
33982         * build-aux/useless-if-before-free: Make the expression-matching
33983         regexp "shy".
33984         Make the *outer* regexp shy, not the expr-matching one.
33985
33986         update code-in-comment to accept cast of free arg
33987         * build-aux/useless-if-before-free: Update regexp.
33988
33989 2008-05-25  Bruno Haible  <bruno@clisp.org>
33990
33991         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
33992         * modules/copy-file-tests (Files, Makefile.am): Update.
33993         * tests/test-copy-file.c (func_test_copy): Update.
33994
33995 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
33996
33997         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
33998
33999 2008-05-23  Bruno Haible  <bruno@clisp.org>
34000
34001         Improve support for ACLs on OSF/1.
34002         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
34003         Remove fallback for unknown flavors of ACLs.
34004
34005 2008-05-22  Bruno Haible  <bruno@clisp.org>
34006
34007         Add support for ACLs on OSF/1.
34008         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
34009         replacements.
34010         (acl_free_text): New macro fallback.
34011         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
34012         acl_free.
34013         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
34014         acl_free_text function. Require AC_C_INLINE.
34015
34016 2008-05-22  Bruno Haible  <bruno@clisp.org>
34017
34018         Make copy_acl work on MacOS X 10.5.
34019         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
34020         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
34021         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
34022         If MODE_INSIDE_ACL, don't assume that every system has the same text
34023         representation for ACLs as FreeBSD.
34024         * lib/copy-acl.c (copy_acl): Add support for platforms with
34025         !MODE_INSIDE_ACL.
34026         * lib/file-has-acl.c (file_has_acl): Likewise.
34027         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
34028         FreeBSD, MacOS X, or IRIX, respectively.
34029
34030 2008-05-22  Bruno Haible  <bruno@clisp.org>
34031
34032         * lib/acl.h: Don't include <sys/acl.h>.
34033         (GETACLCNT): Move fallback to lib/acl-internal.h.
34034         * lib/acl-internal.h: Include <sys/acl.h> here.
34035         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
34036
34037 2008-05-22  Bruno Haible  <bruno@clisp.org>
34038
34039         Split off copy_acl function to separate file.
34040         * lib/copy-acl.c: New file, extracted from lib/acl.c.
34041         * lib/acl.c (copy_acl): Moved function to separate file.
34042         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
34043         * modules/acl (Files): Add lib/copy-acl.c.
34044         (Makefiles.am): Augment lib_SOURCES.
34045
34046 2008-05-22  Bruno Haible  <bruno@clisp.org>
34047
34048         * modules/copy-file-tests: New file.
34049         * tests/test-copy-file.sh: New file.
34050         * tests/test-copy-file.c: New file.
34051         * tests/test-copy-file-sameacls.c: New file.
34052
34053 2008-05-22  Eric Blake  <ebb9@byu.net>
34054
34055         Avoid gcc warning.
34056         * tests/test-memcmp.c (main): Pass NULL indirectly.
34057
34058 2008-05-21  Bruno Haible  <bruno@clisp.org>
34059
34060         Add reference doc about ACLs.
34061         * doc/acl-resources.txt: New file.
34062         * doc/acl-cygwin.txt: New file.
34063
34064 2008-05-21  Bruno Haible  <bruno@clisp.org>
34065
34066         Avoid one more warning from gcc.
34067         * lib/vasnprintf.c (IF_LINT): Update comments.
34068         (VASNPRINTF): Use it also for the 'prefix' array initializer.
34069
34070 2008-05-21  Jim Meyering  <meyering@redhat.com>
34071
34072         avoid a warning from gcc
34073         * lib/vasnprintf.c (IF_LINT): Define.
34074         (scale10_round_decimal_long_double):
34075         Use it to avoid a "may be used uninitialized" warning.
34076         (scale10_round_decimal_double): Likewise.
34077
34078 2008-05-21  Simon Josefsson  <simon@josefsson.org>
34079
34080         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
34081         declared.
34082
34083 2008-05-20  Bruno Haible  <bruno@clisp.org>
34084
34085         * tests/test-memcmp.c (main): Test also the sign of the result. Test
34086         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
34087
34088 2008-05-20  Simon Josefsson  <simon@josefsson.org>
34089
34090         * modules/memcmp-tests: New file.
34091         * tests/test-memcmp.c: New file.
34092
34093 2008-05-19  Bruno Haible  <bruno@clisp.org>
34094
34095         * modules/propername (Notice, configure.ac): Put quoted "..." into
34096         --keyword option.
34097         * lib/propername.h: Update comments accordingly.
34098         Reported by Eric Blake.
34099
34100 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
34101
34102         * modules/getpass-gnu (Depends-on): Add fseeko.
34103
34104 2008-05-19  Simon Josefsson  <simon@josefsson.org>
34105
34106         * modules/base64-tests: New file.
34107
34108 2008-05-19  Bo Borgerson <gigabo@gmail.com>
34109
34110         * lib/base64.c (base64_decode_ctx): If a decode context structure
34111         was passed in use it to ignore newlines.  If a context structure
34112         was _not_ passed in, continue to treat newlines as garbage (this
34113         is the historical behavior).  Formerly base64_decode.
34114         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
34115         takes a decode context structure.
34116         * lib/base64.h (base64_decode): Macro for four-argument calls.
34117         (base64_decode_alloc): Likewise.
34118         * lib/base64.c (base64_decode_ctx): If a decode context structure
34119         was passed in use it to ignore newlines.  If a context structure
34120         was _not_ passed in, continue to treat newlines as garbage (this
34121         is the historical behavior).  Formerly base64_decode.
34122         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
34123         takes a decode context structure.
34124         * lib/base64.h (base64_decode): Macro for four-argument calls.
34125         (base64_decode_alloc): Likewise.
34126
34127 2008-05-19  Jim Meyering  <meyering@redhat.com>
34128
34129         avoid a warning from gcc
34130         * lib/trim.c (IF_LINT): Define.
34131         (trim2): Use it to avoid a "may be used uninitialized" warning.
34132
34133         Fix doc typo.
34134         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
34135
34136 2008-05-19  Bruno Haible  <bruno@clisp.org>
34137
34138         * doc/glibc-functions/getpass.texi: Document limits of other
34139         implementations.
34140
34141 2008-05-19  Simon Josefsson  <simon@josefsson.org>
34142             Bruno Haible <bruno@clisp.org>
34143
34144         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
34145
34146 2008-05-18  Bruno Haible  <bruno@clisp.org>
34147
34148         * modules/propername: New file, from GNU gettext.
34149         * lib/propername.h: New file, from GNU gettext.
34150         * lib/propername.c: New file, from GNU gettext.
34151         * MODULES.html.sh (Internationalization functions): Add propername.
34152
34153 2008-05-16  Jim Meyering  <meyering@redhat.com>
34154             Bruno Haible  <bruno@clisp.org>
34155
34156         Avoid some warnings from "gcc -Wshadow".
34157         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
34158
34159 2008-05-15  Eric Blake  <ebb9@byu.net>
34160
34161         Extend previous patch to cygwin 1.7.0.
34162         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
34163         fast implementation in cygwin >= 1.7.0.
34164         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
34165         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34166
34167 2008-05-15  Bruno Haible  <bruno@clisp.org>
34168
34169         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
34170         implementation in glibc >= 2.9.
34171         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
34172         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34173
34174 2008-05-15  Bruno Haible  <bruno@clisp.org>
34175
34176         * MODULES.html.sh (Internationalization functions): Remove linebreak.
34177         (Unicode string functions): Add unilbrk/*.
34178         Reported by Karl Berry.
34179
34180 2008-05-15  Eric Blake  <ebb9@byu.net>
34181
34182         Fix violation of <stdbool.h> replacement in regex.
34183         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
34184         * lib/regexec.c (re_search_internal): Likewise.
34185         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
34186
34187 2008-05-15  Jim Meyering  <meyering@redhat.com>
34188
34189         avoid distracting test output when git or cvs is not found
34190         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
34191         * tests/test-vc-list-files-git.sh: Likewise.
34192
34193 2008-05-15  Eric Blake  <ebb9@byu.net>
34194
34195         Glibc finally accepted the memmem speedup code, bugzilla #5514.
34196         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
34197         glibc version.
34198         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
34199         * doc/posix-functions/strstr.texi (strstr): Likewise.
34200         * lib/str-two-way.h (MAX): Sychronize with glibc.
34201
34202 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
34203
34204         * lib/regcomp.c (optimize_utf8): Add a note on why we test
34205         opr.ctx_type.
34206         (calc_first): Initialize constraint field.
34207         (duplicate_node_closure): Use it instead of special casing ANCHORS.
34208         Fix grammar.
34209         (duplicate_node): Merge constraint field for all node types.
34210         (calc_eclosure_iter): Look at constraint field for all node types.
34211         * lib/regex_internal.c (create_cd_newstate): Don't look at
34212         opr.ctx_type.
34213
34214 2008-05-14  Bruno Haible  <bruno@clisp.org>
34215
34216         Help GCC to do better code generation.
34217         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
34218         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
34219         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
34220         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
34221         Declare with attribute 'malloc' if supported.
34222
34223 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
34224
34225         use "echo STR|wc -c" rather than unportable "expr length STR"
34226         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
34227         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
34228
34229 2008-05-14  Jim Meyering  <meyering@redhat.com>
34230
34231         use dd ibs=$n count=1 ... rather than less-portable head -c$n
34232         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
34233         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
34234         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
34235         via Collin Lasse.
34236
34237 2008-05-14  Eric Blake  <ebb9@byu.net>
34238
34239         Avoid quadratic growth in gl_LIBSOURCES.
34240         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
34241         Suggested by Bruno Haible.
34242
34243         Test xmemdup0.
34244         * modules/xmemdup0-tests: New file.
34245         * tests/test-xmemdup0.c: Likewise.
34246
34247 2008-05-13  Eric Blake  <ebb9@byu.net>
34248
34249         Split xmemdup0 into its own module.
34250         * modules/xmemdup0: New file.
34251         * lib/xmemdup0.h: Likewise.
34252         * lib/xmemdup0.c: Likewise.
34253         * MODULES.html.sh (Memory management functions): Add xmemdup0.
34254         * lib/xalloc.h (xmemdup0): Remove.
34255         * lib/xmalloc.c (xmemdup0): Likewise.
34256
34257 2008-05-13  Eric Blake  <ebb9@byu.net>
34258             Bruno Haible  <bruno@clisp.org>
34259
34260         Reduce number of forks required during autoconf.
34261         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
34262         and gl_LIBSOURCES_DIR.
34263         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
34264         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
34265         m4_syscmd per file.
34266         <m4_foreach_w>: Move...
34267         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
34268
34269 2008-05-13  Eric Blake  <ebb9@byu.net>
34270
34271         * gnulib-tool: Fix various comment typos.
34272
34273 2008-05-12  Bruno Haible  <bruno@clisp.org>
34274
34275         Tailor the linebreaking algorithm.
34276         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
34277
34278 2008-05-12  Bruno Haible  <bruno@clisp.org>
34279
34280         Update to Unicode 5.0.0.
34281         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
34282         LBP_JV, LBP_JT. Redistribute values.
34283         (unilbrk_table): Change size.
34284         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
34285         Unicode TR#14 rev. 22.
34286         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
34287         LBP_JV, LBP_JT. Redistribute values.
34288         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
34289         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
34290         Update.
34291         * lib/unilbrk/lbrkprop1.h: Regenerated.
34292         * lib/unilbrk/lbrkprop2.h: Regenerated.
34293         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
34294         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
34295         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
34296         Likewise.
34297         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
34298         Likewise.
34299         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
34300         result.
34301         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
34302         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
34303         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
34304         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
34305         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
34306         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
34307
34308 2008-05-11  Bruno Haible  <bruno@clisp.org>
34309
34310         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
34311
34312 2008-05-11  Bruno Haible  <bruno@clisp.org>
34313
34314         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
34315         * modules/unilbrk/gen-lbrk: New file.
34316
34317 2008-05-11  Bruno Haible  <bruno@clisp.org>
34318
34319         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
34320         * m4/sha512.m4 (gl_SHA512): Likewise.
34321
34322 2008-05-11  Jim Meyering  <meyering@redhat.com>
34323
34324         New modules: crypto/sha256, crypto/sha512 (from coreutils)
34325         * modules/crypto/sha256: New file.
34326         * modules/crypto/sha512: Likewise.
34327         * lib/sha256.c: Likewise.
34328         * lib/sha256.h: Likewise.
34329         * lib/sha512.c: Likewise.
34330         * lib/sha512.h: Likewise.
34331         * lib/u64.h: Likewise.
34332         * m4/sha256.m4: Likewise.
34333         * m4/sha512.m4: Likewise.
34334         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
34335
34336 2008-05-10  Bruno Haible  <bruno@clisp.org>
34337
34338         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
34339         (Input/Output <stdio.h>): Add xprintf.
34340         (Signal handling <signal.h>): Add strsignal.
34341         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
34342         (Core language properties): Add func.
34343         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
34344         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
34345         strings.
34346         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
34347         (Input/output): New section.
34348         (File system functions): Add openat-die, stat-macros.
34349         (Networking functions): Add sockets.
34350         (Unicode string functions): Add unictype/*.
34351         (Support for building libraries and executables): Add gperf.
34352         (Support for building documentation): Add agpl-3.0.
34353         (Misc): Add nocrash.
34354
34355 2008-05-10  Bruno Haible  <bruno@clisp.org>
34356
34357         * modules/unictype/gen-ctype: New file.
34358
34359 2008-05-10  Jim Meyering  <meyering@redhat.com>
34360
34361         Make chdir-safer.c more efficient on a system with no symlinks.
34362         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
34363         also if ELOOP is zero.  Suggested by Bruno Haible.
34364
34365         Make chdir-safer.c slightly safer.
34366         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
34367         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
34368
34369         Avoid compile failure on systems without ELOOP (like mingw).
34370         * lib/chdir-safer.c (ELOOP): Define if not already defined.
34371         Reported by Bruno Haible.
34372
34373 2008-05-10  Bruno Haible  <bruno@clisp.org>
34374
34375         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
34376         (is_utf8_encoding): Use a case-insensitive comparison.
34377         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
34378         streq.
34379
34380 2008-05-10  Bruno Haible  <bruno@clisp.org>
34381
34382         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
34383         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
34384         * lib/unilbrk/ulc-common.h (iconv_string_length,
34385         iconv_string_keeping_offsets): Remove declarations.
34386         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
34387         Don't include <iconv.h>, streq.h, xsize.h.
34388         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
34389         conversion.
34390         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
34391         <iconv.h>, streq.h, xsize.h.
34392         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
34393         conversion.
34394         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
34395         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
34396         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
34397         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
34398
34399 2008-05-10  Bruno Haible  <bruno@clisp.org>
34400
34401         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
34402         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
34403
34404         * modules/unilbrk/u32-width-linebreaks-tests: New file.
34405         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
34406
34407         * modules/unilbrk/u16-width-linebreaks-tests: New file.
34408         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
34409
34410         * modules/unilbrk/u8-width-linebreaks-tests: New file.
34411         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
34412
34413         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
34414         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
34415
34416         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
34417         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
34418
34419         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
34420         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
34421
34422         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
34423         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
34424
34425 2008-05-10  Bruno Haible  <bruno@clisp.org>
34426
34427         Split up 'linebreak' module.
34428         * lib/unilbrk.h: New file, based on lib/linebreak.h.
34429         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
34430         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
34431         modifications.
34432         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
34433         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
34434         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
34435         lib/linebreak.c.
34436         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
34437         lib/linebreak.c.
34438         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
34439         lib/linebreak.c.
34440         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
34441         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
34442         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
34443         lib/linebreak.c.
34444         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
34445         lib/linebreak.c.
34446         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
34447         lib/linebreak.c.
34448         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
34449         lib/linebreak.c.
34450         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
34451         lib/linebreak.c.
34452         * modules/unilbrk/base: New file.
34453         * modules/unilbrk/tables: New file.
34454         * modules/unilbrk/u8-possible-linebreaks: New file.
34455         * modules/unilbrk/u16-possible-linebreaks: New file.
34456         * modules/unilbrk/u32-possible-linebreaks: New file.
34457         * modules/unilbrk/ulc-common: New file.
34458         * modules/unilbrk/ulc-possible-linebreaks: New file.
34459         * modules/unilbrk/u8-width-linebreaks: New file.
34460         * modules/unilbrk/u16-width-linebreaks: New file.
34461         * modules/unilbrk/u32-width-linebreaks: New file.
34462         * modules/unilbrk/ulc-width-linebreaks: New file.
34463         * lib/linebreak.h: Remove file.
34464         * lib/linebreak.c: Remove file.
34465         * m4/linebreak.m4: Remove file.
34466         * modules/linebreak: Remove file.
34467         * NEWS: Mention the changes.
34468
34469 2008-05-09  Eric Blake  <ebb9@byu.net>
34470
34471         Add xmemdup0.
34472         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
34473         implementation.
34474         * lib/xmalloc.c (xmemdup0): New C implementation.
34475
34476 2008-05-08  Bruno Haible  <bruno@clisp.org>
34477
34478         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
34479
34480 2008-05-07  Eric Blake  <ebb9@byu.net>
34481
34482         Support cross-compilation of <wctype.h>.
34483         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
34484         AC_CACHE_CHECK.
34485
34486 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
34487
34488         * build-aux/vc-list-files: Add support for bzr.
34489
34490 2008-05-03  Jim Meyering  <meyering@redhat.com>
34491
34492         avoid failed assertion with tight malloc
34493         * tests/test-getndelim2.c: Correct an off-by-one assertion.
34494
34495 2008-05-03  Simon Josefsson  <simon@josefsson.org>
34496
34497         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
34498         are needed from arpa/inet.h.
34499         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
34500         Reported by Bruno Haible.
34501
34502 2008-05-02  Jim Meyering  <meyering@redhat.com>
34503
34504         avoid compilation error on FreeBSD 6
34505         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
34506
34507 2008-05-01  Jim Meyering  <meyering@redhat.com>
34508
34509         useless-if-before-free: correct --help's exit status description
34510         * build-aux/useless-if-before-free (usage): Like grep, exit 0
34511         for one or more matches, etc.  Reported by Bruno Haible.
34512
34513         vc-list-files: make the stand-alone gnulib test work
34514         * modules/vc-list-files-tests (configure.ac):
34515         Define and AC_SUBST abs_aux_dir.
34516         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
34517         $(abs_top_srcdir) to each script and having each of them
34518         duplicate the work of setting PATH, set PATH here, using
34519         the new variable, abs_aux_dir instead.
34520         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
34521         * tests/test-vc-list-files-git.sh: Likewise.
34522         Reported by Bruno Haible.
34523
34524 2008-05-01  Bruno Haible  <bruno@clisp.org>
34525
34526         * lib/getndelim2.c (getndelim2): Fix newsize computation during
34527         reallocation. Rename 'done' to 'found_delimiter'.
34528
34529 2008-05-01  Jim Meyering  <meyering@redhat.com>
34530
34531         vc-list-files: accommodate /bin/sh like the one from Solaris 10
34532         * build-aux/vc-list-files: Use `...`, not $(...).
34533
34534 2008-04-30  Jim Meyering  <meyering@redhat.com>
34535
34536         add tests for vc-list-files
34537         * modules/vc-list-files-tests: New module.
34538         * tests/test-vc-list-files-cvs.sh: New file.
34539         * tests/test-vc-list-files-git.sh: New file.
34540
34541         avoid a warning from gcc
34542         * lib/getndelim2.c (IF_LINT): Define.
34543         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
34544
34545         vc-list-files: work properly with build-aux/cvsu, too
34546         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
34547         to all cvs-based clauses.
34548
34549         vc-list-files: work properly in the CVS+awk case, too
34550         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
34551
34552         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
34553         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
34554         take more than one file argument, so .  Add quotes, just in case $dir
34555         ever contains a shell meta-character.  Prompted by Soren Hansen in
34556         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
34557
34558 2008-04-29  Eric Blake  <ebb9@byu.net>
34559
34560         Optimize getndelim2 to use block operations when possible.
34561         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
34562         freadseek, and memchr2.
34563         * lib/getndelim2.c (getndelim2): Use them for block reads.
34564
34565 2008-04-29  Bruno Haible  <bruno@clisp.org>
34566
34567         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
34568         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34569         * modules/inet_ntop (Depends-on): Add extensions.
34570         * modules/inet_pton (Depends-on): Likewise.
34571         Reported by Simon Josefsson.
34572
34573 2008-04-29  Jim Meyering  <meyering@redhat.com>
34574
34575         When the is more than one match in a block, match all of them.
34576         * build-aux/useless-if-before-free: Iterate through each block
34577         until there are no more matches.
34578
34579         Fix broken useless-if-before-free script.
34580         * build-aux/useless-if-before-free: Fix typo: missing "?" after
34581         the expression to match cast of argument to free-like function.
34582
34583 2008-04-29  Eric Blake  <ebb9@byu.net>
34584
34585         Use new header.
34586         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
34587
34588 2008-04-29  Jim Meyering  <meyering@redhat.com>
34589
34590         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
34591         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
34592         by gnulib to exist and to declare e.g., inet_ntop.
34593         Don't include "inet_ntop.h", now removed.
34594
34595         * m4/arpa_inet_h.m4: Remove trailing blanks.
34596
34597 2008-04-29  Eric Blake  <ebb9@byu.net>
34598
34599         Silence valgrind on safe reads beyond potential array bounds.
34600         * lib/rawmemchr.valgrind: New file.
34601         * lib/strchrnul.valgrind: Likewise.
34602         * modules/rawmemchr (Files): Distribute new file.
34603         * modules/strchrnul (Files): Likewise.
34604         Suggested by Bruno Haible.
34605
34606 2008-04-29  Bruno Haible  <bruno@clisp.org>
34607
34608         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
34609         (inet_ntop, inet_pton): Change portability warning's wording.
34610         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
34611         Invoke gl_CHECK_NEXT_HEADERS.
34612         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
34613         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
34614         set ARPA_INET_H.
34615         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34616         * modules/arpa_inet (Description): No longer only for systems that
34617         lack it.
34618         (Depends-on): Add include_next.
34619         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
34620         HAVE_ARPA_INET_H.
34621
34622 2008-04-29  Jim Meyering  <meyering@redhat.com>
34623
34624         * modules/mkdir (License): Re-license as LGPLv2+.
34625
34626 2008-04-29  Bruno Haible  <bruno@clisp.org>
34627
34628         * modules/rawmemchr (Maintainer): Set to Eric.
34629         * modules/strchrnul (Maintainer): Likewise.
34630
34631 2008-04-29  Simon Josefsson  <simon@josefsson.org>
34632
34633         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
34634         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
34635
34636         * modules/arpa_inet (arpa/inet.h): Use them.
34637
34638 2008-04-28  Eric Blake  <ebb9@byu.net>
34639
34640         Test getndelim2.
34641         * modules/getndelim2-tests: New file.
34642         * tests/test-getndelim2.c: Likewise.
34643         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
34644         stream.
34645         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
34646
34647         * MODULES.html.sh: Document new module.
34648
34649 2008-04-20  Bruno Haible  <bruno@clisp.org>
34650
34651         * lib/c-stack.c (die): Use raise.
34652         * modules/c-stack (Depends-on): Add raise.
34653
34654 2008-04-28  Bruno Haible  <bruno@clisp.org>
34655
34656         Expect rpmatch to be declared.
34657         * lib/yesno.c (rpmatch): Remove declaration.
34658
34659         Declare rpmatch.
34660         * lib/stdlib.in.h (rpmatch): New declaration.
34661         * lib/rpmatch.c: Include <stdlib.h> first.
34662         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
34663         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
34664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
34665         HAVE_RPMATCH.
34666         * modules/rpmatch (Depends-on): Add stdlib, extensions.
34667         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34668         (Include): Set to <stdlib.h>.
34669         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
34670         HAVE_RPMATCH.
34671         * NEWS: Document the change.
34672
34673 2008-04-28  Bruno Haible  <bruno@clisp.org>
34674
34675         Change rpmatch to use nl_langinfo when appropriate.
34676         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
34677         (N_): New macro.
34678         (localized_pattern): New function/macro.
34679         (try): Remove match, nomatch arguments. Copy the pattern into safe
34680         memory before caching it.
34681         (rpmatch): Use localized_pattern. Add translator comments.
34682         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
34683         Suggested by Eric Blake.
34684         * modules/rpmatch (Depends-on): Add stdbool.
34685
34686 2008-04-28  Eric Blake  <ebb9@byu.net>
34687
34688         Add rawmemchr module, matching glibc.
34689         * modules/string (Makefile.am): New indicator.
34690         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
34691         * lib/string.in.h (rawmemchr): Declare when appropriate.
34692         * modules/rawmemchr: New file.
34693         * m4/rawmemchr.m4: Likewise.
34694         * lib/rawmemchr.c: Likewise.
34695         * modules/rawmemchr-tests: Likewise.
34696         * tests/test-rawmemchr.c: Likewise.
34697         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
34698         module.
34699         * modules/strchrnul (Depends-on): Add rawmemchr.
34700         * lib/strchrnul.c (strchrnul): Optimize a corner case.
34701
34702         Whitespace cleanup.
34703         * tests/test-strchrnul.c: Reindent.
34704         * lib/strchrnul.c: Likewise.
34705
34706         Optimize and test strchrnul.
34707         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
34708         * modules/strchrnul-tests: New file.
34709         * tests/test-strchrnul.c: Likewise.
34710
34711         Remove intprops dependency.
34712         * modules/memchr (Depends-on): Remove intprops.
34713         * modules/memrchr (Depends-on): Likewise.
34714         * modules/memchr2 (Depends-on): Likewise.
34715         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
34716         * lib/memrchr.c (__memrchr): Likewise.
34717         * lib/memrchr2.c (memchr2): Likewise.
34718         Reported by Simon Josefsson.
34719
34720 2008-04-28  Simon Josefsson  <simon@josefsson.org>
34721
34722         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
34723         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34724
34725 2008-04-28  Simon Josefsson  <simon@josefsson.org>
34726
34727         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
34728
34729         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
34730
34731         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
34732
34733         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
34734         declarations.
34735         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
34736
34737         * m4/inet_pton.m4: Don't check for header files.
34738
34739         * m4/inet_ntop.m4: Don't check for header files.
34740
34741 2008-04-28  Simon Josefsson  <simon@josefsson.org>
34742
34743         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
34744         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
34745         trigger for cygwin).
34746         Reported by Bruno Haible  <bruno@clisp.org>.
34747
34748 2008-04-28  Bruno Haible  <bruno@clisp.org>
34749
34750         * doc/posix-functions/strdup.texi: Mention mingw problem.
34751
34752 2008-04-27  Bruno Haible  <bruno@clisp.org>
34753
34754         * modules/stat-time-tests (Depends-on): Add sleep.
34755         * tests/test-stat-time.c (force_unlink): New function.
34756         (cleanup): Use it.
34757         (test_mtime): Remove the ctime related tests.
34758         (test_ctime): New function, containing the ctime related tests.
34759         (main): Call test_ctime, except on native Windows platforms.
34760
34761 2008-04-27  Bruno Haible  <bruno@clisp.org>
34762
34763         * lib/rpmatch.c (rpmatch): Add some comments.
34764         Reported by James Youngman <jay@gnu.org>.
34765
34766 2008-04-27  Bruno Haible  <bruno@clisp.org>
34767
34768         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
34769         quiet NaNs.
34770
34771 2008-04-27  Bruno Haible  <bruno@clisp.org>
34772
34773         Make test-yesno.sh work on mingw.
34774         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
34775         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
34776         (main): Set stdin to binary mode.
34777         * modules/yesno-tests (Depends-on): Add binary-io.
34778
34779 2008-04-27  Bruno Haible  <bruno@clisp.org>
34780
34781         Fix 'isfinite' on x86, x86_64, ia64 platforms.
34782         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
34783         argument that lie outside the IEEE 854 domain.
34784         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
34785         (gl_ISFINITE): Use it.
34786         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
34787
34788 2008-04-27  Bruno Haible  <bruno@clisp.org>
34789
34790         Allow local renaming in config.h.
34791         * lib/memrchr.c (memrchr): Don't undefine outside libc.
34792
34793 2008-04-27  Bruno Haible  <bruno@clisp.org>
34794
34795         * lib/memchr.c (__memchr): Change type of 'i'.
34796         * lib/memchr2.c (memchr2): Likewise.
34797
34798 2008-04-26  Eric Blake  <ebb9@byu.net>
34799         and Bruno Haible  <bruno@clisp.org>
34800
34801         Optimize and test memrchr.
34802         * modules/memrchr (Depends-on): Add intprops.
34803         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
34804         * modules/memrchr-tests: New file.
34805         * tests/test-memrchr.c: New file.
34806
34807 2008-04-26  Bruno Haible  <bruno@clisp.org>
34808
34809         Add tentative support for DragonFly BSD.
34810         * lib/stdio-impl.h: Add macros for DragonFly BSD.
34811         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
34812         fp.
34813         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
34814         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
34815         * lib/fpurge.c (fpurge): Likewise.
34816         * lib/freadable.c (freaadable): Likewise.
34817         * lib/freadahead.c (freadahead): Likewise.
34818         * lib/freading.c (freading): Likewise.
34819         * lib/freadptr.c (freadptr): Likewise.
34820         * lib/freadseek.c (freadptrinc): Likewise.
34821         * lib/fseeko.c (fseeko): Likewise.
34822         * lib/fseterr.c (fseterr): Likewise.
34823         * lib/fwritable.c (fwritable): Likewise.
34824         * lib/fwriting.c (fwriting): Likewise.
34825
34826 2008-04-26  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/stdio-impl.h: New file.
34829         * lib/fbufmode.c: Include stdio-impl.h.
34830         (fbufmode): Use fp_, remove redundant #defines.
34831         * lib/fflush.c: Include stdio-impl.h.
34832         (clear_ungetc_buffer): Remove redundant #defines.
34833         * lib/fpurge.c: Include stdio-impl.h.
34834         (fpurge): Remove redundant #defines.
34835         * lib/freadable.c: Include stdio-impl.h.
34836         (freadable): Remove redundant #defines.
34837         * lib/freadahead.c: Include stdio-impl.h.
34838         (freadahead): Remove redundant #defines.
34839         * lib/freading.c: Include stdio-impl.h.
34840         (freading): Remove redundant #defines.
34841         * lib/freadptr.c: Include stdio-impl.h.
34842         (freadptr): Remove redundant #defines.
34843         * lib/freadseek.c: Include stdio-impl.h.
34844         (freadptrinc): Remove redundant #defines.
34845         * lib/fseeko.c: Include stdio-impl.h.
34846         (rpl_fseeko): Remove redundant #defines.
34847         * lib/fseterr.c: Include stdio-impl.h.
34848         (fseterr): Remove redundant #defines.
34849         * lib/fwritable.c: Include stdio-impl.h.
34850         (fwritable: Remove redundant #defines.
34851         * lib/fwriting.c: Include stdio-impl.h.
34852         (fwriting): Remove redundant #defines.
34853         * modules/fbufmode (Files): Add lib/stdio-impl.h.
34854         * modules/fflush (Files): Likewise.
34855         * modules/fpurge (Files): Likewise.
34856         * modules/freadable (Files): Likewise.
34857         * modules/freadahead (Files): Likewise.
34858         * modules/freading (Files): Likewise.
34859         * modules/freadptr (Files): Likewise.
34860         * modules/freadseek (Files): Likewise.
34861         * modules/fseeko (Files): Likewise.
34862         * modules/fseterr (Files): Likewise.
34863         * modules/fwritable (Files): Likewise.
34864         * modules/fwriting (Files): Likewise.
34865
34866 2008-04-26  Bruno Haible  <bruno@clisp.org>
34867
34868         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
34869         restore_seek_optimization, update_fpos_cache): New functions, extracted
34870         from rpl_fflush.
34871         (rpl_fflush): Use them.
34872         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
34873         (gl_REPLACE_FFLUSH): Use it.
34874
34875 2008-04-26  Bruno Haible  <bruno@clisp.org>
34876
34877         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
34878         on Solaris.
34879         * tests/test-xstrtoimax.sh: Likewise.
34880         * tests/test-xstrtoumax.sh: Likewise.
34881         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34882
34883 2008-04-26  Bruno Haible  <bruno@clisp.org>
34884
34885         * modules/memchr-tests: New file.
34886         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
34887
34888 2008-04-26  Eric Blake  <ebb9@byu.net>
34889             Bruno Haible  <bruno@clisp.org>
34890
34891         * lib/memchr.c: Include intprops.h.
34892         (__memchr): Optimize parallel detection of matching bytes. Rename local
34893         variables. Add explanatory comments.
34894
34895 2008-04-26  Bruno Haible  <bruno@clisp.org>
34896
34897         Fix module 'memchr', broken since 2000-10-28.
34898         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
34899
34900 2008-04-26  Bruno Haible  <bruno@clisp.org>
34901
34902         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
34903         comments.
34904
34905 2008-04-25  Eric Blake  <ebb9@byu.net>
34906
34907         Use native fstatat on cygwin 1.7.0.
34908         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
34909         first.
34910
34911 2008-04-23  Eric Blake  <ebb9@byu.net>
34912
34913         Improve memchr2 performance.
34914         * lib/memchr2.c (memchr2): Further optimize parallel detection of
34915         NUL bytes.
34916         * modules/memchr2 (Depends-on): Use intprops.h.
34917
34918 2008-04-23  Simon Josefsson  <simon@josefsson.org>
34919
34920         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
34921         an inline function instead of a CPP macro.  Patch by Ben Pfaff
34922         <blp@cs.stanford.edu>.
34923
34924 2008-04-23  Simon Josefsson  <simon@josefsson.org>
34925
34926         * lib/arpa_inet.in.h: New file.
34927
34928         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
34929         (Makefile.am): Sed in substitute header file.
34930
34931         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
34932         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
34933
34934         * modules/inet_ntop (configure.ac): Use
34935         gl_ARPA_INET_MODULE_INDICATOR.
34936
34937         * modules/inet_pton (configure.ac): Use
34938         gl_ARPA_INET_MODULE_INDICATOR.
34939
34940 2008-04-22  Jim Meyering  <meyering@redhat.com>
34941
34942         * modules/verify (License): Re-license as LGPLv2+.
34943
34944 2008-04-22  Simon Josefsson  <simon@josefsson.org>
34945
34946         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
34947         parameter to void* as per POSIX standard (MinGW uses char*).
34948
34949 2008-04-21  Bruno Haible  <bruno@clisp.org>
34950
34951         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
34952         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
34953         Define to replacements if REPLACE_ISWCNTRL is 1.
34954         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
34955         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
34956         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
34957         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
34958         what it fixes.
34959         * doc/posix-functions/iswalpha.texi: Likewise.
34960         * doc/posix-functions/iswblank.texi: Likewise.
34961         * doc/posix-functions/iswcntrl.texi: Likewise.
34962         * doc/posix-functions/iswdigit.texi: Likewise.
34963         * doc/posix-functions/iswgraph.texi: Likewise.
34964         * doc/posix-functions/iswlower.texi: Likewise.
34965         * doc/posix-functions/iswprint.texi: Likewise.
34966         * doc/posix-functions/iswpunct.texi: Likewise.
34967         * doc/posix-functions/iswspace.texi: Likewise.
34968         * doc/posix-functions/iswupper.texi: Likewise.
34969         * doc/posix-functions/iswxdigit.texi: Likewise.
34970         Reported by Alain Guibert.
34971
34972 2008-04-21  Bruno Haible  <bruno@clisp.org>
34973
34974         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
34975         Patch by Alain Guibert.
34976
34977 2008-04-21  Bruno Haible  <bruno@clisp.org>
34978
34979         Fix test failures on mingw.
34980         * tests/test-xstrtol.c (print_no_progname): New function.
34981         (main): Install it in error_print_progname hook.
34982         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
34983         * tests/test-xstrtoimax.sh: Likewise.
34984         * tests/test-xstrtoumax.sh: Likewise.
34985
34986 2008-04-21  Bruno Haible  <bruno@clisp.org>
34987
34988         Fix test failure on mingw.
34989         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
34990
34991 2008-04-21  Bruno Haible  <bruno@clisp.org>
34992
34993         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
34994         Actually assign a value.
34995
34996 2008-04-20  Bruno Haible  <bruno@clisp.org>
34997
34998         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
34999         take 2.
35000         * lib/canonicalize.c (canonicalize_file_name): Elide if the
35001         'canonicalize-lgpl' module is also used.
35002         * lib/canonicalize-lgpl.c: Undo last change.
35003         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
35004
35005 2008-04-20  Bruno Haible  <bruno@clisp.org>
35006
35007         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
35008         config.h. Provide _mkdir based fallback for mingw.
35009         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
35010         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
35011         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
35012         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
35013         rather than defining mkdir in config.h.
35014         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
35015         (gl_SYS_STAT_H_DEFAULTS): New macro.
35016         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
35017         HAVE_IO_H any more.
35018         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
35019         HAVE_DECL_MKDIR and HAVE_IO_H.
35020
35021 2008-04-20  Bruno Haible  <bruno@clisp.org>
35022
35023         * lib/isapipe.c: Port to native Windows platforms.
35024
35025 2008-04-20  Bruno Haible  <bruno@clisp.org>
35026
35027         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
35028
35029 2008-04-21  Eric Blake  <ebb9@byu.net>
35030
35031         Work around preprocessors that don't handle UINTMAX_MAX.
35032         * lib/memchr2.c (memchr2): Avoid embedded #if.
35033         Reported by Alain Guibert, fix suggested by Bruno Haible.
35034
35035 2008-04-21  Simon Josefsson  <simon@josefsson.org>
35036
35037         * doc/posix-functions/strftime.texi (strftime): Explain better
35038         Windows incompatibility.  Suggested by Micah Cowan
35039         <micah@cowan.name>.
35040
35041 2008-04-20  Bruno Haible  <bruno@clisp.org>
35042
35043         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
35044         unistr/u8-mblen.
35045
35046 2008-04-20  Bruno Haible  <bruno@clisp.org>
35047
35048         Fix test failure on platforms with non-GNU iconv.
35049         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
35050         (U_TO_U8): Use it, rather than u16_to_u8.
35051         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
35052         units at the end of the input string.
35053         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
35054
35055 2008-04-20  Bruno Haible  <bruno@clisp.org>
35056
35057         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
35058         when the resulting length is 0.
35059         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
35060
35061 2008-04-20  Bruno Haible  <bruno@clisp.org>
35062
35063         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
35064         works.
35065         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
35066
35067 2008-04-20  Bruno Haible  <bruno@clisp.org>
35068
35069         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
35070         * modules/tsearch-tests (configure.ac): Test for initstate function.
35071
35072 2008-04-20  Bruno Haible  <bruno@clisp.org>
35073
35074         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
35075         for nlink_t if missing.
35076         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
35077
35078 2008-04-19  Bruno Haible  <bruno@clisp.org>
35079
35080         Work around snprintf bug on Linux libc5.
35081         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
35082         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35083         gl_SNPRINTF_SIZE1.
35084         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35085         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
35086         that test failed.
35087         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
35088         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
35089         * modules/snprintf (Files): Add m4/printf.m4.
35090         * modules/vsnprintf (Files): Likewise.
35091         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
35092         * doc/posix-functions/vsnprintf.texi: Likewise.
35093
35094 2008-04-19  Bruno Haible  <bruno@clisp.org>
35095
35096         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
35097         from 0.0058 to less than 10^-7.
35098
35099 2008-04-19  Bruno Haible  <bruno@clisp.org>
35100
35101         Fix rounding when a precision is given.
35102         * lib/vasnprintf.c (is_borderline): New function.
35103         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
35104         9...9x.
35105         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
35106         %e, %g.
35107         * tests/test-vasprintf-posix.c (test_function): Likewise.
35108         * tests/test-snprintf-posix.h (test_function): Likewise.
35109         * tests/test-sprintf-posix.h (test_function): Likewise.
35110         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
35111         * tests/test-printf-posix.h (test_function): Likewise.
35112         * tests/test-printf-posix.output: Update.
35113         Reported by John Darrington <john@darrington.wattle.id.au> via
35114         Ben Pfaff <blp@cs.stanford.edu>.
35115
35116 2008-04-18  Simon Josefsson  <simon@josefsson.org>
35117
35118         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
35119         Suggested by Bruno Haible <bruno@clisp.org>.
35120
35121 2008-04-17  Bruno Haible  <bruno@clisp.org>
35122
35123         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
35124         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
35125         implementation.
35126         Patch by Bruce Merry <bmerry@gmail.com>.
35127
35128 2008-04-17  Simon Josefsson  <simon@josefsson.org>
35129
35130         * doc/posix-functions/strftime.texi (strftime): Mention that %e
35131         doesn't work under Windows.
35132
35133 2008-04-16  Bruno Haible  <bruno@clisp.org>
35134
35135         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
35136         New macros.
35137         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
35138         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
35139         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
35140         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
35141         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
35142         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
35143         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
35144         macros.
35145         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
35146         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
35147         Northern Sotho, Uighur.
35148
35149 2008-04-16  Bruno Haible  <bruno@clisp.org>
35150
35151         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
35152         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
35153         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
35154         Reported by Daniel Bergström <daniel@octocode.com>.
35155
35156 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
35157             Bruno Haible  <bruno@clisp.org>
35158
35159         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
35160         function.
35161         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
35162         New functions, mostly extracted from gl_locale_name_default.
35163         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
35164
35165 2008-04-16  Eric Blake  <ebb9@byu.net>
35166
35167         Adjust strtod detection to catch glibc 2.7 bug.
35168         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
35169         Reported by John Gatewood Ham.
35170
35171 2008-04-16  Bruno Haible  <bruno@clisp.org>
35172
35173         Add tentative support for Linux libc5.
35174         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
35175         * lib/fpurge.c (fpurge): Likewise.
35176         * lib/freadable.c (freadable): Likewise.
35177         * lib/freadahead.c (freadahead): Likewise.
35178         * lib/freading.c (freading): Likewise.
35179         * lib/freadptr.c (freadptr): Likewise.
35180         * lib/freadseek.c (freadptrinc): Likewise.
35181         * lib/fseeko.c (rpl_fseeko): Likewise.
35182         * lib/fseterr.c (fseterr): Likewise.
35183         * lib/fwritable.c (fwritable): Likewise.
35184         * lib/fwriting.c (fwriting): Likewise.
35185         Reported by Alain Guibert <alguibert+bts@free.fr>.
35186
35187 2008-04-15  Bruno Haible  <bruno@clisp.org>
35188
35189         * modules/mathl (configure.ac): Define module indicator.
35190
35191 2008-04-15  Bruno Haible  <bruno@clisp.org>
35192
35193         * lib/logl.c (logl): Remove unused variables.
35194
35195 2008-04-15  Bruno Haible  <bruno@clisp.org>
35196
35197         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
35198         fails.
35199
35200 2008-04-15  Bruno Haible  <bruno@clisp.org>
35201
35202         * lib/trim.c (trim2): Fix argument of isspace() macro.
35203
35204 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
35205
35206         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
35207         to 0.
35208         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
35209
35210 2008-04-14  Bruno Haible  <bruno@clisp.org>
35211
35212         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
35213         AC_LANG_PROGRAM argument.
35214         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
35215         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
35216         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35217         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35218         * m4/math_h.m4 (gl_MATH_H): Likewise.
35219         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
35220         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35221         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
35222         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
35223         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
35224         * m4/regex.m4 (gl_REGEX): Likewise.
35225         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
35226         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
35227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35228         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
35229         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35230         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35231         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35232         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35233
35234 2008-04-14  Jim Meyering  <meyering@redhat.com>
35235
35236         test-strtod: fix typos: s/abs/fabs/
35237         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
35238
35239 2008-04-13  Bruno Haible  <bruno@clisp.org>
35240
35241         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
35242         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
35243         module is also used and while not building the reloc-wrapper.
35244
35245 2008-04-13  Bruno Haible  <bruno@clisp.org>
35246
35247         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
35248
35249 2008-04-13  Bruno Haible  <bruno@clisp.org>
35250
35251         Fix AIX compilation failure introduced on 2008-04-02.
35252         * tests/test-frexp.c (exp): Undefine before redefining.
35253         * tests/test-frexpl.c (exp): Likewise.
35254
35255 2008-04-13  Bruno Haible  <bruno@clisp.org>
35256
35257         Work around a HP-UX stdio bug.
35258         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
35259         * tests/test-ftello.c (main): Likewise.
35260         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
35261         * doc/posix-functions/ftello.texi: Likewise.
35262
35263 2008-04-13  Bruno Haible  <bruno@clisp.org>
35264
35265         Make test-signbit pass on HP-UX/hppa.
35266         * tests/test-signbit.c (minus_zerol): New variable.
35267         (test_signbitl): Use it.
35268
35269 2008-04-13  Bruno Haible  <bruno@clisp.org>
35270
35271         Make truncl work on OSF/1 4.0.
35272         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
35273         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
35274         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
35275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
35276         HAVE_DECL_TRUNCL.
35277         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
35278         HAVE_DECL_TRUNCL.
35279         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
35280
35281 2008-04-13  Bruno Haible  <bruno@clisp.org>
35282
35283         * lib/unictype.h: Remove trailing comma from enumeration definitions.
35284
35285 2008-04-13  Bruno Haible  <bruno@clisp.org>
35286
35287         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
35288         expression, so as to avoid HP-UX 11 cc compiler bug.
35289
35290 2008-04-13  Bruno Haible  <bruno@clisp.org>
35291
35292         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
35293
35294 2008-04-13  Bruno Haible  <bruno@clisp.org>
35295
35296         * lib/git-merge-changelog.c: Remove empty declaration outside of
35297         functions.
35298
35299 2008-04-13  Bruno Haible  <bruno@clisp.org>
35300
35301         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
35302
35303 2008-04-13  Bruno Haible  <bruno@clisp.org>
35304
35305         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
35306         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
35307         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
35308         also if it exists but lacks definitions of the SHUT_* macros.
35309         * modules/sys_socket (Description): Update.
35310         Reported by Elbert Pol <e.pol@chello.nl>.
35311
35312 2008-04-13  Bruno Haible  <bruno@clisp.org>
35313
35314         * lib/localcharset.c (OS2): Don't redefine if already defined.
35315         Reported by Elbert Pol <e.pol@chello.nl>.
35316
35317 2008-04-13  Bruno Haible  <bruno@clisp.org>
35318
35319         * lib/binary-io.h [__EMX__]: Include <io.h>.
35320         Reported by Elbert Pol <e.pol@chello.nl>.
35321
35322 2008-04-12  Bruno Haible  <bruno@clisp.org>
35323
35324         * lib/fpucw.h: Enable the definitions also for x86_64.
35325         Needed for NetBSD/x86_64.
35326         Reported by Thomas Klausner <tk@giga.or.at>.
35327
35328 2008-04-12  Bruno Haible  <bruno@clisp.org>
35329
35330         * tests/test-strtod.c: Include isnand.h.
35331         (main): Use isnand instead of isnan.
35332         Reported by Jim Meyering.
35333
35334 2008-04-12  Bruno Haible  <bruno@clisp.org>
35335
35336         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
35337         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35338
35339 2008-04-12  Jim Meyering  <meyering@redhat.com>
35340
35341         * m4/math_h.m4 (gl_MATH_H): Fix typos.
35342
35343 2008-04-12  Bruno Haible  <bruno@clisp.org>
35344
35345         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
35346         Reported by Elbert Pol <e.pol@chello.nl>.
35347
35348 2008-04-12  Eric Blake  <ebb9@byu.net>
35349
35350         Work around Solaris 10 math.h bug.
35351         * m4/math_h.m4 (gl_MATH_H): Check for bug.
35352         (gl_MATH_H_DEFAULTS): Set up default.
35353         * modules/math (Makefile.am): Replace new indicators.
35354         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
35355         * tests/test-math.c (main): Test this.
35356         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
35357         * doc/posix-headers/math.texi (math.h): Mention bug.
35358         Reported by Nelson H. F. Beebe and Jim Meyering.
35359
35360 2008-04-11  Bruno Haible  <bruno@clisp.org>
35361
35362         Adapt to future versions of Apple GCC.
35363         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
35364         Reported by Peter O'Gorman <peter@pogma.com>.
35365
35366 2008-04-11  Bruno Haible  <bruno@clisp.org>
35367
35368         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
35369
35370 2008-04-11  Bruno Haible  <bruno@clisp.org>
35371
35372         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
35373
35374         * modules/getaddrinfo-tests (Makefile.am): Define
35375         test_getaddrinfo_LDADD.
35376
35377 2008-04-11  Bruno Haible  <bruno@clisp.org>
35378
35379         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
35380         (init): Fix syntax error.
35381         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
35382         is declared.
35383
35384 2008-04-11  Bruno Haible  <bruno@clisp.org>
35385
35386         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
35387         * modules/glob (Depends-on): Add stdbool.
35388
35389 2008-04-11  Bruno Haible  <bruno@clisp.org>
35390
35391         * lib/trim.c: Include <string.h>.
35392
35393 2008-04-11  Eric Blake  <ebb9@byu.net>
35394
35395         Avoid compile failure on OS/2.
35396         * lib/regex_internal.h (internal_function): Disable optimization
35397         on OS/2 (__EMX__), where it caused compiler error.
35398         Reported by Elbert Pol.
35399
35400 2008-04-11  Bruno Haible  <bruno@clisp.org>
35401
35402         Flush the standard error stream before aborting. Needed on mingw.
35403         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
35404         * tests/test-array_list.c (ASSERT): Likewise.
35405         * tests/test-array_oset.c (ASSERT): Likewise.
35406         * tests/test-avltree_list.c (ASSERT): Likewise.
35407         * tests/test-avltree_oset.c (ASSERT): Likewise.
35408         * tests/test-avltreehash_list.c (ASSERT): Likewise.
35409         * tests/test-binary-io.c (ASSERT): Likewise.
35410         * tests/test-byteswap.c (ASSERT): Likewise.
35411         * tests/test-c-ctype.c (ASSERT): Likewise.
35412         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
35413         * tests/test-c-strcasestr.c (ASSERT): Likewise.
35414         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
35415         * tests/test-c-strstr.c (ASSERT): Likewise.
35416         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
35417         * tests/test-canonicalize.c (ASSERT): Likewise.
35418         * tests/test-carray_list.c (ASSERT): Likewise.
35419         * tests/test-ceilf1.c (ASSERT): Likewise.
35420         * tests/test-ceilf2.c (ASSERT): Likewise.
35421         * tests/test-ceill.c (ASSERT): Likewise.
35422         * tests/test-count-one-bits.c (ASSERT): Likewise.
35423         * tests/test-fbufmode.c (ASSERT): Likewise.
35424         * tests/test-fflush2.c (ASSERT): Likewise.
35425         * tests/test-floorf1.c (ASSERT): Likewise.
35426         * tests/test-floorf2.c (ASSERT): Likewise.
35427         * tests/test-floorl.c (ASSERT): Likewise.
35428         * tests/test-fopen.c (ASSERT): Likewise.
35429         * tests/test-fpending.c (ASSERT): Likewise.
35430         * tests/test-fprintf-posix.c (ASSERT): Likewise.
35431         * tests/test-fpurge.c (ASSERT): Likewise.
35432         * tests/test-freadable.c (ASSERT): Likewise.
35433         * tests/test-freadahead.c (ASSERT): Likewise.
35434         * tests/test-freading.c (ASSERT): Likewise.
35435         * tests/test-freadptr.c (ASSERT): Likewise.
35436         * tests/test-freadptr2.c (ASSERT): Likewise.
35437         * tests/test-freadseek.c (ASSERT): Likewise.
35438         * tests/test-freopen.c (ASSERT): Likewise.
35439         * tests/test-frexp.c (ASSERT): Likewise.
35440         * tests/test-frexpl.c (ASSERT): Likewise.
35441         * tests/test-fseek.c (ASSERT): Likewise.
35442         * tests/test-fseeko.c (ASSERT): Likewise.
35443         * tests/test-fstrcmp.c (ASSERT): Likewise.
35444         * tests/test-ftell.c (ASSERT): Likewise.
35445         * tests/test-ftello.c (ASSERT): Likewise.
35446         * tests/test-func.c (ASSERT): Likewise.
35447         * tests/test-fwritable.c (ASSERT): Likewise.
35448         * tests/test-fwriting.c (ASSERT): Likewise.
35449         * tests/test-getdelim.c (ASSERT): Likewise.
35450         * tests/test-getline.c (ASSERT): Likewise.
35451         * tests/test-i-ring.c (ASSERT): Likewise.
35452         * tests/test-iconv-utf.c (ASSERT): Likewise.
35453         * tests/test-iconv.c (ASSERT): Likewise.
35454         * tests/test-isfinite.c (ASSERT): Likewise.
35455         * tests/test-isnand.c (ASSERT): Likewise.
35456         * tests/test-isnanf.c (ASSERT): Likewise.
35457         * tests/test-isnanl.h (ASSERT): Likewise.
35458         * tests/test-ldexpl.c (ASSERT): Likewise.
35459         * tests/test-linked_list.c (ASSERT): Likewise.
35460         * tests/test-linkedhash_list.c (ASSERT): Likewise.
35461         * tests/test-localename.c (ASSERT): Likewise.
35462         * tests/test-lseek.c (ASSERT): Likewise.
35463         * tests/test-mbscasecmp.c (ASSERT): Likewise.
35464         * tests/test-mbscasestr1.c (ASSERT): Likewise.
35465         * tests/test-mbscasestr2.c (ASSERT): Likewise.
35466         * tests/test-mbscasestr3.c (ASSERT): Likewise.
35467         * tests/test-mbscasestr4.c (ASSERT): Likewise.
35468         * tests/test-mbschr.c (ASSERT): Likewise.
35469         * tests/test-mbscspn.c (ASSERT): Likewise.
35470         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
35471         * tests/test-mbspbrk.c (ASSERT): Likewise.
35472         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
35473         * tests/test-mbsrchr.c (ASSERT): Likewise.
35474         * tests/test-mbsspn.c (ASSERT): Likewise.
35475         * tests/test-mbsstr1.c (ASSERT): Likewise.
35476         * tests/test-mbsstr2.c (ASSERT): Likewise.
35477         * tests/test-mbsstr3.c (ASSERT): Likewise.
35478         * tests/test-memchr2.c (ASSERT): Likewise.
35479         * tests/test-memmem.c (ASSERT): Likewise.
35480         * tests/test-open.c (ASSERT): Likewise.
35481         * tests/test-printf-frexp.c (ASSERT): Likewise.
35482         * tests/test-printf-frexpl.c (ASSERT): Likewise.
35483         * tests/test-printf-posix.c (ASSERT): Likewise.
35484         * tests/test-quotearg.c (ASSERT): Likewise.
35485         * tests/test-rbtree_list.c (ASSERT): Likewise.
35486         * tests/test-rbtree_oset.c (ASSERT): Likewise.
35487         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
35488         * tests/test-round1.c (ASSERT): Likewise.
35489         * tests/test-roundf1.c (ASSERT): Likewise.
35490         * tests/test-roundl.c (ASSERT): Likewise.
35491         * tests/test-signbit.c (ASSERT): Likewise.
35492         * tests/test-sleep.c (ASSERT): Likewise.
35493         * tests/test-snprintf-posix.c (ASSERT): Likewise.
35494         * tests/test-snprintf.c (ASSERT): Likewise.
35495         * tests/test-sprintf-posix.c (ASSERT): Likewise.
35496         * tests/test-stat-time.c (ASSERT): Likewise.
35497         * tests/test-strcasestr.c (ASSERT): Likewise.
35498         * tests/test-strerror.c (ASSERT): Likewise.
35499         * tests/test-striconv.c (ASSERT): Likewise.
35500         * tests/test-striconveh.c (ASSERT): Likewise.
35501         * tests/test-striconveha.c (ASSERT): Likewise.
35502         * tests/test-strsignal.c (ASSERT): Likewise.
35503         * tests/test-strstr.c (ASSERT): Likewise.
35504         * tests/test-strtod.c (ASSERT): Likewise.
35505         * tests/test-trunc1.c (ASSERT): Likewise.
35506         * tests/test-trunc2.c (ASSERT): Likewise.
35507         * tests/test-truncf1.c (ASSERT): Likewise.
35508         * tests/test-truncf2.c (ASSERT): Likewise.
35509         * tests/test-truncl.c (ASSERT): Likewise.
35510         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
35511         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
35512         * tests/test-vasnprintf.c (ASSERT): Likewise.
35513         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
35514         * tests/test-vasprintf.c (ASSERT): Likewise.
35515         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
35516         * tests/test-vprintf-posix.c (ASSERT): Likewise.
35517         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
35518         * tests/test-vsnprintf.c (ASSERT): Likewise.
35519         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
35520         * tests/test-wcwidth.c (ASSERT): Likewise.
35521         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
35522         * tests/test-xprintf-posix.c (ASSERT): Likewise.
35523         * tests/test-xvasprintf.c (ASSERT): Likewise.
35524         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
35525         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
35526         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
35527         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
35528         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
35529         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
35530         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
35531         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
35532         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
35533         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
35534         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
35535         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
35536         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
35537         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
35538         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
35539         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
35540         * tests/unictype/test-block_list.c (ASSERT): Likewise.
35541         * tests/unictype/test-block_of.c (ASSERT): Likewise.
35542         * tests/unictype/test-block_test.c (ASSERT): Likewise.
35543         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
35544         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
35545         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
35546         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
35547         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
35548         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
35549         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
35550         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
35551         * tests/unictype/test-combining.c (ASSERT): Likewise.
35552         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
35553         * tests/unictype/test-digit.c (ASSERT): Likewise.
35554         * tests/unictype/test-mirror.c (ASSERT): Likewise.
35555         * tests/unictype/test-numeric.c (ASSERT): Likewise.
35556         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
35557         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
35558         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
35559         * tests/unictype/test-scripts.c (ASSERT): Likewise.
35560         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
35561         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
35562         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
35563         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
35564         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
35565         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
35566         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
35567         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
35568         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
35569         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
35570         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
35571         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
35572         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
35573         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
35574         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
35575         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
35576         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
35577         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
35578         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
35579         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
35580         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
35581         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
35582         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
35583         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
35584         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
35585         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
35586         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
35587         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
35588         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
35589         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
35590         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
35591         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
35592         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
35593         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
35594         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
35595         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
35596         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
35597         Reported by Eric Blake.
35598
35599 2008-04-11  Bruno Haible  <bruno@clisp.org>
35600
35601         * lib/wchar.in.h: Tweak comment.
35602
35603 2008-04-11  Bruno Haible  <bruno@clisp.org>
35604
35605         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
35606         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
35607         gl_COMMON.
35608         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
35609
35610 2008-04-11  Bruno Haible  <bruno@clisp.org>
35611
35612         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
35613
35614 2008-04-11  Simon Josefsson  <simon@josefsson.org>
35615
35616         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
35617         of attempting to use non-existing /dev/*random.  Based on patch
35618         from Adam Strzelecki <ono@java.pl> in
35619         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
35620
35621 2008-04-08  Bruno Haible  <bruno@clisp.org>
35622
35623         Add tentative support for emx+gcc.
35624         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
35625         * lib/fpurge.c (fpurge): Likewise.
35626         * lib/freadable.c (freadable): Likewise.
35627         * lib/freadahead.c (freadahead): Likewise.
35628         * lib/freading.c (freading): Likewise.
35629         * lib/freadptr.c (freadptr): Likewise.
35630         * lib/freadseek.c (freadptrinc): Likewise.
35631         * lib/fseeko.c (rpl_fseeko): Likewise.
35632         * lib/fseterr.c (fseterr): Likewise.
35633         * lib/fwritable.c (fwritable): Likewise.
35634         * lib/fwriting.c (fwriting): Likewise.
35635         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
35636
35637 2008-04-09  Eric Blake  <ebb9@byu.net>
35638
35639         Avoid some autoconf warnings.
35640         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
35641         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
35642         * m4/afs.m4 (gl_AFS): Likewise.
35643         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
35644         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
35645         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35646         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
35647         (gl_INTEGER_TYPE_SUFFIX): Likewise.
35648         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
35649         (AC_CHECK_DECLS_ONCE): Likewise.
35650         Rename file...
35651         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
35652         gnulib-tool requires autoconf 2.59 or better.
35653         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
35654
35655 2008-04-08  Eric Blake  <ebb9@byu.net>
35656
35657         Use 'git describe --match' if present (added in git 1.5.5).
35658         * build-aux/git-version-gen: Limit result to tags that match 'v*'
35659         if possible.
35660
35661 2008-04-08  Bruno Haible  <bruno@clisp.org>
35662
35663         Add tentative support for OpenServer.
35664         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
35665         _ptr, _cnt.
35666         * lib/fpurge.c (fpurge): Likewise.
35667         * lib/freadable.c (freadable): Likewise.
35668         * lib/freadahead.c (freadahead): Likewise.
35669         * lib/freading.c (freading): Likewise.
35670         * lib/freadptr.c (freadptr): Likewise.
35671         * lib/freadseek.c (freadptrinc): Likewise.
35672         * lib/fseeko.c (rpl_fseeko): Likewise.
35673         * lib/fseterr.c (fseterr): Likewise.
35674         * lib/fwritable.c (fwritable): Likewise.
35675         * lib/fwriting.c (fwriting): Likewise.
35676         Reported by Roger Cornelius <rac@tenzing.org> and
35677         Brian K. White <brian@aljex.com>.
35678
35679 2008-04-06  Jim Meyering  <meyering@redhat.com>
35680
35681         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
35682
35683 2008-04-06  Bruno Haible  <bruno@clisp.org>
35684
35685         Avoid possible error with non-ASCII bytes in UTF-8 locales.
35686         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
35687         * tests/test-printf-posix.sh: Likewise.
35688         * tests/test-vfprintf-posix.sh: Likewise.
35689         * tests/test-vprintf-posix.sh: Likewise.
35690         * tests/test-xprintf-posix.sh: Likewise.
35691
35692 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35693
35694         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
35695         hide error from 'ls', needed on OS/2.
35696         Report by Elbert Pol <elbert.pol@gmail.com>.
35697
35698 2008-04-04  Eric Blake  <ebb9@byu.net>
35699
35700         Make test-fseeko.c failures meaningful.
35701         * tests/test-fseeko.c: Print line number on failure.
35702         * tests/test-fseek.c: Likewise.
35703         Reported by Nelson H. F. Beebe.
35704
35705         Improve strtod bug detection check.
35706         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
35707         required for Solaris 10.
35708         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
35709
35710 2008-04-04  Bruno Haible  <bruno@clisp.org>
35711
35712         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
35713         by m4/setenv.m4.
35714
35715 2008-04-03  Eric Blake  <ebb9@byu.net>
35716
35717         Ensure sane .version contents.
35718         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
35719         version string.
35720         * build-aux/git-version-gen: Improve documentation.
35721
35722         Make GNU make output nicer.
35723         * top/GNUmakefile [!_have-Makefile]: Add dependency on
35724         MAKECMDGOALS to enforce message for all command line targets.  Set
35725         srcdir for use in maint.mk.
35726
35727         Another maintainer tweak.
35728         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
35729         a target that regenerates version.
35730
35731 2008-04-03  Jim Meyering  <meyering@redhat.com>
35732
35733         vc-list-files: don't cause coreutils "make po-check" failure
35734         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
35735
35736 2008-04-03  Eric Blake  <ebb9@byu.net>
35737
35738         Allow VPATH usage of vc-list-files.
35739         * build-aux/vc-list-files (scriptversion): Add timestamp.
35740         (options): Add --help, --version, -C.
35741         (CVS): Support installed cvsu.
35742
35743 2008-04-02  Bruno Haible  <bruno@clisp.org>
35744
35745         Avoid some "statement with no effect" warnings from gcc.
35746         * tests/test-wctype.c (main): Explicitly ignore unused values.
35747         Reported by Jim Meyering.
35748
35749 2008-04-02  Jim Meyering  <meyering@redhat.com>
35750
35751         Avoid some warnings from "gcc -Wshadow".
35752         * tests/test-frexp.c (exp): Define to a different identifier.
35753         * tests/test-frexpl.c (exp): Likewise.
35754
35755 2008-04-03  Jim Meyering  <meyering@redhat.com>
35756
35757         bootstrap: remove dangling *.[ch] symlinks from lib
35758         * build-aux/bootstrap [dangling symlink removal]: Move find's
35759         -depth option to precede all others, to avoid a warning.
35760         Remove *.[ch] files too, and from "$source_base" (usually lib/).
35761
35762 2008-04-02  Bruno Haible  <bruno@clisp.org>
35763
35764         Avoid some warnings from "gcc -Wshadow".
35765         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
35766         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
35767         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
35768         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
35769         Reported by Jim Meyering.
35770
35771 2008-04-01  Bruno Haible  <bruno@clisp.org>
35772
35773         Fix test to work on IRIX 6.5 with cc.
35774         * tests/test-math.c (numeric_equal): New function.
35775         (main): Use it.
35776
35777 2008-04-01  Bruno Haible  <bruno@clisp.org>
35778
35779         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
35780
35781 2008-04-01  Bruno Haible  <bruno@clisp.org>
35782
35783         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
35784         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
35785         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
35786         (Depends-on): Remove math.
35787
35788         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
35789         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
35790         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
35791         (Depends-on): Remove math.
35792
35793         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
35794         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
35795         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
35796         (Depends-on): Remove math.
35797         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
35798         (Depends-on): Remove math.
35799
35800         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
35801         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
35802         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
35803         (Depends-on): Remove math.
35804         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
35805         (Depends-on): Remove math.
35806
35807         * tests/test-round1.c: Include nan.h.
35808         (main): Use NaNd instead of NAN.
35809         * modules/round-tests (Files): Add tests/nan.h.
35810
35811         * tests/test-trunc1.c: Include nan.h.
35812         (main): Use NaNd instead of NAN.
35813         * modules/trunc-tests (Files): Add tests/nan.h.
35814
35815         * tests/test-roundf1.c: Include nan.h.
35816         (main): Use NaNf instead of NAN.
35817         * modules/roundf-tests (Files): Add tests/nan.h.
35818
35819         * tests/test-truncf1.c: Include nan.h.
35820         (main): Use NaNf instead of NAN.
35821         * modules/truncf-tests (Files): Add tests/nan.h.
35822
35823         * tests/test-ceilf1.c: Include nan.h.
35824         (main): Use NaNf instead of NAN.
35825         * modules/ceilf-tests (Files): Add tests/nan.h.
35826
35827         * tests/test-floorf1.c: Include nan.h.
35828         (main): Use NaNf instead of NAN.
35829         * modules/floorf-tests (Files): Add tests/nan.h.
35830
35831         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
35832         (main): Use NaNf instead of NAN.
35833         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
35834
35835         * tests/test-isnand.c: Include nan.h instead of <math.h>.
35836         (main): Use NaNd instead of NAN.
35837         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
35838
35839         * tests/test-frexp.c: Include nan.h.
35840         (main): Use NaNd instead of NAN.
35841         * modules/frexp-tests (Files): Add tests/nan.h.
35842
35843         * lib/isnan.c: Don't include <math.h>.
35844         (FUNC): Don't use NAN macro.
35845         * modules/isnand-nolibm (Depends-on): Remove math.
35846         * modules/isnanf-nolibm (Depends-on): Remove math.
35847         * modules/isnanl (Depends-on): Remove math.
35848         * modules/isnanl-nolibm (Depends-on): Remove math.
35849
35850         * tests/nan.h: New file.
35851
35852 2008-04-01  Eric Blake  <ebb9@byu.net>
35853
35854         Fix typos.
35855         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
35856         values to be the right type.
35857
35858         For now, cater to gnulib strtod inaccuracies.
35859         * tests/test-strtod.c (main): Allow 1-ulp error on expected
35860         fractional results.  While not as nice from a QoI perspective, it
35861         is a quicker patch than correctly implementing decimal to binary
35862         rounding.
35863
35864 2008-03-31  Eric Blake  <ebb9@byu.net>
35865
35866         Guarantee a definition of NAN.
35867         * lib/math.in.h (NAN): Define if missing.
35868         * tests/test-math.c (main): Test it.
35869         * doc/posix-headers/math.texi (math.h): Document this.
35870         * lib/isnan.c (rpl_isnand): Use it.
35871         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
35872         * tests/test-floorf1.c (NaN): Likewise.
35873         * tests/test-frexp.c (NaN): Likewise.
35874         * tests/test-isnand.c (NaN): Likewise.
35875         * tests/test-isnanf.c (NaN): Likewise.
35876         * tests/test-round1.c (NaN): Likewise.
35877         * tests/test-roundf1.c (NaN): Likewise.
35878         * tests/test-snprintf-posix.h (NaN): Likewise.
35879         * tests/test-sprintf-posix.h (NaN): Likewise.
35880         * tests/test-trunc1.c (NaN): Likewise.
35881         * tests/test-truncf1.c (NaN): Likewise.
35882         * tests/test-vasnprintf-posix.c (NaN): Likewise.
35883         * tests/test-vasprintf-posix.c (NaN): Likewise.
35884         * modules/isnand-nolibm (Depends-on): Add math.
35885         * modules/isnanf-nolibm (Depends-on): Likewise.
35886         * modules/isnanl (Depends-on): Likewise.
35887         * modules/isnanl-nolibm (Depends-on): Likewise.
35888         * modules/snprintf-posix-tests (Depends-on): Likewise.
35889         * modules/sprintf-posix-tests (Depends-on): Likewise.
35890         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
35891         * modules/vsprintf-posix-tests (Depends-on): Likewise.
35892         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
35893         * modules/vasprintf-posix-tests (Depends-on): Likewise.
35894
35895 2008-03-31  Bruno Haible  <bruno@clisp.org>
35896
35897         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
35898         * doc/posix-functions/strtod.texi: Likewise.
35899
35900 2008-03-31  Bruno Haible  <bruno@clisp.org>
35901
35902         * tests/test-strtod.c (main): Don't use C99 syntax.
35903
35904 2008-03-31  Bruno Haible  <bruno@clisp.org>
35905
35906         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
35907         Reported by Eric Blake.
35908
35909 2008-03-31  Jim Meyering  <meyering@redhat.com>
35910
35911         Don't compare actual signbit return values.
35912         * tests/test-strtod.c (main): Rather, compare only their
35913         zero/non-zero nature.
35914
35915 2008-03-31  Eric Blake  <ebb9@byu.net>
35916
35917         More strtod documentation.
35918         * doc/posix-functions/strtod.texi (strtod): Interpret more test
35919         failures as distinct bugs.
35920
35921 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35922
35923         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
35924         Problem reported by Erik Benada in
35925         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
35926
35927 2008-03-30  Bruno Haible  <bruno@clisp.org>
35928
35929         * tests/test-strtod.c: Add comments about which assertion fails on which
35930         platform.
35931         * doc/posix-functions/strtod.texi: Add info about many more platforms.
35932
35933 2008-03-30  Eric Blake  <ebb9@byu.net>
35934
35935         Test signbit behavior on zeros.
35936         * tests/test-signbit.c (test_signbitf): Add tests for zero.
35937         (test_signbitd, test_signbitl): Likewise.
35938
35939         More strtod touchups.
35940         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
35941         sign of negative underflow, for now.  Use .5, not .1.
35942         * doc/posix-functions/strtod.texi (strtod): Mention these
35943         limitations.
35944         Reported by Jim Meyering.
35945
35946 2008-03-30  Bruno Haible  <bruno@clisp.org>
35947
35948         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
35949         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
35950
35951 2008-03-30  Bruno Haible  <bruno@clisp.org>
35952
35953         Avoid failure when attempting to return empty iconv results on some
35954         platforms.
35955         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
35956         allocation, don't report ENOMEM when the resulting string is empty.
35957
35958 2008-03-30  Bruno Haible  <bruno@clisp.org>
35959
35960         Fix buffer overrun.
35961         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
35962         Don't consider the width for tmp_length. Check count against tmp_length
35963         before doing the padding. Ensure enough allocation during padding.
35964
35965 2008-03-30  Eric Blake  <ebb9@byu.net>
35966
35967         strtod touchups.
35968         * lib/strtod.c (strtod): Avoid compiler warnings.
35969         Reported by Jim Meyering.
35970
35971 2008-03-30  Bruno Haible  <bruno@clisp.org>
35972
35973         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
35974         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
35975         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
35976         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
35977         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
35978         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
35979         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
35980         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
35981
35982         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
35983         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
35984         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
35985         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
35986         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
35987         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
35988         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
35989         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
35990
35991         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
35992         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
35993         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
35994         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
35995         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
35996         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
35997         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
35998         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
35999
36000         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
36001         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
36002
36003         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
36004         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
36005
36006         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
36007         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
36008
36009         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
36010         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
36011         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
36012
36013         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
36014         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
36015         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
36016
36017         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
36018         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
36019         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
36020
36021         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
36022         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
36023         * modules/vasprintf (Depends-on): Add EOVERFLOW.
36024
36025         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
36026         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
36027         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
36028         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
36029         (Depends-on): Add EOVERFLOW.
36030         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
36031         (Depends-on): Add EOVERFLOW.
36032         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
36033         (Depends-on): Add EOVERFLOW.
36034         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
36035         (Depends-on): Add EOVERFLOW.
36036         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
36037         (Depends-on): Add EOVERFLOW.
36038         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
36039         (Depends-on): Add EOVERFLOW.
36040         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
36041         (Depends-on): Add EOVERFLOW.
36042         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
36043         (Depends-on): Add EOVERFLOW.
36044
36045         * lib/sprintf.c (EOVERFLOW): Remove fallback.
36046         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
36047         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
36048
36049         * lib/snprintf.c (EOVERFLOW): Remove fallback.
36050         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
36051         * modules/snprintf (Depends-on): Add EOVERFLOW.
36052
36053         * lib/poll.c (EOVERFLOW): Remove fallback.
36054         * modules/poll (Depends-on): Add EOVERFLOW.
36055
36056         * lib/getugroups.c (EOVERFLOW): Remove fallback.
36057         * modules/getugroups (Depends-on): Add EOVERFLOW.
36058
36059         * lib/getdelim.c (EOVERFLOW): Remove fallback.
36060         * modules/getdelim (Depends-on): Add EOVERFLOW.
36061
36062         * lib/ftell.c (EOVERFLOW): Remove fallback.
36063         * modules/ftell (Depends-on): Add EOVERFLOW.
36064
36065         * lib/fprintf.c (EOVERFLOW): Remove fallback.
36066         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
36067         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
36068
36069         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
36070
36071         * modules/EOVERFLOW-tests: New file.
36072         * tests/test-EOVERFLOW.c: New file.
36073
36074         * modules/EOVERFLOW: New file.
36075         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
36076
36077 2008-03-30  Bruno Haible  <bruno@clisp.org>
36078
36079         Fix bug introduced on 2007-06-10.
36080         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
36081         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
36082
36083 2008-03-30  Bruno Haible  <bruno@clisp.org>
36084
36085         Improve freadseek's efficiency after ungetc.
36086         * lib/freadseek.c: Include freadahead.h.
36087         (freadptrinc): New function, extracted from freadseek.
36088         (freadseek): Use it in a loop. Use freadahead to determine the number
36089         of loop iterations.
36090         * modules/freadseek (Depends-on): Add freadahead.
36091         (configure.ac): Require AC_C_INLINE.
36092
36093 2008-03-30  Bruno Haible  <bruno@clisp.org>
36094
36095         * lib/freadseek.c (freadseek): Don't ignore the return value of
36096         freadptr.
36097
36098 2008-03-29  Eric Blake  <ebb9@byu.net>
36099
36100         Add hex float support.
36101         * modules/strtod (Depends-on): Add c-ctype.
36102         (Link): Mention POW_LIB.
36103         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
36104         whitespace between 'e' and exponent.
36105         * tests/test-strtod.c (main): Enable hex float tests.
36106         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
36107         now provides.
36108
36109         Document various strtod bugs, with some fixes.
36110         * doc/posix-functions/strtod.texi (strtod): Document bugs with
36111         "-0x", "inf", "nan", and hex constants.
36112         * doc/posix-functions/atof.texi (atof): Likewise.
36113         * modules/stdlib (Makefile.am): Support strtod.
36114         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
36115         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
36116         detect additional strtod bugs.
36117         * lib/stdlib.in.h (rpl_strtod): Add declarations.
36118         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
36119         bool where appropriate.  Parse 'inf' and 'nan'.
36120         * tests/test-strtod.c: New file.
36121         * modules/strtod (Depends-on): Add stdbool, stdlib.
36122         (configure.ac): Turn on module indicator.
36123         * modules/strtod-tests: New module.
36124
36125 2008-03-29  Eric Blake  <ebb9@byu.net>
36126
36127         Fix ftell on mingw.
36128         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
36129         * modules/ftell-tests (Depends-on): Add binary-io.
36130         * modules/ftello-tests (Depends-on): Likewise.
36131         * tests/test-ftell.c (main): Enhance test to cover behavior after
36132         ungetc.  Enforce binary mode.
36133         * tests/test-ftello.c (main): Likewise.
36134
36135         Pass test-freadseek on cygwin.
36136         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
36137         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
36138         ungetc buffer.
36139
36140         * tests/test-fflush2.c (main): Fix typo.
36141
36142 2008-03-29  Bruno Haible  <bruno@clisp.org>
36143
36144         * tests/test-fflush2.c (main): Temporarily disable the contents of
36145         this test.
36146         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
36147         Reported by Eric Blake.
36148
36149 2008-03-28  Simon Josefsson  <simon@josefsson.org>
36150
36151         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
36152         (GC_SHA224_DIGEST_SIZE): Add.
36153
36154         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
36155         (gc_hash_digest_length): Likewise.
36156         (gc_hash_buffer): Likewise.
36157
36158 2008-03-25  Bruno Haible  <bruno@clisp.org>
36159
36160         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
36161         detail which gettext release to use.
36162         Reported by Simon Josefsson.
36163
36164 2008-03-26  Jim Meyering  <meyering@redhat.com>
36165
36166         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
36167         * modules/gnumakefile (clean-GNUmakefile): Also, use
36168         test ... && ... || : syntax rather than if-then ... fi.
36169
36170         gnumakefile: Don't double-quote-expand $(VPATH) value.
36171         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
36172
36173 2008-03-24  Eric Blake  <ebb9@byu.net>
36174
36175         Alter GNUmakefile to install into top directory.
36176         * modules/maintainer-makefile: Split, and add dependency...
36177         * modules/gnumakefile: to this new module.
36178         * build-aux/GNUmakefile: Move...
36179         * top/GNUmakefile: ...here.
36180         * build-aux/maint.mk: Move...
36181         * top/maint.mk: ...here.
36182         * MODULES.html.sh (Support for maintaining...): Document new
36183         module.
36184
36185 2008-03-23  Bruno Haible  <bruno@clisp.org>
36186
36187         * gnulib-tool: New options --vc-files, --no-vc-files.
36188         (func_usage): Document them.
36189         (vc_files): New variable.
36190         (func_import): Consider vc_files.
36191         (func_create_testdir): Set vc_files to empty.
36192         Suggested by Jim Meyering and Karl Berry.
36193
36194 2008-03-23  Bruno Haible  <bruno@clisp.org>
36195
36196         Fix regex compilation error on HP-UX 11.
36197         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
36198         * modules/regex (Files): Add m4/mbstate_t.m4.
36199         Reported by Ton Voon <ton.voon@altinity.com>.
36200
36201 2008-03-23  Bruno Haible  <bruno@clisp.org>
36202
36203         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
36204
36205 2008-03-23  Eric Blake  <ebb9@byu.net>
36206             Bruno Haible  <bruno@clisp.org>
36207
36208         Install files from top/ in the destination directory.
36209         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
36210         augmentation also for the files from top/.
36211         (func_import, func_create_testdir): Rewrite file names:
36212         top/filename -> filename.
36213
36214 2008-03-23  Bruno Haible  <bruno@clisp.org>
36215
36216         Tweak "gnulib --version" output.
36217         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
36218
36219 2008-03-23  Bruno Haible  <bruno@clisp.org>
36220
36221         Tweak "gnulib --version" output.
36222         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
36223         rather than contents of ChangeLog, when possible.
36224
36225 2008-03-21  Eric Blake  <ebb9@byu.net>
36226
36227         More --version tweaks.
36228         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
36229         date of last ChangeLog entry.
36230
36231 2008-03-21  Jim Meyering  <meyering@redhat.com>
36232
36233         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
36234
36235 2008-03-20  Eric Blake  <ebb9@byu.net>
36236
36237         VPATH fix.
36238         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
36239
36240 2008-03-20  Simon Josefsson  <simon@josefsson.org>
36241
36242         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
36243         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
36244
36245 2008-03-20  Eric Blake  <ebb9@byu.net>
36246
36247         Sync GNUmakefile with coreutils.
36248         * build-aux/GNUmakefile (have-Makefile): Rename...
36249         (_have-Makefile): ...to this, for namespace consideration.
36250         (GNUmakefile.cfg): Include, if present.
36251         (_autoreconf): Define a default.
36252         (_is-dist-target): New rule for rebuilds to pick up intra-release
36253         version.
36254         (maint-cfg.mk): Rename...
36255         (cfg.mk): ...to this.
36256
36257 2008-03-18  Jim Meyering  <meyering@redhat.com>
36258
36259         New script and module: mktempd
36260         * MODULES.html.sh (maint+release support): Add mktempd.
36261         * build-aux/mktempd: New file.
36262         * modules/mktempd: New file.
36263
36264 2008-03-15  Jim Meyering  <meyering@redhat.com>
36265
36266         Undo last change.
36267         * lib/sha1.c, lib/md5.c: 63 != ~63.
36268         Reported by Andreas Schwab.
36269
36270         sha1.c, md5.c: Hoist a redundant expression.
36271         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
36272         "ctx->buflen" only once, before calling *_process_block.
36273         * lib/md5.c (md5_process_bytes): Likewise.
36274
36275 2008-03-14  Eric Blake  <ebb9@byu.net>
36276
36277         Bump copyright year in files generated by gnulib-tool.
36278         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
36279         gnulib-tool, rather than hard-coding it.
36280
36281         Fix 'gnulib-tool --version' output to work with git.
36282         * gnulib-tool (func_gnulib_dir): New function, extracted from...
36283         (startup): ...here.
36284         (func_version): Use it to invoke git-version-gen, rather than
36285         relying on CVS keyword expansion.  Modernize wording.
36286         (cvsdatestamp, last_checkin_date, version): Kill unused
36287         variables.
36288
36289 2008-03-12  Jim Meyering  <meyering@redhat.com>
36290
36291         Recognize optional cast of the argument to free.
36292         * build-aux/useless-if-before-free: Update regexps.
36293
36294         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
36295
36296 2008-03-11  Bruno Haible  <bruno@clisp.org>
36297
36298         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
36299         by a single package.
36300         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
36301         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
36302         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
36303         Reported by Sam Steingold <sds@gnu.org>.
36304
36305 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36306
36307         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
36308         repositories.
36309
36310 2008-03-11  Bruno Haible  <bruno@clisp.org>
36311
36312         Avoid conflicts between local macro definitions.
36313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
36314         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
36315
36316 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
36317             Bruno Haible  <bruno@clisp.org>
36318
36319         Make va_copy work with some version of xlc on AIX 5.1.
36320         * lib/stdarg.in.h: New file.
36321         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
36322         On AIX, use a <stdarg.h> file substitute.
36323         * modules/stdarg (Files): Add lib/stdarg.in.h.
36324         (Depends-on): Add include_next.
36325         (Makefile.am): Build a stdarg.h substitute if requested.
36326         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
36327
36328 2008-03-10  Bruno Haible  <bruno@clisp.org>
36329
36330         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
36331         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36332         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
36333
36334 2008-03-10  Bruno Haible  <bruno@clisp.org>
36335
36336         * modules/stdlib (Depends-on): Add include_next, remove
36337         absolute-header.
36338
36339 2008-03-09  Bruno Haible  <bruno@clisp.org>
36340
36341         * lib/freadahead.h (freadahead): Document more precisely.
36342         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
36343         the sum of both buffer sizes.
36344         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
36345         * NEWS: Document the change.
36346
36347 2008-03-09  Bruno Haible  <bruno@clisp.org>
36348
36349         Extend freadptr to return also the buffer size.
36350         * lib/freadptr.h (freadptr): Add sizep argument.
36351         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
36352         (freadptr): Add sizep argument. Determine buffer size like freadahead
36353         does.
36354         * tests/test-freadptr.c: Don't include freadahead.h.
36355         (main): Adapt for new calling convention of freadptr.
36356         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
36357         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
36358         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
36359         tests/test-freadptr2.sh.
36360         (Depends): Remove freadahead.
36361         (TESTS): Add test-freadptr2.sh.
36362         (check_PROGRAMS): Add test-freadptr2.
36363
36364 2008-03-09  Bruno Haible  <bruno@clisp.org>
36365
36366         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
36367         Report and solution by Simon Josefsson.
36368
36369 2008-03-06  Bruno Haible  <bruno@clisp.org>
36370
36371         Make fflush after ungetc work on BSD platforms.
36372         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
36373         * tests/test-fflush2.c: New file.
36374         * tests/test-fflush2.sh: New file.
36375         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
36376         tests/test-fflush2.c.
36377         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
36378         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
36379
36380 2008-03-06  Eric Blake  <ebb9@byu.net>
36381
36382         Likewise for ftello.
36383         * modules/ftello (Dependencies): Add extensions.
36384         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
36385
36386 2008-03-06  Bruno Haible  <bruno@clisp.org>
36387
36388         * modules/fseeko (Dependencies): Add extensions.
36389         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
36390         Needed on glibc systems.
36391
36392 2008-03-06  Bruno Haible  <bruno@clisp.org>
36393
36394         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
36395         email address.
36396         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36397
36398 2008-03-06  Bruno Haible  <bruno@clisp.org>
36399
36400         * users.txt: Add libgnupdf.
36401
36402 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
36403
36404         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
36405         (Header File Substitutes, Function Substitutes,
36406         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
36407         (Build robot for gnulib): Fix typo.
36408
36409 2008-03-06  Bruno Haible  <bruno@clisp.org>
36410
36411         * doc/gnulib-tool.texi (VCS Issues): Small updates.
36412         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36413
36414 2008-03-06  Bruno Haible  <bruno@clisp.org>
36415
36416         * doc/func.texi: New file, extracted from doc/gnulib.texi.
36417         * doc/gnulib.texi: Include it.
36418
36419 2008-03-06  Simon Josefsson  <simon@josefsson.org>
36420
36421         * modules/func (License): Change license to unlimited; there was
36422         no LGPL parts in the module anyway.
36423
36424 2008-03-06  Simon Josefsson  <simon@josefsson.org>
36425
36426         * modules/__func__: Renamed to modules/func.
36427         * modules/__func__-tests: Renamed to modules/func-tests.
36428         * tests/test-__func__.c: Renamed to tests/test-func.c.
36429         * m4/__func__.m4: Renamed to m4/func.m4.
36430         * doc/gnulib.texi (__func__): Section renamed to func.
36431         Suggested by Eric Blake <ebb9@byu.net>.
36432
36433 2008-03-06  Simon Josefsson  <simon@josefsson.org>
36434
36435         * doc/gnulib.texi (__func__): Use C99 terminology when talking
36436         about __func__.  Make example self-contained.  Suggested by Eric
36437         Blake <ebb9@byu.net>.
36438
36439         * tests/test-__func__.c (main): Avoid extraneous () around __func.
36440         Suggested by Eric Blake <ebb9@byu.net>.
36441
36442 2008-03-06  Simon Josefsson  <simon@josefsson.org>
36443
36444         * modules/__func__: New file.
36445         * modules/__func__-tests: New file.
36446         * tests/test-__func__.c: New file.
36447         * m4/__func__.m4: New file.
36448         * doc/gnulib.texi (__func__): Document __func__ module.
36449
36450 2008-03-05  Simon Josefsson  <simon@josefsson.org>
36451
36452         * modules/byteswap (License): Re-license as LGPLv2+.
36453
36454 2008-03-05  Simon Josefsson  <simon@josefsson.org>
36455
36456         * doc/Makefile: Add pdf target.
36457
36458 2008-03-05  Simon Josefsson  <simon@josefsson.org>
36459
36460         * modules/inline (License): Use 'unlimited', since there are only
36461         *.m4 files in this module.
36462
36463 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
36464             Bruno Haible  <bruno@clisp.org>
36465
36466         Add support for HP C 7.1 on OpenVMS 8.3.
36467         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
36468
36469 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
36470
36471         Update VMS specifics.
36472         * lib/getopt.c [VMS]: Remove include of unixlib.h.
36473
36474 2008-03-02  Jim Meyering  <meyering@redhat.com>
36475
36476         Remove the last dependency on the "free" module.
36477         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
36478         Reported by Bob Proulx.
36479
36480         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
36481
36482         Remove useless "if" tests before free.  Deprecate "free" module.
36483         * doc/posix-functions/free.texi: Mention that this
36484         module is no longer useful.
36485         * modules/free (Notice): Say this module is obsolete.
36486         * modules/readutmp (Depends-on): Remove free.
36487         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
36488         * lib/putenv.c (putenv): Likewise.
36489         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
36490         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
36491         * tests/test-c-strcasestr.c (main): Likewise.
36492         * tests/test-c-strstr.c (main): Likewise.
36493         * tests/test-mbscasestr1.c (main): Likewise.
36494         * tests/test-mbscasestr2.c (main): Likewise.
36495         * tests/test-mbsstr1.c (main): Likewise.
36496         * tests/test-mbsstr2.c (main): Likewise.
36497         * tests/test-memmem.c (main): Likewise.
36498         * tests/test-strcasestr.c (main): Likewise.
36499         * tests/test-striconv.c (main): Likewise.
36500         * tests/test-striconveh.c (main): Likewise.
36501         * tests/test-striconveha.c (main): Likewise.
36502         * tests/test-strstr.c (main): Likewise.
36503
36504         * build-aux/git-version-gen: Adjust a comment and the Usage string.
36505
36506         bootstrap: sync from coreutils again
36507         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
36508
36509 2008-03-01  Jim Meyering  <meyering@redhat.com>
36510
36511         bootstrap: sync from coreutils
36512         * build-aux/bootstrap (update_po_files): Copy a .po file into place
36513         also when the target doesn't exist.
36514
36515 2008-03-01  Eric Blake  <ebb9@byu.net>
36516
36517         Fix bugs in last patch.
36518         * lib/memchr2.c (memchr2): Fix typo.
36519         * tests/test-memchr2.c: Test previous bug, and don't use GNU
36520         extension.
36521         Reported by Bruce Korb.
36522
36523         New module 'memchr2'.
36524         * modules/memchr2: New file.
36525         * modules/memchr2-tests: Likewise.
36526         * lib/memchr2.h: Likewise.
36527         * lib/memchr2.c: Likewise, based on memchr.c.
36528         * tests/test-memchr2.c: New test.
36529         * MODULES.html.sh (String handling): Add memchr2.
36530
36531 2008-02-29  Bruno Haible  <bruno@clisp.org>
36532
36533         * modules/freadseek-tests: New file.
36534         * tests/test-freadseek.sh: New file.
36535         * tests/test-freadseek.c: New file.
36536
36537         New module 'freadseek'.
36538         * modules/freadseek: New file.
36539         * lib/freadseek.h: New file.
36540         * lib/freadseek.c: New file.
36541         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
36542
36543 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
36544
36545         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
36546         wydawca.
36547
36548         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
36549         program_invocation_name and program_invocation_short_name are
36550         present.
36551
36552 2008-02-28  Bruno Haible  <bruno@clisp.org>
36553
36554         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
36555         * tests/test-freadptr.sh: Also test non-seekable stdin.
36556
36557 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
36558
36559         * build-aux/bootstrap (source_base, m4_base)
36560         (doc_base, tests_base): New variables.
36561         (gnulib_tool_options): Do not hardcode base directories, use
36562         the above variables instead.
36563
36564 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
36565
36566         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
36567
36568 2008-02-28  Bruno Haible  <bruno@clisp.org>
36569
36570         * modules/freadptr-tests: New file.
36571         * tests/test-freadptr.sh: New file.
36572         * tests/test-freadptr.c: New file.
36573
36574         New module 'freadptr'.
36575         * modules/freadptr: New file.
36576         * lib/freadptr.h: New file.
36577         * lib/freadptr.c: New file.
36578         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
36579
36580 2008-02-26  Karl Berry  <karl@freefriends.org>
36581
36582         Sync from Libtool:
36583         * libltdl/argz.c (argz_add, argz_count): New functions.
36584         * libltdl/argz.in.h: Declare them.
36585         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
36586
36587 2008-02-22  Bruno Haible  <bruno@clisp.org>
36588
36589         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
36590         is a pointer type.  Needed for HP-UX 10.
36591         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
36592         * doc/posix-functions/gmtime_r.texi: Likewise.
36593         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
36594
36595 2008-02-24  Bruno Haible  <bruno@clisp.org>
36596
36597         * modules/environ-tests: New file.
36598         * tests/test-environ.c: New file.
36599
36600         New module 'environ'.
36601         * modules/environ: New file.
36602         * lib/unistd.in.h (environ): New declaration.
36603         * m4/environ.m4: New file.
36604         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
36605         after use.
36606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
36607         HAVE_DECL_ENVIRON.
36608         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
36609         HAVE_DECL_ENVIRON.
36610         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
36611         wrong claim that 'environ' is missing on some systems.
36612         * modules/execute (Depends-on): Add environ.
36613         * lib/execute.c (environ): Remove fallback declaration.
36614         * modules/pipe (Depends-on): Add environ.
36615         * lib/pipe.c (environ): Remove fallback declaration.
36616         * modules/setenv (Depends-on): Add environ.
36617         * lib/setenv.c (environ): Remove fallback declaration.
36618         * modules/unsetenv (Depends-on): Add environ.
36619         * lib/unsetenv.c (environ): Remove fallback declaration.
36620         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
36621         m4/environ.m4.
36622         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
36623         (gl_PREREQ_UNSETENV): Likewise.
36624
36625 2008-02-24  Bruno Haible  <bruno@clisp.org>
36626
36627         * doc/posix-functions/environ.texi: Document the MacOS X problem.
36628
36629 2008-02-20  Bob Proulx  <bob@proulx.com>
36630
36631         Enable use of older two part flavor 'git describe'.
36632         * build-aux/git-version-gen: If using the older two part flavor of
36633         git version then recreate the third part now present in the
36634         newer three part flavor of git describe.
36635
36636 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
36637
36638         * lib/fts.c (fts_build): Typo correction to comment.
36639
36640 2008-02-17  Bruno Haible  <bruno@clisp.org>
36641
36642         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
36643         generating no-op conflicts.
36644
36645 2008-02-17  Bruno Haible  <bruno@clisp.org>
36646
36647         Speed up by 10%.
36648         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
36649         result_entries, rather than an index-based loop.
36650
36651 2008-02-17  Bruno Haible  <bruno@clisp.org>
36652
36653         Speed up by 25%.
36654         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
36655         'hashcode_cached'.
36656         (entry_create): New function.
36657         (entry_hashcode): Use the cached hashcode if possible.
36658         (read_changelog_file, try_split_merged_entry): Use entry_create.
36659
36660 2008-02-17  Bruno Haible  <bruno@clisp.org>
36661
36662         Speed up from O(n^2) to O(n) for long ChangeLog files.
36663         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
36664         (read_changelog_file): Change implementation of entries_reversed list
36665         to rbtreehash.
36666         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
36667
36668 2008-02-17  Bruno Haible  <bruno@clisp.org>
36669
36670         New option --split-merged-entry.
36671         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
36672         (find_paragraph_end, try_split_merged_entry): New functions.
36673         (long_options): Add option --split-merged-entry.
36674         (usage): Document option --split-merged-entry.
36675         (main): Implement option --split-merged-entry.
36676         Reported by Eric Blake.
36677
36678 2008-02-17  Bruno Haible  <bruno@clisp.org>
36679
36680         * lib/git-merge-changelog.c: Include c-strstr.h.
36681         (main): Support the "git pull --rebase" situation.
36682         * modules/git-merge-changelog (Depends-on): Add c-strstr.
36683         Reported by Eric Blake.
36684
36685 2008-02-16  Eric Blake  <ebb9@byu.net>
36686
36687         Avoid doubling \ in common case of "c-maybe" quoting style.
36688         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
36689         eliding outer quotes.
36690         * lib/quotearg.h: Document this.
36691         * tests/test-quotearg.c (result_strings, inputs, results_g)
36692         (flag_results, locale_results): Test it by adding a new string to
36693         each test group.
36694         (compare_strings): Test new string.
36695
36696 2008-02-13  Eric Blake  <ebb9@byu.net>
36697
36698         Avoid trigraph quoting in default output.
36699         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
36700         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
36701         unless explicitly requested.
36702         * tests/test-quotearg.c (flag_results, main): Add additional tests.
36703
36704 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
36705
36706         Don't rely on signed integer overflowing to negative value.
36707         * lib/getugroups.c (getugroups): Include <limits.h>.
36708         Instead, compare against INT_MAX, and increment only if the test passes.
36709
36710 2008-02-13  Jim Meyering  <meyering@redhat.com>
36711         and Eric Blake  <ebb9@byu.net>
36712
36713         Avoid shadowing warning and compile errors on Linux.
36714         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
36715         forwarding macros on Linux.
36716         (dcgettext): Define a stub, for Linux.
36717         (results_g, main): Avoid warnings.
36718
36719 2008-02-12  Eric Blake  <ebb9@byu.net>
36720
36721         Silence warning in last patch.
36722         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
36723
36724         Quotearg part 4: add tests, fix c-maybe colon quoting.
36725         * lib/quotearg.h: Improve documentation.
36726         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
36727         escapes when adding outer quotes.  When quoting trigraphs, use
36728         valid C notation.  When quoting NUL, omit extra characters if next
36729         character is not digit.  Alter prototype.
36730         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
36731         callers.
36732         * modules/quotearg-tests: New module.
36733         * tests/test-quotearg.c: New test.
36734
36735 2008-02-07  Eric Blake  <ebb9@byu.net>
36736
36737         Quotearg part 3: add flag to control outer quote elision.
36738         * lib/quotearg.h (c_maybe_quoting_style): New style.
36739         (enum quoting_flags): Better documentation of flags.
36740         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
36741         c-maybe style.
36742         (quotearg_buffer_restyled): Handle new flag to elide outer
36743         quotes.
36744
36745         Quotearg part 2: add flag that can control NUL elision.
36746         * lib/quotearg.h (set_quoting_flags): New prototype.
36747         * lib/quotearg.c (struct quoting_options): Add flag field.
36748         (set_quoting_flags): New function.
36749         (quotearg_buffer_restyled): Add flags parameter.
36750         (quotearg_alloc_mem): Set the flag if length cannot be returned.
36751         (quotearg_n_options): Set the flag, since length cannot be
36752         returned.
36753         (quoting_options_from_style): Default flags correctly.
36754
36755         Quotearg part 1: more wrappers, restore quotearg_char state.
36756         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
36757         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
36758         (quotearg_colon_mem): New wrappers.
36759         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
36760         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
36761         functions.
36762         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
36763         (quotearg_colon_mem): New functions.
36764
36765 2008-02-11  Bruno Haible  <bruno@clisp.org>
36766
36767         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
36768         library in the current directory: it does not work with parallel make.
36769         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36770
36771 2008-02-11  Bruno Haible  <bruno@clisp.org>
36772
36773         * .gitattributes: New file.
36774
36775 2008-02-11  Jim Meyering  <meyering@redhat.com>
36776
36777         useless-if-before-free: Fix reversed exit values.
36778         * build-aux/useless-if-before-free: Use correct values
36779         for EXIT_MATCH and EXIT_NO_MATCH.
36780
36781         * build-aux/useless-if-before-free: Close stdout carefully.
36782
36783 2008-02-10  Bruno Haible  <bruno@clisp.org>
36784
36785         New module 'git-merge-changelog'.
36786         * modules/git-merge-changelog: New file.
36787         * lib/git-merge-changelog.c: New file.
36788
36789 2008-02-10  Jim Meyering  <meyering@redhat.com>
36790
36791         useless-if-before-free: New option: --list (-l).
36792
36793         useless-if-before-free: Don't exit immediately upon open failure.
36794         * build-aux/useless-if-before-free: Exit 2 for errors.
36795         Upon failure to open a file, don't exit immediately.
36796         Rather, just warn and continue with any remaining files.
36797
36798 2008-02-10  Bruno Haible  <bruno@clisp.org>
36799
36800         New abstract list operation 'node_set_value'.
36801         * lib/gl_list.h (gl_list_node_set_value): New function.
36802         (struct gl_list_implementation): New field node_set_value.
36803         * lib/gl_list.c (gl_list_node_set_value): New function.
36804         * lib/gl_array_list.c (gl_array_node_set_value): New function.
36805         (gl_array_list_implementation): Update.
36806         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
36807         (gl_carray_list_implementation): Update.
36808         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
36809         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
36810         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
36811         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
36812         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
36813         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
36814         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
36815         Update.
36816         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
36817         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
36818         (gl_sublist_list_implementation): Update.
36819
36820 2008-02-10  Bruno Haible  <bruno@clisp.org>
36821
36822         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
36823         Needed when ELEMENT is #defined to 'some_type *'.
36824
36825 2008-02-10  Jim Meyering  <meyering@redhat.com>
36826
36827         New script and module: useless-if-before-free
36828         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
36829         * build-aux/useless-if-before-free: New file.
36830         * modules/useless-if-before-free: New file.
36831
36832         * build-aux/gitlog-to-changelog: Use committer date, not author date.
36833
36834         xstrtol_error: Fix typo.
36835         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
36836         s/exit_failure/exit_status/.
36837
36838 2008-02-09  Jim Meyering  <meyering@redhat.com>
36839
36840         New script and module: gitlog-to-changelog
36841         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
36842         * modules/gitlog-to-changelog: New file.
36843         * build-aux/gitlog-to-changelog: New file.
36844
36845 2008-02-08  Jim Meyering  <meyering@redhat.com>
36846
36847         Avoid two "parameter unused" warnings.
36848         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
36849         Mark "st" as used.
36850
36851         Use "git COMMAND", not "git-COMMAND".
36852         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
36853         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
36854         * build-aux/git-version-gen: Use "git status", not "git-status".
36855
36856 2008-02-07  Bruno Haible  <bruno@clisp.org>
36857
36858         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
36859         Avoids a crash on Windows Vista.
36860         Reported by Adam Strzelecki <ono@java.pl> via
36861         Simon Josefsson <simon@josefsson.org>.
36862
36863 2008-02-06  Bruno Haible  <bruno@clisp.org>
36864
36865         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
36866         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
36867         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
36868         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
36869         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36870         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36871         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
36872         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
36873         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36874         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36875         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36876         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36877         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36878         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36879         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36880         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
36881         left-adjust flag.
36882         * tests/test-snprintf-posix.h (test_function): Likewise.
36883         * tests/test-sprintf-posix.h (test_function): Likewise.
36884         * tests/test-vasprintf-posix.c (test_function): Likewise.
36885         * doc/posix-functions/fprintf.texi: Update.
36886         * doc/posix-functions/printf.texi: Update.
36887         * doc/posix-functions/snprintf.texi: Update.
36888         * doc/posix-functions/sprintf.texi: Update.
36889         * doc/posix-functions/vfprintf.texi: Update.
36890         * doc/posix-functions/vprintf.texi: Update.
36891         * doc/posix-functions/vsnprintf.texi: Update.
36892         * doc/posix-functions/vsprintf.texi: Update.
36893         Reported by Peter Fales <psfales@alcatel-lucent.com>.
36894
36895 2008-02-06  Bruno Haible  <bruno@clisp.org>
36896
36897         Fix bug introduced on 2008-01-26.
36898         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
36899
36900 2008-02-06  Bruno Haible  <bruno@clisp.org>
36901
36902         Fix bug introduced on 2007-06-10.
36903         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
36904         !NEED_PRINTF_FLAG_ZERO.
36905
36906 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
36907
36908         getloadavg: use libperfstat on AIX5
36909         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
36910
36911 2008-02-03  Bruno Haible  <bruno@clisp.org>
36912
36913         * lib/diffseq.h: Add comments about required #includes.
36914         Reported by Michael Biggs <gnulib@doubleplum.net>.
36915
36916 2008-02-01  Bruno Haible  <bruno@clisp.org>
36917
36918         * users.txt: Add gnuit.
36919
36920 2008-01-31  Bruno Haible  <bruno@clisp.org>
36921
36922         * lib/md4.c (set_uint32): Mark as inline.
36923         * lib/md5.c (set_uint32): Likewise.
36924         * lib/sha1.c (set_uint32): Likewise.
36925         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
36926         * m4/md5.m4 (gl_MD5): Likewise.
36927         * m4/sha1.m4 (gl_SHA1): Likewise.
36928
36929 2008-01-31  Jim Meyering  <meyering@redhat.com>
36930
36931         Use "sizeof VAR", rather than a literal "4".
36932         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
36933         * lib/md4.c (md4_read_ctx): Likewise.
36934         * lib/sha1.c (sha1_read_ctx): Likewise.
36935
36936 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36937
36938         * tests/test-sha1.c: New file, based on test-md5.c.
36939
36940         * modules/crypto/sha1-tests: New file.
36941
36942 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36943
36944         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
36945
36946 2008-01-31  Jim Meyering  <meyering@redhat.com>
36947
36948         Prefer "sizeof v" over the equivalent "4".
36949         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
36950         * lib/md5.c (set_uint32): Likewise.
36951         * lib/sha1.c (set_uint32): Likewise.
36952
36953 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36954
36955         * lib/sha1.c (set_uint32): Mark function as static.
36956
36957 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36958
36959         md2: clarify comments to say that alignment is not required.
36960         * lib/md2.h: Remove warning about alignment in comment.
36961         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
36962         never been required.
36963
36964 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36965
36966         md4: adapt alignment constraint fix from sha1.
36967         * lib/md4.c (set_uint32): New function, from sha1.c
36968         (md4_read_ctx): Use it.
36969         (md4_finish_ctx): Doc fix.
36970         * lib/md4.h: Doc fix.
36971
36972 2008-01-31  Simon Josefsson  <simon@josefsson.org>
36973
36974         md5: adapt alignment constraint fix from sha1.
36975         * lib/md5.c (set_uint32): New function, from sha1.c
36976         (md5_read_ctx): Use it.
36977         (md5_finish_ctx): Doc fix.
36978         * lib/md5.h: Doc fix.
36979
36980 2008-01-30  Peter Palfrader  <weasel@debian.org>
36981
36982         sha1: remove the result buffer alignment constraint
36983         * lib/sha1.c (set_uint32): New function.
36984         (sha1_read_ctx): Rewrite to remove the result buffer alignment
36985         constraint.
36986         (sha1_finish_ctx): Remove comment warning about alignment constraint.
36987         * lib/sha1.h: Likewise.
36988
36989 2008-01-30  Andreas Schwab  <schwab@suse.de>
36990             Bruno Haible  <bruno@clisp.org>
36991
36992         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
36993         correct definition of LDBL_MIN_EXP.
36994
36995 2008-01-30  Karl Berry  <karl@gnu.org>
36996
36997         * config/srclist-update: try to preserve x bit on updates.
36998         * config/srclistvars.sh: update for karl.
36999
37000 2008-01-29  Jim Meyering  <meyering@redhat.com>
37001
37002         vasnprintf.c: Avoid warning about unused label
37003         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
37004         "overflow" label definition and associated code with the
37005         same cpp condition that guards the sole use of that label.
37006
37007 2008-01-26  Bruno Haible  <bruno@clisp.org>
37008
37009         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
37010         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
37011         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
37012         * lib/isnanl-nolibm.h (isnanl): Likewise.
37013         Reported by Paul Eggert <eggert@cs.ucla.edu>.
37014
37015 2008-01-26  Bruno Haible  <bruno@clisp.org>
37016
37017         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
37018         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
37019
37020 2008-01-26  Bruno Haible  <bruno@clisp.org>
37021
37022         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
37023         GCC >= 4.0 built-in.
37024         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
37025
37026 2008-01-26  Bruno Haible  <bruno@clisp.org>
37027
37028         Rename isnan, applicable to 'double' only, to isnand.
37029         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
37030         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
37031         (configure.ac): Update.
37032         (Include): Replace "isnan.h" with "isnand.h".
37033         * m4/isnand.m4: Renamed from m4/isnan.m4.
37034         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
37035         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
37036         instead of isnan.c.
37037         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
37038         instead of HAVE_ISNAN_IN_LIBC.
37039         (isnand): Renamed from isnan.
37040         * lib/isnand.c: New file.
37041         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
37042         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
37043         (Makefile.am): Update.
37044         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
37045         Include isnand.h instead of isnan.h.
37046         (main): Test isnand instead of isnan.
37047         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
37048         isnan-nolibm.
37049         * modules/frexp (Depends-on): Likewise.
37050         * modules/frexp-tests (Depends-on): Likewise.
37051         * modules/frexp-nolibm (Depends-on): Likewise.
37052         * modules/frexp-nolibm-tests (Depends-on): Likewise.
37053         * modules/isfinite (Depends-on): Likewise.
37054         * modules/round-tests (Depends-on): Likewise.
37055         * modules/signbit (Depends-on): Likewise.
37056         * modules/signbit-tests (Depends-on): Likewise.
37057         * modules/snprintf-posix (Depends-on): Likewise.
37058         * modules/sprintf-posix (Depends-on): Likewise.
37059         * modules/trunc-tests (Depends-on): Likewise.
37060         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37061         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37062         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37063         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37064         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37065         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37066         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37067         * modules/vasnprintf-posix (Depends-on): Likewise.
37068         * modules/vasprintf-posix (Depends-on): Likewise.
37069         * modules/vfprintf-posix (Depends-on): Likewise.
37070         * modules/vsnprintf-posix (Depends-on): Likewise.
37071         * modules/vsprintf-posix (Depends-on): Likewise.
37072         * lib/frexp.c: Include isnand.h instead of isnan.h.
37073         (ISNAN): Set to isnand instead of isnan.
37074         * lib/isfinite.c: Include isnand.h instead of isnan.h.
37075         (gl_isfinited): Use isnand instead of isnan.
37076         * lib/signbitd.c: Include isnand.h instead of isnan.h.
37077         (gl_signbitd): Use isnand instead of isnan.
37078         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
37079         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
37080         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
37081         (main): Use isnand instead of isnan.
37082         * tests/test-round1.c: Include isnand.h.
37083         (main): Use isnand instead of isnan.
37084         * tests/test-round2.c: Include isnand.h instead of isnan.h.
37085         (ISNAN): Set to isnand instead of isnan.
37086         * tests/test-trunc1.c: Include isnand.h.
37087         (main): Use isnand instead of isnan.
37088         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
37089         (equal): Use isnand instead of isnan.
37090         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
37091         isnand-nolibm.
37092         * NEWS: Mention the change.
37093
37094 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
37095             Bruno Haible  <bruno@clisp.org>
37096
37097         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
37098         the GCC builtins for signbits are present and set
37099         REPLACE_SIGNBIT_USING_GCC if so.
37100         * lib/math.in.h (signbit): Define using GCC builtins if
37101         REPLACE_SIGNBIT_USING_GCC is set.
37102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
37103         REPLACE_SIGNBIT_USING_GCC.
37104         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
37105
37106 2008-01-25  Jim Meyering  <meyering@redhat.com>
37107
37108         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
37109         * lib/poll.c: Include <config.h>, not "config.h".
37110         * tests/test-getaddrinfo.c: Likewise.
37111
37112 2008-01-25  Simon Josefsson  <simon@josefsson.org>
37113
37114         * modules/sockets-tests: New file.
37115
37116 2008-01-24  Simon Josefsson  <simon@josefsson.org>
37117
37118         * modules/sockets: New module, can be used to call WSA_Startup and
37119         WSA_Cleanup when needed.
37120
37121         * lib/sockets.h, lib/sockets.c: New files.
37122
37123         * m4/sockets.m4: New file.
37124
37125         * tests/test-sockets.c: New file.
37126
37127 2008-01-19  Bruno Haible  <bruno@clisp.org>
37128
37129         * doc/posix-headers: Renamed from doc/headers.
37130         * doc/posix-functions: Renamed from doc/functions.
37131         * doc/gnulib.texi: Update.
37132
37133 2008-01-19  Bruno Haible  <bruno@clisp.org>
37134
37135         * doc/glibc-functions/strcasestr.texi: Include contents of
37136         doc/functions/strcasestr.texi, fixing the list of platforms.
37137         * doc/functions/strcasestr.texi: Remove file.
37138
37139 2008-01-19  Bruno Haible  <bruno@clisp.org>
37140
37141         * doc/glibc-functions/memmem.texi: Include contents of
37142         doc/functions/memmem.texi.
37143         * doc/functions/memmem.texi: Remove file.
37144
37145 2008-01-18  Bruno Haible  <bruno@clisp.org>
37146
37147         * doc/glibc-functions/*.texi: New files.
37148         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
37149         to use the new files.
37150
37151 2008-01-17  Bruno Haible  <bruno@clisp.org>
37152
37153         * tests/test-gethostname.c (main): Fix printf statement.
37154
37155 2008-01-17  Simon Josefsson  <simon@josefsson.org>
37156
37157         * modules/gethostname-tests: New file.
37158
37159         * tests/test-gethostname.c: New file.
37160
37161 2008-01-17  Simon Josefsson  <simon@josefsson.org>
37162
37163         * lib/gethostname.c: Include string.h unconditionally, strncpy is
37164         used by the UNAME case.  Reported by Bruno Haible
37165         <bruno@clisp.org>.
37166
37167 2008-01-17  Eric Blake  <ebb9@byu.net>
37168
37169         Convert c-strcasestr to be more efficient.
37170         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
37171         (Depends-on): Add c-strcase, remove malloca, strnlen.
37172         * tests/test-c-strcasestr.c (main): Enhance test.
37173         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
37174
37175 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
37176
37177         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
37178         Use it in creating po/Makevars.
37179
37180 2008-01-15  Simon Josefsson  <simon@josefsson.org>
37181
37182         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
37183         Applications that requires it should initialize libgcrypt
37184         manually.
37185
37186 2008-01-16  Simon Josefsson  <simon@josefsson.org>
37187
37188         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
37189
37190 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
37191
37192         Fix problem with getdate on mingw32 reported by Simon Josefsson
37193         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
37194         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
37195         tzname", when deciding whether to declare tzname.
37196         * lib/strftime.c (tzname): Likewise.
37197
37198 2008-01-15  Bruno Haible  <bruno@clisp.org>
37199
37200         Work around a MacOS X 10.5 bug in frexpl().
37201         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
37202         * doc/functions/frexpl.texi: Document the bug.
37203         Reported by Elias Pipping <pipping@gentoo.org>.
37204
37205 2008-01-14  Eric Blake  <ebb9@byu.net>
37206
37207         Touch up previous patch.
37208         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
37209         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
37210
37211         Convert strcasestr module to use Two-Way algorithm.
37212         * modules/strcasestr-simple: New module, based on the old
37213         strcasestr, but with Two-Way rather than KMP.
37214         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
37215         * lib/string.in.h (rpl_strcasestr): Declare.
37216         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
37217         performance.
37218         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
37219         * modules/string (Makefile.am): Support strcasestr.
37220         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37221         * modules/strcasestr-tests (Depends-on): Check for alarm.
37222         * tests/test-strcasestr.c: Augment test.
37223         * lib/str-two-way.h: Clean up stray macro.
37224         * NEWS: Document new module.
37225         * MODULES.html.sh (string handling): Likewise.
37226         * doc/functions/strcasestr.texi: New file.
37227         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
37228         here, since it is not a POSIX function.
37229
37230 2008-01-14  Colin Watson  <cjwatson@debian.org>
37231             Bruno Haible  <bruno@clisp.org>
37232
37233         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
37234         works fine; if not, set REPLACE_STRSIGNAL.
37235         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
37236         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37237         REPLACE_STRSIGNAL.
37238         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
37239         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
37240         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
37241
37242 2008-01-14  Bruno Haible  <bruno@clisp.org>
37243
37244         * modules/strsignal (Include): Change to <string.h>.
37245
37246 2008-01-14  Colin Watson  <cjwatson@debian.org>
37247
37248         * modules/argp (Notice): Add a notice recommending to change
37249         XGETTEXT_OPTIONS.
37250         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
37251
37252 2008-01-13  Colin Watson  <cjwatson@debian.org>
37253
37254         * modules/strsignal-tests: New file.
37255         * tests/test-strsignal.c: New file.
37256
37257         * lib/strsignal.c: New file, from glibc with modifications.
37258         * lib/siglist.h: New file, from glibc with modifications.
37259         * lib/string.in.h (strsignal): New declaration.
37260         * m4/strsignal.m4: New file.
37261         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37262         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
37263         * modules/strsignal: New file.
37264         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
37265         HAVE_DECL_STRSIGNAL.
37266
37267 2008-01-13  Bruno Haible  <bruno@clisp.org>
37268
37269         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
37270         locale encoding is not ASCII. Needed for OpenBSD 4.0.
37271         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
37272         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
37273
37274 2008-01-13  Bruno Haible  <bruno@clisp.org>
37275
37276         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
37277         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
37278         * lib/argp.h (__attribute__): Likewise.
37279         * lib/c-stack.c (__attribute__): Likewise.
37280         * lib/error.h (__attribute__): Likewise.
37281         * lib/fts.c (__attribute__): Likewise.
37282         * lib/openat.h (__attribute__): Likewise.
37283         * lib/stdio.in.h (__attribute__): Likewise.
37284         * lib/string.in.h (__attribute__): Likewise.
37285         * lib/utimens.c (__attribute__): Likewise.
37286         * lib/vasnprintf.h (__attribute__): Likewise.
37287         * lib/xalloc.h (__attribute__): Likewise.
37288         * lib/xprintf.h (__attribute__): Likewise.
37289         * lib/xstrtol.h (__attribute__): Likewise.
37290         * lib/xvasprintf.h (__attribute__): Likewise.
37291
37292 2008-01-12  Bruno Haible  <bruno@clisp.org>
37293
37294         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
37295         * doc/glibc-headers/a.out.texi: New file.
37296         * doc/glibc-headers/aliases.texi: New file.
37297         * doc/glibc-headers/alloca.texi: New file.
37298         * doc/glibc-headers/ar.texi: New file.
37299         * doc/glibc-headers/argp.texi: New file.
37300         * doc/glibc-headers/argz.texi: New file.
37301         * doc/glibc-headers/byteswap.texi: New file.
37302         * doc/glibc-headers/crypt.texi: New file.
37303         * doc/glibc-headers/endian.texi: New file.
37304         * doc/glibc-headers/envz.texi: New file.
37305         * doc/glibc-headers/err.texi: New file.
37306         * doc/glibc-headers/error.texi: New file.
37307         * doc/glibc-headers/execinfo.texi: New file.
37308         * doc/glibc-headers/fpu_control.texi: New file.
37309         * doc/glibc-headers/fstab.texi: New file.
37310         * doc/glibc-headers/fts.texi: New file.
37311         * doc/glibc-headers/getopt.texi: New file.
37312         * doc/glibc-headers/ieee754.texi: New file.
37313         * doc/glibc-headers/ifaddrs.texi: New file.
37314         * doc/glibc-headers/libintl.texi: New file.
37315         * doc/glibc-headers/mcheck.texi: New file.
37316         * doc/glibc-headers/mntent.texi: New file.
37317         * doc/glibc-headers/obstack.texi: New file.
37318         * doc/glibc-headers/paths.texi: New file.
37319         * doc/glibc-headers/printf.texi: New file.
37320         * doc/glibc-headers/pty.texi: New file.
37321         * doc/glibc-headers/resolv.texi: New file.
37322         * doc/glibc-headers/shadow.texi: New file.
37323         * doc/glibc-headers/sysexits.texi: New file.
37324         * doc/glibc-headers/ttyent.texi: New file.
37325
37326 2008-01-12  Jim Meyering  <meyering@redhat.com>
37327
37328         announce-gen: emit Gnulib's git-based version string.
37329         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
37330         New option --gnulib-version=V, where V is expected to be
37331         the output of running git describe in the gnulib directory.
37332         (get_tool_versions): Request feedback on xdelta.  I suspect it's
37333         not useful, and plan to stop publishing an xdelta file with each
37334         coreutils release.
37335
37336         * build-aux/announce-gen: Also check for lzma-compressed files.
37337
37338 2008-01-11  Bruno Haible  <bruno@clisp.org>
37339
37340         * tests/test-memmem.c (main): Increase maximum allowed time.
37341         * tests/test-strstr.c (main): Likewise.
37342
37343 2008-01-11  Bruno Haible  <bruno@clisp.org>
37344
37345         * doc/functions/memmem.texi: Add more precisions about platforms.
37346         * doc/functions/strstr.texi: Likewise.
37347
37348 2008-01-10  Eric Blake  <ebb9@byu.net>
37349
37350         * m4/strstr.m4: Delete cruft from copy-n-paste.
37351         Reported by Bruno Haible.
37352
37353 2008-01-10  Bruno Haible  <bruno@clisp.org>
37354
37355         Make c-strstr rely on strstr.
37356         * lib/c-strstr.c: Don't include str-kmp.h.
37357         (c_strstr): Define in terms of strstr.
37358         * modules/c-strstr (Files): Remove lib/str-kmp.h.
37359         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
37360
37361 2008-01-10  Bruno Haible  <bruno@clisp.org>
37362
37363         * doc/gnulib.texi (String Functions in C Locale): New section.
37364         * doc/c-ctype.texi: New file.
37365         * doc/c-strcase.texi: New file.
37366         * doc/c-strcaseeq.texi: New file.
37367         * doc/c-strcasestr.texi: New file.
37368         * doc/c-strstr.texi: New file.
37369         * doc/c-strtod.texi: New file.
37370         * doc/c-strtold.texi: New file.
37371
37372 2008-01-10  Eric Blake  <ebb9@byu.net>
37373
37374         * lib/relocatable.h: Fix a comment.
37375
37376 2008-01-10  Eric Blake  <ebb9@byu.net>
37377
37378         Share two-way algorithm.
37379         * lib/str-two-way.h: New file, merged from...
37380         * lib/memmem.c: ...here...
37381         * lib/strstr.c: ...and here.
37382         * modules/memmem (Files): Use it.
37383         * modules/strstr (Files): Likewise.
37384
37385         Avoid quadratic strstr implementations.
37386         * lib/strstr.c: New file.
37387         * m4/strstr.m4: Likewise.
37388         * modules/strstr: Likewise.
37389         * modules/strstr-tests: Likewise.
37390         * tests/test-strstr.c: Likewise.
37391         * lib/string.in.h (rpl_strstr): Declare.
37392         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
37393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
37394         * modules/string (Makefile.am): Likewise.
37395         * MODULES.html.sh (string handling): Mention new module.
37396         * doc/functions/strstr.texi (strstr): Document the bug.
37397
37398 2008-01-10  Bruno Haible  <bruno@clisp.org>
37399
37400         * lib/relocatable.h (relocate): State whether result is freshly
37401         allocated or not.
37402         * lib/relocatable.c (relocate): Return a freshly allocated string
37403         instead of a pointer to a privately held string.
37404         Reported by Sylvain Beucler <beuc@gnu.org>.
37405
37406 2008-01-10  Colin Watson  <cjwatson@debian.org>
37407
37408         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
37409         s/S_ISNLK/S_ISLNK/.
37410
37411 2008-01-09  Bruno Haible  <bruno@clisp.org>
37412
37413         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
37414         and other files.
37415         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
37416         if it's only a guess.
37417         * modules/memmem: Simplify by depending on memmem-simple.
37418
37419 2008-01-09  Bruno Haible  <bruno@clisp.org>
37420
37421         Work around OpenBSD 4.0 tdelete() bug.
37422         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
37423         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
37424         macros and don't redefine the enum values.
37425         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
37426         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
37427         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
37428
37429 2008-01-09  Bruno Haible  <bruno@clisp.org>
37430
37431         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
37432         (main): Don't perform the tests if setlocale did not install a UTF-8
37433         locale. Needed on OpenBSD 4.0.
37434         * modules/wcwidth-tests (Depends-on): Add localcharset.
37435
37436 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
37437
37438         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
37439         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
37440         * NEWS: announce this.
37441         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
37442
37443 2008-01-09  Simon Josefsson  <simon@josefsson.org>
37444         and Eric Blake  <ebb9@byu.net>
37445
37446         Add memmem-simple module.
37447         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
37448         (gl_FUNC_MEMMEM): Separate performance from presence checks.
37449         * modules/memmem-simple: New file.
37450         * modules/memmem (Description): Tweak.
37451         * MODULES.html.sh (string handling): Mention new module.
37452         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
37453         addressed by memmem-simple.
37454         * NEWS: Document the difference.
37455
37456 2008-01-09  Eric Blake  <ebb9@byu.net>
37457
37458         Give gcc some memmem optimization hints.
37459         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
37460         (strcasestr): Declare as pure.
37461         * modules/memmem (Maintainer): Claim my implementation.
37462
37463 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37464
37465         Support AIX 6.1 and higher.
37466         * build-aux/config.libpath: Likewise.
37467         * build-aux/config.rpath: Likewise.
37468
37469 2008-01-08  Jim Meyering  <meyering@redhat.com>
37470             Bruno Haible  <bruno@clisp.org>
37471
37472         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
37473         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
37474         Reported by Peter Fales in
37475         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
37476
37477 2008-01-08  Bruno Haible  <bruno@clisp.org>
37478
37479         * modules/unictype/category-of (Depends-on): Add
37480         unictype/category-none.
37481         * modules/unictype/category-and-tests (Depends-on): Add
37482         unictype/category-{L,N,Lu,Nd}.
37483         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
37484         * modules/unictype/category-or-tests (Depends-on): Add
37485         unictype/category-{L,N}.
37486         * modules/unictype/category-name-tests (Depends-on): Add
37487         unictype/category-{Z,Nl}.
37488         Reported by Simon Josefsson.
37489
37490 2008-01-08  Bruno Haible  <bruno@clisp.org>
37491
37492         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
37493         convention better.
37494         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
37495         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
37496         Reported by Peter Miller <millerp@canb.auug.org.au>.
37497
37498 2008-01-08  Eric Blake  <ebb9@byu.net>
37499
37500         Rewrite memmem to guarantee linear complexity without malloc.
37501         * lib/memmem.c (memmem): Use Two-Way rather than
37502         Knuth-Morris-Pratt, to allow O(1) space usage.
37503         (critical_factorization, two_way_short_needle)
37504         (two_way_long_needle): New functions.
37505         (knuth_morris_pratt): Delete.
37506         * modules/memmem (Depends-on): No longer need malloca or stdbool.
37507         Add stdint.
37508         * tests/test-memmem.c (main): Add tests for periodic needle and
37509         sublinear performance.
37510         * doc/functions/memmem.texi (memmem): Document other deficiencies
37511         in cygwin and older glibc.
37512
37513 2008-01-08  Bruno Haible  <bruno@clisp.org>
37514
37515         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
37516         augmentation.
37517
37518 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
37519
37520         Add a configure time option: --disable-acl.
37521         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
37522         AC_ARG_ENABLE(acl).
37523
37524 2008-01-06  Simon Josefsson  <simon@josefsson.org>
37525
37526         * tests/test-localename.c: Don't include obsolete "setenv.h".
37527
37528         * modules/localename-tests (Depends-on): Need unsetenv.
37529
37530 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37531
37532         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
37533
37534 2008-01-06  Colin Watson  <cjwatson@debian.org>
37535
37536         * users.txt: Add man-db.
37537
37538 2008-01-07  Bruno Haible  <bruno@clisp.org>
37539
37540         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
37541         previous section name.
37542
37543 2008-01-07  Bruno Haible  <bruno@clisp.org>
37544
37545         * lib/progname.c (set_program_name): Don't strip off a leading
37546         "lt-" prefix outside a .libs directory.
37547         Suggested by Paul Eggert.
37548
37549 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
37550             Bruno Haible  <bruno@clisp.org>
37551
37552         Improve memory cleanup in 'relocatable' module.
37553         * lib/relocatable.h (compute_curr_prefix): Change return type to
37554         'char *'.
37555         * lib/relocatable.c (compute_curr_prefix): Change return type to
37556         'char *'. Free curr_installdir after use.
37557         (relocate): Free curr_prefix_better after use.
37558         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
37559
37560 2008-01-01  Bruno Haible  <bruno@clisp.org>
37561
37562         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
37563         failure on older glibc systems.
37564         Reported by Peter Fales <psfales@alcatel-lucent.com>.
37565
37566 2008-01-05  Eric Blake  <ebb9@byu.net>
37567
37568         Avoid quadratic system memmem.
37569         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
37570         Reported by Ralf Wildenhues.
37571
37572         Fix memmem test for mingw.
37573         * modules/memmem-tests (configure.ac): Check for alarm.
37574         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
37575         it.
37576         * doc/functions/memmem.texi: New file.
37577         * doc/gnulib.texi (Function Substitutes): Add memmem.
37578         Reported by Bruno Haible.
37579
37580 2008-01-04  Bruno Haible  <bruno@clisp.org>
37581
37582         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
37583         Require gl_HEADER_STRINGS_H_DEFAULTS, not
37584         gl_HEADER_STRING_H_DEFAULTS.
37585
37586 2008-01-04  Eric Blake  <ebb9@byu.net>
37587
37588         Shorten duration of memmem test.
37589         * tests/test-memmem.c (main): Use alarm to declare failure if test
37590         is taking too long.
37591         Reported by Ralf Wildenhues.
37592
37593 2007-12-21  Simon Josefsson  <simon@josefsson.org>
37594
37595         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
37596         string, needed by strerror.
37597
37598 2008-01-03  Colin Watson  <cjwatson@debian.org>
37599             Bruno Haible  <bruno@clisp.org>
37600
37601         * doc/gnulib-tool.texi (Localization): New section.
37602
37603 2008-01-02  Bruno Haible  <bruno@clisp.org>
37604
37605         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
37606         variables to 'unsigned char *' type.
37607         Reported by Paul Eggert.
37608
37609 2008-01-02  Jim Meyering  <jim@meyering.net>
37610
37611         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
37612
37613 2007-12-31  Jim Meyering  <jim@meyering.net>
37614
37615         Avoid use of private FTS type name.
37616         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
37617
37618 2007-12-30  Karl Berry  <karl@gnu.org>
37619
37620         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
37621         work around defect in Texinfo and/or the standalone Info browser.
37622
37623 2007-12-30  Bruno Haible  <bruno@clisp.org>
37624
37625         Unify 5 copies of the KMP code.
37626         * lib/str-kmp.h: New file.
37627         * lib/c-strcasestr.c: Include str-kmp.h.
37628         (knuth_morris_pratt): Remove function.
37629         (c_strcasestr): Update.
37630         * lib/c-strstr.c: Include str-kmp.h.
37631         (knuth_morris_pratt): Remove function.
37632         (c_strcasestr): Update.
37633         * lib/mbscasestr.c: Include str-kmp.h.
37634         (knuth_morris_pratt_unibyte): Remove function.
37635         * lib/mbsstr.c: Include str-kmp.h.
37636         (knuth_morris_pratt_unibyte): Remove function.
37637         * lib/strcasestr.c: Include str-kmp.h.
37638         (knuth_morris_pratt): Remove function.
37639         (strcasestr): Update.
37640         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
37641         * modules/c-strstr (Files): Likewise.
37642         * modules/mbscasestr (Files): Likewise.
37643         * modules/mbsstr (Files): Likewise.
37644         * modules/strcasestr (Files): Likewise.
37645         Suggested by Paul Eggert.
37646
37647 2007-12-30  Bruno Haible  <bruno@clisp.org>
37648
37649         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
37650         defined.
37651
37652 2007-12-30  Bruno Haible  <bruno@clisp.org>
37653
37654         * lib/xmalloca.h: Include xalloc.h.
37655         (xnmalloca): New macro.
37656
37657 2007-12-30  Bruno Haible  <bruno@clisp.org>
37658
37659         * lib/malloca.h (nmalloca): New macro.
37660         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
37661         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
37662         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
37663         knuth_morris_pratt_multibyte): Likewise.
37664         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
37665         knuth_morris_pratt_multibyte): Likewise.
37666         * lib/memmem.c (knuth_morris_pratt): Likewise.
37667         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
37668
37669 2007-12-25  Bruno Haible  <bruno@clisp.org>
37670
37671         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
37672         * lib/glob.c: Don't include openat.h.
37673         (link_exists2_p): Add back the code that deals with the
37674         !GLOB_ALTDIRFUNC case.
37675         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
37676         let it do the filename concatenation.
37677         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
37678         * modules/glob (Depends-on): Remove openat.
37679
37680 2007-12-31  Bruno Haible  <bruno@clisp.org>
37681
37682         * modules/dirfd (License): Change to LGPLv2+.
37683         Approved by Jim Meyering.
37684
37685 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37686
37687         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
37688         when multiplying M by sizeof (size_t).
37689
37690 2007-12-10  Martin Lambers  <marlam@marlam.de>
37691
37692         Override getpagesize on mingw.
37693         * lib/getpagesize.c: New file.
37694         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
37695         * modules/getpagesize (Files): Add lib/getpagesize.c.
37696         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
37697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37698         REPLACE_GETPAGESIZE.
37699         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
37700
37701 2007-12-25  Bruno Haible  <bruno@clisp.org>
37702
37703         * modules/localcharset (Notice): New field.
37704         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
37705         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
37706
37707 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
37708             Bruno Haible  <bruno@clisp.org>
37709
37710         Avoid using the syntax symbol() in formatted documentation.
37711         * MODULES.html.sh (func_module): When replacing symbol() with a
37712         hyperlink, remove the parentheses. Show an error if some remain.
37713         Recognize and render the '...' syntax.
37714         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
37715         Rework. Add paragraph about GCC's inlining.
37716         * doc/alloca.texi: Likewise.
37717         * doc/error.texi: Remove parentheses from symbol reference.
37718         * doc/gnulib-intro.texi: Likewise.
37719         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
37720         * modules/fnmatch (Description): Reword to say "the ... function".
37721         * modules/full-read (Description): Likewise.
37722         * modules/full-write (Description): Likewise.
37723         * modules/safe-read (Description): Likewise.
37724         * modules/safe-write (Description): Likewise.
37725         * modules/strchrnul (Description): Likewise.
37726         * modules/trim (Description): Likewise.
37727         * modules/error (Description): Remove parentheses from symbol
37728         references.
37729         * modules/verror (Description): Likewise.
37730         Reported by Karl Berry.
37731
37732 2007-12-25  Bruno Haible  <bruno@clisp.org>
37733
37734         Fixup after 2007-10-16 commit.
37735         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
37736
37737 2007-12-24  Bruno Haible  <bruno@clisp.org>
37738
37739         Make --enable-relocatable work with DESTDIR.
37740         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
37741         to compute installdir from destprog.
37742         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
37743         also set the RELOC_DESTDIR variable.
37744         Reported by Левашев Иван <octagram@bluebottle.com>.
37745
37746 2007-12-24  Bruno Haible  <bruno@clisp.org>
37747
37748         Fix link error due to xalloc_die().
37749         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
37750         of xreadlink.
37751         * lib/relocwrapper.c: Update comments.
37752         * build-aux/install-reloc: Remove xreadlink.c from file list.
37753         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
37754         xreadlink.c.
37755         Reported by Левашев Иван <octagram@bluebottle.com>.
37756
37757 2007-12-24  Bruno Haible  <bruno@clisp.org>
37758
37759         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
37760         * lib/setenv.h: Remove file.
37761         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
37762         lib/setenv.h.
37763         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
37764         (Depends-on): Add stdlib.
37765         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
37766         gl_FUNC_UNSETENV.
37767         (Include): Replace setenv.h with <stdlib.h>.
37768         * modules/unsetenv: New file.
37769         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
37770         * lib/unsetenv.c: Include <stdlib.h> first.
37771         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
37772         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
37773         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
37774         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
37775         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
37776         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
37777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
37778         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
37779         * doc/functions/unsetenv.texi: Update.
37780         * modules/xsetenv (Depends-on): Add unsetenv.
37781         * modules/getdate (Depends-on): Likewise.
37782         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
37783         * lib/xsetenv.c: Don't include setenv.h.
37784         * lib/getdate.y: Likewise.
37785         * lib/relocwrapper.c: Likewise.
37786         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
37787         (Depends-on): Add stdlib.
37788         * NEWS: Mention the changes.
37789         Reported by Левашев Иван <octagram@bluebottle.com>.
37790
37791 2007-12-23  Bruno Haible  <bruno@clisp.org>
37792
37793         * lib/memmem.c (memmem): Use lowercase variable names. Tab
37794         indentation.
37795
37796 2007-12-23  Bruno Haible  <bruno@clisp.org>
37797
37798         * lib/c-strcasestr.c: Add more comments.
37799         * lib/c-strstr.c: Likewise.
37800         * lib/mbscasestr.c: Likewise.
37801         * lib/mbsstr.c: Likewise.
37802         * lib/strcasestr.c: Likewise.
37803         * lib/memmem.c: Likewise.
37804
37805 2007-12-23  Bruno Haible  <bruno@clisp.org>
37806
37807         * tests/test-memmem.c: Include <string.h> first.
37808
37809 2007-12-22  Bruno Haible  <bruno@clisp.org>
37810
37811         * gnulib-tool (func_create_testdir): Change $auxdir while generating
37812         the contents of $testsbase.
37813         Reported by Ralf Wildenhues.
37814
37815 2007-12-22  Bruno Haible  <bruno@clisp.org>
37816
37817         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
37818         two variables local_ldadd_before, local_ldadd_last.
37819
37820 2007-12-20  Eric Blake  <ebb9@byu.net>
37821
37822         Work around circular library issue when cross-compiling.
37823         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
37824         that progname.o does not need to pull in rpl_memcmp.
37825
37826 2007-12-19  Eric Blake  <ebb9@byu.net>
37827
37828         Fix memmem to avoid O(n^2) worst-case complexity.
37829         * lib/memmem.c (knuth_morris_pratt): New function.
37830         (memmem): Use it if first few naive iterations fail.
37831         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
37832         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
37833         * modules/memchr (License): Likewise.
37834         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
37835         malloca.
37836         * tests/test-memmem.c: Rewrite, borrowing ideas from
37837         test-mbsstr1.c; the old version wouldn't even compile!
37838         * modules/memmem-tests: New file.
37839         * lib/string.in.h (rpl_memmem): Add declaration.
37840         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
37841         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
37842         REPLACE_MEMMEM.
37843
37844 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37845
37846         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
37847         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
37848         before any system include files, and undef after them all.  This
37849         should fix a problem on VMS reported by John E. Malmberg in
37850         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
37851
37852 2007-12-17  Eric Blake  <ebb9@byu.net>
37853
37854         Revert addition of verify, for BSD/OS.
37855         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
37856         can't handle large files, for the sake of obsolete platforms.
37857         * modules/fseeko (Depends-on): Remove verify.
37858         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
37859         * doc/functions/ftello.texi (ftello): Likewise.
37860         * doc/functions/fgetpos.texi (fgetpos): Likewise.
37861         Reported by Larry Jones.
37862
37863 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
37864
37865         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
37866         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
37867
37868 2007-12-17  Jim Meyering  <meyering@redhat.com>
37869
37870         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
37871         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
37872         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
37873         * modules/getcwd (Depends-on): Add openat.
37874         Reported by Petr Salinger.
37875
37876 2007-12-17  Bruno Haible  <bruno@clisp.org>
37877
37878         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
37879         avoid a segmentation fault of the configure test on x86_64 systems.
37880
37881 2007-12-15  Jim Meyering  <meyering@redhat.com>
37882
37883         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
37884
37885 2007-12-13  Eric Blake  <ebb9@byu.net>
37886
37887         Another fseek test.
37888         * tests/test-fseek.c (main): Also test ungetc handling.
37889         * tests/test-fseeko.c (main): Likewise.
37890         * modules/fseeko (Depends-on): Add verify.
37891         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
37892         large.
37893         Reported by Larry Jones.
37894
37895         Fix fseeko on mingw.
37896         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
37897         seek.
37898
37899         Beef up fseek tests.
37900         * tests/test-fseek.c (main): Also test eof handling.
37901         * tests/test-fseeko.c (main): Likewise.
37902         Reported by Larry Jones.
37903
37904 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
37905
37906         Fix fseeko on BSD-based platforms.
37907         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
37908         successful seek.
37909
37910 2007-12-12  Eric Blake  <ebb9@byu.net>
37911
37912         Allow circular dependency of separate libtests.a
37913         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
37914         when use_libtests.
37915
37916 2007-12-11  Eric Blake  <ebb9@byu.net>
37917
37918         Fix bug with -0.0L in previous patch.
37919         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
37920         * tests/test-isnan.c (main): Also test on zeroes.
37921         * tests/test-isnanf.c (main): Likewise.
37922         * tests/test-isnanl.h (main): Likewise.
37923
37924         Detect pseudo-denormals on x86 even when cross-compiling.
37925         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
37926         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
37927         invalid bit patterns that happen to satisfy ==.
37928
37929         Avoid link failures with separate libtests.a.
37930         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
37931         last, to satisfy circular dependencies.
37932
37933 2007-12-11  Eric Blake  <ebb9@byu.net>
37934         and Bruno Haible  <bruno@clisp.org>
37935
37936         Fix OpenBSD 4.0 <float.h> handling of long double.
37937         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
37938         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
37939         * doc/headers/float.texi (float.h): Document OpenBSD bug.
37940
37941 2007-12-11  Jim Meyering  <meyering@redhat.com>
37942
37943         * users.txt: Add libvirt.
37944
37945         Support versions of autoconf prior to 2.59c.
37946         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
37947         if it is not already defined.
37948
37949 2007-12-09  Bruno Haible  <bruno@clisp.org>
37950
37951         Let 'gnulib-tool --import' collect sources needed for the tests in
37952         tests/ rather than in lib/.
37953         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
37954         argument. If true, add rules to generate libtests.a, and put libtests.a
37955         into $(LDADD). Consider source files in subdirectories and set
37956         uses_subdirs.
37957         (func_emit_initmacro_start, func_emit_initmacro_end,
37958         func_emit_initmacro_done): Pass all arguments explicitly.
37959         (func_import): Determine two module lists main_modules,
37960         testsrelated_modules. Determine use_libtests. Determine two variables
37961         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
37962         instead of just sed_transform_lib_file. Determine two variables
37963         main_files and testsrelated_files. Compute 'files' as the union of
37964         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
37965         func_add_or_update. In the generated gnulib-comp.m4, collect the
37966         object files for tests/ in different variables than those for lib/.
37967         Substitute LIBTESTS_LIBDEPS.
37968         (func_create_testdir): Combine the uses_subdirs results from
37969         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
37970
37971 2007-12-09  Bruno Haible  <bruno@clisp.org>
37972
37973         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
37974         the build-aux directory.
37975
37976 2007-12-09  Bruno Haible  <bruno@clisp.org>
37977
37978         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
37979         introduced on 2006-09-09.
37980
37981 2007-12-07  Jim Meyering  <meyering@redhat.com>
37982
37983         Let these macros work also with autoconf-2.59.
37984         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
37985         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
37986         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
37987
37988 2007-12-06  Jim Meyering  <meyering@redhat.com>
37989
37990         Avoid a configure-time syntax error in gl_FUNC_ACL.
37991         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
37992         function in each branch, before testing the cache variable.
37993
37994 2007-12-04  Eric Blake  <ebb9@byu.net>
37995
37996         Make scripts executable.
37997         * build-aux/config.guess: Add execute permissions.
37998         * build-aux/config.sub: Likewise.
37999         * build-aux/gendocs.sh: Likewise.
38000
38001         Fix frexp on mingw.
38002         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
38003         cross-compiling.
38004         * doc/functions/frexp.texi (frexp): Document the bug.
38005
38006         Make cygwin fseeko check more reliable.
38007         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
38008         version numbers, rather than unrelated feature check.
38009         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
38010         * doc/functions/ftello.texi (ftello): Likewise.
38011         Reported by Bruno Haible.
38012
38013         * m4/strerror.m4: Bump version number.
38014
38015 2007-12-03  Bruno Haible  <bruno@clisp.org>
38016
38017         * doc/functions/mprotect.texi: Mention the mingw problem.
38018
38019 2007-12-03  Eric Blake  <ebb9@byu.net>
38020
38021         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
38022         REPLACE_STRERROR is initialized before this macro.
38023
38024 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38025
38026         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
38027         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
38028         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
38029         put -lsec in even for programs other than 'ls'.  This fixes a problem
38030         for gettext reported by Bruno Haible in
38031         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
38032         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
38033         Add support for Solaris 10.  This isn't efficient, but should get the
38034         job done for now.
38035
38036 2007-12-03  James Youngman  <jay@gnu.org>
38037
38038         * doc/regexprops-generic.texi: change "an close-group" to "a
38039         close-group" and "illegal" to "not allowed".
38040
38041 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38042
38043         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
38044         pr_byname.h. Needed for the rare case when the maintainer has done
38045         "make maintainer-clean" in the source directory and then attempts a
38046         build outside the source directory.
38047         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
38048         scripts_byname.h.
38049
38050 2007-12-02  Martin Lambers <marlam@marlam.de>
38051             Bruno Haible  <bruno@clisp.org>
38052
38053         * lib/getpagesize.h: Remove file.
38054         * lib/unistd.in.h: Include declaration of getpagesize here.
38055         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
38056         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
38057         HAVE_SYS_PARAM_H.
38058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
38059         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
38060         * modules/getpagesize (Files): Remove lib/getpagesize.h.
38061         (Depends-on): Add unistd.
38062         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38063         (Include): Use <unistd.h> instead of getpagesize.h.
38064         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
38065         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
38066         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
38067         gl_GETPAGESIZE invocation, already handled by module dependency.
38068         * lib/pagealign_alloc.c: Don't include getpagesize.h.
38069
38070 2007-12-02  Bruno Haible  <bruno@clisp.org>
38071
38072         * modules/strings-tests: New file.
38073         * tests/test-strings.c: New file.
38074
38075         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
38076         * lib/strings.in.h: New file.
38077         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
38078         * m4/strings_h.m4: New file.
38079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
38080         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
38081         * modules/strings: New file.
38082         * modules/string (Makefile.am): Update.
38083         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
38084         Reported by Karl Berry.
38085
38086 2007-12-01  Eric Blake  <ebb9@byu.net>
38087
38088         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
38089         accomodate fix in cygwin 1.5.25.
38090
38091 2007-12-01  Jim Meyering  <meyering@redhat.com>
38092
38093         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
38094         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
38095         that would inhibit utf8-optimization of a regexp containing line-
38096         or buffer-anchors, e.g., `^', `$'.
38097
38098 2007-11-30  Bruno Haible  <bruno@clisp.org>
38099
38100         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
38101         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
38102         glthread_recursive_lock_init.
38103         * lib/lock.c (glthread_recursive_lock_init)
38104         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
38105         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38106
38107 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
38108
38109         New function qset_acl, like set_acl but with syscall semantics.
38110         * lib/acl.h (qset_acl): New decl.
38111         * lib/acl.c (qset_acl): New function.
38112         (set_acl): Use new function.  Use more-consistent diagnostics.
38113
38114 2007-11-28  Jim Meyering  <meyering@redhat.com>
38115
38116         * modules/physmem (License): Change from GPL to LGPLv2+.
38117
38118 2007-11-26  Bruno Haible  <bruno@clisp.org>
38119
38120         * lib/vasnprintf.c (decode_long_double): Don't abort if the
38121         'long double' type has excess precision.
38122         Reported by Jim Meyering in
38123         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
38124
38125 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38126
38127         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
38128         Sync from <http://gnu.org/licenses>.
38129         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
38130         with license text from same location.
38131         * doc/maintain.texi, doc/standards.texi:  Sync from
38132         <http://savannah.gnu.org/projects/gnustandards>.
38133
38134 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
38135         and Jim Meyering  <meyering@redhat.com>
38136
38137         Adjust getdate' grammar to accept a slightly more regular language.
38138         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
38139         Before, the former was rejected.
38140         * lib/getdate.y (digits_to_date_time): New function, factored
38141         out of ...
38142         (number): ...here.  Just call digits_to_date_time.
38143         (hybrid): New non-terminal to handle an <unsigned number,
38144         signed relative offset> sequence consistently.
38145
38146 2007-11-18  Jim Meyering  <meyering@redhat.com>
38147
38148         Pull my changes from coreutils:
38149         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
38150         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
38151         use of $gnulib_tool_option_extras, so that it's separated from the
38152         preceding argument.
38153
38154         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
38155         * build-aux/bootstrap (cp_mark_as_generated): Create any required
38156         parent destination directories before copying a file into place.
38157
38158 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
38159
38160         bootstrap: work also with 4-argument variant of AC_INIT
38161         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
38162
38163 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
38164
38165         Port test-getaddrinfo to Solaris.
38166         Problem reported by Bruno Haible in
38167         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
38168         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
38169         explanation of setting 'hints'.
38170         Don't reject an implementation merely because it returns EAI_SERVICE.
38171         (EAI_SERVICE): Define to 0 if not defined.
38172
38173 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
38174
38175         The license of gnu-make and posix-shell is now "GPLed build tool".
38176         * modules/gnu-make (License): Likewise.
38177         * modules/posix-shell (License): Likewise.
38178
38179         New module posix-shell, for determining a POSIX shell
38180         or perhaps something that is close enough to a POSIX shell.
38181         * m4/posix-shell.m4: New file.
38182         * modules/posix-shell: New file.
38183
38184         * MODULES.html.sh: Mention new module.
38185
38186         New module gnu-make, for determining whether we're using GNU Make.
38187         * m4/gnu-make.m4: New file.
38188         * modules/gnu-make: New file.
38189         * MODULES.html.sh: Mention new module.
38190
38191 2007-11-14  Jim Meyering  <meyering@redhat.com>
38192
38193         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
38194         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
38195         use this macro to create a function _definition_.
38196         Remove useless "#undef ARGMATCH_DIE".
38197
38198 2007-11-14  Bruno Haible  <bruno@clisp.org>
38199
38200         * lib/config.charset: Update for OpenBSD 4.1.
38201         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
38202
38203 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
38204
38205         Document 64-bit #if problems in stdint.texi.
38206         * doc/headers/stdint.texi (stdint.h): Mention problems with
38207         64-bit-#if, and how to work around them.
38208
38209         Don't insist on 'long long int' support in the preprocessor.  It
38210         breaks too many things.  For example, PRIdMAX still uses a 'long
38211         long int' format with the latest Sun compiler, even though
38212         HAVE_LONG_LONG_INT isn't defined due to that compiler's
38213         preprocessor problem.  This causes the latest coreutils to dump
38214         core on Solaris 10 sparc with the Sun C compiler.
38215         Instead, fix the 2007-10-16 problem in a different way, by evaluating
38216         the troublesome expressions at configure-time, not at #if-time.
38217         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
38218         preprocessor.
38219         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
38220         compile-time C checks, done at 'configure'-time.
38221         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
38222         * modules/inttypes (Makefile): Substitute the new symbols that
38223         gl_INTTYPES_H now generates.
38224         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
38225
38226 2007-11-12  Bruno Haible  <bruno@clisp.org>
38227
38228         Tests for Unicode character classification functions.
38229
38230         * modules/unictype/bidicategory-byname-tests: New file.
38231         * modules/unictype/bidicategory-name-tests: New file.
38232         * modules/unictype/bidicategory-of-tests: New file.
38233         * modules/unictype/bidicategory-test-tests: New file.
38234         * modules/unictype/block-list-tests: New file.
38235         * modules/unictype/block-of-tests: New file.
38236         * modules/unictype/block-test-tests: New file.
38237         * modules/unictype/category-C-tests: New file.
38238         * modules/unictype/category-Cc-tests: New file.
38239         * modules/unictype/category-Cf-tests: New file.
38240         * modules/unictype/category-Cn-tests: New file.
38241         * modules/unictype/category-Co-tests: New file.
38242         * modules/unictype/category-Cs-tests: New file.
38243         * modules/unictype/category-L-tests: New file.
38244         * modules/unictype/category-Ll-tests: New file.
38245         * modules/unictype/category-Lm-tests: New file.
38246         * modules/unictype/category-Lo-tests: New file.
38247         * modules/unictype/category-Lt-tests: New file.
38248         * modules/unictype/category-Lu-tests: New file.
38249         * modules/unictype/category-M-tests: New file.
38250         * modules/unictype/category-Mc-tests: New file.
38251         * modules/unictype/category-Me-tests: New file.
38252         * modules/unictype/category-Mn-tests: New file.
38253         * modules/unictype/category-N-tests: New file.
38254         * modules/unictype/category-Nd-tests: New file.
38255         * modules/unictype/category-Nl-tests: New file.
38256         * modules/unictype/category-No-tests: New file.
38257         * modules/unictype/category-P-tests: New file.
38258         * modules/unictype/category-Pc-tests: New file.
38259         * modules/unictype/category-Pd-tests: New file.
38260         * modules/unictype/category-Pe-tests: New file.
38261         * modules/unictype/category-Pf-tests: New file.
38262         * modules/unictype/category-Pi-tests: New file.
38263         * modules/unictype/category-Po-tests: New file.
38264         * modules/unictype/category-Ps-tests: New file.
38265         * modules/unictype/category-S-tests: New file.
38266         * modules/unictype/category-Sc-tests: New file.
38267         * modules/unictype/category-Sk-tests: New file.
38268         * modules/unictype/category-Sm-tests: New file.
38269         * modules/unictype/category-So-tests: New file.
38270         * modules/unictype/category-Z-tests: New file.
38271         * modules/unictype/category-Zl-tests: New file.
38272         * modules/unictype/category-Zp-tests: New file.
38273         * modules/unictype/category-Zs-tests: New file.
38274         * modules/unictype/category-and-not-tests: New file.
38275         * modules/unictype/category-and-tests: New file.
38276         * modules/unictype/category-byname-tests: New file.
38277         * modules/unictype/category-name-tests: New file.
38278         * modules/unictype/category-none-tests: New file.
38279         * modules/unictype/category-of-tests: New file.
38280         * modules/unictype/category-or-tests: New file.
38281         * modules/unictype/category-test-withtable-tests: New file.
38282         * modules/unictype/combining-class-tests: New file.
38283         * modules/unictype/ctype-alnum-tests: New file.
38284         * modules/unictype/ctype-alpha-tests: New file.
38285         * modules/unictype/ctype-blank-tests: New file.
38286         * modules/unictype/ctype-cntrl-tests: New file.
38287         * modules/unictype/ctype-digit-tests: New file.
38288         * modules/unictype/ctype-graph-tests: New file.
38289         * modules/unictype/ctype-lower-tests: New file.
38290         * modules/unictype/ctype-print-tests: New file.
38291         * modules/unictype/ctype-punct-tests: New file.
38292         * modules/unictype/ctype-space-tests: New file.
38293         * modules/unictype/ctype-upper-tests: New file.
38294         * modules/unictype/ctype-xdigit-tests: New file.
38295         * modules/unictype/decimal-digit-tests: New file.
38296         * modules/unictype/digit-tests: New file.
38297         * modules/unictype/mirror-tests: New file.
38298         * modules/unictype/numeric-tests: New file.
38299         * modules/unictype/property-alphabetic-tests: New file.
38300         * modules/unictype/property-ascii-hex-digit-tests: New file.
38301         * modules/unictype/property-bidi-arabic-digit-tests: New file.
38302         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
38303         * modules/unictype/property-bidi-block-separator-tests: New file.
38304         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
38305         * modules/unictype/property-bidi-common-separator-tests: New file.
38306         * modules/unictype/property-bidi-control-tests: New file.
38307         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
38308         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
38309         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
38310         * modules/unictype/property-bidi-european-digit-tests: New file.
38311         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
38312         * modules/unictype/property-bidi-left-to-right-tests: New file.
38313         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
38314         * modules/unictype/property-bidi-other-neutral-tests: New file.
38315         * modules/unictype/property-bidi-pdf-tests: New file.
38316         * modules/unictype/property-bidi-segment-separator-tests: New file.
38317         * modules/unictype/property-bidi-whitespace-tests: New file.
38318         * modules/unictype/property-byname-tests: New file.
38319         * modules/unictype/property-combining-tests: New file.
38320         * modules/unictype/property-composite-tests: New file.
38321         * modules/unictype/property-currency-symbol-tests: New file.
38322         * modules/unictype/property-dash-tests: New file.
38323         * modules/unictype/property-decimal-digit-tests: New file.
38324         * modules/unictype/property-default-ignorable-code-point-tests: New file.
38325         * modules/unictype/property-deprecated-tests: New file.
38326         * modules/unictype/property-diacritic-tests: New file.
38327         * modules/unictype/property-extender-tests: New file.
38328         * modules/unictype/property-format-control-tests: New file.
38329         * modules/unictype/property-grapheme-base-tests: New file.
38330         * modules/unictype/property-grapheme-extend-tests: New file.
38331         * modules/unictype/property-grapheme-link-tests: New file.
38332         * modules/unictype/property-hex-digit-tests: New file.
38333         * modules/unictype/property-hyphen-tests: New file.
38334         * modules/unictype/property-id-continue-tests: New file.
38335         * modules/unictype/property-id-start-tests: New file.
38336         * modules/unictype/property-ideographic-tests: New file.
38337         * modules/unictype/property-ids-binary-operator-tests: New file.
38338         * modules/unictype/property-ids-trinary-operator-tests: New file.
38339         * modules/unictype/property-ignorable-control-tests: New file.
38340         * modules/unictype/property-iso-control-tests: New file.
38341         * modules/unictype/property-join-control-tests: New file.
38342         * modules/unictype/property-left-of-pair-tests: New file.
38343         * modules/unictype/property-line-separator-tests: New file.
38344         * modules/unictype/property-logical-order-exception-tests: New file.
38345         * modules/unictype/property-lowercase-tests: New file.
38346         * modules/unictype/property-math-tests: New file.
38347         * modules/unictype/property-non-break-tests: New file.
38348         * modules/unictype/property-not-a-character-tests: New file.
38349         * modules/unictype/property-numeric-tests: New file.
38350         * modules/unictype/property-other-alphabetic-tests: New file.
38351         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
38352         * modules/unictype/property-other-grapheme-extend-tests: New file.
38353         * modules/unictype/property-other-id-continue-tests: New file.
38354         * modules/unictype/property-other-id-start-tests: New file.
38355         * modules/unictype/property-other-lowercase-tests: New file.
38356         * modules/unictype/property-other-math-tests: New file.
38357         * modules/unictype/property-other-uppercase-tests: New file.
38358         * modules/unictype/property-paired-punctuation-tests: New file.
38359         * modules/unictype/property-paragraph-separator-tests: New file.
38360         * modules/unictype/property-pattern-syntax-tests: New file.
38361         * modules/unictype/property-pattern-white-space-tests: New file.
38362         * modules/unictype/property-private-use-tests: New file.
38363         * modules/unictype/property-punctuation-tests: New file.
38364         * modules/unictype/property-quotation-mark-tests: New file.
38365         * modules/unictype/property-radical-tests: New file.
38366         * modules/unictype/property-sentence-terminal-tests: New file.
38367         * modules/unictype/property-soft-dotted-tests: New file.
38368         * modules/unictype/property-space-tests: New file.
38369         * modules/unictype/property-terminal-punctuation-tests: New file.
38370         * modules/unictype/property-test-tests: New file.
38371         * modules/unictype/property-titlecase-tests: New file.
38372         * modules/unictype/property-unassigned-code-value-tests: New file.
38373         * modules/unictype/property-unified-ideograph-tests: New file.
38374         * modules/unictype/property-uppercase-tests: New file.
38375         * modules/unictype/property-variation-selector-tests: New file.
38376         * modules/unictype/property-white-space-tests: New file.
38377         * modules/unictype/property-xid-continue-tests: New file.
38378         * modules/unictype/property-xid-start-tests: New file.
38379         * modules/unictype/property-zero-width-tests: New file.
38380         * modules/unictype/scripts-tests: New file.
38381         * modules/unictype/syntax-c-ident-tests: New file.
38382         * modules/unictype/syntax-c-whitespace-tests: New file.
38383         * modules/unictype/syntax-java-ident-tests: New file.
38384         * modules/unictype/syntax-java-whitespace-tests: New file.
38385         * tests/unictype/test-bidi_byname.c: New file.
38386         * tests/unictype/test-bidi_name.c: New file.
38387         * tests/unictype/test-bidi_of.c: New file.
38388         * tests/unictype/test-bidi_test.c: New file.
38389         * tests/unictype/test-block_list.c: New file.
38390         * tests/unictype/test-block_of.c: New file.
38391         * tests/unictype/test-block_test.c: New file.
38392         * tests/unictype/test-categ_and.c: New file.
38393         * tests/unictype/test-categ_and_not.c: New file.
38394         * tests/unictype/test-categ_byname.c: New file.
38395         * tests/unictype/test-categ_name.c: New file.
38396         * tests/unictype/test-categ_none.c: New file.
38397         * tests/unictype/test-categ_of.c: New file.
38398         * tests/unictype/test-categ_or.c: New file.
38399         * tests/unictype/test-categ_test_withtable.c: New file.
38400         * tests/unictype/test-combining.c: New file.
38401         * tests/unictype/test-decdigit.c: New file.
38402         * tests/unictype/test-digit.c: New file.
38403         * tests/unictype/test-mirror.c: New file.
38404         * tests/unictype/test-numeric.c: New file.
38405         * tests/unictype/test-pr_byname.c: New file.
38406         * tests/unictype/test-pr_test.c: New file.
38407         * tests/unictype/test-predicate-part1.h: New file.
38408         * tests/unictype/test-predicate-part2.h: New file.
38409         * tests/unictype/test-scripts.c: New file.
38410         * tests/unictype/test-sy_c_ident.c: New file.
38411         * tests/unictype/test-sy_java_ident.c: New file.
38412
38413         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
38414         for Unicode 5.0.0.
38415         * tests/unictype/test-categ_Cc.c: Likewise.
38416         * tests/unictype/test-categ_Cf.c: Likewise.
38417         * tests/unictype/test-categ_Cn.c: Likewise.
38418         * tests/unictype/test-categ_Co.c: Likewise.
38419         * tests/unictype/test-categ_Cs.c: Likewise.
38420         * tests/unictype/test-categ_L.c: Likewise.
38421         * tests/unictype/test-categ_Ll.c: Likewise.
38422         * tests/unictype/test-categ_Lm.c: Likewise.
38423         * tests/unictype/test-categ_Lo.c: Likewise.
38424         * tests/unictype/test-categ_Lt.c: Likewise.
38425         * tests/unictype/test-categ_Lu.c: Likewise.
38426         * tests/unictype/test-categ_M.c: Likewise.
38427         * tests/unictype/test-categ_Mc.c: Likewise.
38428         * tests/unictype/test-categ_Me.c: Likewise.
38429         * tests/unictype/test-categ_Mn.c: Likewise.
38430         * tests/unictype/test-categ_N.c: Likewise.
38431         * tests/unictype/test-categ_Nd.c: Likewise.
38432         * tests/unictype/test-categ_Nl.c: Likewise.
38433         * tests/unictype/test-categ_No.c: Likewise.
38434         * tests/unictype/test-categ_P.c: Likewise.
38435         * tests/unictype/test-categ_Pc.c: Likewise.
38436         * tests/unictype/test-categ_Pd.c: Likewise.
38437         * tests/unictype/test-categ_Pe.c: Likewise.
38438         * tests/unictype/test-categ_Pf.c: Likewise.
38439         * tests/unictype/test-categ_Pi.c: Likewise.
38440         * tests/unictype/test-categ_Po.c: Likewise.
38441         * tests/unictype/test-categ_Ps.c: Likewise.
38442         * tests/unictype/test-categ_S.c: Likewise.
38443         * tests/unictype/test-categ_Sc.c: Likewise.
38444         * tests/unictype/test-categ_Sk.c: Likewise.
38445         * tests/unictype/test-categ_Sm.c: Likewise.
38446         * tests/unictype/test-categ_So.c: Likewise.
38447         * tests/unictype/test-categ_Z.c: Likewise.
38448         * tests/unictype/test-categ_Zl.c: Likewise.
38449         * tests/unictype/test-categ_Zp.c: Likewise.
38450         * tests/unictype/test-categ_Zs.c: Likewise.
38451         * tests/unictype/test-ctype_alnum.c: Likewise.
38452         * tests/unictype/test-ctype_alpha.c: Likewise.
38453         * tests/unictype/test-ctype_blank.c: Likewise.
38454         * tests/unictype/test-ctype_cntrl.c: Likewise.
38455         * tests/unictype/test-ctype_digit.c: Likewise.
38456         * tests/unictype/test-ctype_graph.c: Likewise.
38457         * tests/unictype/test-ctype_lower.c: Likewise.
38458         * tests/unictype/test-ctype_print.c: Likewise.
38459         * tests/unictype/test-ctype_punct.c: Likewise.
38460         * tests/unictype/test-ctype_space.c: Likewise.
38461         * tests/unictype/test-ctype_upper.c: Likewise.
38462         * tests/unictype/test-ctype_xdigit.c: Likewise.
38463         * tests/unictype/test-decdigit.h: Likewise.
38464         * tests/unictype/test-digit.h: Likewise.
38465         * tests/unictype/test-numeric.h: Likewise.
38466         * tests/unictype/test-pr_alphabetic.c: Likewise.
38467         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
38468         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
38469         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
38470         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
38471         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
38472         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
38473         * tests/unictype/test-pr_bidi_control.c: Likewise.
38474         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
38475         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
38476         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
38477         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
38478         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
38479         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
38480         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
38481         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
38482         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
38483         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
38484         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
38485         * tests/unictype/test-pr_combining.c: Likewise.
38486         * tests/unictype/test-pr_composite.c: Likewise.
38487         * tests/unictype/test-pr_currency_symbol.c: Likewise.
38488         * tests/unictype/test-pr_dash.c: Likewise.
38489         * tests/unictype/test-pr_decimal_digit.c: Likewise.
38490         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
38491         * tests/unictype/test-pr_deprecated.c: Likewise.
38492         * tests/unictype/test-pr_diacritic.c: Likewise.
38493         * tests/unictype/test-pr_extender.c: Likewise.
38494         * tests/unictype/test-pr_format_control.c: Likewise.
38495         * tests/unictype/test-pr_grapheme_base.c: Likewise.
38496         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
38497         * tests/unictype/test-pr_grapheme_link.c: Likewise.
38498         * tests/unictype/test-pr_hex_digit.c: Likewise.
38499         * tests/unictype/test-pr_hyphen.c: Likewise.
38500         * tests/unictype/test-pr_id_continue.c: Likewise.
38501         * tests/unictype/test-pr_id_start.c: Likewise.
38502         * tests/unictype/test-pr_ideographic.c: Likewise.
38503         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
38504         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
38505         * tests/unictype/test-pr_ignorable_control.c: Likewise.
38506         * tests/unictype/test-pr_iso_control.c: Likewise.
38507         * tests/unictype/test-pr_join_control.c: Likewise.
38508         * tests/unictype/test-pr_left_of_pair.c: Likewise.
38509         * tests/unictype/test-pr_line_separator.c: Likewise.
38510         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
38511         * tests/unictype/test-pr_lowercase.c: Likewise.
38512         * tests/unictype/test-pr_math.c: Likewise.
38513         * tests/unictype/test-pr_non_break.c: Likewise.
38514         * tests/unictype/test-pr_not_a_character.c: Likewise.
38515         * tests/unictype/test-pr_numeric.c: Likewise.
38516         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
38517         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
38518         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
38519         * tests/unictype/test-pr_other_id_continue.c: Likewise.
38520         * tests/unictype/test-pr_other_id_start.c: Likewise.
38521         * tests/unictype/test-pr_other_lowercase.c: Likewise.
38522         * tests/unictype/test-pr_other_math.c: Likewise.
38523         * tests/unictype/test-pr_other_uppercase.c: Likewise.
38524         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
38525         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
38526         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
38527         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
38528         * tests/unictype/test-pr_private_use.c: Likewise.
38529         * tests/unictype/test-pr_punctuation.c: Likewise.
38530         * tests/unictype/test-pr_quotation_mark.c: Likewise.
38531         * tests/unictype/test-pr_radical.c: Likewise.
38532         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
38533         * tests/unictype/test-pr_soft_dotted.c: Likewise.
38534         * tests/unictype/test-pr_space.c: Likewise.
38535         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
38536         * tests/unictype/test-pr_titlecase.c: Likewise.
38537         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
38538         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
38539         * tests/unictype/test-pr_uppercase.c: Likewise.
38540         * tests/unictype/test-pr_variation_selector.c: Likewise.
38541         * tests/unictype/test-pr_white_space.c: Likewise.
38542         * tests/unictype/test-pr_xid_continue.c: Likewise.
38543         * tests/unictype/test-pr_xid_start.c: Likewise.
38544         * tests/unictype/test-pr_zero_width.c: Likewise.
38545         * tests/unictype/test-sy_c_whitespace.c: Likewise.
38546         * tests/unictype/test-sy_java_whitespace.c: Likewise.
38547
38548 2007-11-12  Bruno Haible  <bruno@clisp.org>
38549
38550         Unicode character classification functions.
38551         * lib/unictype.h: New file.
38552         * modules/unictype/base: New file.
38553         * modules/unictype/category-L: New file.
38554         * modules/unictype/category-Lu: New file.
38555         * modules/unictype/category-Ll: New file.
38556         * modules/unictype/category-Lt: New file.
38557         * modules/unictype/category-Lm: New file.
38558         * modules/unictype/category-Lo: New file.
38559         * modules/unictype/category-M: New file.
38560         * modules/unictype/category-Mn: New file.
38561         * modules/unictype/category-Mc: New file.
38562         * modules/unictype/category-Me: New file.
38563         * modules/unictype/category-N: New file.
38564         * modules/unictype/category-Nd: New file.
38565         * modules/unictype/category-Nl: New file.
38566         * modules/unictype/category-No: New file.
38567         * modules/unictype/category-P: New file.
38568         * modules/unictype/category-Pc: New file.
38569         * modules/unictype/category-Pd: New file.
38570         * modules/unictype/category-Ps: New file.
38571         * modules/unictype/category-Pe: New file.
38572         * modules/unictype/category-Pi: New file.
38573         * modules/unictype/category-Pf: New file.
38574         * modules/unictype/category-Po: New file.
38575         * modules/unictype/category-S: New file.
38576         * modules/unictype/category-Sm: New file.
38577         * modules/unictype/category-Sc: New file.
38578         * modules/unictype/category-Sk: New file.
38579         * modules/unictype/category-So: New file.
38580         * modules/unictype/category-Z: New file.
38581         * modules/unictype/category-Zs: New file.
38582         * modules/unictype/category-Zl: New file.
38583         * modules/unictype/category-Zp: New file.
38584         * modules/unictype/category-C: New file.
38585         * modules/unictype/category-Cc: New file.
38586         * modules/unictype/category-Cf: New file.
38587         * modules/unictype/category-Cs: New file.
38588         * modules/unictype/category-Co: New file.
38589         * modules/unictype/category-Cn: New file.
38590         * modules/unictype/category-or: New file.
38591         * modules/unictype/category-of: New file.
38592         * modules/unictype/category-test: New file.
38593         * modules/unictype/category-test-withtable: New file.
38594         * modules/unictype/category-byname: New file.
38595         * modules/unictype/category-none: New file.
38596         * modules/unictype/category-and: New file.
38597         * modules/unictype/category-and-not: New file.
38598         * modules/unictype/category-name: New file.
38599         * modules/unictype/combining-class: New file.
38600         * modules/unictype/category-all: New file.
38601         * modules/unictype/bidicategory-all: New file.
38602         * modules/unictype/bidicategory-byname: New file.
38603         * modules/unictype/bidicategory-name: New file.
38604         * modules/unictype/bidicategory-of: New file.
38605         * modules/unictype/bidicategory-test: New file.
38606         * modules/unictype/decimal-digit: New file.
38607         * modules/unictype/digit: New file.
38608         * modules/unictype/numeric: New file.
38609         * modules/unictype/mirror: New file.
38610         * modules/unictype/property-white-space: New file.
38611         * modules/unictype/property-alphabetic: New file.
38612         * modules/unictype/property-other-alphabetic: New file.
38613         * modules/unictype/property-not-a-character: New file.
38614         * modules/unictype/property-default-ignorable-code-point: New file.
38615         * modules/unictype/property-other-default-ignorable-code-point: New
38616         file.
38617         * modules/unictype/property-deprecated: New file.
38618         * modules/unictype/property-logical-order-exception: New file.
38619         * modules/unictype/property-variation-selector: New file.
38620         * modules/unictype/property-private-use: New file.
38621         * modules/unictype/property-unassigned-code-value: New file.
38622         * modules/unictype/property-uppercase: New file.
38623         * modules/unictype/property-other-uppercase: New file.
38624         * modules/unictype/property-lowercase: New file.
38625         * modules/unictype/property-other-lowercase: New file.
38626         * modules/unictype/property-titlecase: New file.
38627         * modules/unictype/property-soft-dotted: New file.
38628         * modules/unictype/property-id-start: New file.
38629         * modules/unictype/property-other-id-start: New file.
38630         * modules/unictype/property-id-continue: New file.
38631         * modules/unictype/property-other-id-continue: New file.
38632         * modules/unictype/property-xid-start: New file.
38633         * modules/unictype/property-xid-continue: New file.
38634         * modules/unictype/property-pattern-white-space: New file.
38635         * modules/unictype/property-pattern-syntax: New file.
38636         * modules/unictype/property-join-control: New file.
38637         * modules/unictype/property-grapheme-base: New file.
38638         * modules/unictype/property-grapheme-extend: New file.
38639         * modules/unictype/property-other-grapheme-extend: New file.
38640         * modules/unictype/property-grapheme-link: New file.
38641         * modules/unictype/property-bidi-control: New file.
38642         * modules/unictype/property-bidi-left-to-right: New file.
38643         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
38644         * modules/unictype/property-bidi-arabic-right-to-left: New file.
38645         * modules/unictype/property-bidi-european-digit: New file.
38646         * modules/unictype/property-bidi-eur-num-separator: New file.
38647         * modules/unictype/property-bidi-eur-num-terminator: New file.
38648         * modules/unictype/property-bidi-arabic-digit: New file.
38649         * modules/unictype/property-bidi-common-separator: New file.
38650         * modules/unictype/property-bidi-block-separator: New file.
38651         * modules/unictype/property-bidi-segment-separator: New file.
38652         * modules/unictype/property-bidi-whitespace: New file.
38653         * modules/unictype/property-bidi-non-spacing-mark: New file.
38654         * modules/unictype/property-bidi-boundary-neutral: New file.
38655         * modules/unictype/property-bidi-pdf: New file.
38656         * modules/unictype/property-bidi-embedding-or-override: New file.
38657         * modules/unictype/property-bidi-other-neutral: New file.
38658         * modules/unictype/property-hex-digit: New file.
38659         * modules/unictype/property-ascii-hex-digit: New file.
38660         * modules/unictype/property-ideographic: New file.
38661         * modules/unictype/property-unified-ideograph: New file.
38662         * modules/unictype/property-radical: New file.
38663         * modules/unictype/property-ids-binary-operator: New file.
38664         * modules/unictype/property-ids-trinary-operator: New file.
38665         * modules/unictype/property-zero-width: New file.
38666         * modules/unictype/property-space: New file.
38667         * modules/unictype/property-non-break: New file.
38668         * modules/unictype/property-iso-control: New file.
38669         * modules/unictype/property-format-control: New file.
38670         * modules/unictype/property-dash: New file.
38671         * modules/unictype/property-hyphen: New file.
38672         * modules/unictype/property-punctuation: New file.
38673         * modules/unictype/property-line-separator: New file.
38674         * modules/unictype/property-paragraph-separator: New file.
38675         * modules/unictype/property-quotation-mark: New file.
38676         * modules/unictype/property-sentence-terminal: New file.
38677         * modules/unictype/property-terminal-punctuation: New file.
38678         * modules/unictype/property-currency-symbol: New file.
38679         * modules/unictype/property-math: New file.
38680         * modules/unictype/property-other-math: New file.
38681         * modules/unictype/property-paired-punctuation: New file.
38682         * modules/unictype/property-left-of-pair: New file.
38683         * modules/unictype/property-combining: New file.
38684         * modules/unictype/property-composite: New file.
38685         * modules/unictype/property-decimal-digit: New file.
38686         * modules/unictype/property-numeric: New file.
38687         * modules/unictype/property-diacritic: New file.
38688         * modules/unictype/property-extender: New file.
38689         * modules/unictype/property-ignorable-control: New file.
38690         * modules/unictype/property-test: New file.
38691         * modules/unictype/property-byname: New file.
38692         * modules/unictype/property-all: New file.
38693         * modules/unictype/scripts: New file.
38694         * modules/unictype/scripts-all: New file.
38695         * modules/unictype/block-of: New file.
38696         * modules/unictype/block-test: New file.
38697         * modules/unictype/block-list: New file.
38698         * modules/unictype/block-all: New file.
38699         * modules/unictype/syntax-c-whitespace: New file.
38700         * modules/unictype/syntax-java-whitespace: New file.
38701         * modules/unictype/syntax-c-ident: New file.
38702         * modules/unictype/syntax-java-ident: New file.
38703         * modules/unictype/ctype-alnum: New file.
38704         * modules/unictype/ctype-alpha: New file.
38705         * modules/unictype/ctype-cntrl: New file.
38706         * modules/unictype/ctype-digit: New file.
38707         * modules/unictype/ctype-graph: New file.
38708         * modules/unictype/ctype-lower: New file.
38709         * modules/unictype/ctype-print: New file.
38710         * modules/unictype/ctype-punct: New file.
38711         * modules/unictype/ctype-space: New file.
38712         * modules/unictype/ctype-upper: New file.
38713         * modules/unictype/ctype-xdigit: New file.
38714         * modules/unictype/ctype-blank: New file.
38715         * lib/unictype/bidi_byname.c: New file.
38716         * lib/unictype/bidi_name.c: New file.
38717         * lib/unictype/bidi_of.c: New file.
38718         * lib/unictype/bidi_test.c: New file.
38719         * lib/unictype/bitmap.h: New file.
38720         * lib/unictype/block_test.c: New file.
38721         * lib/unictype/blocks.c: New file.
38722         * lib/unictype/categ_C.c: New file.
38723         * lib/unictype/categ_Cc.c: New file.
38724         * lib/unictype/categ_Cf.c: New file.
38725         * lib/unictype/categ_Cn.c: New file.
38726         * lib/unictype/categ_Co.c: New file.
38727         * lib/unictype/categ_Cs.c: New file.
38728         * lib/unictype/categ_L.c: New file.
38729         * lib/unictype/categ_Ll.c: New file.
38730         * lib/unictype/categ_Lm.c: New file.
38731         * lib/unictype/categ_Lo.c: New file.
38732         * lib/unictype/categ_Lt.c: New file.
38733         * lib/unictype/categ_Lu.c: New file.
38734         * lib/unictype/categ_M.c: New file.
38735         * lib/unictype/categ_Mc.c: New file.
38736         * lib/unictype/categ_Me.c: New file.
38737         * lib/unictype/categ_Mn.c: New file.
38738         * lib/unictype/categ_N.c: New file.
38739         * lib/unictype/categ_Nd.c: New file.
38740         * lib/unictype/categ_Nl.c: New file.
38741         * lib/unictype/categ_No.c: New file.
38742         * lib/unictype/categ_P.c: New file.
38743         * lib/unictype/categ_Pc.c: New file.
38744         * lib/unictype/categ_Pd.c: New file.
38745         * lib/unictype/categ_Pe.c: New file.
38746         * lib/unictype/categ_Pf.c: New file.
38747         * lib/unictype/categ_Pi.c: New file.
38748         * lib/unictype/categ_Po.c: New file.
38749         * lib/unictype/categ_Ps.c: New file.
38750         * lib/unictype/categ_S.c: New file.
38751         * lib/unictype/categ_Sc.c: New file.
38752         * lib/unictype/categ_Sk.c: New file.
38753         * lib/unictype/categ_Sm.c: New file.
38754         * lib/unictype/categ_So.c: New file.
38755         * lib/unictype/categ_Z.c: New file.
38756         * lib/unictype/categ_Zl.c: New file.
38757         * lib/unictype/categ_Zp.c: New file.
38758         * lib/unictype/categ_Zs.c: New file.
38759         * lib/unictype/categ_and.c: New file.
38760         * lib/unictype/categ_and_not.c: New file.
38761         * lib/unictype/categ_byname.c: New file.
38762         * lib/unictype/categ_name.c: New file.
38763         * lib/unictype/categ_none.c: New file.
38764         * lib/unictype/categ_of.c: New file.
38765         * lib/unictype/categ_or.c: New file.
38766         * lib/unictype/categ_test.c: New file.
38767         * lib/unictype/combining.c: New file.
38768         * lib/unictype/ctype_alnum.c: New file.
38769         * lib/unictype/ctype_alpha.c: New file.
38770         * lib/unictype/ctype_blank.c: New file.
38771         * lib/unictype/ctype_cntrl.c: New file.
38772         * lib/unictype/ctype_digit.c: New file.
38773         * lib/unictype/ctype_graph.c: New file.
38774         * lib/unictype/ctype_lower.c: New file.
38775         * lib/unictype/ctype_print.c: New file.
38776         * lib/unictype/ctype_punct.c: New file.
38777         * lib/unictype/ctype_space.c: New file.
38778         * lib/unictype/ctype_upper.c: New file.
38779         * lib/unictype/ctype_xdigit.c: New file.
38780         * lib/unictype/decdigit.c: New file.
38781         * lib/unictype/digit.c: New file.
38782         * lib/unictype/identsyntaxmap.h: New file.
38783         * lib/unictype/mirror.c: New file.
38784         * lib/unictype/numeric.c: New file.
38785         * lib/unictype/pr_alphabetic.c: New file.
38786         * lib/unictype/pr_ascii_hex_digit.c: New file.
38787         * lib/unictype/pr_bidi_arabic_digit.c: New file.
38788         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
38789         * lib/unictype/pr_bidi_block_separator.c: New file.
38790         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
38791         * lib/unictype/pr_bidi_common_separator.c: New file.
38792         * lib/unictype/pr_bidi_control.c: New file.
38793         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
38794         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
38795         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
38796         * lib/unictype/pr_bidi_european_digit.c: New file.
38797         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
38798         * lib/unictype/pr_bidi_left_to_right.c: New file.
38799         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
38800         * lib/unictype/pr_bidi_other_neutral.c: New file.
38801         * lib/unictype/pr_bidi_pdf.c: New file.
38802         * lib/unictype/pr_bidi_segment_separator.c: New file.
38803         * lib/unictype/pr_bidi_whitespace.c: New file.
38804         * lib/unictype/pr_byname.c: New file.
38805         * lib/unictype/pr_byname.gperf: New file.
38806         * lib/unictype/pr_combining.c: New file.
38807         * lib/unictype/pr_composite.c: New file.
38808         * lib/unictype/pr_currency_symbol.c: New file.
38809         * lib/unictype/pr_dash.c: New file.
38810         * lib/unictype/pr_decimal_digit.c: New file.
38811         * lib/unictype/pr_default_ignorable_code_point.c: New file.
38812         * lib/unictype/pr_deprecated.c: New file.
38813         * lib/unictype/pr_diacritic.c: New file.
38814         * lib/unictype/pr_extender.c: New file.
38815         * lib/unictype/pr_format_control.c: New file.
38816         * lib/unictype/pr_grapheme_base.c: New file.
38817         * lib/unictype/pr_grapheme_extend.c: New file.
38818         * lib/unictype/pr_grapheme_link.c: New file.
38819         * lib/unictype/pr_hex_digit.c: New file.
38820         * lib/unictype/pr_hyphen.c: New file.
38821         * lib/unictype/pr_id_continue.c: New file.
38822         * lib/unictype/pr_id_start.c: New file.
38823         * lib/unictype/pr_ideographic.c: New file.
38824         * lib/unictype/pr_ids_binary_operator.c: New file.
38825         * lib/unictype/pr_ids_trinary_operator.c: New file.
38826         * lib/unictype/pr_ignorable_control.c: New file.
38827         * lib/unictype/pr_iso_control.c: New file.
38828         * lib/unictype/pr_join_control.c: New file.
38829         * lib/unictype/pr_left_of_pair.c: New file.
38830         * lib/unictype/pr_line_separator.c: New file.
38831         * lib/unictype/pr_logical_order_exception.c: New file.
38832         * lib/unictype/pr_lowercase.c: New file.
38833         * lib/unictype/pr_math.c: New file.
38834         * lib/unictype/pr_non_break.c: New file.
38835         * lib/unictype/pr_not_a_character.c: New file.
38836         * lib/unictype/pr_numeric.c: New file.
38837         * lib/unictype/pr_other_alphabetic.c: New file.
38838         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
38839         * lib/unictype/pr_other_grapheme_extend.c: New file.
38840         * lib/unictype/pr_other_id_continue.c: New file.
38841         * lib/unictype/pr_other_id_start.c: New file.
38842         * lib/unictype/pr_other_lowercase.c: New file.
38843         * lib/unictype/pr_other_math.c: New file.
38844         * lib/unictype/pr_other_uppercase.c: New file.
38845         * lib/unictype/pr_paired_punctuation.c: New file.
38846         * lib/unictype/pr_paragraph_separator.c: New file.
38847         * lib/unictype/pr_pattern_syntax.c: New file.
38848         * lib/unictype/pr_pattern_white_space.c: New file.
38849         * lib/unictype/pr_private_use.c: New file.
38850         * lib/unictype/pr_punctuation.c: New file.
38851         * lib/unictype/pr_quotation_mark.c: New file.
38852         * lib/unictype/pr_radical.c: New file.
38853         * lib/unictype/pr_sentence_terminal.c: New file.
38854         * lib/unictype/pr_soft_dotted.c: New file.
38855         * lib/unictype/pr_space.c: New file.
38856         * lib/unictype/pr_terminal_punctuation.c: New file.
38857         * lib/unictype/pr_test.c: New file.
38858         * lib/unictype/pr_titlecase.c: New file.
38859         * lib/unictype/pr_unassigned_code_value.c: New file.
38860         * lib/unictype/pr_unified_ideograph.c: New file.
38861         * lib/unictype/pr_uppercase.c: New file.
38862         * lib/unictype/pr_variation_selector.c: New file.
38863         * lib/unictype/pr_white_space.c: New file.
38864         * lib/unictype/pr_xid_continue.c: New file.
38865         * lib/unictype/pr_xid_start.c: New file.
38866         * lib/unictype/pr_zero_width.c: New file.
38867         * lib/unictype/scripts.c: New file.
38868         * lib/unictype/sy_c_ident.c: New file.
38869         * lib/unictype/sy_c_whitespace.c: New file.
38870         * lib/unictype/sy_java_ident.c: New file.
38871         * lib/unictype/sy_java_whitespace.c: New file.
38872
38873         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
38874         Unicode 5.0.0.
38875         * lib/unictype/blocks.h: Likewise.
38876         * lib/unictype/categ_C.h: Likewise.
38877         * lib/unictype/categ_Cc.h: Likewise.
38878         * lib/unictype/categ_Cf.h: Likewise.
38879         * lib/unictype/categ_Cn.h: Likewise.
38880         * lib/unictype/categ_Co.h: Likewise.
38881         * lib/unictype/categ_Cs.h: Likewise.
38882         * lib/unictype/categ_L.h: Likewise.
38883         * lib/unictype/categ_Ll.h: Likewise.
38884         * lib/unictype/categ_Lm.h: Likewise.
38885         * lib/unictype/categ_Lo.h: Likewise.
38886         * lib/unictype/categ_Lt.h: Likewise.
38887         * lib/unictype/categ_Lu.h: Likewise.
38888         * lib/unictype/categ_M.h: Likewise.
38889         * lib/unictype/categ_Mc.h: Likewise.
38890         * lib/unictype/categ_Me.h: Likewise.
38891         * lib/unictype/categ_Mn.h: Likewise.
38892         * lib/unictype/categ_N.h: Likewise.
38893         * lib/unictype/categ_Nd.h: Likewise.
38894         * lib/unictype/categ_Nl.h: Likewise.
38895         * lib/unictype/categ_No.h: Likewise.
38896         * lib/unictype/categ_P.h: Likewise.
38897         * lib/unictype/categ_Pc.h: Likewise.
38898         * lib/unictype/categ_Pd.h: Likewise.
38899         * lib/unictype/categ_Pe.h: Likewise.
38900         * lib/unictype/categ_Pf.h: Likewise.
38901         * lib/unictype/categ_Pi.h: Likewise.
38902         * lib/unictype/categ_Po.h: Likewise.
38903         * lib/unictype/categ_Ps.h: Likewise.
38904         * lib/unictype/categ_S.h: Likewise.
38905         * lib/unictype/categ_Sc.h: Likewise.
38906         * lib/unictype/categ_Sk.h: Likewise.
38907         * lib/unictype/categ_Sm.h: Likewise.
38908         * lib/unictype/categ_So.h: Likewise.
38909         * lib/unictype/categ_Z.h: Likewise.
38910         * lib/unictype/categ_Zl.h: Likewise.
38911         * lib/unictype/categ_Zp.h: Likewise.
38912         * lib/unictype/categ_Zs.h: Likewise.
38913         * lib/unictype/categ_of.h: Likewise.
38914         * lib/unictype/combining.h: Likewise.
38915         * lib/unictype/ctype_alnum.h: Likewise.
38916         * lib/unictype/ctype_alpha.h: Likewise.
38917         * lib/unictype/ctype_blank.h: Likewise.
38918         * lib/unictype/ctype_cntrl.h: Likewise.
38919         * lib/unictype/ctype_digit.h: Likewise.
38920         * lib/unictype/ctype_graph.h: Likewise.
38921         * lib/unictype/ctype_lower.h: Likewise.
38922         * lib/unictype/ctype_print.h: Likewise.
38923         * lib/unictype/ctype_punct.h: Likewise.
38924         * lib/unictype/ctype_space.h: Likewise.
38925         * lib/unictype/ctype_upper.h: Likewise.
38926         * lib/unictype/ctype_xdigit.h: Likewise.
38927         * lib/unictype/decdigit.h: Likewise.
38928         * lib/unictype/digit.h: Likewise.
38929         * lib/unictype/mirror.h: Likewise.
38930         * lib/unictype/numeric.h: Likewise.
38931         * lib/unictype/pr_alphabetic.h: Likewise.
38932         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
38933         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
38934         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
38935         * lib/unictype/pr_bidi_block_separator.h: Likewise.
38936         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
38937         * lib/unictype/pr_bidi_common_separator.h: Likewise.
38938         * lib/unictype/pr_bidi_control.h: Likewise.
38939         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
38940         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
38941         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
38942         * lib/unictype/pr_bidi_european_digit.h: Likewise.
38943         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
38944         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
38945         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
38946         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
38947         * lib/unictype/pr_bidi_pdf.h: Likewise.
38948         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
38949         * lib/unictype/pr_bidi_whitespace.h: Likewise.
38950         * lib/unictype/pr_combining.h: Likewise.
38951         * lib/unictype/pr_composite.h: Likewise.
38952         * lib/unictype/pr_currency_symbol.h: Likewise.
38953         * lib/unictype/pr_dash.h: Likewise.
38954         * lib/unictype/pr_decimal_digit.h: Likewise.
38955         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
38956         * lib/unictype/pr_deprecated.h: Likewise.
38957         * lib/unictype/pr_diacritic.h: Likewise.
38958         * lib/unictype/pr_extender.h: Likewise.
38959         * lib/unictype/pr_format_control.h: Likewise.
38960         * lib/unictype/pr_grapheme_base.h: Likewise.
38961         * lib/unictype/pr_grapheme_extend.h: Likewise.
38962         * lib/unictype/pr_grapheme_link.h: Likewise.
38963         * lib/unictype/pr_hex_digit.h: Likewise.
38964         * lib/unictype/pr_hyphen.h: Likewise.
38965         * lib/unictype/pr_id_continue.h: Likewise.
38966         * lib/unictype/pr_id_start.h: Likewise.
38967         * lib/unictype/pr_ideographic.h: Likewise.
38968         * lib/unictype/pr_ids_binary_operator.h: Likewise.
38969         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
38970         * lib/unictype/pr_ignorable_control.h: Likewise.
38971         * lib/unictype/pr_iso_control.h: Likewise.
38972         * lib/unictype/pr_join_control.h: Likewise.
38973         * lib/unictype/pr_left_of_pair.h: Likewise.
38974         * lib/unictype/pr_line_separator.h: Likewise.
38975         * lib/unictype/pr_logical_order_exception.h: Likewise.
38976         * lib/unictype/pr_lowercase.h: Likewise.
38977         * lib/unictype/pr_math.h: Likewise.
38978         * lib/unictype/pr_non_break.h: Likewise.
38979         * lib/unictype/pr_not_a_character.h: Likewise.
38980         * lib/unictype/pr_numeric.h: Likewise.
38981         * lib/unictype/pr_other_alphabetic.h: Likewise.
38982         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
38983         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
38984         * lib/unictype/pr_other_id_continue.h: Likewise.
38985         * lib/unictype/pr_other_id_start.h: Likewise.
38986         * lib/unictype/pr_other_lowercase.h: Likewise.
38987         * lib/unictype/pr_other_math.h: Likewise.
38988         * lib/unictype/pr_other_uppercase.h: Likewise.
38989         * lib/unictype/pr_paired_punctuation.h: Likewise.
38990         * lib/unictype/pr_paragraph_separator.h: Likewise.
38991         * lib/unictype/pr_pattern_syntax.h: Likewise.
38992         * lib/unictype/pr_pattern_white_space.h: Likewise.
38993         * lib/unictype/pr_private_use.h: Likewise.
38994         * lib/unictype/pr_punctuation.h: Likewise.
38995         * lib/unictype/pr_quotation_mark.h: Likewise.
38996         * lib/unictype/pr_radical.h: Likewise.
38997         * lib/unictype/pr_sentence_terminal.h: Likewise.
38998         * lib/unictype/pr_soft_dotted.h: Likewise.
38999         * lib/unictype/pr_space.h: Likewise.
39000         * lib/unictype/pr_terminal_punctuation.h: Likewise.
39001         * lib/unictype/pr_titlecase.h: Likewise.
39002         * lib/unictype/pr_unassigned_code_value.h: Likewise.
39003         * lib/unictype/pr_unified_ideograph.h: Likewise.
39004         * lib/unictype/pr_uppercase.h: Likewise.
39005         * lib/unictype/pr_variation_selector.h: Likewise.
39006         * lib/unictype/pr_white_space.h: Likewise.
39007         * lib/unictype/pr_xid_continue.h: Likewise.
39008         * lib/unictype/pr_xid_start.h: Likewise.
39009         * lib/unictype/pr_zero_width.h: Likewise.
39010         * lib/unictype/scripts.h: Likewise.
39011         * lib/unictype/scripts_byname.gperf: Likewise.
39012         * lib/unictype/sy_c_ident.h: Likewise.
39013         * lib/unictype/sy_c_whitespace.h: Likewise.
39014         * lib/unictype/sy_java_ident.h: Likewise.
39015         * lib/unictype/sy_java_whitespace.h: Likewise.
39016
39017         * lib/unictype/Makefile: New file.
39018         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
39019         glibc.
39020         * lib/unictype/3level.h: New file, copied from glibc.
39021         * lib/unictype/3levelbit.h: New file.
39022
39023 2007-11-11  Bruno Haible  <bruno@clisp.org>
39024
39025         * modules/gperf: New file.
39026         * modules/iconv_open (Depends-on): Add it.
39027         (Makefile.am): Remove the GPERF definition.
39028
39029 2007-11-11  Bruno Haible  <bruno@clisp.org>
39030
39031         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
39032         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
39033
39034 2007-11-11  Bruno Haible  <bruno@clisp.org>
39035
39036         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
39037         (usage): Remove function.
39038
39039 2007-11-11  Bruno Haible  <bruno@clisp.org>
39040
39041         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
39042         gl_FUNC_CEILF_LIBS.
39043         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
39044         gl_FUNC_CEIL_LIBS.
39045         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
39046         gl_FUNC_CEILL_LIBS.
39047         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
39048         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
39049         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
39050
39051 2007-11-11  Bruno Haible  <bruno@clisp.org>
39052
39053         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
39054         roundf were declared but do not exist on functions.
39055         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
39056         roundl were declared but do not exist on functions.
39057         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
39058         HAVE_FLOORL_AND_CEILL, respectively.
39059         Needed for Sun C on Solaris 10.
39060
39061 2007-11-11  Bruno Haible  <bruno@clisp.org>
39062
39063         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
39064         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
39065         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
39066         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
39067         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
39068         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
39069         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
39070         HAVE_DECL_ROUNDF.
39071         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
39072         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
39073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
39074         of HAVE_DECL_ROUND*.
39075         * modules/math (Makefile.am): Update.
39076
39077 2007-11-10  Bruno Haible  <bruno@clisp.org>
39078
39079         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
39080         ptrdiff_t as m4/intl.m4.
39081
39082 2007-11-10  Jim Meyering  <meyering@redhat.com>
39083
39084         Avoid link failure for the argmatch test.
39085         * tests/test-argmatch.c (usage): Define function to avoid a link
39086         failure: argmatch_die requires a usage function.
39087
39088 2007-11-09  Bruno Haible  <bruno@clisp.org>
39089
39090         * doc/functions/snprintf.texi: Mention BeOS deficiency.
39091         * doc/functions/vsnprintf.texi: Likewise.
39092         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
39093         with a size argument < 2.
39094
39095 2007-11-09  Bruno Haible  <bruno@clisp.org>
39096
39097         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
39098         buffer. Fixes an inefficiency introduced on 2007-11-03.
39099
39100 2007-11-09  Bruno Haible  <bruno@clisp.org>
39101
39102         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
39103         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
39104
39105 2007-11-08  Jim Meyering  <meyering@redhat.com>
39106
39107         Change cache variable name prefix "jm_" to "gl_" everywhere.
39108         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
39109         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
39110         * m4/uptime.m4: s/gl_/jm_/
39111
39112 2007-11-07  Bruno Haible  <bruno@clisp.org>
39113
39114         Update to GNU gettext 0.17.
39115         * m4/intl.m4: Update to GNU gettext 0.17.
39116         * m4/po.m4: Likewise.
39117         * modules/gettext (Files): Remove m4/ulonglong.m4.
39118         (configure.ac): Require gettext infrastructure from version 0.17.
39119
39120 2007-11-06  Bruno Haible  <bruno@clisp.org>
39121
39122         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
39123         symbolic values are not defined in a public header.
39124         * lib/freadable.c (freadable) [QNX]: Likewise.
39125         * lib/freadahead.c (freadahead) [QNX]: Likewise.
39126         * lib/freading.c (freading) [QNX]: Likewise.
39127         * lib/fseterr.c (fseterr) [QNX]: Likewise.
39128         * lib/fwritable.c (fwritable) [QNX]: Likewise.
39129         * lib/fwriting.c (fwriting) [QNX]: Likewise.
39130         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
39131         Reported by Alain Magloire.
39132
39133         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
39134
39135 2007-11-05  Bruno Haible  <bruno@clisp.org>
39136
39137         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
39138         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
39139         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
39140         Reported by Eric Blake.
39141
39142 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39143             Bruno Haible  <bruno@clisp.org>
39144
39145         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
39146         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
39147         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
39148         (malloc): Undefine also before including <stdlib.h>.
39149         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
39150         Needed on OSF/1 4.0.
39151
39152 2007-11-05  Jim Meyering  <meyering@redhat.com>
39153
39154         git-version-gen: sync from coreutils.
39155         * build-aux/git-version-gen: Add comments.
39156         Change the first '-' to '.' in the snapshot version string,
39157         e.g., 6.9-377-08144 -> 6.9.377-08144
39158         Remove first parameter.
39159         Don't declare a version "-dirty" merely because a time
39160         stamp has changed.
39161
39162 2007-11-04  Bruno Haible  <bruno@clisp.org>
39163
39164         * lib/lock.h: Protect all macro definitions containing an 'if'
39165         statement through a "do { ... } while (0)".
39166         * lib/tls.h: Likewise.
39167
39168 2007-11-04  Bruno Haible  <bruno@clisp.org>
39169
39170         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
39171
39172 2007-11-04  Bruno Haible  <bruno@clisp.org>
39173
39174         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
39175         * modules/fprintf-posix (Depends-on): Add nocrash.
39176         * modules/snprintf-posix (Depends-on): Likewise.
39177         * modules/sprintf-posix (Depends-on): Likewise.
39178         * modules/vasnprintf-posix (Depends-on): Likewise.
39179         * modules/vasprintf-posix (Depends-on): Likewise.
39180         * modules/vfprintf-posix (Depends-on): Likewise.
39181         * modules/vsnprintf-posix (Depends-on): Likewise.
39182         * modules/vsprintf-posix (Depends-on): Likewise.
39183         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39184         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39185         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39186         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39187         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39188         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39189         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39190
39191 2007-11-04  Bruno Haible  <bruno@clisp.org>
39192
39193         * modules/nocrash: New file.
39194         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
39195         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
39196
39197 2007-11-04  Bruno Haible  <bruno@clisp.org>
39198
39199         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
39200         precision handling.
39201         * tests/test-vasprintf-posix.c (test_function): Likewise.
39202         * tests/test-snprintf-posix.h (test_function): Likewise.
39203         * tests/test-sprintf-posix.h (test_function): Likewise.
39204
39205         Fix *printf behaviour for large precisions on mingw and BeOS.
39206         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
39207         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
39208         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
39209         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39210         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39211         gl_PRINTF_PRECISION and test its result. Invoke
39212         gl_PREREQ_VASNPRINTF_PRECISION.
39213         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39214         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39215         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39216         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39217         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39218         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39219         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39220         * doc/functions/fprintf.texi: Update.
39221         * doc/functions/printf.texi: Update.
39222         * doc/functions/snprintf.texi: Update.
39223         * doc/functions/sprintf.texi: Update.
39224         * doc/functions/vfprintf.texi: Update.
39225         * doc/functions/vprintf.texi: Update.
39226         * doc/functions/vsnprintf.texi: Update.
39227         * doc/functions/vsprintf.texi: Update.
39228
39229 2007-11-04  Bruno Haible  <bruno@clisp.org>
39230
39231         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
39232
39233 2007-11-04  Bruno Haible  <bruno@clisp.org>
39234
39235         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
39236         Reported by Sylvain Beucler <beuc@gnu.org>.
39237
39238 2007-11-03  Bruno Haible  <bruno@clisp.org>
39239
39240         * tests/test-fprintf-posix2.sh: New file.
39241         * tests/test-fprintf-posix2.c: New file.
39242         * modules/fprintf-posix-tests (Files): Add them.
39243         (TESTS): Add test-fprintf-posix2.sh.
39244         (configure.ac): Check for getrlimit and setrlimit.
39245         (check_PROGRAMS): Add test-fprintf-posix2.
39246
39247         * tests/test-printf-posix2.sh: New file.
39248         * tests/test-printf-posix2.c: New file.
39249         * modules/printf-posix-tests (Files): Add them.
39250         (TESTS): Add test-printf-posix2.sh.
39251         (configure.ac): Check for getrlimit and setrlimit.
39252         (check_PROGRAMS): Add test-printf-posix2.
39253
39254         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
39255         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
39256         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
39257         (decode_double): New function, copied from decode_long_double.
39258         (scale10_round_decimal_decoded): New function, extracted from
39259         scale10_round_decimal_long_double.
39260         (scale10_round_decimal_long_double): Use it.
39261         (scale10_round_decimal_double): New function.
39262         (floorlog10): New function.
39263         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
39264         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
39265         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39266         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39267         gl_PRINTF_ENOMEM and test its result. Invoke
39268         gl_PREREQ_VASNPRINTF_ENOMEM.
39269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39270         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39271         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39272         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39273         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39274         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39275         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39276         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
39277         * modules/snprintf-posix (Depends-on): Likewise.
39278         * modules/sprintf-posix (Depends-on): Likewise.
39279         * modules/vasnprintf-posix (Depends-on): Likewise.
39280         * modules/vasprintf-posix (Depends-on): Likewise.
39281         * modules/vfprintf-posix (Depends-on): Likewise.
39282         * modules/vsnprintf-posix (Depends-on): Likewise.
39283         * modules/vsprintf-posix (Depends-on): Likewise.
39284         * doc/functions/fprintf.texi: Update.
39285         * doc/functions/printf.texi: Update.
39286         * doc/functions/snprintf.texi: Update.
39287         * doc/functions/sprintf.texi: Update.
39288         * doc/functions/vfprintf.texi: Update.
39289         * doc/functions/vprintf.texi: Update.
39290         * doc/functions/vsnprintf.texi: Update.
39291         * doc/functions/vsprintf.texi: Update.
39292
39293 2007-11-03  Bruno Haible  <bruno@clisp.org>
39294
39295         * modules/frexp-nolibm-tests: New file.
39296
39297         * modules/frexp-nolibm: New file.
39298         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
39299
39300 2007-11-03  Bruno Haible  <bruno@clisp.org>
39301
39302         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
39303         value is C99 compliant.
39304         Needed for OSF/1 5.1.
39305
39306 2007-11-03  Bruno Haible  <bruno@clisp.org>
39307
39308         Fix out-of-memory handling of vasnprintf.
39309         * lib/printf-parse.c: Include <errno.h>.
39310         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
39311         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
39312         is already set.
39313
39314 2007-11-02  Eric Blake  <ebb9@byu.net>
39315
39316         Fix tests on cygwin.
39317         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
39318
39319 2007-11-01  Bruno Haible  <bruno@clisp.org>
39320
39321         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
39322         warning.
39323         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
39324         needed for POSIX compatibility.
39325
39326 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
39327
39328         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
39329         for compatibility with GNU.
39330
39331 2007-11-01  Bruno Haible  <bruno@clisp.org>
39332
39333         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
39334         (putenv): Renamed from rpl_putenv. Change argument type from
39335         'const char *' to 'char *'.
39336         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
39337         of defining putenv in config.h, just set REPLACE_PUTENV.
39338         * modules/putenv (Depends-on): Add stdlib.
39339         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39340         (Include): Use <stdlib.h>.
39341         * lib/stdlib.in.h (putenv): New declaration.
39342         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
39343         REPLACE_PUTENV.
39344         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
39345         REPLACE_PUTENV.
39346         Needed for MacOS X 10.5.0.
39347         Reported by Peter O'Gorman <peter@pogma.com>.
39348
39349 2007-11-01  Jim Meyering  <meyering@redhat.com>
39350
39351         Treat an empty date string exactly like "0".
39352         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
39353         if the remaining date string (to be parsed) is empty, use "0".
39354         Reported by Mischa Molhoek and discussed in this thread:
39355         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
39356
39357 2007-10-31  Bruno Haible  <bruno@clisp.org>
39358
39359         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
39360         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
39361         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
39362         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
39363         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
39364         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
39365
39366 2007-10-31  Bruno Haible  <bruno@clisp.org>
39367
39368         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
39369         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
39370         (AC_TYPE_LONG_LONG_INT): Use it.
39371         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
39372         it as well.
39373         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
39374         to m4/longlong.m4.
39375         * modules/stdint (Files): Remove m4/ulonglong.m4.
39376         * modules/strtoull (Files): Use m4/longlong.m4 instead of
39377         m4/ulonglong.m4.
39378         * modules/strtoumax (Files): Likewise.
39379
39380 2007-10-30  Bruno Haible  <bruno@clisp.org>
39381
39382         * modules/xvasprintf-posix: New file.
39383         Suggested by Eric Blake.
39384
39385 2007-10-30  Bruno Haible  <bruno@clisp.org>
39386
39387         * modules/xprintf-posix-tests: New file.
39388         * tests/test-xprintf-posix.sh: New file.
39389         * tests/test-xprintf-posix.c: New file.
39390         * tests/test-xfprintf-posix.c: New file.
39391
39392         * modules/xprintf-posix: New file.
39393
39394 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39395
39396         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
39397         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
39398         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
39399
39400 2007-10-29  Bruno Haible  <bruno@clisp.org>
39401
39402         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
39403         contain the special marker '_cv_'.
39404         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
39405         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
39406         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
39407         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
39408         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
39409         Reported by Ralf Wildenhues.
39410
39411 2007-10-29  Bruno Haible  <bruno@clisp.org>
39412
39413         * gnulib-tool (func_import): When --lgpl is not specified, set
39414         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
39415         GPLv3.
39416         Reported by Simon Josefsson.
39417
39418 2007-10-28  Bruno Haible  <bruno@clisp.org>
39419
39420         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
39421         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
39422         HAVE_DECL_ISFINITE.
39423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
39424         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
39425         HAVE_DECL_ISFINITE.
39426
39427 2007-10-28  Bruno Haible  <bruno@clisp.org>
39428
39429         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
39430         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
39431
39432 2007-10-28  Bruno Haible  <bruno@clisp.org>
39433
39434         Fix link errors with Sun C 5.0 on Solaris 10.
39435         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
39436         function is declared but not present in the compiler's libm.
39437         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
39438         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
39439         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
39440         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
39441         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
39442         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
39443         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
39444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
39445         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
39446         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
39447         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
39448         HAVE_DECL_FLOORL.
39449
39450 2007-10-28  Bruno Haible  <bruno@clisp.org>
39451
39452         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
39453         gl_FUNC_FLOORL. Cache the result.
39454         (gl_FUNC_FLOORL): Use it.
39455         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
39456         gl_FUNC_CEILL. Cache the result.
39457         (gl_FUNC_CEILL): Use it.
39458
39459         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
39460         gl_FUNC_FLOOR. Cache the result.
39461         (gl_FUNC_FLOOR): Use it.
39462         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
39463         gl_FUNC_CEIL. Cache the result.
39464         (gl_FUNC_CEIL): Use it.
39465
39466         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
39467         gl_FUNC_FLOORF. Cache the result.
39468         (gl_FUNC_FLOORF): Use it.
39469         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
39470         gl_FUNC_CEILF. Cache the result.
39471         (gl_FUNC_CEILF): Use it.
39472
39473 2007-10-28  Bruno Haible  <bruno@clisp.org>
39474
39475         * gnulib-tool: Allow specifying the LGPL version number through
39476         --lgpl=2 or --lgpl=3.
39477         (func_usage): Document --lgpl with argument.
39478         Handle --lgpl=... arguments.
39479         (func_import): Recognize also gl_LGPL calls with an argument. When
39480         --lgpl=2 is used and the module's license is just LGPL, report an
39481         error. Set sed_transform_lib_file according to the lgpl variable. In
39482         the generated files, use --lgpl or gl_LGPL invocations with argument,
39483         if necessary.
39484         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
39485         an LGPv2+ license.
39486         * doc/gnulib-tool.texi (Modified imports): Update explanation of
39487         gl_LGPL macro.
39488
39489 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39490             Bruno Haible  <bruno@clisp.org>
39491
39492         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
39493         (u16_uctomb_aux): Likewise.
39494         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
39495         !HAVE_INLINE.
39496         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
39497
39498 2007-10-28  Bruno Haible  <bruno@clisp.org>
39499
39500         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
39501         Invoke AM_GETTEXT_OPTION if it exists.
39502         * modules/vasprintf: Likewise.
39503         * modules/verror: Likewise.
39504         * modules/xprintf: Likewise.
39505         * modules/xvasprintf: Likewise.
39506
39507 2007-10-27  Ben Pfaff  <blp@gnu.org>
39508
39509         * lib/math.in.h: Define isfinite macro and prototypes for
39510         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
39511         implementations.
39512         * m4/math_h.m4: New substitutions for isfinite module.
39513         * lib/isfinite.c: New file.
39514         * m4/isfinite.m4: New file.
39515         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
39516         * modules/isfinite: New file.
39517         * modules/isfinite-tests: New file.
39518         * tests/tests-isfinite.c: New file.
39519         * doc/functions/isfinite.texi: Mention isfinite module.
39520         * MODULES.html.sh: Mention new module.
39521
39522 2007-10-27  Ben Pfaff  <blp@gnu.org>
39523
39524         Ralf Wildenhues reported that Tru64 4.0D declares the round
39525         functions but does not have definitions.
39526         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
39527         cannot be found in any library, set the output variable to
39528         "missing" instead of "".
39529         * m4/round.m4: Also use our substitute if we cannot find round in
39530         any library, even if it is declared.
39531         * m4/roundf.m4: Likewise for roundf.
39532         * m4/roundl.m4: Likewise for roundl.
39533         * lib/math.in.h: Undefine roundf, round, roundl before defining
39534         their replacements, to allow for hypothetical systems where these
39535         may be defined as macros but not available in libraries.
39536
39537 2007-10-27  Bruno Haible  <bruno@clisp.org>
39538
39539         * doc/gnulib.texi: Invoke @firstparagraphindent.
39540         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
39541         changes in gnulib.
39542         (Source changes): New section.
39543
39544 2007-10-26  Bruno Haible  <bruno@clisp.org>
39545
39546         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
39547         borrowed from autoconf.
39548
39549 2007-10-26  Bruno Haible  <bruno@clisp.org>
39550
39551         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
39552         strerror returned the empty string. Needed on HP-UX 11.00.
39553
39554 2007-10-24  Micah Cowan  <micah@cowan.name>
39555
39556         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
39557         * build-aux/bootstrap: Remove support for now-unnecessary option,
39558         --cvs-user, and envvars CVS_USER, CVS_RSH.
39559
39560 2007-10-24  Jim Meyering  <meyering@redhat.com>
39561
39562         Avoid diagnostics from sha1sum when there is no cached checksum.
39563         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
39564         if the po.s1 file hasn't been created yet.
39565
39566         * build-aux/bootstrap: Sync from coreutils:
39567         2007-10-24  Jim Meyering  <meyering@redhat.com>
39568         Get gnulib from the git repository, not from an obsolete cvs one.
39569         * build-aux/bootstrap: Suggestion from Micah Cowan.
39570         2007-10-04  Jim Meyering  <jim@meyering.net>
39571         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
39572         (update_po_files): Work also when there are no .po files in po/.
39573
39574 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39575
39576         * README: Append ".git" to git and cg examples.
39577         Problem reported by Benoit Sigoure.
39578
39579 2007-10-23  Micah Cowan  <micah@cowan.name>
39580
39581         * users.txt: Add wget.
39582
39583 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39584
39585         Fix linking of some unistdio tests on FreeBSD.
39586         * modules/unistdio/u16-vsnprintf-tests
39587         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
39588         * modules/unistdio/u16-vsprintf-tests
39589         (test_u16_vsnprintf1_LDADD): Likewise.
39590         * modules/unistdio/u32-vsnprintf-tests
39591         (test_u32_vsnprintf1_LDADD): Likewise.
39592         * modules/unistdio/u32-vsprintf-tests
39593         (test_u32_vsprintf1_LDADD): Likewise.
39594         * modules/unistdio/u8-vsnprintf-tests
39595         (test_u8_vsnprintf1_LDADD): Likewise.
39596         * modules/unistdio/u8-vsprintf-tests
39597         (test_u8_vsprintf1_LDADD): Likewise.
39598         * modules/unistdio/ulc-vsnprintf-tests
39599         (test_ulc_vsnprintf1_LDADD): Likewise.
39600         * modules/unistdio/ulc-vsprintf-tests
39601         (test_ulc_vsprintf1_LDADD): Likewise.
39602
39603         Fix linking of some uniconv tests on FreeBSD.
39604         * modules/uniconv/u16-conv-from-enc-tests
39605         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
39606         * modules/uniconv/u16-conv-to-enc-tests
39607         (test_u16_conv_to_enc_LDADD): Likewise.
39608         * modules/uniconv/u16-strconv-from-enc-tests
39609         (test_u16_strconv_from_enc_LDADD): Likewise.
39610         * modules/uniconv/u16-strconv-to-enc-tests
39611         (test_u16_strconv_to_enc_LDADD): Likewise.
39612         * modules/uniconv/u32-conv-from-enc-tests
39613         (test_u32_conv_from_enc_LDADD): Likewise.
39614         * modules/uniconv/u32-conv-to-enc-tests
39615         (test_u32_conv_to_enc_LDADD): Likewise.
39616         * modules/uniconv/u32-strconv-from-enc-tests
39617         (test_u32_strconv_from_enc_LDADD): Likewise.
39618         * modules/uniconv/u32-strconv-to-enc-tests
39619         (test_u32_strconv_to_enc_LDADD): Likewise.
39620         * modules/uniconv/u8-conv-from-enc-tests
39621         (test_u8_conv_from_enc_LDADD): Likewise.
39622         * modules/uniconv/u8-conv-to-enc-tests
39623         (test_u8_conv_to_enc_LDADD): Likewise.
39624         * modules/uniconv/u8-strconv-from-enc-tests
39625         (test_u8_strconv_from_enc_LDADD): Likewise.
39626         * modules/uniconv/u8-strconv-to-enc-tests
39627         (test_u8_strconv_to_enc_LDADD): Likewise.
39628
39629 2007-10-22  Bruno Haible  <bruno@clisp.org>
39630
39631         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
39632         size.
39633
39634 2007-10-22  Eric Blake  <ebb9@byu.net>
39635
39636         Tweak x*printf documentation.
39637         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
39638         variable name and comments.
39639         Suggested by Bruno Haible.
39640
39641 2007-10-22  Bruno Haible  <bruno@clisp.org>
39642
39643         * lib/acl.c (copy_acl): Fix file name in comment.
39644
39645 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
39646
39647         Fix Tru64 problem with stdbool.h.
39648         * lib/stdbool.in.h (false, true):
39649         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
39650         Don't declare as an enum in this situation; it runs afoul of Tru64.
39651         Problem reported by Steven M. Schweda in
39652         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
39653
39654 2007-10-22  Eric Blake  <ebb9@byu.net>
39655
39656         Also wrap vf?printf.
39657         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
39658         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
39659         (xvprintf, xvfprintf): New functions.
39660
39661 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39662
39663         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
39664         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
39665
39666         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
39667         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
39668
39669 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
39670
39671         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
39672         by Bruno Haible.
39673
39674 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39675
39676         * lib/getloadavg.c
39677         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
39678         Undef `sys' after including sys/table.h, for Tru64 4.0D.
39679
39680         * tests/test-i-ring.c: Work for C89.
39681
39682 2007-10-22  Bruno Haible  <bruno@clisp.org>
39683
39684         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
39685         -1u, in preprocessor expression, so that we don't test for the bug
39686         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
39687         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
39688
39689 2007-10-22  Eric Blake  <ebb9@byu.net>
39690
39691         * tests/test-yesno.sh: Silence stderr during test.
39692
39693 2007-10-22  Simon Josefsson  <simon@josefsson.org>
39694
39695         * modules/crypto/gc-camellia: New file.
39696
39697         * m4/gc-camellia.m4: New file.
39698
39699         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
39700
39701         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
39702
39703 2007-10-22  Simon Josefsson  <simon@josefsson.org>
39704
39705         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
39706         --help to stdout.  Reported by sms@antinode.org (Steven
39707         M. Schweda).
39708
39709 2007-10-22  Simon Josefsson  <simon@josefsson.org>
39710
39711         * users.txt: Fix link to libksba.
39712
39713 2007-10-21  Ben Pfaff  <blp@gnu.org>
39714
39715         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
39716         round.c roundf implementation that depends on floorf and ceilf to
39717         be tested unconditionally.
39718
39719 2007-10-21  Ben Pfaff  <blp@gnu.org>
39720
39721         * m4/check-libm-func.m4: Removed.
39722         * m4/check-math-lib.m4: New file.
39723         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
39724         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
39725         definition and lack of AC_LIBOBJ([roundf]).
39726         * m4/roundl.m4: Ditto, and similarly for roundl.
39727         * modules/round: Reference new m4 file.
39728         * modules/roundf: Ditto.
39729         * modules/roundl: Ditto.
39730         * tests/test-round2.c (main): Use ROUND instead of round.
39731         Bug report from Bruno Haible.
39732
39733 2007-10-21  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
39736         context.
39737
39738 2007-10-21  Bruno Haible  <bruno@clisp.org>
39739
39740         * tests/test-wcwidth.c (main): Allow negative result for some control
39741         characters.
39742
39743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
39744         Needed on OSF/1 5.1.
39745
39746 2007-10-21  Bruno Haible  <bruno@clisp.org>
39747
39748         * tests/test-floorf1.c: Include isnanf.h.
39749         (main): Use isnanf() instead of isnan().
39750         * tests/test-ceilf1.c: Include isnanf.h.
39751         (main): Use isnanf() instead of isnan().
39752         * tests/test-truncf1.c: Include isnanf.h.
39753         (main): Use isnanf() instead of isnan().
39754         * tests/test-roundf1.c: Include isnanf.h.
39755         (main): Use isnanf() instead of isnan().
39756
39757 2007-10-21  Eric Blake  <ebb9@byu.net>
39758
39759         * users.txt: Update URL for m4.
39760
39761 2007-10-21  Bruno Haible  <bruno@clisp.org>
39762
39763         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
39764
39765 2007-10-21  Bruno Haible  <bruno@clisp.org>
39766
39767         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
39768         Git's management files if the CVS files are not present.
39769
39770 2007-10-20  Bruno Haible  <bruno@clisp.org>
39771
39772         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
39773         gcc-3.4.x.
39774
39775 2007-10-20  Ben Pfaff  <blp@gnu.org>
39776
39777         * lib/math.in.h: Declare round, roundf, roundl if we are providing
39778         implementations.
39779         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
39780         * lib/round.c: New file.
39781         * lib/roundf.c: New file.
39782         * lib/roundl.c: New file.
39783         * m4/round.m4: New file.
39784         * m4/roundf.m4: New file.
39785         * m4/roundl.m4: New file.
39786         * m4/check-libm-func-m4: New file.
39787         * modules/math: Replace round, roundf, roundl related @VARS@ in
39788         math.in.h.
39789         * modules/round: New file.
39790         * modules/round-tests: New file.
39791         * modules/roundf: New file.
39792         * modules/roundf-tests: New file.
39793         * modules/roundl: New file.
39794         * modules/roundl-tests: New file.
39795         * tests/test-round1.c: New file.
39796         * tests/test-round2.c: New file.
39797         * tests/test-roundf1.c: New file.
39798         * tests/test-roundf2.c: New file.
39799         * tests/test-roundl.c: New file.
39800         * doc/functions/round.texi: Mention round module.
39801         * doc/functions/roundf.texi: Mention roundf module.
39802         * doc/functions/roundl.texi: Mention roundl module.
39803         * MODULES.html.sh: Mention new modules.
39804         Thanks to Bruno Haible for suggestions.
39805
39806 2007-10-20  Jim Meyering  <meyering@redhat.com>
39807
39808         * lib/xprintf.c: Include <config.h> unconditionally.
39809
39810         Change xprintf's license to GPL.
39811         * modules/xprintf (License): s/LGPL/GPL/, since this module
39812         depends on modules (exit and exitfail) which are GPL.
39813         Suggestion from Bruno Haible.
39814
39815         xprintf fixes.
39816         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
39817         Use a clearer diagnostic.
39818         Patch from Bruno Haible.
39819
39820 2007-10-20  Bruno Haible  <bruno@clisp.org>
39821
39822         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
39823         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
39824         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39825
39826 2007-10-20  Bruno Haible  <bruno@clisp.org>
39827
39828         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
39829         precision in the comparison result > x - 1 or similar.
39830         * tests/test-ceilf2.c (correct_result_p): Likewise.
39831         * tests/test-truncf2.c (correct_result_p): Likewise.
39832         * tests/test-trunc2.c (correct_result_p): Likewise.
39833         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39834
39835 2007-10-20  Bruno Haible  <bruno@clisp.org>
39836
39837         * modules/ceil: New file.
39838         * m4/ceil.m4: New file.
39839         * doc/functions/ceil.texi: Mention the 'ceil' module.
39840
39841 2007-10-20  Bruno Haible  <bruno@clisp.org>
39842
39843         * modules/floor: New file.
39844         * m4/floor.m4: New file.
39845         * doc/functions/floor.texi: Mention the 'floor' module.
39846
39847 2007-10-20  Bruno Haible  <bruno@clisp.org>
39848
39849         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
39850         of %a.
39851         * modules/floorf-tests (Depends-on): Likewise.
39852         * modules/truncf-tests (Depends-on): Likewise.
39853         * modules/trunc-tests (Depends-on): Likewise.
39854         Reported by Ben Pfaff.
39855
39856 2007-10-19  Jim Meyering  <meyering@redhat.com>
39857
39858         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
39859         Don't bother testing specific errno values.  Just test ferror.
39860
39861         New module: xprintf
39862         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
39863
39864 2007-10-19  Bruno Haible  <bruno@clisp.org>
39865
39866         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
39867         syntax.
39868         * modules/javaexec (Makefile.am): Likewise.
39869         * modules/relocatable-prog (Makefile.am): Likewise.
39870         Suggested by Jim Meyering.
39871
39872 2007-10-18  Bruno Haible  <bruno@clisp.org>
39873
39874         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
39875         Reported by Jim Meyering.
39876
39877 2007-10-18  Eric Blake  <ebb9@byu.net>
39878
39879         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
39880
39881 2007-10-18  Bruno Haible  <bruno@clisp.org>
39882
39883         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
39884         the format string into writable memory. Needed in Fortify conditions.
39885
39886 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
39887             Bruno Haible  <bruno@clisp.org>
39888
39889         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
39890         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
39891         * modules/trim (Depends-on): Add mbchar.
39892         (configure.ac): Add gl_FUNC_MBRTOWC.
39893         (Makefile.am): Augment lib_SOURCES.
39894
39895 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
39896
39897         Modify glob.c to use fstatat and dirfd, to simplify it.
39898         Suggested by Eric Blake.
39899         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
39900         Don't include <stdbool.h>; not used.
39901         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
39902         (link_exists_p): Simplify implementation, since we can now assume
39903         dirfd and fstatat.
39904         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
39905
39906 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39907
39908         * gnulib-tool (func_get_dependencies): Fix sed script to
39909         match only tests.
39910
39911 2007-10-17  Bruno Haible  <bruno@clisp.org>
39912
39913         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
39914         allow locale names without encoding suffix.
39915         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
39916         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39917
39918 2007-10-16  Bruno Haible  <bruno@clisp.org>
39919
39920         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
39921         * lib/getgroups.c (getgroups): Likewise.
39922         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
39923
39924 2007-10-16  Bruno Haible  <bruno@clisp.org>
39925
39926         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
39927         * modules/malloc-posix (License): Likewise.
39928         * modules/realloc-posix (License): Likewise.
39929         * modules/calloc-posix (License): Likewise.
39930         * modules/intprops (License): Change from GPL to LGPL, with
39931         Paul Eggert's approval.
39932
39933 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39934
39935         Merge glibc changes into lib/glob.c.
39936
39937         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
39938         2007-10-15 04:59:03 UTC.  Here are the changes:
39939
39940         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
39941
39942         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
39943
39944         * lib/glob.c: Add some branch prediction throughout.
39945
39946         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
39947
39948         [BZ #5103]
39949         * lib/glob.c (glob): Recognize patterns starting \/.
39950
39951         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
39952
39953         [BZ #3996]
39954         * lib/glob.c (attribute_hidden): Define if not defined.
39955         (glob): Unescape dirname, filename or username when needed and not
39956         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
39957         is NULL.  Handle unescaped [ in pattern without closing ].
39958         Don't pass GLOB_CHECK down to recursive glob for directories.
39959         (__glob_pattern_type): New function.
39960         (__glob_pattern_p): Implement using __glob_pattern_type.
39961         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
39962         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
39963         Remove unreachable code.
39964
39965         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
39966
39967         * lib/glob.c (glob_in_dir): Add some comments and asserts to
39968         explain why there are no leaks.
39969
39970         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
39971
39972         [BZ #3253]
39973         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
39974         time, rather allocate increasingly bigger arrays of pointers, if
39975         possible with alloca, if too large with malloc.
39976
39977 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39978
39979         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
39980         Problem reported by H.Merijn Brand in
39981         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
39982         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
39983         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
39984
39985 2007-10-15  Bruno Haible  <bruno@clisp.org>
39986
39987         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
39988         with explicit rpl_ prefix.
39989         * lib/fopen.c (fopen): Likewise.
39990         * lib/freopen.c (freopen): Likewise.
39991         * lib/iconv.c (iconv): Likewise.
39992         * lib/iconv_close.c (iconv_close): Likewise.
39993
39994 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39995
39996         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
39997
39998 2007-10-15  Bruno Haible  <bruno@clisp.org>
39999
40000         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
40001         <stddef.h> instead of <stdlib.h> since we only need NULL.
40002         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40003
40004 2007-10-15  Bruno Haible  <bruno@clisp.org>
40005
40006         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
40007         Replace paragraph talking about LIBOBJS.
40008         Reported by Colin Watson <cjwatson@debian.org>.
40009
40010 2007-10-15  Bruno Haible  <bruno@clisp.org>
40011
40012         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
40013         <stdlib.h> before using NULL.
40014
40015 2007-10-15  Simon Josefsson  <simon@josefsson.org>
40016
40017         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
40018         Reported by Albert Chin <china@thewrittenword.com>.
40019
40020 2007-10-14  Bruno Haible  <bruno@clisp.org>
40021
40022         * modules/iconv_open-utf-tests: New file.
40023         * tests/test-iconv-utf.c: New file.
40024
40025         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
40026         * modules/iconv_open-utf: New file.
40027         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
40028         (iconv, iconv_close): New declarations.
40029         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
40030         be defined.
40031         (iconv_open): Add special handling of conversion between UTF-8 and
40032         UTF-{16,32}{BE,LE}.
40033         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
40034         * lib/iconv_close.c: New file.
40035         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
40036         gl_FUNC_ICONV_OPEN.
40037         (gl_FUNC_ICONV_OPEN): Use it.
40038         (gl_FUNC_ICONV_OPEN_UTF): New macro.
40039         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
40040         and REPLACE_ICONV_UTF.
40041         * modules/iconv_open (Depends-on): Add c-strcase.
40042         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
40043         ICONV_CONST.
40044         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
40045
40046 2007-10-13  Albert Chin  <china@thewrittenword.com>
40047             Bruno Haible  <bruno@clisp.org>
40048
40049         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
40050         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
40051
40052 2007-10-13  Bruno Haible  <bruno@clisp.org>
40053
40054         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
40055         defined, use the ISO C99 inline semantics.
40056         * lib/argp.h (ARGP_EI): Likewise.
40057
40058 2007-10-13  Bruno Haible  <bruno@clisp.org>
40059
40060         Handle 'inline' change in gcc 4.3.0.
40061         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
40062         argp_fmtstream_write, argp_fmtstream_set_lmargin,
40063         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
40064         argp_fmtstream_point): Disable 'extern' declaration if the function
40065         definition is going to be provided inline.
40066         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
40067         semantics, not the ISO C99 inline semantics.
40068         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
40069         'extern' declaration if the function definition is going to be provided
40070         inline.
40071         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
40072         the GNU C inline semantics, not the ISO C99 inline semantics. With
40073         GCC 4.2, avoid a warning.
40074
40075 2007-10-13  Bruno Haible  <bruno@clisp.org>
40076
40077         * lib/freading.h (freading): Enable the use of __freading for
40078         glibc >= 2.7.
40079         * lib/freading.c (freading): Likewise.
40080
40081 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40082
40083         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
40084         "warning: C99 inline functions are not supported; using GNU89".
40085
40086 2007-10-12  Bruno Haible  <bruno@clisp.org>
40087
40088         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
40089         of 2.
40090         * tests/test-ceilf2.c: New file.
40091         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
40092
40093         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
40094         * modules/ceilf-tests: Update.
40095
40096 2007-10-12  Bruno Haible  <bruno@clisp.org>
40097
40098         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
40099         of 2.
40100         * tests/test-floorf2.c: New file.
40101         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
40102
40103         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
40104         * modules/floorf-tests: Update.
40105
40106 2007-10-12  Bruno Haible  <bruno@clisp.org>
40107
40108         * tests/test-trunc2.c: New file.
40109         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
40110
40111         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
40112         * modules/trunc-tests: Update.
40113
40114 2007-10-12  Bruno Haible  <bruno@clisp.org>
40115
40116         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
40117         of 2.
40118         * tests/test-truncf2.c: New file.
40119         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
40120
40121         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
40122         * modules/truncf-tests: Update.
40123
40124 2007-10-11  Eric Blake  <ebb9@byu.net>
40125
40126         Don't claim strerror is broken on Interix.
40127         * doc/functions/strerror.texi (strerror): Known broken systems are
40128         now Solaris 8, and not Interix.
40129         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
40130         Interix on cross-compile.
40131         Reported by Martin Koeppe in
40132         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
40133
40134 2007-10-11  Bruno Haible  <bruno@clisp.org>
40135
40136         * modules/i-ring-tests: New file.
40137         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
40138         instead of assert.
40139
40140 2007-10-11  Bruno Haible  <bruno@clisp.org>
40141
40142         * modules/filenamecat-tests: New file.
40143         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
40144         * lib/filenamecat.c: Remove test code.
40145
40146 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40147
40148         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
40149
40150         * lib/strerror.c: Include <string.h> always, to test interface,
40151         and to remove the need for the dummy.
40152         Include intprops.h to compute width instead of doing it ourselves
40153         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
40154         (strerror): Define it to return NULL if there's no system strerror.
40155         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
40156         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
40157         ancient pre-strerror Unix systems well any more.  Saying "unknown
40158         system error" is enough.
40159         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
40160         simpler strerror.c implementation.
40161         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
40162         Simplify the tests to reflect the simpler strerror implementation.
40163         * modules/strerror (Depends-on): Add intprops.
40164
40165 2007-10-09  Eric Blake  <ebb9@byu.net>
40166
40167         Silence test-fpending.
40168         * modules/fpending-tests (Files): Add wrapper script.
40169         * tests/test-fpending.sh: New file.
40170
40171 2007-10-09  Bruno Haible  <bruno@clisp.org>
40172
40173         * MODULES.html.sh (func_module): Don't create a hyperlink for
40174         function names like 'printf_frexp'.
40175         (Misc): Add crc, memxor.
40176         (Characteristics of floating types): New section.
40177         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
40178         isnanf-nolibm, signbit, trunc, truncf, truncl.
40179         (Enhancements for ISO C 99 functions): New subsection Input/output.
40180         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
40181         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
40182         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
40183         (Compatibility checks for POSIX:2001 functions): Add clock-time.
40184         (Enhancements for POSIX:2001 functions): Add chdir-long.
40185         (File system functions): Add areadlink, chdir-safer, read-file.
40186         Remove cycle-check.
40187         (File system as inode set): New section.
40188         (Date and time): Add gethrxtime.
40189         (Multithreading): Add openmp.
40190         (Internationalization functions): Add localename.
40191         (Unicode string functions): Add unistr/u*-mbsnlen.
40192         (Support for maintaining and releasing projects): Add git-version-gen.
40193         (Lone files): Remove directories.
40194
40195 2007-10-08  Ben Pfaff  <blp@gnu.org>
40196
40197         * lib/xmalloca.h: Fix typo in comment.
40198
40199 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40200
40201         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
40202         when avoiding problems with integer overflow.  Use a portable test
40203         instead.
40204
40205 2007-10-08  Simon Josefsson  <simon@josefsson.org>
40206
40207         * modules/dummy (License): Change to LGPLv2+.
40208         * modules/float (License): Likewise
40209         * modules/realloc (License): Likewise
40210         * modules/stdlib (License): Likewise
40211
40212 2007-10-07  Bruno Haible  <bruno@clisp.org>
40213
40214         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
40215         * floor.c (TWO_MANT_DIG): Likewise.
40216         * ceil.c (TWO_MANT_DIG): Likewise.
40217         Reported by Ben Pfaff.
40218
40219 2007-10-07  Bruno Haible  <bruno@clisp.org>
40220
40221         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
40222         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
40223         * lib/frexp.c (FUNC): Likewise.
40224         * lib/printf-frexp.h (printf_frexp): Likewise.
40225         * lib/printf-frexpl.h (printf_frexpl): Likewise.
40226         * lib/printf-frexp.c (FUNC): Likewise.
40227         Suggested by Jim Meyering.
40228
40229 2007-10-07  Jim Meyering  <meyering@redhat.com>
40230
40231         Make xnanosleep's integer overflow test more robust.
40232         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
40233         so that gcc-4.3.0 doesn't optimize away this test for overflow.
40234
40235 2007-10-07  Bruno Haible  <bruno@clisp.org>
40236
40237         * NEWS: Mention the license change.
40238
40239         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
40240         abbreviations in the modules files.
40241
40242         Change copyright notice from GPLv2+ to GPLv3+.
40243         * README: Change copyright notice.
40244         * MODULES.html.sh: Likewise.
40245         * build-aux/bootstrap.conf: Likewise.
40246         * build-aux/config.libpath: Likewise.
40247         * build-aux/csharpcomp.sh.in: Likewise.
40248         * build-aux/csharpexec.sh.in: Likewise.
40249         * build-aux/install-reloc: Likewise.
40250         * build-aux/javacomp.sh.in: Likewise.
40251         * build-aux/javaexec.sh.in: Likewise.
40252         * build-aux/ldd.sh.in: Likewise.
40253         * build-aux/reloc-ldflags: Likewise.
40254         * build-aux/relocatable.sh.in: Likewise.
40255         * build-aux/x-to-1.in: Likewise.
40256         * check-module: Likewise.
40257         * config/srclistvars.sh: Likewise.
40258         * gnulib-tool: Likewise.
40259         * lib/acl-internal.h: Likewise.
40260         * lib/acl.c: Likewise.
40261         * lib/acl.h: Likewise.
40262         * lib/acl_entries.c: Likewise.
40263         * lib/areadlink-with-size.c: Likewise.
40264         * lib/areadlink.c: Likewise.
40265         * lib/areadlink.h: Likewise.
40266         * lib/argmatch.c: Likewise.
40267         * lib/argmatch.h: Likewise.
40268         * lib/argp-ba.c: Likewise.
40269         * lib/argp-eexst.c: Likewise.
40270         * lib/argp-fmtstream.c: Likewise.
40271         * lib/argp-fmtstream.h: Likewise.
40272         * lib/argp-fs-xinl.c: Likewise.
40273         * lib/argp-help.c: Likewise.
40274         * lib/argp-namefrob.h: Likewise.
40275         * lib/argp-parse.c: Likewise.
40276         * lib/argp-pin.c: Likewise.
40277         * lib/argp-pv.c: Likewise.
40278         * lib/argp-pvh.c: Likewise.
40279         * lib/argp-xinl.c: Likewise.
40280         * lib/argp.h: Likewise.
40281         * lib/at-func.c: Likewise.
40282         * lib/atanl.c: Likewise.
40283         * lib/backupfile.c: Likewise.
40284         * lib/backupfile.h: Likewise.
40285         * lib/basename.c: Likewise.
40286         * lib/binary-io.h: Likewise.
40287         * lib/byteswap.in.h: Likewise.
40288         * lib/c-stack.c: Likewise.
40289         * lib/c-stack.h: Likewise.
40290         * lib/c-strcasestr.c: Likewise.
40291         * lib/c-strcasestr.h: Likewise.
40292         * lib/c-strstr.c: Likewise.
40293         * lib/c-strstr.h: Likewise.
40294         * lib/c-strtod.c: Likewise.
40295         * lib/calloc.c: Likewise.
40296         * lib/canon-host.c: Likewise.
40297         * lib/canon-host.h: Likewise.
40298         * lib/canonicalize-lgpl.c: Likewise.
40299         * lib/canonicalize.c: Likewise.
40300         * lib/canonicalize.h: Likewise.
40301         * lib/ceil.c: Likewise.
40302         * lib/ceilf.c: Likewise.
40303         * lib/ceill.c: Likewise.
40304         * lib/chdir-long.c: Likewise.
40305         * lib/chdir-long.h: Likewise.
40306         * lib/chdir-safer.c: Likewise.
40307         * lib/chdir-safer.h: Likewise.
40308         * lib/chown.c: Likewise.
40309         * lib/classpath.c: Likewise.
40310         * lib/classpath.h: Likewise.
40311         * lib/clean-temp.c: Likewise.
40312         * lib/clean-temp.h: Likewise.
40313         * lib/cloexec.c: Likewise.
40314         * lib/close-stream.c: Likewise.
40315         * lib/closein.c: Likewise.
40316         * lib/closein.h: Likewise.
40317         * lib/closeout.c: Likewise.
40318         * lib/closeout.h: Likewise.
40319         * lib/concat-filename.c: Likewise.
40320         * lib/copy-file.c: Likewise.
40321         * lib/copy-file.h: Likewise.
40322         * lib/count-one-bits.h: Likewise.
40323         * lib/crc.c: Likewise.
40324         * lib/crc.h: Likewise.
40325         * lib/creat-safer.c: Likewise.
40326         * lib/csharpcomp.c: Likewise.
40327         * lib/csharpcomp.h: Likewise.
40328         * lib/csharpexec.c: Likewise.
40329         * lib/csharpexec.h: Likewise.
40330         * lib/cycle-check.c: Likewise.
40331         * lib/cycle-check.h: Likewise.
40332         * lib/diacrit.c: Likewise.
40333         * lib/diacrit.h: Likewise.
40334         * lib/diffseq.h: Likewise.
40335         * lib/dirchownmod.c: Likewise.
40336         * lib/dirent.in.h: Likewise.
40337         * lib/dirfd.c: Likewise.
40338         * lib/dirfd.h: Likewise.
40339         * lib/dirname.c: Likewise.
40340         * lib/dirname.h: Likewise.
40341         * lib/dummy.c: Likewise.
40342         * lib/dup-safer.c: Likewise.
40343         * lib/dup2.c: Likewise.
40344         * lib/eealloc.h: Likewise.
40345         * lib/error.c: Likewise.
40346         * lib/error.h: Likewise.
40347         * lib/euidaccess.c: Likewise.
40348         * lib/exclude.c: Likewise.
40349         * lib/exclude.h: Likewise.
40350         * lib/execute.c: Likewise.
40351         * lib/execute.h: Likewise.
40352         * lib/exitfail.c: Likewise.
40353         * lib/exitfail.h: Likewise.
40354         * lib/expl.c: Likewise.
40355         * lib/fatal-signal.c: Likewise.
40356         * lib/fatal-signal.h: Likewise.
40357         * lib/fbufmode.c: Likewise.
40358         * lib/fbufmode.h: Likewise.
40359         * lib/fchdir.c: Likewise.
40360         * lib/fchmodat.c: Likewise.
40361         * lib/fchownat.c: Likewise.
40362         * lib/fcntl--.h: Likewise.
40363         * lib/fcntl-safer.h: Likewise.
40364         * lib/fcntl.in.h: Likewise.
40365         * lib/fd-safer.c: Likewise.
40366         * lib/fflush.c: Likewise.
40367         * lib/file-has-acl.c: Likewise.
40368         * lib/file-set.c: Likewise.
40369         * lib/file-type.c: Likewise.
40370         * lib/file-type.h: Likewise.
40371         * lib/fileblocks.c: Likewise.
40372         * lib/filemode.c: Likewise.
40373         * lib/filemode.h: Likewise.
40374         * lib/filename.h: Likewise.
40375         * lib/filenamecat.c: Likewise.
40376         * lib/filenamecat.h: Likewise.
40377         * lib/findprog.c: Likewise.
40378         * lib/findprog.h: Likewise.
40379         * lib/float.in.h: Likewise.
40380         * lib/floor.c: Likewise.
40381         * lib/floorf.c: Likewise.
40382         * lib/floorl.c: Likewise.
40383         * lib/fopen-safer.c: Likewise.
40384         * lib/fopen.c: Likewise.
40385         * lib/fpending.c: Likewise.
40386         * lib/fpending.h: Likewise.
40387         * lib/fprintf.c: Likewise.
40388         * lib/fprintftime.h: Likewise.
40389         * lib/fpucw.h: Likewise.
40390         * lib/fpurge.c: Likewise.
40391         * lib/fpurge.h: Likewise.
40392         * lib/freadable.c: Likewise.
40393         * lib/freadable.h: Likewise.
40394         * lib/freadahead.c: Likewise.
40395         * lib/freadahead.h: Likewise.
40396         * lib/freading.c: Likewise.
40397         * lib/freading.h: Likewise.
40398         * lib/free.c: Likewise.
40399         * lib/freopen.c: Likewise.
40400         * lib/frexp.c: Likewise.
40401         * lib/frexpl.c: Likewise.
40402         * lib/fseek.c: Likewise.
40403         * lib/fseterr.c: Likewise.
40404         * lib/fseterr.h: Likewise.
40405         * lib/fstatat.c: Likewise.
40406         * lib/fstrcmp.c: Likewise.
40407         * lib/fstrcmp.h: Likewise.
40408         * lib/fsusage.c: Likewise.
40409         * lib/fsusage.h: Likewise.
40410         * lib/ftell.c: Likewise.
40411         * lib/ftello.c: Likewise.
40412         * lib/fts-cycle.c: Likewise.
40413         * lib/fts.c: Likewise.
40414         * lib/fts_.h: Likewise.
40415         * lib/full-read.c: Likewise.
40416         * lib/full-read.h: Likewise.
40417         * lib/full-write.c: Likewise.
40418         * lib/full-write.h: Likewise.
40419         * lib/fwritable.c: Likewise.
40420         * lib/fwritable.h: Likewise.
40421         * lib/fwriteerror.c: Likewise.
40422         * lib/fwriteerror.h: Likewise.
40423         * lib/fwriting.c: Likewise.
40424         * lib/fwriting.h: Likewise.
40425         * lib/gcd.c: Likewise.
40426         * lib/gcd.h: Likewise.
40427         * lib/getcwd.c: Likewise.
40428         * lib/getdate.h: Likewise.
40429         * lib/getdate.y: Likewise.
40430         * lib/getdomainname.c: Likewise.
40431         * lib/getdomainname.h: Likewise.
40432         * lib/getgroups.c: Likewise.
40433         * lib/gethostname.c: Likewise.
40434         * lib/gethrxtime.c: Likewise.
40435         * lib/gethrxtime.h: Likewise.
40436         * lib/getloadavg.c: Likewise.
40437         * lib/getndelim2.c: Likewise.
40438         * lib/getndelim2.h: Likewise.
40439         * lib/getnline.c: Likewise.
40440         * lib/getnline.h: Likewise.
40441         * lib/getopt.c: Likewise.
40442         * lib/getopt.in.h: Likewise.
40443         * lib/getopt1.c: Likewise.
40444         * lib/getopt_int.h: Likewise.
40445         * lib/getpagesize.h: Likewise.
40446         * lib/getsubopt.c: Likewise.
40447         * lib/gettime.c: Likewise.
40448         * lib/getugroups.c: Likewise.
40449         * lib/getugroups.h: Likewise.
40450         * lib/getusershell.c: Likewise.
40451         * lib/gl_anyavltree_list1.h: Likewise.
40452         * lib/gl_anyavltree_list2.h: Likewise.
40453         * lib/gl_anyhash_list1.h: Likewise.
40454         * lib/gl_anyhash_list2.h: Likewise.
40455         * lib/gl_anylinked_list1.h: Likewise.
40456         * lib/gl_anylinked_list2.h: Likewise.
40457         * lib/gl_anyrbtree_list1.h: Likewise.
40458         * lib/gl_anyrbtree_list2.h: Likewise.
40459         * lib/gl_anytree_list1.h: Likewise.
40460         * lib/gl_anytree_list2.h: Likewise.
40461         * lib/gl_anytree_oset.h: Likewise.
40462         * lib/gl_anytreehash_list1.h: Likewise.
40463         * lib/gl_anytreehash_list2.h: Likewise.
40464         * lib/gl_array_list.c: Likewise.
40465         * lib/gl_array_list.h: Likewise.
40466         * lib/gl_array_oset.c: Likewise.
40467         * lib/gl_array_oset.h: Likewise.
40468         * lib/gl_avltree_list.c: Likewise.
40469         * lib/gl_avltree_list.h: Likewise.
40470         * lib/gl_avltree_oset.c: Likewise.
40471         * lib/gl_avltree_oset.h: Likewise.
40472         * lib/gl_avltreehash_list.c: Likewise.
40473         * lib/gl_avltreehash_list.h: Likewise.
40474         * lib/gl_carray_list.c: Likewise.
40475         * lib/gl_carray_list.h: Likewise.
40476         * lib/gl_linked_list.c: Likewise.
40477         * lib/gl_linked_list.h: Likewise.
40478         * lib/gl_linkedhash_list.c: Likewise.
40479         * lib/gl_linkedhash_list.h: Likewise.
40480         * lib/gl_list.c: Likewise.
40481         * lib/gl_list.h: Likewise.
40482         * lib/gl_oset.c: Likewise.
40483         * lib/gl_oset.h: Likewise.
40484         * lib/gl_rbtree_list.c: Likewise.
40485         * lib/gl_rbtree_list.h: Likewise.
40486         * lib/gl_rbtree_oset.c: Likewise.
40487         * lib/gl_rbtree_oset.h: Likewise.
40488         * lib/gl_rbtreehash_list.c: Likewise.
40489         * lib/gl_rbtreehash_list.h: Likewise.
40490         * lib/gl_sublist.c: Likewise.
40491         * lib/gl_sublist.h: Likewise.
40492         * lib/group-member.c: Likewise.
40493         * lib/group-member.h: Likewise.
40494         * lib/hard-locale.c: Likewise.
40495         * lib/hard-locale.h: Likewise.
40496         * lib/hash-pjw.c: Likewise.
40497         * lib/hash-pjw.h: Likewise.
40498         * lib/hash-triple.c: Likewise.
40499         * lib/hash.c: Likewise.
40500         * lib/hash.h: Likewise.
40501         * lib/human.c: Likewise.
40502         * lib/human.h: Likewise.
40503         * lib/i-ring.c: Likewise.
40504         * lib/i-ring.h: Likewise.
40505         * lib/idcache.c: Likewise.
40506         * lib/imaxabs.c: Likewise.
40507         * lib/imaxdiv.c: Likewise.
40508         * lib/inet_pton.c: Likewise.
40509         * lib/inet_pton.h: Likewise.
40510         * lib/intprops.h: Likewise.
40511         * lib/inttostr.c: Likewise.
40512         * lib/inttostr.h: Likewise.
40513         * lib/inttypes.in.h: Likewise.
40514         * lib/isapipe.c: Likewise.
40515         * lib/isdir.c: Likewise.
40516         * lib/isnan.c: Likewise.
40517         * lib/isnan.h: Likewise.
40518         * lib/isnanf.c: Likewise.
40519         * lib/isnanf.h: Likewise.
40520         * lib/isnanl-nolibm.h: Likewise.
40521         * lib/isnanl.c: Likewise.
40522         * lib/isnanl.h: Likewise.
40523         * lib/javacomp.c: Likewise.
40524         * lib/javacomp.h: Likewise.
40525         * lib/javaexec.c: Likewise.
40526         * lib/javaexec.h: Likewise.
40527         * lib/javaversion.c: Likewise.
40528         * lib/javaversion.h: Likewise.
40529         * lib/javaversion.java: Likewise.
40530         * lib/lbrkprop.h: Likewise.
40531         * lib/lchmod.h: Likewise.
40532         * lib/lchown.c: Likewise.
40533         * lib/ldexpl.c: Likewise.
40534         * lib/linebreak.c: Likewise.
40535         * lib/linebreak.h: Likewise.
40536         * lib/linebuffer.c: Likewise.
40537         * lib/linebuffer.h: Likewise.
40538         * lib/locale.in.h: Likewise.
40539         * lib/logl.c: Likewise.
40540         * lib/long-options.c: Likewise.
40541         * lib/long-options.h: Likewise.
40542         * lib/lstat.c: Likewise.
40543         * lib/lstat.h: Likewise.
40544         * lib/math.in.h: Likewise.
40545         * lib/mbchar.c: Likewise.
40546         * lib/mbchar.h: Likewise.
40547         * lib/mbfile.h: Likewise.
40548         * lib/mbiter.h: Likewise.
40549         * lib/mbscasecmp.c: Likewise.
40550         * lib/mbscasestr.c: Likewise.
40551         * lib/mbschr.c: Likewise.
40552         * lib/mbscspn.c: Likewise.
40553         * lib/mbslen.c: Likewise.
40554         * lib/mbsncasecmp.c: Likewise.
40555         * lib/mbsnlen.c: Likewise.
40556         * lib/mbspbrk.c: Likewise.
40557         * lib/mbspcasecmp.c: Likewise.
40558         * lib/mbsrchr.c: Likewise.
40559         * lib/mbssep.c: Likewise.
40560         * lib/mbsspn.c: Likewise.
40561         * lib/mbsstr.c: Likewise.
40562         * lib/mbstok_r.c: Likewise.
40563         * lib/mbswidth.c: Likewise.
40564         * lib/mbswidth.h: Likewise.
40565         * lib/mbuiter.h: Likewise.
40566         * lib/memcasecmp.c: Likewise.
40567         * lib/memcasecmp.h: Likewise.
40568         * lib/memchr.c: Likewise.
40569         * lib/memcmp.c: Likewise.
40570         * lib/memcoll.c: Likewise.
40571         * lib/memcoll.h: Likewise.
40572         * lib/memcpy.c: Likewise.
40573         * lib/memrchr.c: Likewise.
40574         * lib/mkancesdirs.c: Likewise.
40575         * lib/mkdir-p.c: Likewise.
40576         * lib/mkdir-p.h: Likewise.
40577         * lib/mkdir.c: Likewise.
40578         * lib/mkdirat.c: Likewise.
40579         * lib/mkdtemp.c: Likewise.
40580         * lib/mkstemp-safer.c: Likewise.
40581         * lib/mkstemp.c: Likewise.
40582         * lib/modechange.c: Likewise.
40583         * lib/modechange.h: Likewise.
40584         * lib/mountlist.c: Likewise.
40585         * lib/mountlist.h: Likewise.
40586         * lib/mpsort.c: Likewise.
40587         * lib/nanosleep.c: Likewise.
40588         * lib/obstack.c: Likewise.
40589         * lib/obstack.h: Likewise.
40590         * lib/open-safer.c: Likewise.
40591         * lib/open.c: Likewise.
40592         * lib/openat-die.c: Likewise.
40593         * lib/openat-priv.h: Likewise.
40594         * lib/openat-proc.c: Likewise.
40595         * lib/openat.c: Likewise.
40596         * lib/openat.h: Likewise.
40597         * lib/pagealign_alloc.c: Likewise.
40598         * lib/pagealign_alloc.h: Likewise.
40599         * lib/physmem.c: Likewise.
40600         * lib/physmem.h: Likewise.
40601         * lib/pipe-safer.c: Likewise.
40602         * lib/pipe.c: Likewise.
40603         * lib/pipe.h: Likewise.
40604         * lib/posixtm.c: Likewise.
40605         * lib/posixtm.h: Likewise.
40606         * lib/posixver.c: Likewise.
40607         * lib/printf-frexp.c: Likewise.
40608         * lib/printf-frexp.h: Likewise.
40609         * lib/printf-frexpl.c: Likewise.
40610         * lib/printf-frexpl.h: Likewise.
40611         * lib/printf.c: Likewise.
40612         * lib/progname.c: Likewise.
40613         * lib/progname.h: Likewise.
40614         * lib/progreloc.c: Likewise.
40615         * lib/putenv.c: Likewise.
40616         * lib/quote.c: Likewise.
40617         * lib/quote.h: Likewise.
40618         * lib/quotearg.c: Likewise.
40619         * lib/quotearg.h: Likewise.
40620         * lib/raise.c: Likewise.
40621         * lib/readline.c: Likewise.
40622         * lib/readline.h: Likewise.
40623         * lib/readlink.c: Likewise.
40624         * lib/readtokens.c: Likewise.
40625         * lib/readtokens.h: Likewise.
40626         * lib/readtokens0.c: Likewise.
40627         * lib/readtokens0.h: Likewise.
40628         * lib/readutmp.c: Likewise.
40629         * lib/readutmp.h: Likewise.
40630         * lib/realloc.c: Likewise.
40631         * lib/relocwrapper.c: Likewise.
40632         * lib/rename-dest-slash.c: Likewise.
40633         * lib/rename.c: Likewise.
40634         * lib/rmdir.c: Likewise.
40635         * lib/rpmatch.c: Likewise.
40636         * lib/safe-read.c: Likewise.
40637         * lib/safe-read.h: Likewise.
40638         * lib/safe-write.c: Likewise.
40639         * lib/safe-write.h: Likewise.
40640         * lib/same-inode.h: Likewise.
40641         * lib/same.c: Likewise.
40642         * lib/same.h: Likewise.
40643         * lib/save-cwd.c: Likewise.
40644         * lib/save-cwd.h: Likewise.
40645         * lib/savedir.c: Likewise.
40646         * lib/savedir.h: Likewise.
40647         * lib/savewd.c: Likewise.
40648         * lib/savewd.h: Likewise.
40649         * lib/search.in.h: Likewise.
40650         * lib/setenv.c: Likewise.
40651         * lib/setenv.h: Likewise.
40652         * lib/settime.c: Likewise.
40653         * lib/sh-quote.c: Likewise.
40654         * lib/sh-quote.h: Likewise.
40655         * lib/sig2str.c: Likewise.
40656         * lib/sig2str.h: Likewise.
40657         * lib/signal.in.h: Likewise.
40658         * lib/signbitd.c: Likewise.
40659         * lib/signbitf.c: Likewise.
40660         * lib/signbitl.c: Likewise.
40661         * lib/sigprocmask.c: Likewise.
40662         * lib/sincosl.c: Likewise.
40663         * lib/sleep.c: Likewise.
40664         * lib/sprintf.c: Likewise.
40665         * lib/sqrtl.c: Likewise.
40666         * lib/stat-time.h: Likewise.
40667         * lib/stdio--.h: Likewise.
40668         * lib/stdio-safer.h: Likewise.
40669         * lib/stdlib--.h: Likewise.
40670         * lib/stdlib-safer.h: Likewise.
40671         * lib/stdlib.in.h: Likewise.
40672         * lib/stpcpy.c: Likewise.
40673         * lib/stpncpy.c: Likewise.
40674         * lib/strchrnul.c: Likewise.
40675         * lib/strcspn.c: Likewise.
40676         * lib/strerror.c: Likewise.
40677         * lib/strftime.c: Likewise.
40678         * lib/strftime.h: Likewise.
40679         * lib/striconveh.c: Likewise.
40680         * lib/striconveh.h: Likewise.
40681         * lib/striconveha.c: Likewise.
40682         * lib/striconveha.h: Likewise.
40683         * lib/stripslash.c: Likewise.
40684         * lib/strnlen1.c: Likewise.
40685         * lib/strnlen1.h: Likewise.
40686         * lib/strtod.c: Likewise.
40687         * lib/strtoimax.c: Likewise.
40688         * lib/strtok_r.c: Likewise.
40689         * lib/strtol.c: Likewise.
40690         * lib/strtoll.c: Likewise.
40691         * lib/strtoul.c: Likewise.
40692         * lib/strtoull.c: Likewise.
40693         * lib/sysexits.in.h: Likewise.
40694         * lib/tempname.c: Likewise.
40695         * lib/tempname.h: Likewise.
40696         * lib/timespec.h: Likewise.
40697         * lib/tls.c: Likewise.
40698         * lib/tls.h: Likewise.
40699         * lib/tmpdir.c: Likewise.
40700         * lib/tmpdir.h: Likewise.
40701         * lib/tmpfile-safer.c: Likewise.
40702         * lib/tmpfile.c: Likewise.
40703         * lib/trigl.c: Likewise.
40704         * lib/trigl.h: Likewise.
40705         * lib/trim.c: Likewise.
40706         * lib/trim.h: Likewise.
40707         * lib/trunc.c: Likewise.
40708         * lib/truncf.c: Likewise.
40709         * lib/truncl.c: Likewise.
40710         * lib/tsearch.c: Likewise.
40711         * lib/unicodeio.c: Likewise.
40712         * lib/unicodeio.h: Likewise.
40713         * lib/unistd--.h: Likewise.
40714         * lib/unistd-safer.h: Likewise.
40715         * lib/unistdio/ulc-fprintf.c: Likewise.
40716         * lib/unistdio/ulc-vfprintf.c: Likewise.
40717         * lib/unlinkdir.c: Likewise.
40718         * lib/unlinkdir.h: Likewise.
40719         * lib/unlocked-io.h: Likewise.
40720         * lib/unsetenv.c: Likewise.
40721         * lib/userspec.c: Likewise.
40722         * lib/utime.c: Likewise.
40723         * lib/utimecmp.c: Likewise.
40724         * lib/utimecmp.h: Likewise.
40725         * lib/utimens.c: Likewise.
40726         * lib/verify.h: Likewise.
40727         * lib/verror.c: Likewise.
40728         * lib/verror.h: Likewise.
40729         * lib/version-etc-fsf.c: Likewise.
40730         * lib/version-etc.c: Likewise.
40731         * lib/version-etc.h: Likewise.
40732         * lib/vfprintf.c: Likewise.
40733         * lib/vprintf.c: Likewise.
40734         * lib/vsprintf.c: Likewise.
40735         * lib/w32spawn.h: Likewise.
40736         * lib/wait-process.c: Likewise.
40737         * lib/wait-process.h: Likewise.
40738         * lib/wcwidth.c: Likewise.
40739         * lib/write-any-file.c: Likewise.
40740         * lib/xalloc-die.c: Likewise.
40741         * lib/xalloc.h: Likewise.
40742         * lib/xasprintf.c: Likewise.
40743         * lib/xgetcwd.c: Likewise.
40744         * lib/xgetcwd.h: Likewise.
40745         * lib/xgetdomainname.c: Likewise.
40746         * lib/xgetdomainname.h: Likewise.
40747         * lib/xgethostname.c: Likewise.
40748         * lib/xmalloc.c: Likewise.
40749         * lib/xmalloca.c: Likewise.
40750         * lib/xmalloca.h: Likewise.
40751         * lib/xmemcoll.c: Likewise.
40752         * lib/xnanosleep.c: Likewise.
40753         * lib/xreadlink.c: Likewise.
40754         * lib/xreadlink.h: Likewise.
40755         * lib/xsetenv.c: Likewise.
40756         * lib/xsetenv.h: Likewise.
40757         * lib/xstriconv.c: Likewise.
40758         * lib/xstriconv.h: Likewise.
40759         * lib/xstrndup.c: Likewise.
40760         * lib/xstrndup.h: Likewise.
40761         * lib/xstrtod.c: Likewise.
40762         * lib/xstrtod.h: Likewise.
40763         * lib/xstrtol-error.c: Likewise.
40764         * lib/xstrtol.c: Likewise.
40765         * lib/xstrtol.h: Likewise.
40766         * lib/xtime.h: Likewise.
40767         * lib/xvasprintf.c: Likewise.
40768         * lib/xvasprintf.h: Likewise.
40769         * lib/yesno.c: Likewise.
40770         * lib/yesno.h: Likewise.
40771         * posix-modules: Likewise.
40772         * tests/test-alloca-opt.c: Likewise.
40773         * tests/test-arcfour.c: Likewise.
40774         * tests/test-arctwo.c: Likewise.
40775         * tests/test-argmatch.c: Likewise.
40776         * tests/test-argp-2.sh: Likewise.
40777         * tests/test-argp.c: Likewise.
40778         * tests/test-arpa_inet.c: Likewise.
40779         * tests/test-array_list.c: Likewise.
40780         * tests/test-array_oset.c: Likewise.
40781         * tests/test-atexit.c: Likewise.
40782         * tests/test-avltree_list.c: Likewise.
40783         * tests/test-avltree_oset.c: Likewise.
40784         * tests/test-avltreehash_list.c: Likewise.
40785         * tests/test-base64.c: Likewise.
40786         * tests/test-binary-io.c: Likewise.
40787         * tests/test-byteswap.c: Likewise.
40788         * tests/test-c-ctype.c: Likewise.
40789         * tests/test-c-strcasecmp.c: Likewise.
40790         * tests/test-c-strcasestr.c: Likewise.
40791         * tests/test-c-strncasecmp.c: Likewise.
40792         * tests/test-c-strstr.c: Likewise.
40793         * tests/test-canonicalize-lgpl.c: Likewise.
40794         * tests/test-canonicalize.c: Likewise.
40795         * tests/test-carray_list.c: Likewise.
40796         * tests/test-ceilf.c: Likewise.
40797         * tests/test-ceill.c: Likewise.
40798         * tests/test-count-one-bits.c: Likewise.
40799         * tests/test-crc.c: Likewise.
40800         * tests/test-dirname.c: Likewise.
40801         * tests/test-fbufmode.c: Likewise.
40802         * tests/test-fcntl.c: Likewise.
40803         * tests/test-fflush.c: Likewise.
40804         * tests/test-floorf.c: Likewise.
40805         * tests/test-floorl.c: Likewise.
40806         * tests/test-fopen.c: Likewise.
40807         * tests/test-fprintf-posix.c: Likewise.
40808         * tests/test-fprintf-posix.h: Likewise.
40809         * tests/test-fpurge.c: Likewise.
40810         * tests/test-freadable.c: Likewise.
40811         * tests/test-freadahead.c: Likewise.
40812         * tests/test-freading.c: Likewise.
40813         * tests/test-freopen.c: Likewise.
40814         * tests/test-frexp.c: Likewise.
40815         * tests/test-frexpl.c: Likewise.
40816         * tests/test-fseek.c: Likewise.
40817         * tests/test-fseeko.c: Likewise.
40818         * tests/test-fseterr.c: Likewise.
40819         * tests/test-fstrcmp.c: Likewise.
40820         * tests/test-ftell.c: Likewise.
40821         * tests/test-ftello.c: Likewise.
40822         * tests/test-fwritable.c: Likewise.
40823         * tests/test-fwriting.c: Likewise.
40824         * tests/test-getaddrinfo.c: Likewise.
40825         * tests/test-getpass.c: Likewise.
40826         * tests/test-gettimeofday.c: Likewise.
40827         * tests/test-hmac-md5.c: Likewise.
40828         * tests/test-hmac-sha1.c: Likewise.
40829         * tests/test-iconv.c: Likewise.
40830         * tests/test-iconvme.c: Likewise.
40831         * tests/test-inttypes.c: Likewise.
40832         * tests/test-isnan.c: Likewise.
40833         * tests/test-isnanf.c: Likewise.
40834         * tests/test-isnanl-nolibm.c: Likewise.
40835         * tests/test-isnanl.c: Likewise.
40836         * tests/test-isnanl.h: Likewise.
40837         * tests/test-ldexpl.c: Likewise.
40838         * tests/test-linked_list.c: Likewise.
40839         * tests/test-linkedhash_list.c: Likewise.
40840         * tests/test-locale.c: Likewise.
40841         * tests/test-localename.c: Likewise.
40842         * tests/test-lock.c: Likewise.
40843         * tests/test-lseek.c: Likewise.
40844         * tests/test-malloca.c: Likewise.
40845         * tests/test-math.c: Likewise.
40846         * tests/test-mbscasecmp.c: Likewise.
40847         * tests/test-mbscasestr1.c: Likewise.
40848         * tests/test-mbscasestr2.c: Likewise.
40849         * tests/test-mbscasestr3.c: Likewise.
40850         * tests/test-mbscasestr4.c: Likewise.
40851         * tests/test-mbschr.c: Likewise.
40852         * tests/test-mbscspn.c: Likewise.
40853         * tests/test-mbsncasecmp.c: Likewise.
40854         * tests/test-mbspbrk.c: Likewise.
40855         * tests/test-mbspcasecmp.c: Likewise.
40856         * tests/test-mbsrchr.c: Likewise.
40857         * tests/test-mbsspn.c: Likewise.
40858         * tests/test-mbsstr1.c: Likewise.
40859         * tests/test-mbsstr2.c: Likewise.
40860         * tests/test-mbsstr3.c: Likewise.
40861         * tests/test-md5.c: Likewise.
40862         * tests/test-memmem.c: Likewise.
40863         * tests/test-netinet_in.c: Likewise.
40864         * tests/test-open.c: Likewise.
40865         * tests/test-printf-frexp.c: Likewise.
40866         * tests/test-printf-frexpl.c: Likewise.
40867         * tests/test-printf-posix.c: Likewise.
40868         * tests/test-printf-posix.h: Likewise.
40869         * tests/test-rbtree_list.c: Likewise.
40870         * tests/test-rbtree_oset.c: Likewise.
40871         * tests/test-rbtreehash_list.c: Likewise.
40872         * tests/test-read-file.c: Likewise.
40873         * tests/test-rijndael.c: Likewise.
40874         * tests/test-search.c: Likewise.
40875         * tests/test-signbit.c: Likewise.
40876         * tests/test-sleep.c: Likewise.
40877         * tests/test-snprintf-posix.c: Likewise.
40878         * tests/test-snprintf-posix.h: Likewise.
40879         * tests/test-snprintf.c: Likewise.
40880         * tests/test-sprintf-posix.c: Likewise.
40881         * tests/test-sprintf-posix.h: Likewise.
40882         * tests/test-stat-time.c: Likewise.
40883         * tests/test-stdbool.c: Likewise.
40884         * tests/test-stdint.c: Likewise.
40885         * tests/test-stdio.c: Likewise.
40886         * tests/test-stdlib.c: Likewise.
40887         * tests/test-stpncpy.c: Likewise.
40888         * tests/test-strcasestr.c: Likewise.
40889         * tests/test-striconv.c: Likewise.
40890         * tests/test-striconveh.c: Likewise.
40891         * tests/test-striconveha.c: Likewise.
40892         * tests/test-string.c: Likewise.
40893         * tests/test-sys_select.c: Likewise.
40894         * tests/test-sys_socket.c: Likewise.
40895         * tests/test-sys_stat.c: Likewise.
40896         * tests/test-sys_time.c: Likewise.
40897         * tests/test-sysexits.c: Likewise.
40898         * tests/test-time.c: Likewise.
40899         * tests/test-tls.c: Likewise.
40900         * tests/test-trunc.c: Likewise.
40901         * tests/test-truncf.c: Likewise.
40902         * tests/test-truncl.c: Likewise.
40903         * tests/test-unistd.c: Likewise.
40904         * tests/test-vasnprintf-posix.c: Likewise.
40905         * tests/test-vasnprintf-posix2.c: Likewise.
40906         * tests/test-vasnprintf.c: Likewise.
40907         * tests/test-vasprintf-posix.c: Likewise.
40908         * tests/test-vasprintf.c: Likewise.
40909         * tests/test-verify.c: Likewise.
40910         * tests/test-vfprintf-posix.c: Likewise.
40911         * tests/test-vprintf-posix.c: Likewise.
40912         * tests/test-vsnprintf-posix.c: Likewise.
40913         * tests/test-vsnprintf.c: Likewise.
40914         * tests/test-vsprintf-posix.c: Likewise.
40915         * tests/test-wchar.c: Likewise.
40916         * tests/test-wctype.c: Likewise.
40917         * tests/test-wcwidth.c: Likewise.
40918         * tests/test-xstrtol.c: Likewise.
40919         * tests/test-xvasprintf.c: Likewise.
40920         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40921         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40922         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40923         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40924         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40925         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40926         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40927         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40928         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40929         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40930         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40931         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40932         * tests/uniname/test-uninames.c: Likewise.
40933         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40934         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
40935         * tests/unistdio/test-u16-printf1.h: Likewise.
40936         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40937         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40938         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40939         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40940         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40941         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40942         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40943         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
40944         * tests/unistdio/test-u32-printf1.h: Likewise.
40945         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40946         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40947         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40948         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40949         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40950         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40951         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40952         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
40953         * tests/unistdio/test-u8-printf1.h: Likewise.
40954         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40955         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40956         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40957         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40958         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40959         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40960         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40961         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
40962         * tests/unistdio/test-ulc-printf1.h: Likewise.
40963         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40964         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40965         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40966         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40967         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40968         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40969         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40970         * tests/uniwidth/test-u16-width.c: Likewise.
40971         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40972         * tests/uniwidth/test-u32-width.c: Likewise.
40973         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40974         * tests/uniwidth/test-u8-width.c: Likewise.
40975         * tests/uniwidth/test-uc_width.c: Likewise.
40976         * config/srclist-update: Likewise.
40977         (fixlicense): Update to GPLv3+.
40978
40979         Change copyright notice from LGPLv2.1+ to LGPLv3+.
40980         * tests/test-tsearch.c: Change copyright notice.
40981
40982         Change copyright notice from LGPLv2.0+ to LGPLv3+.
40983         * lib/c-strcaseeq.h: Change copyright notice.
40984         * lib/streq.h: Likewise.
40985         * lib/uniconv.h: Likewise.
40986         * lib/uniconv/u-conv-from-enc.h: Likewise.
40987         * lib/uniconv/u-conv-to-enc.h: Likewise.
40988         * lib/uniconv/u-strconv-from-enc.h: Likewise.
40989         * lib/uniconv/u-strconv-to-enc.h: Likewise.
40990         * lib/uniconv/u16-conv-from-enc.c: Likewise.
40991         * lib/uniconv/u16-conv-to-enc.c: Likewise.
40992         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
40993         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
40994         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
40995         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
40996         * lib/uniconv/u32-conv-from-enc.c: Likewise.
40997         * lib/uniconv/u32-conv-to-enc.c: Likewise.
40998         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
40999         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
41000         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
41001         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
41002         * lib/uniconv/u8-conv-from-enc.c: Likewise.
41003         * lib/uniconv/u8-conv-to-enc.c: Likewise.
41004         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
41005         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
41006         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
41007         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
41008         * lib/uniname.h: Likewise.
41009         * lib/uniname/uniname.c: Likewise.
41010         * lib/unistdio.h: Likewise.
41011         * lib/unistdio/u-asnprintf.h: Likewise.
41012         * lib/unistdio/u-asprintf.h: Likewise.
41013         * lib/unistdio/u-printf-args.c: Likewise.
41014         * lib/unistdio/u-printf-args.h: Likewise.
41015         * lib/unistdio/u-printf-parse.h: Likewise.
41016         * lib/unistdio/u-snprintf.h: Likewise.
41017         * lib/unistdio/u-sprintf.h: Likewise.
41018         * lib/unistdio/u-vasprintf.h: Likewise.
41019         * lib/unistdio/u-vsnprintf.h: Likewise.
41020         * lib/unistdio/u-vsprintf.h: Likewise.
41021         * lib/unistdio/u16-asnprintf.c: Likewise.
41022         * lib/unistdio/u16-asprintf.c: Likewise.
41023         * lib/unistdio/u16-printf-parse.c: Likewise.
41024         * lib/unistdio/u16-snprintf.c: Likewise.
41025         * lib/unistdio/u16-sprintf.c: Likewise.
41026         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
41027         * lib/unistdio/u16-u16-asprintf.c: Likewise.
41028         * lib/unistdio/u16-u16-snprintf.c: Likewise.
41029         * lib/unistdio/u16-u16-sprintf.c: Likewise.
41030         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
41031         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
41032         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
41033         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
41034         * lib/unistdio/u16-vasnprintf.c: Likewise.
41035         * lib/unistdio/u16-vasprintf.c: Likewise.
41036         * lib/unistdio/u16-vsnprintf.c: Likewise.
41037         * lib/unistdio/u16-vsprintf.c: Likewise.
41038         * lib/unistdio/u32-asnprintf.c: Likewise.
41039         * lib/unistdio/u32-asprintf.c: Likewise.
41040         * lib/unistdio/u32-printf-parse.c: Likewise.
41041         * lib/unistdio/u32-snprintf.c: Likewise.
41042         * lib/unistdio/u32-sprintf.c: Likewise.
41043         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
41044         * lib/unistdio/u32-u32-asprintf.c: Likewise.
41045         * lib/unistdio/u32-u32-snprintf.c: Likewise.
41046         * lib/unistdio/u32-u32-sprintf.c: Likewise.
41047         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
41048         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
41049         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
41050         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
41051         * lib/unistdio/u32-vasnprintf.c: Likewise.
41052         * lib/unistdio/u32-vasprintf.c: Likewise.
41053         * lib/unistdio/u32-vsnprintf.c: Likewise.
41054         * lib/unistdio/u32-vsprintf.c: Likewise.
41055         * lib/unistdio/u8-asnprintf.c: Likewise.
41056         * lib/unistdio/u8-asprintf.c: Likewise.
41057         * lib/unistdio/u8-printf-parse.c: Likewise.
41058         * lib/unistdio/u8-snprintf.c: Likewise.
41059         * lib/unistdio/u8-sprintf.c: Likewise.
41060         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
41061         * lib/unistdio/u8-u8-asprintf.c: Likewise.
41062         * lib/unistdio/u8-u8-snprintf.c: Likewise.
41063         * lib/unistdio/u8-u8-sprintf.c: Likewise.
41064         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
41065         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
41066         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
41067         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
41068         * lib/unistdio/u8-vasnprintf.c: Likewise.
41069         * lib/unistdio/u8-vasprintf.c: Likewise.
41070         * lib/unistdio/u8-vsnprintf.c: Likewise.
41071         * lib/unistdio/u8-vsprintf.c: Likewise.
41072         * lib/unistdio/ulc-asnprintf.c: Likewise.
41073         * lib/unistdio/ulc-asprintf.c: Likewise.
41074         * lib/unistdio/ulc-printf-parse.c: Likewise.
41075         * lib/unistdio/ulc-snprintf.c: Likewise.
41076         * lib/unistdio/ulc-sprintf.c: Likewise.
41077         * lib/unistdio/ulc-vasnprintf.c: Likewise.
41078         * lib/unistdio/ulc-vasprintf.c: Likewise.
41079         * lib/unistdio/ulc-vsnprintf.c: Likewise.
41080         * lib/unistdio/ulc-vsprintf.c: Likewise.
41081         * lib/unistr.h: Likewise.
41082         * lib/unistr/u-cpy-alloc.h: Likewise.
41083         * lib/unistr/u-cpy.h: Likewise.
41084         * lib/unistr/u-endswith.h: Likewise.
41085         * lib/unistr/u-move.h: Likewise.
41086         * lib/unistr/u-set.h: Likewise.
41087         * lib/unistr/u-startswith.h: Likewise.
41088         * lib/unistr/u-stpcpy.h: Likewise.
41089         * lib/unistr/u-stpncpy.h: Likewise.
41090         * lib/unistr/u-strcat.h: Likewise.
41091         * lib/unistr/u-strcpy.h: Likewise.
41092         * lib/unistr/u-strcspn.h: Likewise.
41093         * lib/unistr/u-strdup.h: Likewise.
41094         * lib/unistr/u-strlen.h: Likewise.
41095         * lib/unistr/u-strncat.h: Likewise.
41096         * lib/unistr/u-strncpy.h: Likewise.
41097         * lib/unistr/u-strnlen.h: Likewise.
41098         * lib/unistr/u-strpbrk.h: Likewise.
41099         * lib/unistr/u-strspn.h: Likewise.
41100         * lib/unistr/u-strstr.h: Likewise.
41101         * lib/unistr/u-strtok.h: Likewise.
41102         * lib/unistr/u16-check.c: Likewise.
41103         * lib/unistr/u16-chr.c: Likewise.
41104         * lib/unistr/u16-cmp.c: Likewise.
41105         * lib/unistr/u16-cpy-alloc.c: Likewise.
41106         * lib/unistr/u16-cpy.c: Likewise.
41107         * lib/unistr/u16-endswith.c: Likewise.
41108         * lib/unistr/u16-mblen.c: Likewise.
41109         * lib/unistr/u16-mbsnlen.c: Likewise.
41110         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41111         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41112         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41113         * lib/unistr/u16-mbtouc.c: Likewise.
41114         * lib/unistr/u16-mbtoucr.c: Likewise.
41115         * lib/unistr/u16-move.c: Likewise.
41116         * lib/unistr/u16-next.c: Likewise.
41117         * lib/unistr/u16-prev.c: Likewise.
41118         * lib/unistr/u16-set.c: Likewise.
41119         * lib/unistr/u16-startswith.c: Likewise.
41120         * lib/unistr/u16-stpcpy.c: Likewise.
41121         * lib/unistr/u16-stpncpy.c: Likewise.
41122         * lib/unistr/u16-strcat.c: Likewise.
41123         * lib/unistr/u16-strchr.c: Likewise.
41124         * lib/unistr/u16-strcmp.c: Likewise.
41125         * lib/unistr/u16-strcpy.c: Likewise.
41126         * lib/unistr/u16-strcspn.c: Likewise.
41127         * lib/unistr/u16-strdup.c: Likewise.
41128         * lib/unistr/u16-strlen.c: Likewise.
41129         * lib/unistr/u16-strmblen.c: Likewise.
41130         * lib/unistr/u16-strmbtouc.c: Likewise.
41131         * lib/unistr/u16-strncat.c: Likewise.
41132         * lib/unistr/u16-strncmp.c: Likewise.
41133         * lib/unistr/u16-strncpy.c: Likewise.
41134         * lib/unistr/u16-strnlen.c: Likewise.
41135         * lib/unistr/u16-strpbrk.c: Likewise.
41136         * lib/unistr/u16-strrchr.c: Likewise.
41137         * lib/unistr/u16-strspn.c: Likewise.
41138         * lib/unistr/u16-strstr.c: Likewise.
41139         * lib/unistr/u16-strtok.c: Likewise.
41140         * lib/unistr/u16-to-u32.c: Likewise.
41141         * lib/unistr/u16-to-u8.c: Likewise.
41142         * lib/unistr/u16-uctomb-aux.c: Likewise.
41143         * lib/unistr/u16-uctomb.c: Likewise.
41144         * lib/unistr/u32-check.c: Likewise.
41145         * lib/unistr/u32-chr.c: Likewise.
41146         * lib/unistr/u32-cmp.c: Likewise.
41147         * lib/unistr/u32-cpy-alloc.c: Likewise.
41148         * lib/unistr/u32-cpy.c: Likewise.
41149         * lib/unistr/u32-endswith.c: Likewise.
41150         * lib/unistr/u32-mblen.c: Likewise.
41151         * lib/unistr/u32-mbsnlen.c: Likewise.
41152         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41153         * lib/unistr/u32-mbtouc.c: Likewise.
41154         * lib/unistr/u32-mbtoucr.c: Likewise.
41155         * lib/unistr/u32-move.c: Likewise.
41156         * lib/unistr/u32-next.c: Likewise.
41157         * lib/unistr/u32-prev.c: Likewise.
41158         * lib/unistr/u32-set.c: Likewise.
41159         * lib/unistr/u32-startswith.c: Likewise.
41160         * lib/unistr/u32-stpcpy.c: Likewise.
41161         * lib/unistr/u32-stpncpy.c: Likewise.
41162         * lib/unistr/u32-strcat.c: Likewise.
41163         * lib/unistr/u32-strchr.c: Likewise.
41164         * lib/unistr/u32-strcmp.c: Likewise.
41165         * lib/unistr/u32-strcpy.c: Likewise.
41166         * lib/unistr/u32-strcspn.c: Likewise.
41167         * lib/unistr/u32-strdup.c: Likewise.
41168         * lib/unistr/u32-strlen.c: Likewise.
41169         * lib/unistr/u32-strmblen.c: Likewise.
41170         * lib/unistr/u32-strmbtouc.c: Likewise.
41171         * lib/unistr/u32-strncat.c: Likewise.
41172         * lib/unistr/u32-strncmp.c: Likewise.
41173         * lib/unistr/u32-strncpy.c: Likewise.
41174         * lib/unistr/u32-strnlen.c: Likewise.
41175         * lib/unistr/u32-strpbrk.c: Likewise.
41176         * lib/unistr/u32-strrchr.c: Likewise.
41177         * lib/unistr/u32-strspn.c: Likewise.
41178         * lib/unistr/u32-strstr.c: Likewise.
41179         * lib/unistr/u32-strtok.c: Likewise.
41180         * lib/unistr/u32-to-u16.c: Likewise.
41181         * lib/unistr/u32-to-u8.c: Likewise.
41182         * lib/unistr/u32-uctomb.c: Likewise.
41183         * lib/unistr/u8-check.c: Likewise.
41184         * lib/unistr/u8-chr.c: Likewise.
41185         * lib/unistr/u8-cmp.c: Likewise.
41186         * lib/unistr/u8-cpy-alloc.c: Likewise.
41187         * lib/unistr/u8-cpy.c: Likewise.
41188         * lib/unistr/u8-endswith.c: Likewise.
41189         * lib/unistr/u8-mblen.c: Likewise.
41190         * lib/unistr/u8-mbsnlen.c: Likewise.
41191         * lib/unistr/u8-mbtouc-aux.c: Likewise.
41192         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41193         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41194         * lib/unistr/u8-mbtouc.c: Likewise.
41195         * lib/unistr/u8-mbtoucr.c: Likewise.
41196         * lib/unistr/u8-move.c: Likewise.
41197         * lib/unistr/u8-next.c: Likewise.
41198         * lib/unistr/u8-prev.c: Likewise.
41199         * lib/unistr/u8-set.c: Likewise.
41200         * lib/unistr/u8-startswith.c: Likewise.
41201         * lib/unistr/u8-stpcpy.c: Likewise.
41202         * lib/unistr/u8-stpncpy.c: Likewise.
41203         * lib/unistr/u8-strcat.c: Likewise.
41204         * lib/unistr/u8-strchr.c: Likewise.
41205         * lib/unistr/u8-strcmp.c: Likewise.
41206         * lib/unistr/u8-strcpy.c: Likewise.
41207         * lib/unistr/u8-strcspn.c: Likewise.
41208         * lib/unistr/u8-strdup.c: Likewise.
41209         * lib/unistr/u8-strlen.c: Likewise.
41210         * lib/unistr/u8-strmblen.c: Likewise.
41211         * lib/unistr/u8-strmbtouc.c: Likewise.
41212         * lib/unistr/u8-strncat.c: Likewise.
41213         * lib/unistr/u8-strncmp.c: Likewise.
41214         * lib/unistr/u8-strncpy.c: Likewise.
41215         * lib/unistr/u8-strnlen.c: Likewise.
41216         * lib/unistr/u8-strpbrk.c: Likewise.
41217         * lib/unistr/u8-strrchr.c: Likewise.
41218         * lib/unistr/u8-strspn.c: Likewise.
41219         * lib/unistr/u8-strstr.c: Likewise.
41220         * lib/unistr/u8-strtok.c: Likewise.
41221         * lib/unistr/u8-to-u16.c: Likewise.
41222         * lib/unistr/u8-to-u32.c: Likewise.
41223         * lib/unistr/u8-uctomb-aux.c: Likewise.
41224         * lib/unistr/u8-uctomb.c: Likewise.
41225         * lib/unitypes.h: Likewise.
41226         * lib/uniwidth.h: Likewise.
41227         * lib/uniwidth/cjk.h: Likewise.
41228         * lib/uniwidth/u16-strwidth.c: Likewise.
41229         * lib/uniwidth/u16-width.c: Likewise.
41230         * lib/uniwidth/u32-strwidth.c: Likewise.
41231         * lib/uniwidth/u32-width.c: Likewise.
41232         * lib/uniwidth/u8-strwidth.c: Likewise.
41233         * lib/uniwidth/u8-width.c: Likewise.
41234         * lib/uniwidth/width.c: Likewise.
41235
41236 2007-10-07  Bruno Haible  <bruno@clisp.org>
41237
41238         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
41239         The file is still under LGPL (see modules/inttypes).
41240
41241 2007-10-06  Bruno Haible  <bruno@clisp.org>
41242
41243         * modules/trunc (Dependencies): Add 'extensions'.
41244         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
41245         Reported by Ben Pfaff <blp@gnu.org>.
41246
41247 2007-10-06  Bruno Haible  <bruno@clisp.org>
41248
41249         * modules/freopen-tests: New file.
41250         * tests/test-freopen.c: New file.
41251
41252         * modules/fopen-tests: New file.
41253         * tests/test-fopen.c: New file.
41254
41255         * modules/fopen: New file.
41256         * lib/fopen.c: New file.
41257         * m4/fopen.m4: New file.
41258         * modules/freopen: New file.
41259         * lib/freopen.c: New file.
41260         * m4/freopen.m4: New file.
41261         * lib/stdio.in.h (fopen, freopen): New declarations.
41262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
41263         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
41264         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
41265         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
41266         * doc/functions/fopen.texi: Mention the 'fopen' module.
41267         * doc/functions/freopen.texi: Mention the 'freopen' module.
41268
41269 2007-10-06  Bruno Haible  <bruno@clisp.org>
41270
41271         * modules/open-tests: New file.
41272         * tests/test-open.c: New file.
41273
41274         * modules/open: New file.
41275         * lib/open.c: New file.
41276         * m4/open.m4: New file.
41277         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
41278         lib/open.c does.
41279         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
41280         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
41281         macros.
41282         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
41283         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
41284         REPLACE_OPEN.
41285         * doc/functions/open.texi: Mention the 'open' module.
41286
41287 2007-10-04  Bruno Haible  <bruno@clisp.org>
41288
41289         * modules/ceill-tests: New file.
41290         * tests/test-ceill.c: New file.
41291
41292         * modules/ceill: New file.
41293         * lib/ceill.c: Replace entire file.
41294         * m4/ceill.m4: New file.
41295         * lib/math.in.h (ceill): Replace declaration.
41296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
41297         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
41298         * doc/functions/ceill.texi: Mention the 'ceill' module.
41299         * modules/mathl (Files): Remove lib/ceill.c.
41300         (Depends-on): Add ceill.
41301
41302 2007-10-04  Bruno Haible  <bruno@clisp.org>
41303
41304         * modules/ceilf-tests: New file.
41305         * tests/test-ceilf.c: New file.
41306
41307         * modules/ceilf: New file.
41308         * lib/ceil.c: New file.
41309         * lib/ceilf.c: New file.
41310         * m4/ceilf.m4: New file.
41311         * lib/math.in.h (ceilf): New declaration.
41312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
41313         HAVE_DECL_CEILF.
41314         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
41315         HAVE_DECL_CEILF.
41316         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
41317
41318 2007-10-04  Bruno Haible  <bruno@clisp.org>
41319
41320         * modules/floorl-tests: New file.
41321         * tests/test-floorl.c: New file.
41322
41323         * modules/floorl: New file.
41324         * lib/floorl.c: Replace entire file.
41325         * m4/floorl.m4: New file.
41326         * lib/math.in.h (floorl): Replace declaration.
41327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
41328         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
41329         * doc/functions/floorl.texi: Mention the 'floorl' module.
41330         * modules/mathl (Files): Remove lib/floorl.c.
41331         (Depends-on): Add floorl.
41332
41333 2007-10-04  Bruno Haible  <bruno@clisp.org>
41334
41335         * modules/floorf-tests: New file.
41336         * tests/test-floorf.c: New file.
41337
41338         * modules/floorf: New file.
41339         * lib/floor.c: New file.
41340         * lib/floorf.c: New file.
41341         * m4/floorf.m4: New file.
41342         * lib/math.in.h (floorf): New declaration.
41343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
41344         HAVE_DECL_FLOORF.
41345         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
41346         HAVE_DECL_FLOORF.
41347         * doc/functions/floorf.texi: Mention the 'floorf' module.
41348
41349 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
41350             Bruno Haible  <bruno@clisp.org>
41351
41352         Advertise for the Git server instead of the CVS server.
41353         * doc/gnulib-intro.texi (Steady Development): Mention the Git
41354         repository instead of the CVS one.
41355         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
41356         about all VCS systems generically.
41357         * doc/gnulib.texi (Introduction): Capitalize `Git'.
41358
41359 2007-10-04  Bruno Haible  <bruno@clisp.org>
41360
41361         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
41362         means.
41363         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
41364
41365 2007-10-04  Bruno Haible  <bruno@clisp.org>
41366
41367         * modules/truncl-tests: New file.
41368         * tests/test-truncl.c: New file.
41369
41370         * modules/truncl: New file.
41371         * lib/truncl.c: New file.
41372         * m4/truncl.m4: New file.
41373         * lib/math.in.h (truncl): New declaration.
41374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
41375         HAVE_DECL_TRUNCL.
41376         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
41377         HAVE_DECL_TRUNCL.
41378         * doc/functions/truncl.texi: Mention the 'truncl' module.
41379
41380 2007-10-04  Bruno Haible  <bruno@clisp.org>
41381
41382         * modules/truncf-tests: New file.
41383         * tests/test-truncf.c: New file.
41384
41385         * modules/truncf: New file.
41386         * lib/trunc.c: Make paramerizable through USE_* macros.
41387         * lib/truncf.c: New file.
41388         * m4/truncf.m4: New file.
41389         * lib/math.in.h (truncf): New declaration.
41390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
41391         HAVE_DECL_TRUNCF.
41392         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
41393         HAVE_DECL_TRUNCF.
41394         * doc/functions/truncf.texi: Mention the 'truncf' module.
41395
41396 2007-10-03  Bruno Haible  <bruno@clisp.org>
41397
41398         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
41399         augmentation also for tests modules.
41400         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
41401         * modules/atexit-tests (Makefile.am): Likewise.
41402         * modules/binary-io-tests (Makefile.am): Likewise.
41403         * modules/c-strcase-tests (Makefile.am): Likewise.
41404         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
41405         * modules/canonicalize-tests (Makefile.am): Likewise.
41406         * modules/closein-tests (Makefile.am): Likewise.
41407         * modules/fprintf-posix-tests (Makefile.am): Likewise.
41408         * modules/freadahead-tests (Makefile.am): Likewise.
41409         * modules/fseek-tests (Makefile.am): Likewise.
41410         * modules/fseeko-tests (Makefile.am): Likewise.
41411         * modules/ftell-tests (Makefile.am): Likewise.
41412         * modules/ftello-tests (Makefile.am): Likewise.
41413         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
41414         * modules/isnanl-tests (Makefile.am): Likewise.
41415         * modules/lseek-tests (Makefile.am): Likewise.
41416         * modules/mbscasecmp-tests (Makefile.am): Likewise.
41417         * modules/mbscasestr-tests (Makefile.am): Likewise.
41418         * modules/mbschr-tests (Makefile.am): Likewise.
41419         * modules/mbscspn-tests (Makefile.am): Likewise.
41420         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
41421         * modules/mbspbrk-tests (Makefile.am): Likewise.
41422         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
41423         * modules/mbsrchr-tests (Makefile.am): Likewise.
41424         * modules/mbsspn-tests (Makefile.am): Likewise.
41425         * modules/mbsstr-tests (Makefile.am): Likewise.
41426         * modules/printf-posix-tests (Makefile.am): Likewise.
41427         * modules/snprintf-posix-tests (Makefile.am): Likewise.
41428         * modules/sprintf-posix-tests (Makefile.am): Likewise.
41429         * modules/tsearch-tests (Makefile.am): Likewise.
41430         * modules/uniname/uniname-tests (Makefile.am): Likewise.
41431         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
41432         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
41433         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
41434         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
41435         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
41436         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
41437         * modules/vprintf-posix-tests (Makefile.am): Likewise.
41438         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
41439         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
41440         * modules/xstrtoimax-tests (Makefile.am): Likewise.
41441         * modules/xstrtol-tests (Makefile.am): Likewise.
41442         * modules/xstrtoumax-tests (Makefile.am): Likewise.
41443         * modules/yesno-tests (Makefile.am): Likewise.
41444
41445 2007-10-03  Bruno Haible  <bruno@clisp.org>
41446
41447         * modules/trunc-tests: New file.
41448         * tests/test-trunc.c: New file.
41449
41450         * modules/trunc: New file.
41451         * lib/trunc.c: New file.
41452         * m4/trunc.m4: New file.
41453         * lib/math.in.h (trunc): New declaration.
41454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
41455         HAVE_DECL_TRUNC.
41456         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
41457         HAVE_DECL_TRUNC.
41458         * doc/functions/trunc.texi: Mention the 'trunc' module.
41459
41460 2007-10-03  Bruno Haible  <bruno@clisp.org>
41461
41462         * tests/test-fpending.c: New file, mostly copied
41463         from coreutils/lib/t-fpending.c.
41464         * modules/fpending-tests: New file.
41465
41466 2007-10-03  Bruno Haible  <bruno@clisp.org>
41467
41468         Port the stdio extensions to QNX (untested).
41469         * lib/fseterr.c (fseterr): Add support for QNX.
41470         * lib/fbufmode.c (fbufmode): Likewise.
41471         * lib/freadable.c (freadable): Likewise.
41472         * lib/fwritable.c (fwritable): Likewise.
41473         * lib/freading.c (freading): Likewise.
41474         * lib/fwriting.c (fwriting): Likewise.
41475         * lib/freadahead.c (freadahed): Likewise.
41476         * lib/fpurge.c (fpurge): Likewise.
41477         * lib/fseeko.c (rpl_fseeko): Likewise.
41478
41479 2007-10-03  Bruno Haible  <bruno@clisp.org>
41480             Jim Meyering  <jim@meyering.net>
41481             Eric Blake  <ebb9@byu.net>
41482
41483         * doc/relocatable.texi: Use @command instead of @program.
41484
41485 2007-10-02  Jim Meyering  <jim@meyering.net>
41486
41487         Perform one more "_.h" -> ".in.h" substitution.
41488         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
41489         instead of unistd_.h here, too.
41490
41491 2007-10-01  Bruno Haible  <bruno@clisp.org>
41492
41493         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
41494         Needed for the alloca-opt module.
41495
41496 2007-09-30  Bruno Haible  <bruno@clisp.org>
41497
41498         * lib/alloca.in.h: Renamed from lib/alloca_.h.
41499         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
41500         alloca_.h.
41501         * lib/argz.in.h: Renamed from lib/argz_.h.
41502         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
41503         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
41504         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
41505         byteswap_.h.
41506         * lib/dirent.in.h: Renamed from lib/dirent_.h.
41507         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
41508         dirent_.h.
41509         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
41510         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
41511         fcntl_.h.
41512         * lib/float.in.h: Renamed from lib/float_.h.
41513         * modules/float (Files, Makefile.am): Use float.in.h instead of
41514         float_.h.
41515         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
41516         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
41517         fnmatch_.h.
41518         * lib/getopt.in.h: Renamed from lib/getopt_.h.
41519         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
41520         getopt_.h.
41521         * lib/glob.in.h: Renamed from lib/glob_.h.
41522         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
41523         * lib/iconv.in.h: Renamed from lib/iconv_.h.
41524         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
41525         iconv_.h.
41526         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
41527         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
41528         inttypes_.h.
41529         * lib/locale.in.h: Renamed from lib/locale_.h.
41530         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
41531         locale_.h.
41532         * lib/math.in.h: Renamed from lib/math_.h.
41533         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
41534         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
41535         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
41536         of netinet_in_.h. Add dependency.
41537         * lib/poll.in.h: Renamed from lib/poll_.h.
41538         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
41539         * lib/search.in.h: Renamed from lib/search_.h.
41540         * modules/search (Files, Makefile.am): Use search.in.h instead of
41541         search_.h.
41542         * lib/signal.in.h: Renamed from lib/signal_.h.
41543         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
41544         _signal.h.
41545         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
41546         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
41547         stdbool_.h.
41548         * lib/stdint.in.h: Renamed from lib/stdint_.h.
41549         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
41550         stdint_.h.
41551         * lib/stdio.in.h: Renamed from lib/stdio_.h.
41552         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
41553         stdio_.h.
41554         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
41555         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
41556         stdlib_.h.
41557         * lib/string.in.h: Renamed from lib/string_.h.
41558         * modules/string (Files, Makefile.am): Use string.in.h instead of
41559         string_.h.
41560         * doc/gnulib-tool.texi (Initial import): Update.
41561         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
41562         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
41563         of sys_select_.h. Add dependency.
41564         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
41565         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
41566         of sys_socket_.h.
41567         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
41568         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
41569         sys_stat_.h.
41570         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
41571         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
41572         sys_time_.h.
41573         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
41574         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
41575         sysexits_.h.
41576         * lib/time.in.h: Renamed from lib/time_.h.
41577         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
41578         * lib/unistd.in.h: Renamed from lib/unistd_.h.
41579         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
41580         unistd_.h.
41581         * lib/wchar.in.h: Renamed from lib/wchar_.h.
41582         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
41583         wchar_.h.
41584         * lib/wctype.in.h: Renamed from lib/wctype_.h.
41585         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
41586         wctype_.h.
41587         * build-aux/bootstrap (slurp): Update.
41588         * lib/.cppi-disable: Update.
41589
41590 2007-09-30  Bruno Haible  <bruno@clisp.org>
41591
41592         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
41593         Needed on BeOS.
41594
41595 2007-09-30  Bruno Haible  <bruno@clisp.org>
41596
41597         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
41598
41599 2007-09-29  Bruno Haible  <bruno@clisp.org>
41600
41601         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
41602
41603 2007-09-29  Bruno Haible  <bruno@clisp.org>
41604
41605         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
41606         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
41607         * build-aux/install-reloc: Compile also areadlink.c.
41608         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
41609
41610 2007-09-29  Bruno Haible  <bruno@clisp.org>
41611
41612         * gnulib-tool (func_emit_initmacro_done): Indentation.
41613
41614 2007-09-29  Bruno Haible  <bruno@clisp.org>
41615
41616         * README: Add CVS checkout update instructions.
41617         Info from Bob Proulx <bob@proulx.com>.
41618
41619 2007-09-28  Eric Blake  <ebb9@byu.net>
41620
41621         Provide move-if-change.
41622         * build-aux/move-if-change: New file, based on best practice
41623         rather than any canonical upstream location.
41624
41625 2007-09-28  Jim Meyering  <jim@meyering.net>
41626
41627         Fix canonicalize loop-detection corner case.
41628         Do not attempt to stat the symlink values stored via seen_triple.
41629         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
41630         on linux-2.6.18, (but not 2.6.22).
41631         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
41632         triple_compare.  The former compares dev,ino,filename, while the latter
41633         would actually stat dirname(filename) when dev and ino were equal.
41634         * lib/hash-triple.c: Install <string.h>.
41635         (STREQ): Define.
41636         (triple_compare_ino_str): New function.
41637         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
41638
41639 2007-09-28  Eric Blake  <ebb9@byu.net>
41640
41641         Enforce that AC_REPLACE_FUNCS files exist.
41642         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
41643         override check for typos.
41644
41645         Fix test-closein on Solaris 10.
41646         * tests/test-closein.c (main): Don't assume stdin can be inherited
41647         closed on all systems.
41648         * tests/test-closein.sh: Likewise.
41649         Reported by Piotr Tarnowski.
41650
41651 2007-09-28  Jim Meyering  <jim@meyering.net>
41652
41653         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
41654
41655 2007-09-27  Jim Meyering  <jim@meyering.net>
41656
41657         canonicalize: Avoid a false-positive cycle failure.
41658         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
41659         Sort.  Remove cycle-check.
41660         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
41661         not cycle-check.h.
41662         (seen_triple): New function.
41663         (canonicalize_filename_mode): Use it instead of cycle-check.
41664         * tests/test-canonicalize.c: Add a test for this bug.
41665         * tests/test-canonicalize.sh: Set up and run the test.
41666
41667         New module, file-set, from coreutils.
41668         * modules/file-set: Define it.
41669         * lib/file-set.c, lib/file-set.h: Implement.
41670
41671         New module, hash-triple, from coreutils.
41672         * modules/hash-triple: Define it.
41673         * lib/hash-triple.c, lib/hash-triple.h: Implement.
41674
41675 2007-09-25  Eric Blake  <ebb9@byu.net>
41676
41677         Fix strerror on Interix.
41678         * lib/string_.h (strerror): Declare replacement.
41679         * doc/functions/strerror.texi (strerror): Document the Interix
41680         shortcoming.
41681         * modules/string (Makefile.am): Support new hooks.
41682         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
41683         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
41684         gl_FUNC_STRERROR_SEPARATE.
41685         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
41686         * lib/strerror.c (rpl_strerror): Provide replacement.
41687         * modules/strerror (Depends-on): Add string.
41688         (configure.ac): Detect use of module.
41689         * tests/test-strerror.c: New file.
41690         * modules/strerror-tests: New test module.
41691         * modules/argp (Depends-on): Add strerror.
41692         * modules/error (Depends-on): Likewise.
41693         Reported by Martin Koeppe.
41694
41695 2007-09-24  Bruno Haible  <bruno@clisp.org>
41696
41697         * README: Update git instructions.
41698
41699 2007-09-24  Eric Blake  <ebb9@byu.net>
41700
41701         Revert fpending breakage from 2007-09-08.
41702         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
41703         __fpending.c.
41704
41705 2007-09-24  Jim Meyering  <jim@meyering.net>
41706
41707         filenamecat.c: Add a test.
41708         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
41709         showing how the function works when DIR is the empty string.
41710
41711 2007-09-21  Simon Josefsson  <simon@josefsson.org>
41712
41713         * tests/test-canonicalize.sh: Turn on executable bit.
41714
41715 2007-09-19  Eric Blake  <ebb9@byu.net>
41716
41717         * README: Update CVS instructions.
41718
41719 2007-09-18  Bruno Haible  <bruno@clisp.org>
41720
41721         * modules/areadlink: New file.
41722         * lib/areadlink.h (areadlink): New declaration.
41723         * lib/areadlink.c: New file, based on lib/xreadlink.c.
41724
41725 2007-09-17  Jim Meyering  <jim@meyering.net>
41726
41727         * lib/savewd.c (ESTALE) [!defined]: Define.
41728         Reported to be required on Interix by Martin Koeppe.
41729
41730 2007-09-17  Bruno Haible  <bruno@clisp.org>
41731
41732         * gnulib-tool (func_version): Use $version.
41733
41734 2007-09-16  Bruno Haible  <bruno@clisp.org>
41735
41736         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
41737         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
41738         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
41739         Reported by Greg Schafer <gschafer@zip.com.au>.
41740
41741 2007-09-15  Bruno Haible  <bruno@clisp.org>
41742
41743         * gnulib-tool (sed): Try a little harder to make bash understand the
41744         alias.
41745         Reported by Bruce Korb <bruce.korb@gmail.com>.
41746
41747 2007-09-13  Eric Blake  <ebb9@byu.net>
41748
41749         * ChangeLog: Remove conflict markers.
41750
41751 2007-09-13  Simon Josefsson  <simon@josefsson.org>
41752
41753         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
41754         Reported by Bruno Haible <bruno@clisp.org>.
41755
41756 2007-09-12  Bruno Haible  <bruno@clisp.org>
41757
41758         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
41759         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
41760         is not defined.
41761
41762 2007-09-12  Eric Blake  <ebb9@byu.net>
41763
41764         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
41765         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
41766         Autoconf definition.
41767         * modules/euidaccess (Depends-on): Add extensions, for
41768         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
41769         * modules/fnmatch (Depends-on): Likewise.
41770         * modules/getaddrinfo (Depends-on): Likewise.
41771         * modules/getdelim (Depends-on): Likewise.
41772         * modules/getline (Depends-on): Likewise.
41773         * modules/getsubopt (Depends-on): Likewise.
41774         * modules/gettext (Depends-on): Likewise.
41775         * modules/group-member (Depends-on): Likewise.
41776         * modules/mbchar (Depends-on): Likewise.
41777         * modules/memmem (Depends-on): Likewise.
41778         * modules/mempcpy (Depends-on): Likewise.
41779         * modules/memrchr (Depends-on): Likewise.
41780         * modules/pagealign_alloc (Depends-on): Likewise.
41781         * modules/readutmp (Depends-on): Likewise.
41782         * modules/stpcpy (Depends-on): Likewise.
41783         * modules/stpncpy (Depends-on): Likewise.
41784         * modules/strchrnul (Depends-on): Likewise.
41785         * modules/strndup (Depends-on): Likewise.
41786         * modules/strsep (Depends-on): Likewise.
41787         * modules/strverscmp (Depends-on): Likewise.
41788         * modules/vasprintf (Depends-on): Likewise.
41789         * modules/wcwidth (Depends-on): Likewise.
41790         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
41791         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
41792         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
41793         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
41794         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41795         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41796         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
41797         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
41798         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
41799         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
41800         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41801         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
41802         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
41803         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
41804         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
41805         * m4/readutmp.m4 (gl_READUTMP): Likewise.
41806         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41807         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
41808         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
41809         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
41810         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41811         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
41812         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
41813         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
41814         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
41815         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41816         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
41817         so that lock.m4 can be used in gettext without extensions module.
41818
41819 2007-09-11  Bruno Haible  <bruno@clisp.org>
41820
41821         * m4/isc-posix.m4: Remove file.
41822         Suggested by Eric Blake.
41823
41824 2007-09-11  Eric Blake  <ebb9@byu.net>
41825
41826         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
41827
41828 2007-09-10  Bruno Haible  <bruno@clisp.org>
41829
41830         * posix-modules: Fix typo in error message.
41831         Reported by Matt <mkraai@beckman.com>.
41832
41833 2007-09-09  Bruno Haible  <bruno@clisp.org>
41834
41835         * doc/functions/getdelim.texi: Update list of platforms lacking the
41836         function.
41837         * doc/functions/getline.texi: Likewise.
41838
41839 2007-09-09  Jim Meyering  <jim@meyering.net>
41840
41841         * lib/hash.c (hash_initialize): Detect calloc failure.
41842         Reported by Bruno Haible.
41843
41844 2007-09-09  Bruno Haible  <bruno@clisp.org>
41845
41846         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
41847         malloc or realloc fails.
41848
41849 2007-09-09  Bruno Haible  <bruno@clisp.org>
41850
41851         * modules/getcwd (Depends-on): Add malloc-posix.
41852         * modules/glob (Depends-on): Likewise.
41853         * modules/putenv (Depends-on): Likewise.
41854         * modules/strdup (Depends-on): Likewise.
41855         * modules/getdelim (Depends-on): Add realloc-posix.
41856         * modules/read-file (Depends-on): Likewise.
41857
41858 2007-09-09  Bruno Haible  <bruno@clisp.org>
41859
41860         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
41861         (gl_FUNC_MALLOC_POSIX): Require it.
41862         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
41863         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
41864         * modules/realloc (Files): Add m4/malloc.m4.
41865         * modules/calloc (Files): Likewise.
41866
41867 2007-09-09  Bruno Haible  <bruno@clisp.org>
41868
41869         * modules/malloc-posix: New file.
41870         * modules/malloc (Depends-on): Add malloc-posix.
41871         * lib/malloc.c: Include errno.h.
41872         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
41873         and a POSIX-compatible malloc into a single function. Set ENOMEM
41874         when returning NULL.
41875         * m4/malloc.m4: New file.
41876         * doc/functions/malloc.texi: Mention the malloc-posix module.
41877         * lib/stdlib_.h (malloc): New declaration.
41878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
41879         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
41880         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
41881         and HAVE_MALLOC_POSIX.
41882
41883 2007-09-09  Bruno Haible  <bruno@clisp.org>
41884
41885         * modules/realloc-posix: New file.
41886         * modules/realloc (Depends-on): Add realloc-posix.
41887         * lib/realloc.c: Include errno.h.
41888         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
41889         and a POSIX-compatible realloc into a single function. Set ENOMEM
41890         when returning NULL.
41891         * m4/realloc.m4: New file.
41892         * doc/functions/realloc.texi: Mention the realloc-posix module.
41893         * lib/stdlib_.h (realloc): New declaration.
41894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
41895         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
41896         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
41897         and HAVE_REALLOC_POSIX.
41898
41899 2007-09-09  Bruno Haible  <bruno@clisp.org>
41900
41901         * modules/calloc-posix: New file.
41902         * modules/calloc (Depends-on): Add calloc-posix.
41903         * lib/calloc.c: Include errno.h.
41904         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
41905         and a POSIX-compatible calloc into a single function. Set ENOMEM
41906         when returning NULL.
41907         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
41908         * doc/functions/calloc.texi: Mention the calloc-posix module.
41909         * lib/stdlib_.h (calloc): New declaration.
41910         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
41911         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
41912         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
41913         and HAVE_CALLOC_POSIX.
41914
41915 2007-09-09  Bruno Haible  <bruno@clisp.org>
41916
41917         Allow for modules to show an arbitrary notice.
41918         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
41919         * gnulib-tool: New option --extract-notice.
41920         (func_usage): Document it.
41921         (sed_extract_prog): Update.
41922         (func_get_notice): New function.
41923         (func_modules_notice): New function.
41924         (func_import, func_create_testdir): Invoke it.
41925         Suggested by Jim Meyering.
41926
41927 2007-09-09  Bruno Haible  <bruno@clisp.org>
41928
41929         * gnulib-tool: New options --verbose, --quiet.
41930         (func_usage): Document them.
41931         (verbose): New variable.
41932         (func_execute_command): New function.
41933         (func_import): Don't show the module list and the file list if
41934         $verbose < 0.
41935         (func_create_testdir): Likewise. Use func_execute_command.
41936         (func_create_megatestdir): Use func_execute_command.
41937
41938 2007-09-08  Bruno Haible  <bruno@clisp.org>
41939
41940         * gnulib-tool (func_import): Prefer rsync over wget when available,
41941         for fetching the PO files.
41942
41943 2007-09-08  Bruno Haible  <bruno@clisp.org>
41944
41945         * posix-modules: New file. Portions copied from gnulib-tool.
41946         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
41947
41948 2007-09-08  Jim Meyering  <jim@meyering.net>
41949
41950         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
41951         * lib/fpending.h: Rename from __fpending.h.
41952         * lib/fpending.c: Rename from __fpending.c.
41953         Include "fpending.h", not "__fpending.h".
41954         * lib/__fpending.h, lib/__fpending.c: Remove files.
41955         * modules/fpending (Files): Reflect new file names.
41956         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
41957
41958 2007-09-08  Bruno Haible  <bruno@clisp.org>
41959
41960         * m4/inttypes-h.m4: Remove stub file.
41961
41962 2007-09-07  Simon Josefsson  <simon@josefsson.org>
41963
41964         * doc/headers/stdint.texi: Discuss #include_next issue.
41965
41966 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41967
41968         * build-aux/bootstrap: Remove obsolete comment about wget --help.
41969
41970 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41971
41972         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
41973         in variable name.
41974
41975 2007-09-03  Jim Meyering  <jim@meyering.net>
41976
41977         New module: git-version-gen.
41978         * modules/git-version-gen: New file.
41979
41980         Import changes from coreutils for bootstrap script.
41981
41982         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
41983
41984         bootstrap: uses rsync to download the .po files
41985         * build-aux/bootstrap (po_download_command_format): New global.
41986         (download_po_files): Use rsync.
41987         (update_po_files): Don't remove .po files after download,
41988         so future rsync runs can take advantage of the copies.
41989
41990         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
41991
41992         Solve the unnecessary-.po-file-regeneration problem once and for all.
41993         * build-aux/bootstrap (download_po_files): New function, renamed from
41994         get_translations.  Now, downloads, but doesn't update LINGUAS.
41995         (update_po_files): New function.
41996
41997         bootstrap: Ignore more.
41998         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
41999         uniwidth to e.g., lib/.gitignore.
42000         (slurp): Handle the sys_stat_.h -> sys mapping, too.
42001
42002         * build-aux/bootstrap: New setting: vc_ignore.
42003         (insert_sorted_if_absent): Create $file if absent.
42004         Adapt to new, possibly empty, list: $vc_ignore.
42005
42006         bootstrap: generate more ignorable names
42007         * build-aux/bootstrap (slurp): When generating ignorable names,
42008         also map .sin to .sed, .gperf to .c, and .y to .c.
42009
42010 2007-09-03  Jim Meyering  <jim@meyering.net>
42011
42012         * build-aux/git-version-gen: New file, from coreutils.  For details, see
42013         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
42014
42015 2007-09-02  Bruno Haible  <bruno@clisp.org>
42016
42017         Fix mis-recognition of 'mcs' on QNX 6.
42018         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
42019         output contains the string "Mono".
42020         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
42021         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
42022
42023 2007-09-01  Bruno Haible  <bruno@clisp.org>
42024
42025         Fix collision between uniwidth/* and linebreak modules.
42026         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
42027         u32_width): Remove declarations.
42028         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
42029         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
42030         streq3, streq2, streq1, streq0): Remove functions.
42031         (STREQ): Remove macro.
42032         (is_cjk_encoding): Remove function.
42033         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
42034         (uc_width, u8_width, u16_width, u32_width): Remove functions.
42035         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
42036         * NEWS: Document the change.
42037
42038 2007-09-01  Bruno Haible  <bruno@clisp.org>
42039
42040         * lib/streq.h: Add double-inclusion guard.
42041
42042 2007-09-01  Karl Berry  <karl@gnu.org>
42043
42044         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
42045
42046 2007-08-28  Jim Meyering  <jim@meyering.net>
42047
42048         Rename mreadlink_with_size to areadlink_with_size.
42049         * NEWS: Document the change.
42050         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
42051         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
42052         * lib/mreadlink.h: Rename this to...
42053         * lib/areadlink.h: ...this.
42054         * modules/mreadlink-with-size: Rename this to...
42055         * modules/areadlink-with-size: ...this.
42056         * lib/canonicalize.c: Reflect the renaming.
42057         * modules/canonicalize: Likewise.
42058
42059 2007-08-26  Bruno Haible  <bruno@clisp.org>
42060
42061         * gnulib-tool (func_import): When deciding which files to remove,
42062         consider also dangling symbolic links.
42063         Reported by Eric Blake.
42064
42065 2007-08-26  Bruno Haible  <bruno@clisp.org>
42066
42067         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
42068
42069 2007-08-23  Simon Josefsson  <simon@josefsson.org>
42070
42071         * lib/readline.c: Don't include getline.h, the prototype is now
42072         found in stdio.h.
42073
42074 2007-08-23  Jim Meyering  <jim@meyering.net>
42075
42076         Getdelim touchup.
42077         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
42078         around the funlockfile call, since funlockfile never sets errno.
42079         Don't set errno upon failed realloc.
42080
42081 2007-08-22  Eric Blake  <ebb9@byu.net>
42082
42083         Getline touchups.
42084         * lib/getdelim.c (getdelim): Revert regression that required *n to
42085         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
42086         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
42087         getdelim, rather than whether implementation is missing.
42088         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
42089         * lib/stdio_.h (getline): Also declare if replacement is
42090         required.
42091         * doc/functions/getdelim.texi: New file.
42092         * doc/functions/getline.texi: Likewise.
42093         * doc/gnulib.texi (Function Substitutes): Add new files.
42094         Reported by Bruno Haible.
42095
42096 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
42097
42098         * users.txt: Add Guile.
42099
42100 2007-08-22  Eric Blake  <ebb9@byu.net>
42101
42102         * tests/test-getdelim.c (main): Use remove, not unlink.
42103         * tests/test-getline.c (main): Likewise.
42104
42105         Move getline and getdelim into stdio.h, per POSIX 200x.
42106         * modules/getline (Files): Remove getline.h.
42107         (Depends-on): Add stdio.
42108         (configure.ac): Add module indicator.
42109         * modules/getdelim (Files): Remove getdelim.h.
42110         (Depends-on): Add stdio.
42111         (configure.ac): Add module indicator.
42112         * modules/stdio (Makefile.am): Work with new indicators.
42113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42114         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
42115         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42116         * lib/getdelim.h: Delete.
42117         * lib/getline.h: Delete.
42118         * lib/stdio_.h (getdelim, getline): Declare.
42119         * modules/getdelim-tests: New module.
42120         * modules/getline-tests: Likewise.
42121         * tests/test-getdelim.c: New file.
42122         * tests/test-getline.c: Likewise.
42123         * NEWS: Document the change.
42124         * lib/getline.c: Update choice of header.
42125         * lib/csharpcomp.c: Likewise.
42126         * lib/getpass.c: Likewise.
42127         * lib/javacomp.c: Likewise.
42128         * lib/javaversion.c: Likewise.
42129         * lib/yesno.c: Likewise.
42130         * lib/getdelim.c: Likewise.
42131         (getdelim): Set errno on failure, and avoid memory leak.
42132
42133 2007-08-19  Bruno Haible  <bruno@clisp.org>
42134
42135         * modules/closein (Depends-on): Add freadahead.
42136         * lib/closein.c: Include freadahead.h.
42137         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
42138         is zero.
42139
42140 2007-08-19  Bruno Haible  <bruno@clisp.org>
42141
42142         * modules/freadahead-tests: New file.
42143         * tests/test-freadahead.sh: New file.
42144         * tests/test-freadahead.c: New file.
42145
42146         * modules/freadahead: New file.
42147         * lib/freadahead.h: New file.
42148         * lib/freadahead.c: New file.
42149         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
42150         fbufmode, fpurge, freadable, fwritable.
42151
42152 2007-08-19  Eric Blake  <ebb9@byu.net>
42153
42154         Test yesno in combination with closein.
42155         * lib/yesno.c (yesno): Document use of stdin.
42156         * modules/yesno-tests (Files): New module.
42157         * tests/test-yesno.c (main): New file.
42158         * tests/test-yesno.sh: Likewise.
42159
42160 2007-08-19  Bruno Haible  <bruno@clisp.org>
42161
42162         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
42163         * lib/fseeko.c (rpl_fseeko): Likewise.
42164         * lib/fseterr.c (fseterr): Likewise.
42165
42166 2007-08-19  Bruno Haible  <bruno@clisp.org>
42167
42168         * tests/test-lseek.c (main): Disable a test for BeOS.
42169         * doc/functions/lseek.texi: Document the BeOS bug.
42170
42171 2007-08-19  Bruno Haible  <bruno@clisp.org>
42172             Eric Blake  <ebb9@byu.net>
42173
42174         * lib/lseek.c: Include <sys/stat.h>.
42175         (rpl_lseek): Add workaround code also for Unix platforms.
42176         Needed for BeOS.
42177         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
42178         * doc/functions/lseek.texi: Document BeOS definiency.
42179
42180 2007-08-18  Bruno Haible  <bruno@clisp.org>
42181
42182         * modules/fstrcmp-tests: New file.
42183         * tests/test-fstrcmp.c: New file.
42184
42185 2007-08-18  Bruno Haible  <bruno@clisp.org>
42186
42187         * modules/fstrcmp: New file, from GNU gettext with modifications.
42188         * lib/fstrcmp.h: New file, from GNU gettext.
42189         * lib/fstrcmp.c: New file, from GNU gettext.
42190         * MODULES.html.sh (String handling): Add fstrcmp.
42191
42192 2007-08-18  Bruno Haible  <bruno@clisp.org>
42193
42194         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
42195         'bool'.
42196         (diag, compareseq): Remove const from the ctxt argument.
42197         (USE_HEURISTIC): Undefine at the end.
42198
42199 2007-08-18  Jim Meyering  <jim@meyering.net>
42200
42201         New file: lib/idcache.h
42202         * NEWS: Mention the addition.
42203         * modules/idcache (Files): Add lib/idcache.h
42204         * lib/idcache.c: Include "idcache.h".
42205         Don't include <sys/types.h>.
42206         Add a FIXME comment.
42207         Move file-scoped "static" declarations to the top.
42208         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
42209
42210 2007-08-17  Bruno Haible  <bruno@clisp.org>
42211         and Paul Eggert  <eggert@cs.ucla.edu>
42212
42213         * MODULES.html.sh: Add diffseq.
42214         * modules/diffseq: New file.
42215         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
42216         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
42217
42218 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42219
42220         Import changes from coreutils for bootstrap script.
42221
42222         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
42223
42224         * build-aux/bootstrap (slurp): Work even in environments where
42225         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
42226         current code does not slurp files whose names start with ".", and
42227         this looks like it might be a troublesome area.
42228
42229         2007-07-11  Jim Meyering  <jim@meyering.net>
42230
42231         If there's a GPL vN copyright comment, require that N == 3.
42232
42233         2007-07-08  Jim Meyering  <jim@meyering.net>
42234
42235         Run the coreutils-specific code only if tests/Makefile.am.in exists.
42236         * build-aux/bootstrap (mam_template): Move definition out of loop.
42237
42238         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
42239
42240         * build-aux/bootstrap (symlink_to_dir): Rename function from
42241         symlink_to_gnulib.  Add a directory parameter.  Update all
42242         callers.
42243         (cp_mark_as_generated): Also check for -- and link to -- files in
42244         gl/.
42245
42246         2007-07-08  Jim Meyering  <jim@meyering.net>
42247
42248         Adapt to deeper hierarchy in gnulib.
42249         * build-aux/bootstrap (symlink_to_dir): If the destination
42250         directory doesn't exist, create it. This is required at least for
42251         "lib/uniwidth/cjk.h".
42252
42253         2007-05-15  Jim Meyering  <jim@meyering.net>
42254
42255         * build-aux/bootstrap: Now that generated Makefile.am files
42256         are no longer under version control, they must be created at
42257         bootstrap time.
42258
42259 2007-08-14  Ben Pfaff  <blp@gnu.org>
42260
42261         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
42262
42263 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42264
42265         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
42266         given the changes below.
42267         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
42268         even on hosts that have padding bits beyond the supported 64.
42269
42270 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42271
42272         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
42273         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
42274         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
42275         depends on it.
42276         (xstrtol_error): Remove.
42277         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
42278         but with a different signature.
42279         (ATTRIBUTE_NORETURN, __attribute__): New macros.
42280         * lib/xstrtol-error.c: Include exitfail.h.
42281         (xstrtol_fatal): New function, with a different signature from the
42282         old xstrtol_error, so that the caller need not worry about passing
42283         in an exit status, or about storage management of the option argument.
42284         (xstrtol_error): Now a static function.  Redo signature to
42285         implement xstrtol_fatal.  Output the correct number of hyphens in
42286         front of the option so that the caller need not worry about
42287         storage management.
42288         (N_): New macro.
42289         (_): Remove; not used now.
42290         * modules/xstrtol: Depend on getopt.
42291         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
42292         of old STRTOL_FATAL_ERROR macro.
42293         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
42294         of test program.
42295         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
42296         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
42297
42298 2007-08-08  Eric Blake  <ebb9@byu.net>
42299
42300         * lib/xstrtol-error.c: Add missing include.
42301
42302         Move xstrtol messages into gnulib domain, when --pobase is used.
42303         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
42304         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
42305         * modules/xstrtol (Files): Distribute new file.
42306         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
42307         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
42308         * tests/test-xstrtol.c: ...into new file.
42309         * tests/test-xstrtoul.c: Also test xstrtoul.
42310         * tests/test-xstrtoimax.c: Also test xstrtoimax.
42311         * tests/test-xstrtoumax.c: Also test xstrtoumax.
42312         * tests/test-xstrtol.sh: Drive the tests.
42313         * tests/test-xstrtoimax.sh: Likewise.
42314         * tests/test-xstrtoumax.sh: Likewise.
42315         * modules/xstrtol-tests: New module.
42316         * modules/xstrtoimax-tests: Likewise.
42317         * modules/xstrtoumax-tests: Likewise.
42318
42319 2007-08-08  Jim Meyering  <jim@meyering.net>
42320
42321         New function: mfile_name_concat.
42322         * lib/filenamecat.c (mfile_name_concat): New function, just like
42323         file_name_concat, but return NULL upon failure rather than exiting
42324         with a diagnostic.
42325         * lib/filenamecat.h: Declare it.
42326
42327 2007-08-07  Bruno Haible  <bruno@clisp.org>
42328
42329         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
42330         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
42331         warning from gcc.
42332         Reported by Eric Blake.
42333
42334 2007-08-07  Simon Josefsson  <simon@josefsson.org>
42335
42336         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
42337         * modules/crypto/arcfour (License): Likewise.
42338         * modules/crypto/des-tests (License): Likewise.
42339         * modules/crypto/gc-arctwo-tests (License): Likewise.
42340         * modules/crypto/gc-des-tests (License): Likewise.
42341         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
42342         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
42343         * modules/crypto/gc-md2-tests (License): Likewise.
42344         * modules/crypto/gc-md4-tests (License): Likewise.
42345         * modules/crypto/gc-md5-tests (License): Likewise.
42346         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
42347         * modules/crypto/gc-rijndael-tests (License): Likewise.
42348         * modules/crypto/gc-sha1-tests (License): Likewise.
42349         * modules/crypto/gc-tests (License): Likewise.
42350         * modules/crypto/hmac-md5 (License): Likewise.
42351         * modules/crypto/hmac-sha1 (License): Likewise.
42352         * modules/crypto/md2-tests (License): Likewise.
42353         * modules/crypto/md4-tests (License): Likewise.
42354         * modules/crypto/md5 (License): Likewise.
42355         * modules/crypto/rijndael (License): Likewise.
42356         * modules/crypto/sha1 (License): Likewise.
42357         * modules/memxor (License): Likewise.
42358
42359 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
42360         and Bruno Haible  <bruno@clisp.org>
42361
42362         * NEWS: Describe interface changes to human, xstrtol.
42363         * lib/human.h: Include <xstrtol.h>.
42364         (human_options): Return enum strtol_error, not int.  Remove
42365         bool arg; take int * instead.
42366         * lib/human.c: Don't include "gettext.h".
42367         (_): Remove; no longer used.
42368         Don't include <xstrtol.h>, since human.h does it.
42369         (human_options): Adjust to abovementioned interface changes.
42370         Do not report error to stderr; that's now the caller's
42371         responsibility.
42372         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
42373         interface change.
42374         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
42375         Str, Argument_type_string.  All uses changed.  Put " argument"
42376         in diagnostics to make them clearer.  Change wording of suffix
42377         message for clarity.
42378         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
42379         Argument_type_string.
42380         (STRTOL_FATAL_WARN): Remove; no longer used.
42381         * modules/human (Depends-on): Remove gettext-h.
42382
42383 2007-08-06  Simon Josefsson  <simon@josefsson.org>
42384
42385         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
42386
42387 2007-07-31  Bruno Haible  <bruno@clisp.org>
42388
42389         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
42390         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
42391         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
42392
42393 2007-07-31  Bruno Haible  <bruno@clisp.org>
42394
42395         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
42396         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
42397
42398 2007-07-30  Bruno Haible  <bruno@clisp.org>
42399
42400         * modules/base64 (License): Use the synonymous term "LGPLv2+".
42401         * modules/c-ctype (License): Likewise.
42402         * modules/c-strcase (License): Likewise.
42403         * modules/check-version (License): Likewise.
42404         * modules/iconv (License): Likewise.
42405         * modules/iconv_open (License): Likewise.
42406         * modules/read-file (License): Likewise.
42407         * modules/striconv (License): Likewise.
42408         * modules/strverscmp (License): Likewise.
42409         * modules/vasprintf (License): Likewise.
42410         * modules/crypto/des (License): Likewise.
42411         * modules/crypto/gc (License): Likewise.
42412         * modules/crypto/gc-arcfour (License): Likewise.
42413         * modules/crypto/gc-arctwo (License): Likewise.
42414         * modules/crypto/gc-des (License): Likewise.
42415         * modules/crypto/gc-hmac-md5 (License): Likewise.
42416         * modules/crypto/gc-hmac-sha1 (License): Likewise.
42417         * modules/crypto/gc-md2 (License): Likewise.
42418         * modules/crypto/gc-md4 (License): Likewise.
42419         * modules/crypto/gc-md5 (License): Likewise.
42420         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
42421         * modules/crypto/gc-random (License): Likewise.
42422         * modules/crypto/gc-rijndael (License): Likewise.
42423         * modules/crypto/gc-sha1 (License): Likewise.
42424         * modules/crypto/md2 (License): Likewise.
42425         * modules/crypto/md4 (License): Likewise.
42426
42427 2007-07-30  Jim Meyering  <jim@meyering.net>
42428
42429         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
42430         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
42431         it has valid stat data.  This bug would cause du not to count the
42432         sizes of inaccessible directories.
42433         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
42434         in <http://bugzilla.redhat.com/250077>.
42435
42436 2007-07-25  Peter O'Gorman  <peter@pogma.com>
42437             Bruno Haible  <bruno@clisp.org>
42438
42439         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
42440         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
42441         #include_next, gives a diagnostic about it, but reports no error in
42442         the exit code.
42443         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
42444
42445 2007-07-24  Ben Pfaff  <blp@gnu.org>
42446
42447         Improve name: "count-one-bits" is better than "popcount".
42448         * MODULES.html.sh: Update name.
42449         * lib/popcount.h: Renamed lib/count-one-bits.h.
42450         (popcount): Renamed count_one_bits.
42451         (popcountl): Renamed count_one_bits_l.
42452         (popcountll): Renamed count_one_bits_ll.
42453         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
42454         * modules/popcount: Renamed module/count-one-bits.
42455         * modules/popcount-tests: Renamed module/count-one-bits-tests.
42456         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
42457
42458 2007-07-23  Ben Pfaff  <blp@gnu.org>
42459
42460         * lib/popcount.h (popcount32): Reduce size of constants, to allow
42461         better code generation, and add U to large constants to avoid
42462         warnings, in non-GCC case.
42463         Suggested by Bruno Haible.
42464
42465 2007-07-23  Ben Pfaff  <blp@gnu.org>
42466
42467         * lib/popcount.h: Use verify_true instead of if...abort.
42468         * modules/popcount: Depend on verify module.
42469         Suggested by Jim Meyering.
42470
42471 2007-07-23  Bruno Haible  <bruno@clisp.org>
42472
42473         * gnulib-tool (func_import): Create a .cvsignore file also when the
42474         directory is not yet in CVS but the toplevel directory is. When
42475         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
42476         Reported by Karl Berry.
42477
42478 2007-07-22  Ben Pfaff  <blp@gnu.org>
42479
42480         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
42481         case.
42482         Suggested by Eric Blake.
42483
42484 2007-07-22  Ben Pfaff  <blp@gnu.org>
42485
42486         New module: popcount.
42487         * MODULES.html.sh: Add popcount.
42488         * modules/popcount: New file.
42489         * modules/popcount-tests: New file.
42490         * tests/test-popcount.c: New file.
42491         * lib/popcount.h: New file.
42492         * m4/popcount.m4: New file.
42493
42494 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42495
42496         * build-aux/announce-gen: Update to GPLv3.
42497
42498         * build-aux/config.guess: Update from config.
42499
42500 2007-07-21  Bruno Haible  <bruno@clisp.org>
42501
42502         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
42503         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
42504
42505 2007-07-20  Jim Meyering  <jim@meyering.net>
42506
42507         * check-module: Diagnose a self-dependency.
42508
42509 2007-07-19  Bruno Haible  <bruno@clisp.org>
42510
42511         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
42512         empty.
42513         Reported by Eric Blake.
42514
42515 2007-07-18  Bruno Haible  <bruno@clisp.org>
42516
42517         * gnulib-tool: New options --po-base, --po-domain.
42518         (func_usage): Document them.
42519         (pobase, po_domain): New variables.
42520         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
42521         DEFAULT_TEXT_DOMAIN.
42522         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
42523         (func_import): Consider pobase and po_domain. Create a po/ directory.
42524         (func_create_testdir): Set pobase and po_domain to empty.
42525         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
42526         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
42527
42528 2007-07-18  Bruno Haible  <bruno@clisp.org>
42529
42530         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42531         EXTRA_DIST augmentation for files in build-aux/.
42532
42533 2007-07-16  Bruno Haible  <bruno@clisp.org>
42534
42535         * modules/lseek (License): Use the synonymous term "LGPLv2+".
42536         * modules/getdelim (License): Likewise.
42537
42538 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42539
42540         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
42541         * modules/d-type (License): Likewise.
42542         * modules/extensions (License): Likewise.
42543         * modules/fnmatch (License): Likewise.
42544         * modules/fseeko (License): Likewise.
42545         * modules/getaddrinfo (License): Likewise.
42546         * modules/getline (License): Likewise.
42547         * modules/getlogin_r (License): Likewise.
42548         * modules/getpass (License): Likewise.
42549         * modules/gettimeofday (License): Likewise.
42550         * modules/glob (License): Likewise.
42551         * modules/inet_ntop (License): Likewise.
42552         * modules/malloc (License): Likewise.
42553         * modules/malloca (License): Likewise.
42554         * modules/memmem (License): Likewise.
42555         * modules/mempcpy (License): Likewise.
42556         * modules/memset (License): Likewise.
42557         * modules/minmax (License): Likewise.
42558         * modules/mktime (License): Likewise.
42559         * modules/netinet_in (License): Likewise.
42560         * modules/pathmax (License): Likewise.
42561         * modules/poll (License): Likewise.
42562         * modules/regex (License): Likewise.
42563         * modules/snprintf (License): Likewise.
42564         * modules/stdbool (License): Likewise.
42565         * modules/stdint (License): Likewise.
42566         * modules/stdio (License): Likewise.
42567         * modules/strcase (License): Likewise.
42568         * modules/strcasestr (License): Likewise.
42569         * modules/strdup (License): Likewise.
42570         * modules/string (License): Likewise.
42571         * modules/strndup (License): Likewise.
42572         * modules/strnlen (License): Likewise.
42573         * modules/strpbrk (License): Likewise.
42574         * modules/strptime (License): Likewise.
42575         * modules/strsep (License): Likewise.
42576         * modules/sys_select (License): Likewise.
42577         * modules/sys_socket (License): Likewise.
42578         * modules/sys_stat (License): Likewise.
42579         * modules/sys_time (License): Likewise.
42580         * modules/time (License): Likewise.
42581         * modules/time_r (License): Likewise.
42582         * modules/timegm (License): Likewise.
42583         * modules/unistd (License): Likewise.
42584         * modules/vsnprintf (License): Likewise.
42585         * modules/wctype (License): Likewise.
42586
42587 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42588
42589         * modules/argz (License): LGPLv2+.
42590
42591 2007-07-15  Karl Berry  <karl@gnu.org>
42592
42593         * doc/gnulib.texi: revise node structure per new fdl.texi.
42594
42595 2007-07-14  Bruno Haible  <bruno@clisp.org>
42596
42597         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
42598         the output file.
42599         * lib/uniname/uninames.h: Regenerated.
42600
42601 2007-07-14  Karl Berry  <karl@gnu.org>
42602
42603         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
42604         omitting sectioning and index commands.
42605
42606 2007-07-13  Bruno Haible  <bruno@clisp.org>
42607
42608         New gnulib-tool option --more-symlinks.
42609         * gnulib-tool (func_usage): Document --more-symlinks.
42610         (do_copyrights): New variable.
42611         Recognize option --more-symlinks.
42612         (func_import): Don't add a copyright notice transform to
42613         sed_transform_lib_file if do_copyrights is empty.
42614
42615 2007-07-13  Bruno Haible  <bruno@clisp.org>
42616
42617         * lib/vasnprintf.c (decimal_point_char): Define also if
42618         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
42619         && !NEED_PRINTF_DIRECTIVE_A.
42620         Reported by Clemens Koller <clemens.koller@anagramm.de> via
42621         Gary V. Vaughan <gary@gnu.org>.
42622
42623 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
42624
42625         * lib/inttypes_.h: Undo previous change, since it was fixed
42626         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
42627
42628 2007-07-13  Bruno Haible  <bruno@clisp.org>
42629
42630         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
42631         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
42632
42633 2007-07-13  Jim Meyering  <jim@meyering.net>
42634
42635         df: Don't fail for Tru64's "file-on-file mount".
42636         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
42637         so we fall through and use statfs instead.  Details here:
42638         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
42639         Reported by Albert Chin.
42640
42641 2007-07-13  Bruno Haible  <bruno@clisp.org>
42642
42643         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
42644         * modules/configmake (License): Likewise.
42645         * modules/gettext (License): Likewise.
42646         * modules/gettext-h (License): Likewise.
42647         * modules/include_next (License): Likewise.
42648         * modules/link-warning (License): Likewise.
42649         * modules/localcharset (License): Likewise.
42650         * modules/localename (License): Likewise.
42651         * modules/lock (License): Likewise.
42652         * modules/relocatable-lib-lgpl (License): Likewise.
42653         * modules/size_max (License): Likewise.
42654         * modules/vasnprintf (License): Likewise.
42655         * modules/wchar (License): Likewise.
42656         * modules/xsize (License): Likewise.
42657
42658 2007-07-13  Bruno Haible  <bruno@clisp.org>
42659
42660         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
42661         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
42662
42663 2007-07-12  Bruno Haible  <bruno@clisp.org>
42664
42665         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
42666         in the modules files.
42667
42668 2007-07-11  Karl Berry  <karl@gnu.org>
42669
42670         * MODULES.html.sh (func_module): use
42671          sed -e '\|^'"${includefile}"'$|d'
42672          instead of /.../d, to avoid errors on $includefile's containing /.
42673
42674 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
42675
42676         * gnulib-tool (func_import): Avoid duplication of --avoid
42677         statements
42678         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
42679         names to `_' in variable names.
42680
42681 2007-07-10  Eric Blake  <ebb9@byu.net>
42682
42683         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
42684         * NEWS: Document this change.
42685
42686 2007-07-08  Bruno Haible  <bruno@clisp.org>
42687
42688         Update to Unicode 5.0.
42689         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
42690         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
42691         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
42692         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
42693         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
42694         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
42695         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
42696         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
42697         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
42698         U+10A3F, U+1D242..U+1D244.
42699         (nonspacing_table_ind): Update.
42700         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
42701         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
42702
42703 2007-07-08  Bruno Haible  <bruno@clisp.org>
42704
42705         Update to Unicode 5.0.
42706         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
42707         code transform. Extend the name index field of unicode_name_to_code and
42708         unicode_code_to_name from 16 to 24 bits.
42709         * lib/uniname/uniname.c (unicode_character_name,
42710         unicode_name_character): Add the range 0x12xxx to the code transform.
42711         * lib/uniname/uninames.h: Regenerated.
42712         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
42713
42714 2007-07-07  Bruno Haible  <bruno@clisp.org>
42715
42716         * modules/wcwidth-tests: New file.
42717         * tests/test-wcwidth.c: New file.
42718
42719         Work around MacOS X wcwidth() bug.
42720         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
42721         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
42722         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
42723         original wcwidth in non-UTF-8 locales.
42724         * modules/wcwidth (Depends-on): Add localcharset, streq,
42725         uniwidth/width.
42726         * doc/functions/wcwidth.texi: Update.
42727
42728 2007-07-07  Bruno Haible  <bruno@clisp.org>
42729
42730         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
42731         (wcwidth): New declaration.
42732         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
42733         macros.
42734         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
42735         here. Prepare for creating <wchar.h> unconditionally.
42736         * modules/wchar (Depends-on): Add link-warning.
42737         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
42738         REPLACE_WCWIDTH, and GL_LINK_WARNING.
42739         * lib/wcwidth.h: Remove file.
42740         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
42741         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
42742         * modules/wcwidth (Files): Remove lib/wcwidth.h.
42743         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
42744         (Include): Replace wcwidth.h with <wchar.h>.
42745         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
42746         * lib/mbchar.h: Don't include wcwidth.h.
42747         * lib/mbswidth.c: Likewise.
42748         * NEWS: Mention the change.
42749
42750 2007-07-07  Bruno Haible  <bruno@clisp.org>
42751
42752         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
42753         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
42754         definition with an external declaration.
42755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
42756         defined as a function. Remove AC_C_INLINE requirement.
42757         * modules/wcwidth (Files): Add lib/wcwidth.c.
42758         (Makefile.am): Remove redundant statement.
42759
42760 2007-07-07  Bruno Haible  <bruno@clisp.org>
42761
42762         * MODULES.html.sh (Unicode string functions): Add the new modules.
42763
42764         * tests/uniwidth/test-u32-strwidth.c: New file.
42765         * modules/uniwidth/u32-strwidth-tests: New file.
42766
42767         * lib/uniwidth/u32-strwidth.c: New file.
42768         * modules/uniwidth/u32-strwidth: New file.
42769
42770         * tests/uniwidth/test-u16-strwidth.c: New file.
42771         * modules/uniwidth/u16-strwidth-tests: New file.
42772
42773         * lib/uniwidth/u16-strwidth.c: New file.
42774         * modules/uniwidth/u16-strwidth: New file.
42775
42776         * tests/uniwidth/test-u8-strwidth.c: New file.
42777         * modules/uniwidth/u8-strwidth-tests: New file.
42778
42779         * lib/uniwidth/u8-strwidth.c: New file.
42780         * modules/uniwidth/u8-strwidth: New file.
42781
42782         * tests/uniwidth/test-u32-width.c: New file.
42783         * modules/uniwidth/u32-width-tests: New file.
42784
42785         * lib/uniwidth/u32-width.c: New file.
42786         * modules/uniwidth/u32-width: New file.
42787
42788         * tests/uniwidth/test-u16-width.c: New file.
42789         * modules/uniwidth/u16-width-tests: New file.
42790
42791         * lib/uniwidth/u16-width.c: New file.
42792         * modules/uniwidth/u16-width: New file.
42793
42794         * tests/uniwidth/test-u8-width.c: New file.
42795         * modules/uniwidth/u8-width-tests: New file.
42796
42797         * lib/uniwidth/u8-width.c: New file.
42798         * modules/uniwidth/u8-width: New file.
42799
42800         * tests/uniwidth/test-uc_width.c: New file.
42801         * modules/uniwidth/width-tests: New file.
42802
42803         * lib/uniwidth/width.c: New file, from GNU libiconv.
42804         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
42805         * modules/uniwidth/width: New file.
42806
42807         * lib/uniwidth.h: New file, from GNU libiconv.
42808         * modules/uniwidth/base: New file.
42809
42810 2007-07-07  Bruno Haible  <bruno@clisp.org>
42811
42812         * lib/uniname.h: New file, from GNU gettext.
42813         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
42814         * lib/uniname/uninames.h: New file, from GNU gettext.
42815         * lib/uniname/uniname.c: New file, from GNU gettext.
42816         * tests/uniname/test-uninames.sh: New file.
42817         * tests/uniname/test-uninames.c: New file, from GNU gettext.
42818         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
42819         * modules/uniname/base: New file.
42820         * modules/uniname/uniname: New file.
42821         * modules/uniname/uniname-tests: New file.
42822         * MODULES.html.sh (Unicode string functions): Add the new modules.
42823
42824 2007-07-06  Bruno Haible  <bruno@clisp.org>
42825
42826         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
42827
42828 2007-07-06  Bruno Haible  <bruno@clisp.org>
42829
42830         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
42831         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
42832         includes <cygwin/sys_time.h> which includes <sys/select.h> which
42833         include <sys/time.h>.
42834         Reported by Eric Blake.
42835
42836 2007-07-06  Eric Blake  <ebb9@byu.net>
42837
42838         Fix testing canonicalize on cygwin.
42839         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
42840         Revert patch from 2007-06-19.
42841         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
42842         canonicalize module is also in use.
42843         * tests/test-canonicalize.c: New file.
42844         * tests/test-canonicalize.sh: Likewise.
42845         * modules/canonicalize-tests: Likewise.
42846
42847 2007-07-06  Jim Meyering  <jim@meyering.net>
42848
42849         * lib/getugroups.c (getugroups): Detect getgrent failure.
42850         Adjust comment to reflect reality: this function may return -1.
42851
42852 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
42853
42854         * build-aux/bootstrap (TP_URL,get_translations): Update to use
42855         the new TP address.
42856         (usage): Fix typo
42857         (gnulib_mk): New variable.
42858
42859 2007-07-05  Jim Meyering  <jim@meyering.net>
42860
42861         Don't let endgrent clobber errno, no matter how improbable.
42862         * lib/getugroups.c (getugroups): Save and restore errno around
42863         endgrent call.
42864
42865         Close the group DB even when failing with 2^31 or more members.
42866         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
42867
42868 2007-07-04  Jim Meyering  <jim@meyering.net>
42869
42870         * lib/getugroups.h: New file.
42871         * lib/getugroups.c: Include "getugroups.h".
42872         Remove uses of "register" keyword.
42873         Move local variable, "cp", down into scope where used.
42874         Give "username" parameter the "const" attribute.
42875         * modules/getugroups (Files): Add lib/getugroups.h
42876
42877 2007-07-04  Karl Berry  <karl@gnu.org>
42878
42879         * MODULES.html.sh (func_all_modules): Complete rename of
42880         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
42881
42882 2007-07-02  Bruno Haible  <bruno@clisp.org>
42883
42884         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
42885         mode, when inttypes.h comes from gnulib.
42886         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42887
42888 2007-07-02  Simon Josefsson  <simon@josefsson.org>
42889
42890         * NEWS: Mention lgpl module name change.
42891
42892         * modules/lgpl-2.1: Renamed from lgpl.
42893
42894         * NEWS: Mention gpl module name change.
42895
42896         * modules/gpl-3.0: New file, based on gpl-2.0.
42897
42898         * modules/gpl-2.0: Renamed from gpl.
42899
42900         * modules/gpl: Fix filename, doc/gpl.texi is now found at
42901         doc/gpl-2.0.texi.
42902
42903 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
42904
42905         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
42906         #define __STDC_LIMIT_MACROS temporarily while including
42907         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
42908         Problem reported by Joel E. Denny in
42909         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
42910
42911 2007-07-01  Bruno Haible  <bruno@clisp.org>
42912
42913         * lib/unistdio.h: New file.
42914         * lib/unistdio/u-asnprintf.h: New file.
42915         * lib/unistdio/u-asprintf.h: New file.
42916         * lib/unistdio/u-printf-args.c: New file.
42917         * lib/unistdio/u-printf-args.h: New file.
42918         * lib/unistdio/u-printf-parse.h: New file.
42919         * lib/unistdio/u-snprintf.h: New file.
42920         * lib/unistdio/u-sprintf.h: New file.
42921         * lib/unistdio/u-vasprintf.h: New file.
42922         * lib/unistdio/u-vsnprintf.h: New file.
42923         * lib/unistdio/u-vsprintf.h: New file.
42924         * lib/unistdio/ulc-asnprintf.c: New file.
42925         * lib/unistdio/ulc-asprintf.c: New file.
42926         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
42927         * lib/unistdio/ulc-printf-parse.c: New file.
42928         * lib/unistdio/ulc-snprintf.c: New file.
42929         * lib/unistdio/ulc-sprintf.c: New file.
42930         * lib/unistdio/ulc-vasnprintf.c: New file.
42931         * lib/unistdio/ulc-vasprintf.c: New file.
42932         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
42933         * lib/unistdio/ulc-vsnprintf.c: New file.
42934         * lib/unistdio/ulc-vsprintf.c: New file.
42935         * lib/unistdio/u8-asnprintf.c: New file.
42936         * lib/unistdio/u8-asprintf.c: New file.
42937         * lib/unistdio/u8-printf-parse.c: New file.
42938         * lib/unistdio/u8-snprintf.c: New file.
42939         * lib/unistdio/u8-sprintf.c: New file.
42940         * lib/unistdio/u8-vasnprintf.c: New file.
42941         * lib/unistdio/u8-vasprintf.c: New file.
42942         * lib/unistdio/u8-vsnprintf.c: New file.
42943         * lib/unistdio/u8-vsprintf.c: New file.
42944         * lib/unistdio/u8-u8-asnprintf.c: New file.
42945         * lib/unistdio/u8-u8-asprintf.c: New file.
42946         * lib/unistdio/u8-u8-snprintf.c: New file.
42947         * lib/unistdio/u8-u8-sprintf.c: New file.
42948         * lib/unistdio/u8-u8-vasnprintf.c: New file.
42949         * lib/unistdio/u8-u8-vasprintf.c: New file.
42950         * lib/unistdio/u8-u8-vsnprintf.c: New file.
42951         * lib/unistdio/u8-u8-vsprintf.c: New file.
42952         * lib/unistdio/u16-asnprintf.c: New file.
42953         * lib/unistdio/u16-asprintf.c: New file.
42954         * lib/unistdio/u16-printf-parse.c: New file.
42955         * lib/unistdio/u16-snprintf.c: New file.
42956         * lib/unistdio/u16-sprintf.c: New file.
42957         * lib/unistdio/u16-vasnprintf.c: New file.
42958         * lib/unistdio/u16-vasprintf.c: New file.
42959         * lib/unistdio/u16-vsnprintf.c: New file.
42960         * lib/unistdio/u16-vsprintf.c: New file.
42961         * lib/unistdio/u16-u16-asnprintf.c: New file.
42962         * lib/unistdio/u16-u16-asprintf.c: New file.
42963         * lib/unistdio/u16-u16-snprintf.c: New file.
42964         * lib/unistdio/u16-u16-sprintf.c: New file.
42965         * lib/unistdio/u16-u16-vasnprintf.c: New file.
42966         * lib/unistdio/u16-u16-vasprintf.c: New file.
42967         * lib/unistdio/u16-u16-vsnprintf.c: New file.
42968         * lib/unistdio/u16-u16-vsprintf.c: New file.
42969         * lib/unistdio/u32-asnprintf.c: New file.
42970         * lib/unistdio/u32-asprintf.c: New file.
42971         * lib/unistdio/u32-printf-parse.c: New file.
42972         * lib/unistdio/u32-snprintf.c: New file.
42973         * lib/unistdio/u32-sprintf.c: New file.
42974         * lib/unistdio/u32-vasnprintf.c: New file.
42975         * lib/unistdio/u32-vasprintf.c: New file.
42976         * lib/unistdio/u32-vsnprintf.c: New file.
42977         * lib/unistdio/u32-vsprintf.c: New file.
42978         * lib/unistdio/u32-u32-asnprintf.c: New file.
42979         * lib/unistdio/u32-u32-asprintf.c: New file.
42980         * lib/unistdio/u32-u32-snprintf.c: New file.
42981         * lib/unistdio/u32-u32-sprintf.c: New file.
42982         * lib/unistdio/u32-u32-vasnprintf.c: New file.
42983         * lib/unistdio/u32-u32-vasprintf.c: New file.
42984         * lib/unistdio/u32-u32-vsnprintf.c: New file.
42985         * lib/unistdio/u32-u32-vsprintf.c: New file.
42986         * tests/unistdio/test-ulc-asnprintf1.c: New file.
42987         * tests/unistdio/test-ulc-asnprintf1.h: New file.
42988         * tests/unistdio/test-ulc-printf1.h: New file.
42989         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
42990         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
42991         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
42992         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
42993         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
42994         * tests/unistdio/test-ulc-vasprintf1.c: New file.
42995         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
42996         * tests/unistdio/test-ulc-vsprintf1.c: New file.
42997         * tests/unistdio/test-u8-asnprintf1.c: New file.
42998         * tests/unistdio/test-u8-asnprintf1.h: New file.
42999         * tests/unistdio/test-u8-printf1.h: New file.
43000         * tests/unistdio/test-u8-vasnprintf1.c: New file.
43001         * tests/unistdio/test-u8-vasnprintf2.c: New file.
43002         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
43003         * tests/unistdio/test-u8-vasnprintf3.c: New file.
43004         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
43005         * tests/unistdio/test-u8-vasprintf1.c: New file.
43006         * tests/unistdio/test-u8-vsnprintf1.c: New file.
43007         * tests/unistdio/test-u8-vsprintf1.c: New file.
43008         * tests/unistdio/test-u16-asnprintf1.c: New file.
43009         * tests/unistdio/test-u16-asnprintf1.h: New file.
43010         * tests/unistdio/test-u16-printf1.h: New file.
43011         * tests/unistdio/test-u16-vasnprintf1.c: New file.
43012         * tests/unistdio/test-u16-vasnprintf2.c: New file.
43013         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
43014         * tests/unistdio/test-u16-vasnprintf3.c: New file.
43015         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
43016         * tests/unistdio/test-u16-vasprintf1.c: New file.
43017         * tests/unistdio/test-u16-vsnprintf1.c: New file.
43018         * tests/unistdio/test-u16-vsprintf1.c: New file.
43019         * tests/unistdio/test-u32-asnprintf1.c: New file.
43020         * tests/unistdio/test-u32-asnprintf1.h: New file.
43021         * tests/unistdio/test-u32-printf1.h: New file.
43022         * tests/unistdio/test-u32-vasnprintf1.c: New file.
43023         * tests/unistdio/test-u32-vasnprintf2.c: New file.
43024         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
43025         * tests/unistdio/test-u32-vasnprintf3.c: New file.
43026         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
43027         * tests/unistdio/test-u32-vasprintf1.c: New file.
43028         * tests/unistdio/test-u32-vsnprintf1.c: New file.
43029         * tests/unistdio/test-u32-vsprintf1.c: New file.
43030         * modules/unistdio/base: New file.
43031         * modules/unistdio/u-printf-args: New file.
43032         * modules/unistdio/ulc-asnprintf: New file.
43033         * modules/unistdio/ulc-asprintf: New file.
43034         * modules/unistdio/ulc-fprintf: New file.
43035         * modules/unistdio/ulc-printf-parse: New file.
43036         * modules/unistdio/ulc-snprintf: New file.
43037         * modules/unistdio/ulc-sprintf: New file.
43038         * modules/unistdio/ulc-vasnprintf: New file.
43039         * modules/unistdio/ulc-vasprintf: New file.
43040         * modules/unistdio/ulc-vfprintf: New file.
43041         * modules/unistdio/ulc-vsnprintf: New file.
43042         * modules/unistdio/ulc-vsprintf: New file.
43043         * modules/unistdio/u8-asnprintf: New file.
43044         * modules/unistdio/u8-asprintf: New file.
43045         * modules/unistdio/u8-printf-parse: New file.
43046         * modules/unistdio/u8-snprintf: New file.
43047         * modules/unistdio/u8-sprintf: New file.
43048         * modules/unistdio/u8-vasnprintf: New file.
43049         * modules/unistdio/u8-vasprintf: New file.
43050         * modules/unistdio/u8-vsnprintf: New file.
43051         * modules/unistdio/u8-vsprintf: New file.
43052         * modules/unistdio/u8-u8-asnprintf: New file.
43053         * modules/unistdio/u8-u8-asprintf: New file.
43054         * modules/unistdio/u8-u8-snprintf: New file.
43055         * modules/unistdio/u8-u8-sprintf: New file.
43056         * modules/unistdio/u8-u8-vasnprintf: New file.
43057         * modules/unistdio/u8-u8-vasprintf: New file.
43058         * modules/unistdio/u8-u8-vsnprintf: New file.
43059         * modules/unistdio/u8-u8-vsprintf: New file.
43060         * modules/unistdio/u16-asnprintf: New file.
43061         * modules/unistdio/u16-asprintf: New file.
43062         * modules/unistdio/u16-printf-parse: New file.
43063         * modules/unistdio/u16-snprintf: New file.
43064         * modules/unistdio/u16-sprintf: New file.
43065         * modules/unistdio/u16-vasnprintf: New file.
43066         * modules/unistdio/u16-vasprintf: New file.
43067         * modules/unistdio/u16-vsnprintf: New file.
43068         * modules/unistdio/u16-vsprintf: New file.
43069         * modules/unistdio/u16-u16-asnprintf: New file.
43070         * modules/unistdio/u16-u16-asprintf: New file.
43071         * modules/unistdio/u16-u16-snprintf: New file.
43072         * modules/unistdio/u16-u16-sprintf: New file.
43073         * modules/unistdio/u16-u16-vasnprintf: New file.
43074         * modules/unistdio/u16-u16-vasprintf: New file.
43075         * modules/unistdio/u16-u16-vsnprintf: New file.
43076         * modules/unistdio/u16-u16-vsprintf: New file.
43077         * modules/unistdio/u32-asnprintf: New file.
43078         * modules/unistdio/u32-asprintf: New file.
43079         * modules/unistdio/u32-printf-parse: New file.
43080         * modules/unistdio/u32-snprintf: New file.
43081         * modules/unistdio/u32-sprintf: New file.
43082         * modules/unistdio/u32-vasnprintf: New file.
43083         * modules/unistdio/u32-vasprintf: New file.
43084         * modules/unistdio/u32-vsnprintf: New file.
43085         * modules/unistdio/u32-vsprintf: New file.
43086         * modules/unistdio/u32-u32-asnprintf: New file.
43087         * modules/unistdio/u32-u32-asprintf: New file.
43088         * modules/unistdio/u32-u32-snprintf: New file.
43089         * modules/unistdio/u32-u32-sprintf: New file.
43090         * modules/unistdio/u32-u32-vasnprintf: New file.
43091         * modules/unistdio/u32-u32-vasprintf: New file.
43092         * modules/unistdio/u32-u32-vsnprintf: New file.
43093         * modules/unistdio/u32-u32-vsprintf: New file.
43094         * modules/unistdio/ulc-asnprintf-tests: New file.
43095         * modules/unistdio/ulc-vasnprintf-tests: New file.
43096         * modules/unistdio/ulc-vasprintf-tests: New file.
43097         * modules/unistdio/ulc-vsnprintf-tests: New file.
43098         * modules/unistdio/ulc-vsprintf-tests: New file.
43099         * modules/unistdio/u8-asnprintf-tests: New file.
43100         * modules/unistdio/u8-vasnprintf-tests: New file.
43101         * modules/unistdio/u8-vasprintf-tests: New file.
43102         * modules/unistdio/u8-vsnprintf-tests: New file.
43103         * modules/unistdio/u8-vsprintf-tests: New file.
43104         * modules/unistdio/u16-asnprintf-tests: New file.
43105         * modules/unistdio/u16-vasnprintf-tests: New file.
43106         * modules/unistdio/u16-vasprintf-tests: New file.
43107         * modules/unistdio/u16-vsnprintf-tests: New file.
43108         * modules/unistdio/u16-vsprintf-tests: New file.
43109         * modules/unistdio/u32-asnprintf-tests: New file.
43110         * modules/unistdio/u32-vasnprintf-tests: New file.
43111         * modules/unistdio/u32-vasprintf-tests: New file.
43112         * modules/unistdio/u32-vsnprintf-tests: New file.
43113         * modules/unistdio/u32-vsprintf-tests: New file.
43114         * MODULES.html.sh (Unicode string functions): Add the new modules.
43115
43116 2007-07-01  Bruno Haible  <bruno@clisp.org>
43117
43118         * lib/sprintf.c (sprintf): Limit the available length estimation,
43119         to avoid address wraparound.
43120         * lib/vsprintf.c (vsprintf): Likewise.
43121         * modules/sprintf-posix (Dependencies): Add stdint.
43122         * modules/vsprintf-posix (Dependencies): Likewise.
43123
43124 2007-07-01  Bruno Haible  <bruno@clisp.org>
43125
43126         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
43127         Windows PATH as well. Conservative double-quoting. Comments.
43128
43129 2007-07-01  Bruno Haible  <bruno@clisp.org>
43130             Eric Blake  <ebb9@byu.net>
43131             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43132
43133         * gnulib-tool (self_abspathname): Fix algorithm to cope with
43134         empty components in $PATH, denoting '.'.
43135
43136 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43137
43138         * gnulib-tool: Fix indentation.
43139         (func_create_megatestdir): Likewise.
43140         Report by Bruno Haible.
43141
43142 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43143
43144         Sync from Automake.
43145         * build-aux/gnupload: Fix shell portability issues with for loops.
43146         Report by Karl Berry.
43147
43148 2007-06-29  Simon Josefsson  <simon@josefsson.org>
43149
43150         * build-aux/maint.mk (POURL): Use translationproject.org.
43151
43152 2007-06-27  Simon Josefsson  <simon@josefsson.org>
43153             Bruno Haible  <bruno@clisp.org>
43154
43155         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
43156         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
43157         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
43158         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
43159         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
43160
43161 2007-06-27  Bruno Haible  <bruno@clisp.org>
43162
43163         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
43164         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
43165
43166 2007-06-26  Karl Berry  <karl@gnu.org>
43167
43168         * MODULES.html.sh: remove xreadlink-with-size.
43169
43170 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
43171
43172         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
43173         method that I hope also handles the double-include problem noted
43174         by Bruno Haible in
43175         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
43176
43177 2007-06-23  Bruno Haible  <bruno@clisp.org>
43178
43179         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43180         Don't let the 'mostlyclean' target fail if the last subdirectory could
43181         not be removed.
43182         Reported by Karl Berry.
43183
43184 2007-06-23  Bruno Haible  <bruno@clisp.org>
43185
43186         * gnulib-tool (echo): Add a speedier workaround for ksh.
43187         * tests/test-echo.sh: Likewise.
43188
43189 2007-06-23  Bruno Haible  <bruno@clisp.org>
43190
43191         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
43192         * tests/test-echo.sh: Likewise.
43193
43194 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43195
43196         * gnulib-tool (IFS): Initialize early, so we don't set it to
43197         empty later.
43198         (self_abspathname): Rewrite algorithm to set it, reindent.
43199         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
43200         (func_create_megatestdir): Merge some sed scripts.
43201
43202 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
43203
43204         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
43205         exposed by Sun Studio 11 cc on Solaris 8.
43206
43207 2007-06-22  Bruno Haible  <bruno@clisp.org>
43208
43209         * gnulib-tool (echo): Ensure the echo primitive does not interpret
43210         backslashes.
43211         * tests/test-echo.sh: New file.
43212
43213 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43214
43215         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
43216         simplify `sed_replace_build_aux' scripts, they are portable but
43217         echoing them with `echo' is not.
43218         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
43219
43220 2007-06-21  Karl Berry  <karl@gnu.org>
43221
43222         * config/srclist.txt: guess we can't handle the licenses via
43223         srclist at the moment.
43224
43225 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
43226
43227         * MODULES.html.sh: Add include_next.
43228         * modules/include_next: New file.
43229
43230 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
43231
43232         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
43233         INCLUDE_NEXT.
43234         (gl_CHECK_NEXT_HEADERS): New macro.
43235         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
43236         the obsolescent gl_ABSOLUTE_HEADER.
43237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
43238         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
43239         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
43240         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
43241         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
43242         * m4/math_h.m4 (gl_MATH_H): Likewise.
43243         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
43244         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43245         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
43246         * m4/stdint.m4 (gl_STDINT_H): Likewise.
43247         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
43248         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
43249         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
43250         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
43252         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
43253         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
43254         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
43255         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
43256         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43257         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43258         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43259         * m4/inttypes.m4 (gl_INTTYPES_H): Define
43260         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
43261         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
43262         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
43263         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
43264         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
43265         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
43266         * lib/float_.h: Likewise.
43267         * lib/inttypes_.h: Likewise.
43268         * lib/math_.h: Likewise.
43269         * lib/search_.h: Likewise.
43270         * lib/signal_.h: Likewise.
43271         * lib/stdint_.h: Likewise.
43272         * lib/stdio_.h: Likewise.
43273         * lib/stdlib_.h: Likewise.
43274         * lib/string_.h: Likewise.
43275         * lib/sys_stat_.h: Likewise.
43276         * lib/sys_time_.h: Likewise.
43277         * lib/time_.h: Likewise.
43278         * lib/unistd_.h: Likewise.
43279         * lib/wchar_.h: Likewise.
43280         * lib/wctype_.h: Likewise.
43281         * lib/dirent_.h: Likewise.
43282         * lib/iconv_.h: Likewise.
43283         * lib/locale_.h: Likewise.
43284         * lib/netinet_in_.h: Likewise.
43285         * lib/sys_select_.h: Likewise.
43286         * lib/sys_socket_.h: Likewise.
43287         * lib/sysexits_.h: Likewise.
43288         * modules/fcntl (Depends-on): Depend on include_next, not
43289         absolute_header.
43290         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
43291         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
43292         * modules/fchdir: Likewise.
43293         * modules/float: Likewise.
43294         * modules/iconv_open: Likewise.
43295         * modules/inttypes: Likewise.
43296         * modules/locale: Likewise.
43297         * modules/math: Likewise.
43298         * modules/netinet_in: Likewise.
43299         * modules/search: Likewise.
43300         * modules/signal: Likewise.
43301         * modules/stdint: Likewise.
43302         * modules/stdio: Likewise.
43303         * modules/stdlib: Likewise.
43304         * modules/string: Likewise.
43305         * modules/sys_select: Likewise.
43306         * modules/sys_socket: Likewise.
43307         * modules/sys_stat: Likewise.
43308         * modules/sys_time: Likewise.
43309         * modules/sysexits: Likewise.
43310         * modules/time: Likewise.
43311         * modules/unistd: Likewise.
43312         * modules/wchar: Likewise.
43313         * modules/wctype: Likewise.
43314         * modules/sys_stat: Change maintainer to "all".
43315         * modules/unistd: Likewise.
43316
43317 2007-06-20  Karl Berry  <karl@gnu.org>
43318
43319         * config/srclist.txt: track www changes in license files.
43320
43321 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
43322
43323         * build-aux/bootstrap: Remove stray dot.
43324         Make sure build_aux settings are honored when linking
43325         gnulib_extra_files.
43326
43327 2007-06-19  Eric Blake  <ebb9@byu.net>
43328
43329         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
43330         Allow compilation on cygwin.
43331
43332 2007-06-19  Jim Meyering  <jim@meyering.net>
43333
43334         xreadlink-with-size: Remove module.  No longer used.
43335         Ex-callers now use xreadlink or mreadlink-with-size.
43336         * modules/xreadlink-with-size: Remove module.
43337         * lib/xreadlink-with-size.c: Remove file.
43338         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
43339         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
43340         just before the function definition *is* accurate.
43341
43342         Eliminate one way canonicalize_filename_mode could exit.
43343         * lib/canonicalize.c (canonicalize_filename_mode):
43344         Use mreadlink_with_size, not xreadlink_with_size.
43345
43346 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43347
43348         Detect porting problems to FreeBSD/arm, which has time_t wider than
43349         long int.  Original problem reported for GNU diff by Xin Li in
43350         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
43351         * modules/getdate (Depends-on): Add intprops, verify.
43352         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
43353         is an integer type no wider than long int.
43354
43355 2007-06-18  Jim Meyering  <jim@meyering.net>
43356
43357         New module: mreadlink-with-size.
43358         * MODULES.html.sh: Add mreadlink-with-size.
43359         * modules/mreadlink-with-size: New module
43360         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
43361         not xreadlink-with-size.
43362         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
43363
43364 2007-06-16  Bruno Haible  <bruno@clisp.org>
43365
43366         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
43367         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
43368         Reported by Gary V. Vaughan <gary@gnu.org>.
43369
43370 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
43371
43372         Revamp lchown so that it lives in unistd.h where it belongs.
43373         * lib/lchown.h: Remove.
43374         * lib/dirchownmod.c: Don't include lib/lchown.h.
43375         * lib/fchownat.c: Likewise.
43376         * lib/openat.c: Likewise.
43377         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
43378         does not follow symlinks.
43379         (EOPNOTSUPP): Define if not defined.
43380         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
43381         is defined to 0.
43382         (lchown): New decl.
43383         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
43384         Do not check for lchown decl.
43385         Set REPLACE_LCHOWN.
43386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
43387         REPLACE_LCHOWN.
43388         * modules/chown: Make it clear it follows symlinks.
43389         * modules/lchown: Make it clear it doesn't follow symlinks.
43390         (Files): Remove lib/lchown.h
43391         (Depends-on): Add unistd.
43392         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
43393         (Include): Include <unistd.h>, not "lchown.h".
43394         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
43395         REPLACE_LCHOWN.
43396
43397 2007-06-15  Jim Meyering  <jim@meyering.net>
43398
43399         Change license (GPL to LGPL) of fsusage and dependents.
43400         * modules/fsusage (License): Change to LGPL.
43401         * modules/full-read (License): Likewise.
43402         * modules/full-write (License): Likewise.
43403         * modules/safe-read (License): Likewise.
43404         * modules/safe-write (License): Likewise.
43405
43406 2007-06-14  Ben Pfaff  <blp@gnu.org>
43407
43408         Missing part of allocsa -> malloca transition.
43409         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
43410         gl_MALLOCA.
43411
43412 2007-06-12  Bruno Haible  <bruno@clisp.org>
43413
43414         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
43415         to ia64, x86_64, i386.
43416         Reported by Eric Blake.
43417
43418 2007-06-12  Bruno Haible  <bruno@clisp.org>
43419
43420         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
43421         cross-compiling to x86_64.
43422
43423 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
43424
43425         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
43426         glitch reported by Ralf Wildenhues in
43427         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
43428
43429         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
43430         Vin Shelton.
43431
43432 2007-06-11  Bruno Haible  <bruno@clisp.org>
43433
43434         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
43435         replacement string.
43436         Reported by Eric Blake.
43437
43438 2007-06-10  Bruno Haible  <bruno@clisp.org>
43439
43440         Prepare vasnprintf code for use with Unicode strings.
43441         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
43442         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
43443         TYPE_U32_STRING.
43444         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
43445         a_u32_string variants.
43446         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
43447         * lib/printf-args.c: Don't include config.h and the specification
43448         header if PRINTF_FETCHARGS is already defined.
43449         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
43450         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
43451         TYPE_U16_STRING, TYPE_U32_STRING.
43452         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
43453         u16_directive, u16_directives, u32_directive, u32_directives): New
43454         types.
43455         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
43456         New declarations.
43457         * lib/printf-parse.c: Don't include config.h and the specification
43458         header if PRINTF_PARSE is already defined. Eliminate the set of
43459         parameters for WIDE_CHAR_VERSION; the user of this file must provide
43460         them now. Include c-ctype.h.
43461         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
43462         directive and CHAR_T_ONLY_ASCII.
43463         * lib/vasnprintf.c: Don't include config.h and the specification header
43464         if VASNPRINTF is already defined.
43465         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
43466         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
43467         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
43468         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
43469         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
43470         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
43471         code accordingly.
43472         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
43473         pad_ourselves also in this case, with the 'c' and 's' directives, and
43474         with a different notion of "width".
43475         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
43476
43477 2007-06-10  Bruno Haible  <bruno@clisp.org>
43478
43479         * modules/unistr/u32-mbsnlen: New file.
43480         * lib/unistr/u32-mbsnlen.c: New file.
43481
43482         * modules/unistr/u16-mbsnlen: New file.
43483         * lib/unistr/u16-mbsnlen.c: New file.
43484
43485         * modules/unistr/u8-mbsnlen: New file.
43486         * lib/unistr/u8-mbsnlen.c: New file.
43487
43488         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
43489         declarations.
43490
43491 2007-06-10  Bruno Haible  <bruno@clisp.org>
43492
43493         * lib/string_.h (mbsnlen): New declaration.
43494         * lib/mbsnlen.c: New file.
43495         * m4/mbsnlen.m4: New file.
43496         * modules/mbsnlen: New file.
43497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
43498         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
43499         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
43500
43501 2007-06-10  Bruno Haible  <bruno@clisp.org>
43502
43503         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
43504
43505 2007-06-10  Bruno Haible  <bruno@clisp.org>
43506
43507         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
43508         * lib/mbuiter.h: Likewise.
43509
43510 2007-06-10  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
43513         declaration.
43514
43515 2007-06-10  Karl Berry  <karl@gnu.org>
43516
43517         * config/srclist.txt: remove gettext entries, Bruno prefers
43518         to update individually.
43519
43520 2007-06-10  Bruno Haible  <bruno@clisp.org>
43521
43522         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
43523         'maxlen'. Ensure only length + width bytes are allocated, not
43524         length + 1 + width.
43525
43526 2007-06-09  Bruno Haible  <bruno@clisp.org>
43527
43528         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
43529         (CHAR_T): Remove macro.
43530         (VASNPRINTF): Update.
43531
43532 2007-06-09  Bruno Haible  <bruno@clisp.org>
43533
43534         * MODULES.html.sh (Unicode string functions): Add the new modules.
43535
43536         * modules/uniconv/u32-conv-to-enc: New file.
43537         * lib/uniconv/u32-conv-to-enc.c: New file.
43538         * modules/uniconv/u32-conv-to-enc-tests: New file.
43539         * tests/uniconv/test-u32-conv-to-enc.c: New file.
43540
43541         * modules/uniconv/u16-conv-to-enc: New file.
43542         * lib/uniconv/u16-conv-to-enc.c: New file.
43543         * lib/uniconv/u-conv-to-enc.h: New file.
43544         * modules/uniconv/u16-conv-to-enc-tests: New file.
43545         * tests/uniconv/test-u16-conv-to-enc.c: New file.
43546
43547         * modules/uniconv/u8-conv-to-enc: New file.
43548         * lib/uniconv/u8-conv-to-enc.c: New file.
43549         * modules/uniconv/u8-conv-to-enc-tests: New file.
43550         * tests/uniconv/test-u8-conv-to-enc.c: New file.
43551
43552         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43553         u32_conv_to_encoding): New declarations.
43554
43555 2007-06-09  Bruno Haible  <bruno@clisp.org>
43556
43557         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
43558
43559 2007-06-09  Bruno Haible  <bruno@clisp.org>
43560
43561         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
43562         * modules/malloca: Renamed from modules/allocsa, updated.
43563         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
43564         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
43565         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
43566         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
43567         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
43568         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
43569         * modules/xmalloca: Renamed from modules/xallocsa, updated.
43570         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
43571         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
43572         * modules/c-strcasestr (Depends-on): Update.
43573         * lib/c-strcasestr.c: Update.
43574         * modules/c-strstr (Depends-on): Update.
43575         * lib/c-strstr.c: Update.
43576         * modules/canonicalize-lgpl (Depends-on): Update.
43577         * lib/canonicalize-lgpl.c: Update.
43578         * modules/clean-temp (Depends-on): Update.
43579         * lib/clean-temp.c: Update.
43580         * modules/csharpcomp (Depends-on): Update.
43581         * lib/csharpcomp.c: Update.
43582         * modules/csharpexec (Depends-on): Update.
43583         * lib/csharpexec.c: Update.
43584         * modules/javacomp (Depends-on): Update.
43585         * lib/javacomp.c: Update.
43586         * modules/javaexec (Depends-on): Update.
43587         * lib/javaexec.c: Update.
43588         * modules/mbscasestr (Depends-on): Update.
43589         * lib/mbscasestr.c: Update.
43590         * modules/mbsstr (Depends-on): Update.
43591         * lib/mbsstr.c: Update.
43592         * modules/setenv (Depends-on): Update.
43593         * lib/setenv.c: Update.
43594         * modules/strcasestr (Depends-on): Update.
43595         * lib/strcasestr.c: Update.
43596         * modules/striconveha (Depends-on): Update.
43597         * lib/striconveha.c: Update.
43598         * modules/relocatable-prog-wrapper (Files): Update.
43599         * lib/relocwrapper.c: Update.
43600         * build-aux/install-reloc: Update.
43601         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
43602
43603 2007-06-08  Bruno Haible  <bruno@clisp.org>
43604
43605         Port to uClibc.
43606         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
43607         * lib/fpurge.c (fpurge): Likewise.
43608         * lib/freading.c (freading): Likewise.
43609         * lib/fseeko.c (rpl_fseeko): Likewise.
43610         * lib/fseterr.c (fseterr): Likewise.
43611         * lib/fwriting.c (fwriting): Likewise.
43612         * tests/test-fflush.c (main): Avoid a failure on uClibc.
43613
43614 2007-06-08  Bruno Haible  <bruno@clisp.org>
43615
43616         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
43617         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
43618         * modules/gettext (Files): Add m4/intlmacosx.m4.
43619
43620 2007-06-07  Bruno Haible  <bruno@clisp.org>
43621
43622         * modules/localename-tests: New file.
43623         * tests/test-localename.c: New file.
43624
43625         New module 'localename'.
43626         * lib/localename.h: New file.
43627         * lib/localename.c: New file, from GNU gettext.
43628         * m4/localename.m4: New file.
43629         * modules/localename: New file.
43630
43631 2007-06-07  Bruno Haible  <bruno@clisp.org>
43632
43633         Work around the lack of <wchar.h> on some builds of uClibc.
43634         * doc/headers/wchar.texi: Update.
43635         * lib/wchar_.h: Include <wchar.h> only if it exists.
43636         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
43637         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
43638         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
43639         doesn't exist.
43640         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
43641         * modules/mbfile (Depends-on): Add wchar.
43642         * modules/mbiter (Depends-on): Likewise.
43643         * modules/mbuiter (Depends-on): Likewise.
43644         Reported by Simon Josefsson.
43645
43646 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
43647
43648         Work around problem reported by Steven M. Schweda in
43649         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
43650         Tru64 5.1B with the Compaq compiler environment installed declares
43651         an 'isblank' function but does not define it in the C library.
43652         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
43653         * lib/regex_internal.h (isblank): Likewise.
43654         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
43655         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
43656
43657 2007-06-05  Bruno Haible  <bruno@clisp.org>
43658
43659         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
43660         ia64.
43661         * modules/printf-safe: New file.
43662         * modules/fprintf-posix (Depends-on): Add printf-safe.
43663         * modules/printf-posix (Depends-on): Likewise.
43664         * modules/snprintf-posix (Depends-on): Likewise.
43665         * modules/sprintf-posix (Depends-on): Likewise.
43666         * modules/vasnprintf-posix (Depends-on): Likewise.
43667         * modules/vasprintf-posix (Depends-on): Likewise.
43668         * modules/vfprintf-posix (Depends-on): Likewise.
43669         * modules/vprintf-posix (Depends-on): Likewise.
43670         * modules/vsnprintf-posix (Depends-on): Likewise.
43671         * modules/vsprintf-posix (Depends-on): Likewise.
43672         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
43673         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
43674         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
43675         "no" on i386, x86_64, ia64.
43676         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
43677         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
43678         on i386, x86_64, ia64.
43679         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
43680         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
43681         on i386, x86_64, ia64.
43682         * tests/test-vasnprintf-posix.c: Include float.h.
43683         (LDBL80_WORDS): New macro.
43684         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
43685         on i386, x86_64, ia64.
43686         * tests/test-vasprintf-posix.c: Include float.h.
43687         (LDBL80_WORDS): New macro.
43688         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
43689         on i386, x86_64, ia64.
43690         * tests/test-snprintf-posix.c: Include float.h.
43691         * tests/test-sprintf-posix.c: Likewise.
43692         * tests/test-vsnprintf-posix.c: Likewise.
43693         * tests/test-vsprintf-posix.c: Likewise.
43694
43695 2007-06-05  Bruno Haible  <bruno@clisp.org>
43696
43697         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
43698         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
43699         non-IEEE numbers on i386, x86_64, ia64.
43700         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
43701         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
43702         * tests/test-isnanl.h: Include float.h.
43703         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
43704
43705 2007-06-05  Bruno Haible  <bruno@clisp.org>
43706
43707         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
43708         also the %a / %A. Handle the %a / %A code before this extra handling.
43709
43710 2007-06-05  Bruno Haible  <bruno@clisp.org>
43711
43712         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
43713         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
43714
43715 2007-06-05  Bruno Haible  <bruno@clisp.org>
43716
43717         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
43718         typo in variable name.
43719
43720 2007-06-05  Eric Blake  <ebb9@byu.net>
43721
43722         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
43723         Reported by Simon Josefsson.
43724
43725 2007-06-04  Bruno Haible  <bruno@clisp.org>
43726
43727         Avoid test failures on some PowerPC platforms.
43728         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
43729         Define differently for PowerPC.
43730         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
43731         Reported by Gary V. Vaughan <gary@gnu.org>.
43732
43733 2007-06-02  Bruno Haible  <bruno@clisp.org>
43734
43735         Fix test-stdint failure on FreeBSD/ia64.
43736         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
43737         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
43738         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
43739         * doc/headers/stdint.texi: Update.
43740
43741 2007-06-01  Bruno Haible  <bruno@clisp.org>
43742
43743         * tests/test-binary-io.c (main): Pass a third argument to open().
43744         Reported by Gary V. Vaughan <gary@gnu.org>.
43745
43746 2007-06-01  Bruno Haible  <bruno@clisp.org>
43747
43748         * doc/functions/frexpl.texi: Update for mingw.
43749
43750 2007-06-01  Bruno Haible  <bruno@clisp.org>
43751
43752         * tests/test-lseek.c (main): Disable test of errno for invalid third
43753         argument.
43754         * doc/functions/lseek.texi: Update.
43755         Reported by Gary V. Vaughan <gary@gnu.org>.
43756
43757 2007-05-28  Bruno Haible  <bruno@clisp.org>
43758
43759         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
43760
43761 2007-05-31  Eric Blake  <ebb9@byu.net>
43762
43763         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
43764         cross compiling.
43765
43766 2007-05-30  Eric Blake  <ebb9@byu.net>
43767         and Bruno Haible  <bruno@clisp.org>
43768
43769         Work around mingw test failures exposed by m4-1.4.9b.
43770         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
43771         * tests/test-unistd.c: Disable uid_t and git_t tests for the
43772         moment.
43773
43774 2007-05-30  Bruno Haible  <bruno@clisp.org>
43775
43776         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
43777         assuming that they are closed. Needed on HP-UX 11.
43778
43779 2007-05-29  Bruno Haible  <bruno@clisp.org>
43780
43781         Fix a problem with #include_next.
43782         * lib/dirent_.h: Split the double-inclusion guard.
43783         * lib/fcntl_.h: Likewise.
43784         * lib/float_.h: Likewise.
43785         * lib/iconv_.h: Likewise.
43786         * lib/inttypes_.h: Likewise.
43787         * lib/locale_.h: Likewise.
43788         * lib/math_.h: Likewise.
43789         * lib/netinet_in_.h: Likewise.
43790         * lib/search_.h: Likewise.
43791         * lib/signal_.h: Likewise.
43792         * lib/stdint_.h: Likewise.
43793         * lib/stdio_.h: Likewise.
43794         * lib/stdlib_.h: Likewise.
43795         * lib/string_.h: Likewise.
43796         * lib/sys_select_.h: Likewise.
43797         * lib/sys_socket_.h: Likewise.
43798         * lib/sys_stat_.h: Likewise.
43799         * lib/sys_time_.h: Likewise.
43800         * lib/sysexits_.h: Likewise.
43801         * lib/time_.h: Likewise.
43802         * lib/unistd_.h: Likewise.
43803         * lib/wchar_.h: Likewise.
43804         * lib/wctype_.h: Likewise.
43805
43806 2007-05-29  Bruno Haible  <bruno@clisp.org>
43807
43808         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
43809         for the moment.
43810
43811 2007-05-29  Bruno Haible  <bruno@clisp.org>
43812
43813         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
43814         invocation.
43815         Reported by Eric Blake.
43816
43817 2007-05-29  Bruno Haible  <bruno@clisp.org>
43818
43819         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
43820         compiling case.
43821
43822 2007-05-29  Eric Blake  <ebb9@byu.net>
43823             Bruno Haible  <bruno@clisp.org>
43824
43825         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
43826         cross compiles.
43827
43828 2007-05-28  Eric Blake  <ebb9@byu.net>
43829
43830         * modules/closein-tests (test_closein_LDADD): Support test on
43831         cygwin with libtool.
43832
43833 2007-05-28  Bruno Haible  <bruno@clisp.org>
43834
43835         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
43836         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43837         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43838         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43839         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43840         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43841         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43842         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43843         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43844
43845 2007-05-28  Eric Blake  <ebb9@byu.net>
43846
43847         Unconditionally include <config.h> in unit tests.
43848         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
43849         * tests/test-allocsa.c, tests/test-arcfour.c,
43850         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
43851         tests/test-array_list.c, tests/test-array_oset.c,
43852         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
43853         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
43854         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
43855         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
43856         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
43857         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
43858         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
43859         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
43860         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
43861         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
43862         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
43863         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
43864         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
43865         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
43866         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
43867         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
43868         test-md5.c, test-memmem.c, test-printf-posix.c,
43869         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
43870         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
43871         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
43872         test-strcasestr.c, test-striconv.c, test-striconveh.c,
43873         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
43874         test-vasnprintf-posix2.c, test-vasnprintf.c,
43875         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
43876         test-vfprintf-posix.c, test-vprintf-posix.c,
43877         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
43878         test-xvasprintf.c: Likewise.
43879
43880 2007-05-28  Bruno Haible  <bruno@clisp.org>
43881
43882         * gnulib-tool (func_import): Remember the --with-tests command-line
43883         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
43884         Reported by Eric Blake.
43885
43886 2007-05-28  Bruno Haible  <bruno@clisp.org>
43887
43888         * modules/ftell-tests: New file.
43889         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
43890         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
43891
43892         * lib/ftell.c: New file.
43893         * modules/ftell: New file.
43894         * m4/ftell.m4: New file.
43895         * doc/functions/ftell.texi: Update.
43896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
43897         REPLACE_FTELL.
43898         * lib/stdio_.h (rpl_ftell): New declaration.
43899         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
43900         REPLACE_FTELL.
43901
43902 2007-05-28  Eric Blake  <ebb9@byu.net>
43903
43904         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
43905
43906 2007-05-28  Bruno Haible  <bruno@clisp.org>
43907
43908         * modules/fseek-tests: New file.
43909         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
43910         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
43911
43912         * lib/fseek.c: New file.
43913         * modules/fseek: New file.
43914         * m4/fseek.m4: New file.
43915         * doc/functions/fseek.texi: Update.
43916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
43917         REPLACE_FSEEK.
43918         * lib/stdio_.h (rpl_fseek): New declaration.
43919         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
43920         REPLACE_FSEEK.
43921
43922 2007-05-28  Bruno Haible  <bruno@clisp.org>
43923
43924         * lib/stdio_.h (fflush): More comments.
43925
43926 2007-05-28  Bruno Haible  <bruno@clisp.org>
43927
43928         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
43929         runtime test.
43930
43931 2007-05-28  Eric Blake  <ebb9@byu.net>
43932
43933         Improve lseek module.
43934         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
43935         * lib/unistd_.h (lseek): Scale back link warning message.
43936         * tests/test-lseek.c: Beef up test.
43937         * tests/test-lseek.sh: Exercise more facets of lseek.
43938         Reported by Bruno Haible.
43939
43940 2007-05-28  Bruno Haible  <bruno@clisp.org>
43941
43942         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
43943         to define.
43944
43945 2007-05-27  Bruno Haible  <bruno@clisp.org>
43946
43947         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
43948
43949 2007-05-27  Bruno Haible  <bruno@clisp.org>
43950
43951         * modules/openmp: New file.
43952         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
43953         Noah Misch.
43954
43955 2007-05-26  Bruno Haible  <bruno@clisp.org>
43956
43957         * modules/chdir-long (Depends-on): Add fchdir.
43958         * modules/chdir-safer (Depends-on): Likewise.
43959         * modules/fts (Depends-on): Likewise.
43960         * modules/fts-lgpl (Depends-on): Likewise.
43961         * modules/openat (Depends-on): Likewise.
43962         * modules/savewd (Depends-on): Likewise.
43963
43964 2007-05-24  Eric Blake  <ebb9@byu.net>
43965
43966         Fix lseek on mingw.
43967         * modules/lseek: New module.
43968         * m4/lseek.m4: New file.
43969         * lib/lseek.c: New file.
43970         * modules/lseek-tests: New file.
43971         * tests/test-lseek.c: New file.
43972         * tests/test-lseek.sh: New file.
43973         * MODULES.html.sh: Document lseek module.
43974         * modules/fflush (Depends-on): Add lseek, fseeko.
43975         * modules/fseeko (Depends-on): Likewise.
43976         * modules/ftello (Depends-on): Likewise.
43977         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
43978         broken.
43979         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
43980         broken.
43981         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
43982         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
43983         * lib/ftello.c (rpl_ftello): Likewise.
43984         * tests/test-fseeko.c (main): Test this.
43985         * tests/test-fseeko.sh: Likewise.
43986         * tests/test-ftello.c (main): Likewise.
43987         * tests/test-ftello.sh: Likewise.
43988         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
43989         implies replacing fseek.
43990         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
43991         HAVE_FTELLO.
43992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
43993         * modules/unistd (Makefile.am): Likewise.
43994         * lib/unistd_.h (lseek): Declare a replacement.
43995         * doc/functions/lseek.texi (lseek): Document this fix.
43996         * doc/functions/fseek.texi (fseek): Likewise.
43997         * doc/functions/ftell.texi (ftell): Likewise.
43998
43999 2007-05-24  Bruno Haible  <bruno@clisp.org>
44000
44001         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
44002         in the printed representation of a NaN.
44003         * tests/test-vasprintf-posix.c (test_function): Likewise.
44004         * tests/test-snprintf-posix.h (test_function): Likewise.
44005         * tests/test-sprintf-posix.h (test_function): Likewise.
44006         Reported by Eric Blake.
44007
44008 2007-05-23  Eric Blake  <ebb9@byu.net>
44009
44010         Fix fseeko/ftello on cygwin 1.5.24.
44011         * doc/functions/fseeko.texi (fseeko): Document the fix.
44012         * doc/functions/ftello.texi (ftello): Document the fix.
44013         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
44014         * doc/functions/stdout.text (stdout): New file.
44015         * doc/functions/stderr.text (stderr): New file.
44016         * doc/gnulib.texi (Function Substitutes): Use new files.
44017         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
44018         prior to 1.7.0.
44019         * tests/test-ftello.c (main): Likewise for ftello.
44020         * tests/test-fseeko.sh: New file.
44021         * tests/test-ftello.sh: New file.
44022         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
44023         with seekable stdin.
44024         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
44025         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
44026         (gl_REPLACE_FSEEKO): New macro.
44027         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
44028         * modules/fseeko (Files): Distribute fseeko.c.
44029         * modules/ftello (Files): Distribute ftello.c.
44030         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
44031         mode.
44032         * lib/ftello.c (rpl_ftello): New file.
44033         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
44034         fseeko, ftello.
44035         (gl_STDIN_LARGE_OFFSET): New macro.
44036         * modules/stdio (Makefile.am): Perform the replacement.
44037         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
44038
44039 2007-05-23  Bruno Haible  <bruno@clisp.org>
44040
44041         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
44042         GNULIB_POSIXCHECK is defined.
44043
44044 2007-05-21  Bruno Haible  <bruno@clisp.org>
44045
44046         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
44047         Check also the output for NaN arguments. When cross-compiling, guess
44048         no on IRIX.
44049         * lib/vasnprintf.c: Update comments.
44050         * tests/test-vasnprintf-posix.c (strisnan): New function.
44051         (test_function): Use it.
44052         * tests/test-vasprintf-posix.c (strisnan): New function.
44053         (test_function): Use it.
44054         * tests/test-snprintf-posix.h (strisnan): New function.
44055         (test_function): Use it.
44056         * tests/test-sprintf-posix.h (strisnan): New function.
44057         (test_function): Use it.
44058         Reported by Eric Blake.
44059
44060 2007-05-20  Bruno Haible  <bruno@clisp.org>
44061
44062         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
44063         numbers that fails on BeOS.
44064         * doc/functions/frexpl.texi: Update.
44065
44066 2007-05-20  Jim Meyering  <jim@meyering.net>
44067
44068         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
44069         forced upon us by glibc-2.6.
44070
44071 2007-05-20  Bruno Haible  <bruno@clisp.org>
44072
44073         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
44074         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
44075         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
44076         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
44077         NEED_PRINTF_INFINITE.
44078         (is_infinitel): New function.
44079         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
44080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
44081         gl_PREREQ_VASNPRINTF_INFINITE.
44082         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
44083         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44084         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
44085         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
44086         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
44087         gl_PREREQ_VASNPRINTF_INFINITE.
44088         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44089         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44090         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44092         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44093         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44094         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44095         * doc/functions/fprintf.texi: Update.
44096         * doc/functions/printf.texi: Update.
44097         * doc/functions/snprintf.texi: Update.
44098         * doc/functions/sprintf.texi: Update.
44099         * doc/functions/vfprintf.texi: Update.
44100         * doc/functions/vprintf.texi: Update.
44101         * doc/functions/vsnprintf.texi: Update.
44102         * doc/functions/vsprintf.texi: Update.
44103
44104 2007-05-20  Bruno Haible  <bruno@clisp.org>
44105
44106         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
44107         was not found in libc.
44108         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
44109
44110 2007-05-20  Bruno Haible  <bruno@clisp.org>
44111
44112         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
44113         printed as "-nan" instead of "nan".
44114         * tests/test-vasprintf-posix.c (test_function): Likewise.
44115         * tests/test-snprintf-posix.h (test_function): Likewise.
44116         * tests/test-sprintf-posix.h (test_function): Likewise.
44117         Needed for HP-UX 11.
44118
44119 2007-05-20  Jim Meyering  <jim@meyering.net>
44120
44121         Fix buggy test for the fchownat-deref bug.
44122         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
44123         symlink required for the run-test.  Without it, this test would
44124         always declare that fchownat doesn't work, and client code would
44125         unnecessarily use the replacement function with fixed libc.
44126         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
44127         Reported by Greg Schafer.
44128
44129 2007-05-19  Bruno Haible  <bruno@clisp.org>
44130
44131         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
44132         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
44133         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
44134         Needed for IRIX 6.5 and Solaris 2.5.1.
44135
44136 2007-05-19  Bruno Haible  <bruno@clisp.org>
44137
44138         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
44139         (test_function): Skip tests involving -0.0 on platforms where
44140         -0.0 = 0.0.
44141         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
44142         (test_function): Skip tests involving -0.0 on platforms where
44143         -0.0 = 0.0.
44144         * tests/test-snprintf-posix.h (have_minus_zero): New function.
44145         (test_function): Skip tests involving -0.0 on platforms where
44146         -0.0 = 0.0.
44147         * tests/test-sprintf-posix.h (have_minus_zero): New function.
44148         (test_function): Skip tests involving -0.0 on platforms where
44149         -0.0 = 0.0.
44150         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
44151         tests.
44152         * tests/test-printf-posix.h (test_function): Likewise.
44153         * tests/test-printf-posix.output: Remove all -0.0 related results.
44154         Needed for IRIX 6.5.
44155
44156 2007-05-19  Bruno Haible  <bruno@clisp.org>
44157
44158         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
44159         printed as "nan0x7fffffff" instead of "nan".
44160         * tests/test-vasprintf-posix.c (test_function): Likewise.
44161         * tests/test-snprintf-posix.h (test_function): Likewise.
44162         * tests/test-sprintf-posix.h (test_function): Likewise.
44163         * tests/test-fprintf-posix.h (NaN): Remove macro.
44164         (test_function): Remove all NaN related tests.
44165         * tests/test-printf-posix.h (NaN): Remove macro.
44166         (test_function): Remove all NaN related tests.
44167         * tests/test-printf-posix.output: Remove all NaN related results.
44168         Needed for IRIX 6.5.
44169
44170 2007-05-19  Bruno Haible  <bruno@clisp.org>
44171
44172         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
44173         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
44174
44175 2007-05-19  Bruno Haible  <bruno@clisp.org>
44176
44177         * lib/float_.h: New file.
44178         * m4/float_h.m4: New file.
44179         * modules/float: New file.
44180         * modules/isnanl (Dependencies): Add float.
44181         * modules/isnanl-nolibm (Dependencies): Likewise.
44182         * modules/mathl (Dependencies): Likewise.
44183         * modules/printf-frexpl (Dependencies): Likewise.
44184         * modules/signbit (Dependencies): Likewise.
44185         * modules/vasnprintf (Dependencies): Likewise.
44186         * doc/headers/float.texi: Update.
44187
44188 2007-05-19  Jim Meyering  <jim@meyering.net>
44189
44190         * lib/utimens.c (gl_futimens): Rename from futimens,
44191         now that glibc-2.6 declares futimens.
44192         * lib/utimens.h: Likewise.
44193
44194 2007-05-19  Bruno Haible  <bruno@clisp.org>
44195
44196         Avoid test failures on mingw.
44197         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
44198         * tests/test-printf-posix.sh: Likewise.
44199         * tests/test-vfprintf-posix.sh: Likewise.
44200         * tests/test-vprintf-posix.sh: Likewise.
44201
44202 2007-05-19  Bruno Haible  <bruno@clisp.org>
44203
44204         Fix *printf result for NaN, Inf, -0.0 on mingw.
44205         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
44206         * lib/vasnprintf.c: Include math.h and isnan.h.
44207         (is_infinite_or_zero): New function.
44208         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
44209         values in the %f, %F, %e, %E, %g, %G directives.
44210         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
44211         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44212         gl_PRINTF_INFINITE and test its result. Invoke
44213         gl_PREREQ_VASNPRINTF_INFINITE.
44214         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44215         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44216         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44217         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44218         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44219         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44220         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44221         * doc/functions/fprintf.texi: Update.
44222         * doc/functions/printf.texi: Update.
44223         * doc/functions/snprintf.texi: Update.
44224         * doc/functions/sprintf.texi: Update.
44225         * doc/functions/vfprintf.texi: Update.
44226         * doc/functions/vprintf.texi: Update.
44227         * doc/functions/vsnprintf.texi: Update.
44228         * doc/functions/vsprintf.texi: Update.
44229
44230 2007-05-19  Bruno Haible  <bruno@clisp.org>
44231
44232         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
44233         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
44234         Instead of multiplying with 10^k, set extra_zeroes to k.
44235         (scale10_round_long_double): Remove function.
44236
44237 2007-05-18  Bruno Haible  <bruno@clisp.org>
44238
44239         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
44240         introduced on 2007-05-06.
44241
44242 2007-05-18  Bruno Haible  <bruno@clisp.org>
44243
44244         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
44245         %g directives.
44246         * tests/test-vasprintf-posix.c (test_function): Likewise.
44247         * tests/test-snprintf-posix.h (test_function): Likewise.
44248         * tests/test-sprintf-posix.h (test_function): Likewise.
44249
44250 2007-05-18  Bruno Haible  <bruno@clisp.org>
44251
44252         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
44253         (strmatch): New function.
44254         (test_function): Test the %f directive on numbers of various exponents.
44255         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
44256         (strmatch): New function.
44257         (test_function): Test the %f directive on numbers of various exponents.
44258         * tests/test-snprintf-posix.h (strmatch): New function.
44259         (test_function): Test the %f directive on numbers of various exponents.
44260         * tests/test-sprintf-posix.h (strmatch): New function.
44261         (test_function): Test the %f directive on numbers of various exponents.
44262         * tests/test-snprintf-posix.c (SIZEOF): New macro.
44263         * tests/test-sprintf-posix.c (SIZEOF): New macro.
44264         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
44265         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
44266
44267 2007-05-18  Bruno Haible  <bruno@clisp.org>
44268
44269         Add support for 'long double' number output.
44270         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
44271         * lib/vasnprintf.c: Include math.h and float+.h.
44272         (mp_limb_t): New type.
44273         (GMP_LIMB_BITS): New macro.
44274         (mp_twolimb_t): New type.
44275         (GMP_TWOLIMB_BITS): New macro.
44276         (mpn_t): New type.
44277         (multiply, divide, convert_to_decimal, decode_long_double,
44278         scale10_round_long_double, scale10_round_decimal_long_double,
44279         floorlog10l): New functions.
44280         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
44281         for the %f, %F, %e, %E, %g, %G directives.
44282         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
44283         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44284         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
44285         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
44286         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44287         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44288         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44289         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44290         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44291         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44292         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44293         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
44294         * modules/snprintf-posix (Depends-on): Likewise.
44295         * modules/sprintf-posix (Depends-on): Likewise.
44296         * modules/vasnprintf-posix (Depends-on): Likewise.
44297         * modules/vasprintf-posix (Depends-on): Likewise.
44298         * modules/vfprintf-posix (Depends-on): Likewise.
44299         * modules/vsnprintf-posix (Depends-on): Likewise.
44300         * modules/vsprintf-posix (Depends-on): Likewise.
44301         * modules/vasnprintf (Files): Add lib/float+.h.
44302         * doc/functions/fprintf.texi: Update.
44303         * doc/functions/printf.texi: Update.
44304         * doc/functions/snprintf.texi: Update.
44305         * doc/functions/sprintf.texi: Update.
44306         * doc/functions/vfprintf.texi: Update.
44307         * doc/functions/vprintf.texi: Update.
44308         * doc/functions/vsnprintf.texi: Update.
44309         * doc/functions/vsprintf.texi: Update.
44310
44311 2007-05-18  Bruno Haible  <bruno@clisp.org>
44312
44313         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
44314
44315 2007-05-18  Bruno Haible  <bruno@clisp.org>
44316
44317         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
44318         for printing 64-bit integers. Needed for mingw.
44319
44320 2007-05-18  Bruno Haible  <bruno@clisp.org>
44321
44322         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
44323         gl_FUNC_FREXPL_WORKS.
44324         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
44325
44326 2007-05-18  Bruno Haible  <bruno@clisp.org>
44327
44328         * modules/frexpl-nolibm-tests: New file.
44329
44330         * modules/frexpl-nolibm: New file.
44331         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
44332
44333 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
44334
44335         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
44336         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
44337         GCC 4.2, which otherwise issues a lot of warnings.
44338         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
44339         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
44340         Likewise.
44341         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
44342         * modules/iconv_open (iconv.h): Likewise.
44343         * modules/locale (locale.h): Likewise.
44344         * modules/netinet_in (netinet/in.h): Likewise.
44345         * modules/sys_select (sys_select.h): Likewise.
44346         * modules/sys_socket (sys/socket.h): Likewise.
44347         * modules/sys_stat (sys/stat.h): Likewise.
44348         * modules/sysexits (sysexits.h): Likewise.
44349         * modules/unistd (unistd.h): Likewise.
44350
44351 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44352
44353         * modules/closein-tests (Makefile.am): Distribute
44354         `test-closein.sh'.
44355
44356 2007-05-17  Bruno Haible  <bruno@clisp.org>
44357
44358         * tests/test-printf-posix.output: Renamed from
44359         tests/test-fprintf-posix.out.
44360         * modules/fprintf-posix-tests: Update.
44361         * modules/printf-posix-tests: Update.
44362         * modules/vfprintf-posix-tests: Update.
44363         * modules/vprintf-posix-tests: Update.
44364         * tests/test-fprintf-posix.sh: Update.
44365         * tests/test-printf-posix.sh: Update.
44366         * tests/test-vfprintf-posix.sh: Update.
44367         * tests/test-vprintf-posix.sh: Update.
44368         Reported by Ralf Wildenhues.
44369
44370 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
44371
44372         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
44373         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
44374         GCC 4.2, which otherwise issues a lot of warnings.
44375         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
44376         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
44377         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
44378         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
44379         it should no longer be needed.
44380         * lib/string_.h: Likewise.
44381         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
44382         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
44383         * modules/inttypes (inttypes.h): Likewise.
44384         * modules/math (math.h): Likewise.
44385         * modules/search (search.h): Likewise.
44386         * modules/signal (signal.h): Likewise.
44387         * modules/stdint (stdint.h): Likewise.
44388         * modules/stdio (stdio.h): Likewise.
44389         * modules/stdlib (stdlib.h): Likewise.
44390         * modules/string (string.h): Likewise.
44391         * modules/sys_time (sys/time.h): Likewise.
44392         * modules/time (time.h): Likewise.
44393         * modules/wchar (wchar.h): Likewise.
44394         * modules/wctype (wtype.h): Likewise.
44395
44396 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
44397
44398         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
44399
44400 2007-05-13  Bruno Haible  <bruno@clisp.org>
44401
44402         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
44403         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44404         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
44405         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
44406         (gl_PREREQ_STRTOK_R): Don't require it here.
44407
44408 2007-05-13  Bruno Haible  <bruno@clisp.org>
44409
44410         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
44411         when used in C++ mode.
44412
44413 2007-05-12  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/linebuffer.h: Tweak doc.
44416         * lib/linebuffer.c: Likewise.
44417
44418 2007-05-12  James Youngman  <jay@gnu.org>
44419
44420         * lib/linebuffer.c (readlinebuffer_delim): New function,
44421         like readlinebuffer, but use a caller-specified delimiter.
44422         (readlinebuffer): Just call readlinebuffer_delim with '\n'
44423         as the delimiter.
44424         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
44425
44426 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44427
44428         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
44429         * modules/openat (Files): Remove openat-die.c.
44430         (Depends-on): Add openat-die.
44431         * modules/openat-die: New module.
44432
44433 2007-05-06  Bruno Haible  <bruno@clisp.org>
44434
44435         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
44436         Update with info about Cygwin.
44437         * doc/functions/fprintf.texi: Update.
44438         * doc/functions/printf.texi: Update.
44439         * doc/functions/snprintf.texi: Update.
44440         * doc/functions/sprintf.texi: Update.
44441         * doc/functions/vfprintf.texi: Update.
44442         * doc/functions/vprintf.texi: Update.
44443         * doc/functions/vsnprintf.texi: Update.
44444         * doc/functions/vsprintf.texi: Update.
44445         Reported by Eric Blake.
44446
44447 2007-05-06  Bruno Haible  <bruno@clisp.org>
44448
44449         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
44450         padding ourselves for the floating-point directives.
44451         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
44452         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
44453         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
44454         gl_PRINTF_FLAG_ZERO and test its result. Invoke
44455         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
44456         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44457         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
44458         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44459         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44460         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44462         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44463         * tests/test-snprintf-posix.h (test_function): Also check the width
44464         and some flags in the %f directive.
44465         * tests/test-sprintf-posix.h (test_function): Likewise.
44466         * tests/test-vasnprintf-posix.c (test_function): Likewise.
44467         * tests/test-vasprintf-posix.c (test_function): Likewise.
44468         * doc/functions/fprintf.texi: Update.
44469         * doc/functions/printf.texi: Update.
44470         * doc/functions/snprintf.texi: Update.
44471         * doc/functions/sprintf.texi: Update.
44472         * doc/functions/vfprintf.texi: Update.
44473         * doc/functions/vprintf.texi: Update.
44474         * doc/functions/vsnprintf.texi: Update.
44475         * doc/functions/vsprintf.texi: Update.
44476
44477 2007-05-06  Bruno Haible  <bruno@clisp.org>
44478
44479         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
44480         pass the ' flag character to sprintf or snprintf.
44481         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
44482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
44483         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
44484         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
44485         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
44486         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44487         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
44488         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44489         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44490         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44491         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44492         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44493         * tests/test-snprintf-posix.h (test_function): Also check the grouping
44494         flag.
44495         * tests/test-sprintf-posix.h (test_function): Likewise.
44496         * tests/test-vasnprintf-posix.c (test_function): Likewise.
44497         * tests/test-vasprintf-posix.c (test_function): Likewise.
44498         * doc/functions/fprintf.texi: Update.
44499         * doc/functions/printf.texi: Update.
44500         * doc/functions/snprintf.texi: Update.
44501         * doc/functions/sprintf.texi: Update.
44502         * doc/functions/vfprintf.texi: Update.
44503         * doc/functions/vprintf.texi: Update.
44504         * doc/functions/vsnprintf.texi: Update.
44505         * doc/functions/vsprintf.texi: Update.
44506
44507 2007-05-01  Bruno Haible  <bruno@clisp.org>
44508
44509         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
44510
44511 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
44512
44513         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
44514         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
44515
44516 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44517
44518         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
44519         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
44520         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
44521
44522 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
44523
44524         * lib/argp-help.c (struct hol_entry): New member `ord'.
44525         (HOL_ENTRY_PTRCMP): Use ord for comparison
44526         (hol_sort): Initialize ord.
44527
44528 2007-05-01  Bruno Haible  <bruno@clisp.org>
44529
44530         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
44531         Reported by Eric Blake.
44532         * doc/gnulib.texi (Function Substitutes): Update.
44533
44534 2007-05-01  Bruno Haible  <bruno@clisp.org>
44535
44536         * doc/functions.texi: Remove file, now redundant through
44537         doc/functions/*.texi.
44538
44539 2007-05-01  Bruno Haible  <bruno@clisp.org>
44540
44541         * modules/argp (Depends-on): Add sleep.
44542
44543 2007-05-01  Bruno Haible  <bruno@clisp.org>
44544
44545         * modules/sleep-tests: New file.
44546         * tests/test-sleep.c: New file.
44547
44548         * modules/sleep: New file.
44549         * lib/sleep.c: New file.
44550         * m4/sleep.m4: New file.
44551         * lib/unistd_.h (sleep): New declaration.
44552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
44553         HAVE_SLEEP.
44554         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
44555         * doc/functions/sleep.texi: Document the sleep module.
44556
44557 2007-05-01  Bruno Haible  <bruno@clisp.org>
44558
44559         * lib/sigprocmask.h: Remove file.
44560         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
44561         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
44562         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
44563         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
44564         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
44565         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
44566         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
44567         HAVE_SIGSET_T as a shell variable.
44568         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
44569         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
44570         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
44571         (Depends-on): Add signal. Remove verify.
44572         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
44573         (Include): Mention <signal.h> instead of sigprocmask.h.
44574         * NEWS: Mention the change.
44575         * lib/fatal-signal.c: Don't include sigprocmask.h.
44576
44577 2007-05-01  Bruno Haible  <bruno@clisp.org>
44578
44579         * modules/signal: New file.
44580         * lib/signal_.h: New file.
44581         * m4/signal_h.m4: New file.
44582
44583 2007-05-01  Bruno Haible  <bruno@clisp.org>
44584
44585         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
44586         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
44587         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
44588         HAVE_WCTYPE_CTMP_BUG into wctype.h.
44589
44590 2007-05-01  Bruno Haible  <bruno@clisp.org>
44591
44592         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
44593         configure time.
44594         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
44595         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
44596         * modules/sys_stat (Makefile.am): Substitute their values into
44597         sys/stat.h.
44598
44599 2007-05-01  Bruno Haible  <bruno@clisp.org>
44600
44601         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
44602         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
44603         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
44604
44605 2007-05-01  Bruno Haible  <bruno@clisp.org>
44606
44607         * doc/header/assert.texi: Undo last change: don't mention the gnulib
44608         'assert' module here.
44609
44610 2007-05-01  Bruno Haible  <bruno@clisp.org>
44611
44612         * doc/functions/*.texi: New files.
44613         * doc/functions/google-ranking.txt: New file.
44614         * doc/gnulib.texi (Function Substitutes): New chapter.
44615         (ctime, inet_ntoa): Remove sections.
44616         * doc/ctime.texi: Remove file.
44617         * doc/inet_ntoa.texi: Remove file.
44618         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
44619         dependencies.
44620         (%.info): New rule, specifying a --reference-limit.
44621
44622 2007-05-01  Bruno Haible  <bruno@clisp.org>
44623
44624         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
44625
44626 2007-05-01  Bruno Haible  <bruno@clisp.org>
44627
44628         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
44629         the portability of 'mkdir' to mingw systems.
44630
44631 2007-05-01  Bruno Haible  <bruno@clisp.org>
44632
44633         * doc/headers/google-ranking.txt: New file.
44634
44635 2007-04-30  Eric Blake  <ebb9@byu.net>
44636
44637         Prefer fseeko to fseek.
44638         * modules/getpass (Depends-on): Add fseeko.
44639         * lib/getpass.c (getpass): Use fseeko, not fseek.
44640
44641 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
44642
44643         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
44644         assumes the sorting is stable, while most qsort implementations
44645         are not.  Use argument addresses to ensure they never compare as
44646         equal.
44647
44648         * tests/test-argp-2.sh (usage-indent test): Fix output
44649         (func_compare): Restore diff options
44650         * tests/test-argp.c: Restore #include "progname.h"
44651
44652 2007-04-29  Bruno Haible  <bruno@clisp.org>
44653
44654         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
44655         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
44656         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
44657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44658         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
44659         (configure.ac): Define CHECK_SNPRINTF_POSIX.
44660         (TESTS, check_PROGRAMS): Add test-snprintf.
44661         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
44662         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
44663         (TESTS, check_PROGRAMS): Add test-vsnprintf.
44664         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
44665         assertions that fail on HP-UX, OSF/1, or IRIX.
44666         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
44667
44668 2007-04-29  Bruno Haible  <bruno@clisp.org>
44669
44670         * MODULES.html.sh (posix_functions): Remove 'contents'.
44671
44672 2007-04-29  Karl Berry  <karl@gnu.org>
44673
44674         * config/srclist.txt (gendocs_template_min): new entry.
44675
44676 2007-04-29  Bruno Haible  <bruno@clisp.org>
44677
44678         Work around fpurge bug on BSD systems.
44679         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
44680         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
44681         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
44682         fpurge to rpl_fpurge if the system already has this function.
44683         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
44684         the case where the system already has this function. Correct invariants
44685         on BSD systems.
44686         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
44687         BSD systems.
44688
44689 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
44690
44691         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
44692         proposed by Sven Verdoolaege.
44693
44694         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
44695         options.
44696         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
44697         (usage and help tests): Update
44698
44699 2007-04-29  Bruno Haible  <bruno@clisp.org>
44700
44701         * tests/test-fflush.c (main): Use a file of size 17, not 10.
44702         Print more information in case of failure. Disable a test on BeOS.
44703
44704 2007-04-29  Bruno Haible  <bruno@clisp.org>
44705
44706         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
44707         This helps debugging on systems on which no gdb is available.
44708
44709 2007-04-29  Bruno Haible  <bruno@clisp.org>
44710
44711         * lib/freading.h: Improve comments.
44712         * lib/fwriting.h: Likewise.
44713         * tests/test-freading.c (main): Don't check freading immediately after
44714         repositioning. Needed for glibc.
44715
44716 2007-04-29  Bruno Haible  <bruno@clisp.org>
44717
44718         * lib/freading.c (freading): Trivial simplification.
44719
44720 2007-04-28  Bruno Haible  <bruno@clisp.org>
44721
44722         * tests/test-fwriting.c (main): Also test the interaction between
44723         fflush and fwriting.
44724         * modules/fwriting-tests (Depends-on): Add fflush.
44725
44726         * tests/test-freading.c (main): Also test the interaction between
44727         fflush and freading.
44728         * modules/freading-tests (Depends-on): Add fflush.
44729
44730 2007-04-28  Bruno Haible  <bruno@clisp.org>
44731
44732         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
44733         fseeko and ftello.
44734         Suggested by Eric Blake.
44735
44736 2007-04-28  Jim Meyering  <jim@meyering.net>
44737
44738         Avoid false-negative in gl_STDINT_H's C99 conformance test.
44739         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
44740         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
44741
44742 2007-04-27  Eric Blake  <ebb9@byu.net>
44743
44744         * doc/headers/assert.texi (assert.h): Document assert module use.
44745
44746 2007-04-27  Bruno Haible  <bruno@clisp.org>
44747
44748         * doc/headers/*.texi: New files.
44749         * doc/gnulib.texi (Header File Substitutes): New chapter.
44750         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
44751         dependencies.
44752         (standards.info ,standards.html, standards.dvi): Update dependencies.
44753         (mostlyclean, clean): New targets.
44754
44755 2007-04-27  Bruno Haible  <bruno@clisp.org>
44756
44757         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
44758         * modules/sysexits (Files, Makefile.am): Update.
44759
44760         * lib/sys_socket_.h: Renamed from lib/socket_.h.
44761         * modules/sys_socket (Files, Makefile.am): Update.
44762
44763         * lib/sys_stat_.h: Renamed from lib/stat_.h.
44764         * modules/sys_stat (Files, Makefile.am): Update.
44765
44766 2007-04-27  Eric Blake  <ebb9@byu.net>
44767
44768         * lib/freading.h: Improve comments.
44769         * lib/fwriting.h: Likewise.
44770         * lib/fflush.c: Likewise.
44771
44772         Fix closein for mingw.
44773         * modules/closein-tests: Add tests for closein.
44774         * tests/test-closein.c: New file.
44775         * tests/test-closein.sh: Likewise.
44776         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
44777         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
44778
44779 2007-04-27  Bruno Haible  <bruno@clisp.org>
44780
44781         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
44782         version is < 6.
44783         * lib/math_.h [__DECC]: Likewise.
44784         * lib/stdio_.h [__DECC]: Likewise.
44785         * lib/stdlib_.h [__DECC]: Likewise.
44786         * lib/string_.h [__DECC]: Likewise.
44787         * lib/time_.h [__DECC]: Likewise.
44788         * lib/wchar_.h [__DECC]: Likewise.
44789         * lib/wctype_.h [__DECC]: Likewise.
44790
44791 2007-04-27  Bruno Haible  <bruno@clisp.org>
44792
44793         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
44794
44795 2007-04-27  Bruno Haible  <bruno@clisp.org>
44796
44797         * lib/fflush.c: Add comments.
44798         * modules/fpurge-tests (Depends-on): Add fflush.
44799         * modules/freadable-tests (Depends-on): Likewise.
44800         * modules/fwritable-tests (Depends-on): Likewise.
44801
44802 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
44803
44804         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
44805         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
44806         Report by Bruno Haible <bruno@clisp.org>.
44807
44808 2007-04-26  Eric Blake  <ebb9@byu.net>
44809
44810         Fix fflush on mingw.
44811         * modules/fflush (Depends-on): Add freading.
44812         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
44813         but unread data.
44814
44815 2007-04-26  Eric Blake  <ebb9@byu.net>
44816         and Bruno Haible  <bruno@clisp.org>
44817
44818         Implement freading and fwriting.
44819         * lib/freading.c: New file.
44820         * lib/freading.h: Likewise.
44821         * m4/freading.m4: Likewise.
44822         * modules/freading: Likewise.
44823         * modules/freading-tests: Likewise.
44824         * tests/test-freading.c: Likewise.
44825         * lib/fwriting.c: New file.
44826         * lib/fwriting.h: Likewise.
44827         * m4/fwriting.m4: Likewise.
44828         * modules/fwriting: Likewise.
44829         * modules/fwriting-tests: Likewise.
44830         * tests/test-fwriting.c: Likewise.
44831         * MODULES.html.sh (File stream based Input/Output): Mention them.
44832
44833 2007-04-26  Bruno Haible  <bruno@clisp.org>
44834
44835         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
44836         'long' when we assume it.
44837         Suggested by Eric Blake.
44838
44839 2007-04-26  Bruno Haible  <bruno@clisp.org>
44840
44841         Ensure fseeko, ftello are declared on glibc systems.
44842         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
44843         * modules/fseeko (configure.ac-early): Likewise.
44844         * modules/ftello (configure.ac-early): Likewise.
44845         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
44846         AC_FUNC_FSEEKO for this.
44847         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
44848         (gl_CHECK_FSEEKO): Remove macro.
44849
44850 2007-04-26  Bruno Haible  <bruno@clisp.org>
44851
44852         * tests/test-fflush.c (main): Also check the ftell result after
44853         fflush and fseek/fseeko.
44854         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
44855         file descriptor position cache in the stream.
44856         * lib/fseeko.c (rpl_fseeko): Likewise.
44857
44858 2007-04-26  Bruno Haible  <bruno@clisp.org>
44859
44860         * modules/fflush-tests (Depends-on): Add fseeko.
44861
44862 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
44863             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44864
44865         * lib/argz_.h: ensure error_t definition is obtained in same
44866         mechanism system argz.h would have.
44867         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
44868         argz facilities are known bad.  Err on the side of caution if
44869         cross-compiling.
44870
44871 2007-04-25  Eric Blake  <ebb9@byu.net>
44872
44873         * lib/fpurge.c (includes): Use stdlib.h for free.
44874         * tests/test-fflush.c (main): Also test fflush-fseeko.
44875
44876 2007-04-25  Bruno Haible  <bruno@clisp.org>
44877
44878         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
44879         * lib/fseeko.c: New file.
44880         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
44881         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
44882         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
44883         gl_FUNC_FSEEKO.
44884         (gl_FUNC_FSEEKO): Invoke it.
44885         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
44886         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
44887         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
44888
44889 2007-04-25  Bruno Haible  <bruno@clisp.org>
44890
44891         * modules/fflush (Depends-on): Add ftello.
44892
44893 2007-04-25  Bruno Haible  <bruno@clisp.org>
44894
44895         * modules/ftello-tests: New file.
44896         * tests/test-ftello.c: New file.
44897
44898         * modules/ftello: New file.
44899         * m4/ftello.m4: New file.
44900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
44901         HAVE_FTELLO.
44902         * lib/stdio_.h (ftello): New declaration.
44903         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
44904         HAVE_FTELLO.
44905
44906 2007-04-25  Bruno Haible  <bruno@clisp.org>
44907
44908         * modules/fseeko-tests: New file.
44909         * tests/test-fseeko.c: New file.
44910
44911         * modules/fseeko: New file.
44912         * m4/fseeko.m4: New file.
44913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
44914         HAVE_FSEEKO.
44915         * lib/stdio_.h (fseeko): New declaration.
44916         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
44917         HAVE_FSEEKO.
44918
44919 2007-04-25  Bruno Haible  <bruno@clisp.org>
44920
44921         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
44922
44923 2007-04-25  Bruno Haible  <bruno@clisp.org>
44924
44925         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
44926         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
44927         * tests/test-unistd.c: Likewise.
44928         * tests/test-fcntl.c: Likewise.
44929
44930 2007-04-23  Eric Blake  <ebb9@byu.net>
44931
44932         * lib/fflush.c: Fix missing include.
44933         Reported by Bruno Haible.
44934
44935 2007-04-23  Bruno Haible  <bruno@clisp.org>
44936
44937         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
44938         Reported by Eric Blake.
44939
44940 2007-04-23  Bruno Haible  <bruno@clisp.org>
44941
44942         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
44943
44944 2007-04-23  Bruno Haible  <bruno@clisp.org>
44945
44946         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
44947
44948 2007-04-23  Bruno Haible  <bruno@clisp.org>
44949
44950         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
44951         Needed on HP-UX 11.
44952
44953 2007-04-16  Eric Blake  <ebb9@byu.net>
44954
44955         Make fflush rely on fpurge.
44956         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
44957         open coding all variants.
44958         * modules/fflush (Depends-on): Add fpurge and unistd.
44959         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
44960         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
44961
44962         Fix --with-tests compilation on cygwin.
44963         * modules/argmatch-tests (Makefile.am): List gnulib library first
44964         in LDADD.
44965         * modules/argp-tests (Makefile.am): Likewise.
44966         * modules/array-list-tests (Makefile.am): Likewise.
44967         * modules/array-oset-tests (Makefile.am): Likewise.
44968         * modules/avltree-list-tests (Makefile.am): Likewise.
44969         * modules/avltree-oset-tests (Makefile.am): Likewise.
44970         * modules/avltreehash-list-tests (Makefile.am): Likewise.
44971         * modules/carray-list-tests (Makefile.am): Likewise.
44972         * modules/dirname-tests (Makefile.am): Likewise.
44973         * modules/frexp-tests (Makefile.am): Likewise.
44974         * modules/isnanl-tests (Makefile.am): Likewise.
44975         * modules/linked-list-tests (Makefile.am): Likewise.
44976         * modules/linkedhash-list-tests (Makefile.am): Likewise.
44977         * modules/lock-tests (Makefile.am): Likewise.
44978         * modules/rbtree-list-tests (Makefile.am): Likewise.
44979         * modules/rbtree-oset-tests (Makefile.am): Likewise.
44980         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
44981         * modules/tls-tests (Makefile.am): Likewise.
44982         * modules/tsearch-tests (Makefile.am): Likewise.
44983         * modules/xvasprintf-tests (Makefile.am): Likewise.
44984
44985         Fix fpurge for cygwin.
44986         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
44987         value.
44988         * modules/fpurge-tests (Depends-on): Clean up trash.
44989
44990 2007-04-16  Simon Josefsson  <simon@josefsson.org>
44991
44992         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
44993
44994         * m4/autobuild.m4: Re-indent.
44995
44996 2007-04-13  Bruno Haible  <bruno@clisp.org>
44997
44998         * modules/fpurge-tests: New file.
44999         * tests/test-fpurge.c: New file.
45000
45001         * modules/fpurge: New file.
45002         * lib/fpurge.h: New file.
45003         * lib/fpurge.c: New file.
45004         * m4/fpurge.m4: New file.
45005
45006 2007-04-13  Bruno Haible  <bruno@clisp.org>
45007
45008         * modules/fbufmode-tests: New file.
45009         * tests/test-fbufmode.c: New file.
45010
45011         * modules/fbufmode: New file.
45012         * lib/fbufmode.h: New file.
45013         * lib/fbufmode.c: New file.
45014         * m4/fbufmode.m4: New file.
45015
45016 2007-04-13  Bruno Haible  <bruno@clisp.org>
45017
45018         * modules/fwritable-tests: New file.
45019         * tests/test-fwritable.c: New file.
45020
45021         * modules/fwritable: New file.
45022         * lib/fwritable.h: New file.
45023         * lib/fwritable.c: New file.
45024         * m4/fwritable.m4: New file.
45025
45026 2007-04-13  Bruno Haible  <bruno@clisp.org>
45027
45028         * modules/freadable-tests: New file.
45029         * tests/test-freadable.c: New file.
45030
45031         * modules/freadable: New file.
45032         * lib/freadable.h: New file.
45033         * lib/freadable.c: New file.
45034         * m4/freadable.m4: New file.
45035
45036 2007-04-13  Bruno Haible  <bruno@clisp.org>
45037
45038         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
45039         MOSTLYCLEANFILES.
45040
45041 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45042
45043         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
45044         gzip bootstrap.conf to avoid dragging in i18n machinery.
45045         (gnulib_tool_option): Use it.
45046
45047 2007-04-13  Bruno Haible  <bruno@clisp.org>
45048
45049         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
45050         %F directives.
45051         * tests/test-vasprintf-posix.c (test_function): Likewise.
45052         * tests/test-snprintf-posix.h (test_function): Likewise.
45053         * tests/test-sprintf-posix.h (test_function): Likewise.
45054         * tests/test-fprintf-posix.h (test_function): Likewise.
45055         * tests/test-printf-posix.h (test_function): Likewise.
45056         * tests/test-fprintf-posix.out: Likewise.
45057
45058 2007-04-13  Bruno Haible  <bruno@clisp.org>
45059
45060         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
45061         * modules/tls-tests (configure.ac): Likewise.
45062         Reported by Arto C. Nirkko <anirkko@insel.ch>.
45063
45064 2007-04-13  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/tls.c (glthread_tls_get): Fix return type.
45067         Patch by Arto C. Nirkko <anirkko@insel.ch>.
45068
45069 2007-04-12  Eric Blake  <ebb9@byu.net>
45070
45071         * modules/gettime (Depends-on): Remove gettime.
45072         Reported by Dmitry V. Levin.
45073
45074 2007-04-12  Bruno Haible  <bruno@clisp.org>
45075
45076         * modules/fflush (Include): Mention <stdio.h>.
45077         * modules/strtoimax (Include): Mention <inttypes.h>.
45078         * modules/strtoumax (Include): Likewise.
45079
45080 2007-04-12  Eric Blake  <ebb9@byu.net>
45081
45082         * .cvsignore: New file.
45083         * .gitignore: Likewise.
45084
45085 2007-04-12  Bruno Haible  <bruno@clisp.org>
45086
45087         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
45088         not before, since $(LDADD) often contains libgnu.a.
45089         * modules/striconv-tests (test_striconv_LDADD): Likewise.
45090         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
45091         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
45092         Needed on Cygwin.
45093
45094 2007-04-12  Eric Blake  <ebb9@byu.net>
45095
45096         Work around glibc's failure to flush stdin on fclose.
45097         * lib/closein.c (close_stdin): Flush stdin before closing.
45098
45099         Work around glibc's failure to reset seekable stdin on exit.
45100         * modules/closein: New module.
45101         * lib/closein.c: New file.
45102         * lib/closein.h: Likewise.
45103         * m4/closein.m4: Likewise.
45104         * MODULES.html.sh (File stream based Input/Output): Document it.
45105
45106 2007-04-12  Simon Josefsson  <simon@josefsson.org>
45107
45108         * gnulib-tool: Rename generated 'autobuild' script to
45109         'do-autobuild' in --create-megatestdir output.
45110
45111         * doc/gnulib.texi (Build robot for gnulib): Fix.
45112
45113 2007-04-12  Simon Josefsson  <simon@josefsson.org>
45114
45115         * modules/sysexits (Depends-on): Add absolute-header.
45116
45117 2007-04-12  Eric Blake  <ebb9@byu.net>
45118
45119         No need to preserve errno on success.
45120         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
45121         Reported by Bruno Haible.
45122
45123 2007-04-12  Simon Josefsson  <simon@josefsson.org>
45124
45125         * MODULES.html.sh (Support for maintaining and releasing
45126         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
45127
45128 2007-04-12  Simon Josefsson  <simon@josefsson.org>
45129
45130         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
45131
45132 2007-04-12  Simon Josefsson  <simon@josefsson.org>
45133
45134         * modules/autobuild: New module.
45135
45136         * m4/autobuild.m4: New file.
45137
45138 2007-04-11  Bruno Haible  <bruno@clisp.org>
45139
45140         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
45141         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
45142         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
45143         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
45144         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45145         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45146         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45147         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45148         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45149         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
45151         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45152         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45153         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
45154         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45155         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45156         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
45157         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45158         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45159         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
45160         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45161         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45162         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
45163         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45164         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45165         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
45166         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
45167         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
45168         Reported by Eric Blake.
45169
45170 2007-04-11  Bruno Haible  <bruno@clisp.org>
45171
45172         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
45173
45174 2007-04-10  Bruno Haible  <bruno@clisp.org>
45175
45176         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
45177         for NaN and Infinity. Needed on FreeBSD 6.1.
45178         * tests/test-vasnprintf-posix.c (test_function): Undo last change
45179         regarding results for "%010a" of Infinity and NaN.
45180         * tests/test-vasprintf-posix.c (test_function): Likewise.
45181         * tests/test-snprintf-posix.h (test_function): Likewise.
45182         * tests/test-sprintf-posix.h (test_function): Likewise.
45183         * tests/test-fprintf-posix.h (test_function): Likewise.
45184         * tests/test-printf-posix.h (test_function): Likewise.
45185         * tests/test-fprintf-posix.out: Likewise.
45186
45187 2007-04-10  Bruno Haible  <bruno@clisp.org>
45188
45189         * modules/locale-tests: New file.
45190         * tests/test-locale.c: New file.
45191
45192         * modules/locale: New file.
45193         * lib/locale_.h: New file.
45194         * m4/locale_h.m4: New file.
45195
45196 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
45197             Bruno Haible  <bruno@clisp.org>
45198
45199         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
45200         be determined, test for availability of the copysignf, copysign,
45201         copysignl functions.
45202         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
45203         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
45204         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
45205
45206 2007-04-09  Eric Blake  <ebb9@byu.net>
45207
45208         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
45209         * modules/stdio (Makefile.am): Support fflush.
45210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45211         * modules/fflush: New file.
45212         * lib/fflush.c: Likewise.
45213         * m4/fflush.m4: Likewise.
45214         * modules/fflush-tests: New test.
45215         * tests/test-fflush.c: Likewise.
45216         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
45217
45218 2007-04-06  Bruno Haible  <bruno@clisp.org>
45219
45220         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
45221         (VASNPRINTF): Use signbit for faster determination whether to print a
45222         minus sign.
45223         * modules/vasnprintf (Files): Remove lib/float+.h.
45224         * modules/fprintf-posix (Depends-on): Add signbit.
45225         * modules/snprintf-posix (Depends-on): Likewise.
45226         * modules/sprintf-posix (Depends-on): Likewise.
45227         * modules/vasnprintf-posix (Depends-on): Likewise.
45228         * modules/vasprintf-posix (Depends-on): Likewise.
45229         * modules/vfprintf-posix (Depends-on): Likewise.
45230         * modules/vsnprintf-posix (Depends-on): Likewise.
45231         * modules/vsprintf-posix (Depends-on): Likewise.
45232
45233 2007-04-06  Bruno Haible  <bruno@clisp.org>
45234
45235         * tests/test-frexp.c (main): Test also the sign bit of zero results.
45236         * tests/test-frexpl.c (main): Likewise.
45237         * tests/test-ldexpl.c (main): Likewise.
45238         * modules/frexp-tests (Depends-on): Add signbit.
45239         * modules/frexpl-tests (Depdends-on): Likewise.
45240         * modules/ldexpl-tests (Depdends-on): Likewise.
45241
45242 2007-04-06  Bruno Haible  <bruno@clisp.org>
45243
45244         * modules/signbit-tests: New file.
45245         * tests/test-signbit.c: New file.
45246
45247         * modules/signbit: New file.
45248         * lib/signbitf.c: New file.
45249         * lib/signbitd.c: New file.
45250         * lib/signbitl.c: New file.
45251         * m4/signbit.m4: New file.
45252         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
45253         (signbit): New macro.
45254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
45255         REPLACE_SIGNBIT.
45256         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
45257         REPLACE_FREXPL into math.h.
45258
45259 2007-04-06  Bruno Haible  <bruno@clisp.org>
45260
45261         * modules/isnanf-nolibm-tests: New file.
45262         * tests/test-isnanf.c: New file.
45263
45264         * modules/isnanf-nolibm: New file.
45265         * lib/isnanf.h: New file.
45266         * lib/isnanf.c: New file.
45267         * lib/isnan.c: Consider the USE_FLOAT macro.
45268         * m4/isnanf.m4: New file.
45269
45270 2007-04-06  Bruno Haible  <bruno@clisp.org>
45271
45272         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
45273         (Link): New section.
45274
45275         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
45276
45277 2007-04-06  Bruno Haible  <bruno@clisp.org>
45278
45279         Assume the 'long double' type.
45280         * m4/longdouble.m4: Remove file.
45281         * config/srclist.txt: Don't mention longdouble.m4.
45282         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
45283         * lib/float+.h: Likewise.
45284         * lib/frexp.c: Likewise.
45285         * lib/printf-args.h: Likewise.
45286         * lib/printf-args.c: Likewise.
45287         * lib/printf-frexp.c: Likewise.
45288         * lib/printf-parse.c: Likewise.
45289         * lib/vasnprintf.c: Likewise.
45290         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
45291         * m4/intl.m4: Likewise.
45292         * m4/isnanl.m4: Likewise.
45293         * m4/printf.m4: Likewise.
45294         * m4/printf-frexpl.m4: Likewise.
45295         * m4/vasnprintf.m4: Likewise.
45296         * modules/allocsa (Files): Remove m4/longdouble.m4.
45297         * modules/gettext (Files): Likewise.
45298         * modules/relocatable-prog-wrapper (Files): Likewise.
45299         * modules/vasnprintf (Files): Likewise.
45300         * modules/isnanl (Files): Likewise.
45301         (Include): Simplify.
45302         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
45303         (Include): Simplify.
45304         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
45305         (Include): Simplify.
45306         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
45307         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45308         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
45309         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45310         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
45311         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45312         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
45313         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45314         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
45315         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45316         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
45317         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
45318         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
45319         * tests/test-isnanl.c: Likewise.
45320         * tests/test-snprintf-posix.h: Likewise.
45321         * tests/test-sprintf-posix.h: Likewise.
45322         * tests/test-vasnprintf-posix.c: Likewise.
45323         * tests/test-vasnprintf-posix2.c: Likewise.
45324         * tests/test-vasprintf-posix.c: Likewise.
45325
45326 2007-04-06  Bruno Haible  <bruno@clisp.org>
45327
45328         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
45329         * lib/math_.h [__DECC]: Include the overridden include file through
45330         #include_next, outside the double-inclusion guard.
45331         * lib/stdio_.h [__DECC]: Likewise.
45332         * lib/stdlib_.h [__DECC]: Likewise.
45333         * lib/string_.h [__DECC]: Likewise.
45334         * lib/time_.h [__DECC]: Likewise.
45335         * lib/wchar_.h [__DECC]: Likewise.
45336         * lib/wctype_.h [__DECC]: Likewise.
45337         * lib/inttypes_.h [__DECC]: Likewise.
45338         Reported by Albert Chin <china@thewrittenword.com> in
45339         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
45340
45341 2007-04-04  Eric Blake  <ebb9@byu.net>
45342
45343         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
45344         1.5.x.
45345
45346 2007-04-04  Bruno Haible  <bruno@clisp.org>
45347
45348         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
45349         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
45350
45351 2007-04-04  Bruno Haible  <bruno@clisp.org>
45352
45353         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
45354         results for "%010a" of Infinity and NaN.
45355         * tests/test-vasprintf-posix.c (test_function): Likewise.
45356         * tests/test-snprintf-posix.h (test_function): Likewise.
45357         * tests/test-sprintf-posix.h (test_function): Likewise.
45358         * tests/test-fprintf-posix.h (test_function): Remove these tests.
45359         * tests/test-printf-posix.h (test_function): Likewise.
45360         * tests/test-fprintf-posix.out: Update.
45361         Needed for FreeBSD 6.1.
45362
45363 2007-04-04  Bruno Haible  <bruno@clisp.org>
45364
45365         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
45366         directly used by the gnulib modules nor by gnulib-tool.
45367
45368 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
45369
45370         * DEPENDENCIES: Give overall description of version dependency
45371         desirability.  Use more-typical names for apps.
45372         Add shell, coreutils, diffutils, grep, tar, gzip.
45373
45374 2007-04-04  Simon Josefsson  <simon@josefsson.org>
45375
45376         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
45377
45378 2007-04-04  Karl Berry  <karl@gnu.org>
45379
45380         * MODULES.html.sh (func_module): missing '.
45381
45382 2007-04-03  Bruno Haible  <bruno@clisp.org>
45383
45384         * modules/argmatch-tests (Makefile.am): New variable
45385         test_argmatch_LDADD.
45386         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
45387         * modules/array-list-tests (Makefile.am): New variable
45388         test_array_list_LDADD.
45389         * modules/array-oset-tests (Makefile.am): New variable
45390         test_array_oset_LDADD.
45391         * modules/avltree-list-tests (Makefile.am): New variable
45392         test_avltree_list_LDADD.
45393         * modules/avltree-oset-tests (Makefile.am): New variable
45394         test_avltree_oset_LDADD.
45395         * modules/avltreehash-list-tests (Makefile.am): New variable
45396         test_avltreehash_list_LDADD.
45397         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
45398         test_canonicalize_lgpl_LDADD.
45399         * modules/carray-list-tests (Makefile.am): New variable
45400         test_carray_list_LDADD.
45401         * modules/dirname-tests (Makefile.am): New variable
45402         test_dirname_LDADD.
45403         * modules/linked-list-tests (Makefile.am): New variable
45404         test_linked_list_LDADD.
45405         * modules/linkedhash-list-tests (Makefile.am): New variable
45406         test_linkedhash_list_LDADD.
45407         * modules/rbtree-list-tests (Makefile.am): New variable
45408         test_rbtree_list_LDADD.
45409         * modules/rbtree-oset-tests (Makefile.am): New variable
45410         test_rbtree_oset_LDADD.
45411         * modules/rbtreehash-list-tests (Makefile.am): New variable
45412         test_rbtreehash_list_LDADD.
45413         * modules/xvasprintf-tests (Makefile.am): New variable
45414         test_xvasprintf_LDADD.
45415         Reported by Eric Blake.
45416
45417 2007-04-03  Eric Blake  <ebb9@byu.net>
45418
45419         * DEPENDENCIES: Weaken m4 requirements.
45420
45421 2007-04-03  Bruno Haible  <bruno@clisp.org>
45422
45423         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
45424         * modules/isnanl-tests (configure.ac): Likewise.
45425
45426 2007-04-03  Ben Pfaff  <blp@gnu.org>
45427
45428         * modules/iconv_open: Add $(srcdir)/ to source directory
45429         references in Makefile fragments that call gperf, to fix VPATH
45430         builds.
45431
45432 2007-04-03  Bruno Haible  <bruno@clisp.org>
45433
45434         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
45435         * lib/ldexpl.c: Undo last change.
45436
45437 2007-04-03  Bruno Haible  <bruno@clisp.org>
45438
45439         * modules/printf-frexpl (Depends-on): Undo last change.
45440         (Files): Add m4/ldexpl.m4.
45441
45442 2007-04-03  Bruno Haible  <bruno@clisp.org>
45443
45444         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
45445         * modules/isnanl (Link): New section.
45446
45447         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
45448         * modules/frexp (Link): New section.
45449
45450         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
45451         * modules/frexpl (Link): New section.
45452
45453         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
45454         * modules/ldexpl (Link): New section.
45455
45456 2007-04-03  Bruno Haible  <bruno@clisp.org>
45457
45458         * modules/TEMPLATE-EXTENDED: New file.
45459         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
45460
45461 2007-04-03  Bruno Haible  <bruno@clisp.org>
45462
45463         * DEPENDENCIES: New file.
45464         Suggested by Simon Josefsson.
45465
45466 2007-04-03  Bruno Haible  <bruno@clisp.org>
45467
45468         * doc/gnulib.texi: Escape @.
45469
45470 2007-04-03  James Youngman  <jay@gnu.org>
45471         and Paul Eggert  <eggert@cs.ucla.edu>
45472
45473         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
45474         birthtime on all systems that have birthtime, not just those which
45475         use st_birthtimensec rather than st_birthtim.  Putting zero in
45476         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
45477         that the birth time is not available for files on an NFS mount.
45478
45479 2007-04-03  Simon Josefsson  <simon@josefsson.org>
45480
45481         * modules/memxor: Move back from crypto/, suggested by Bruno.
45482         * modules/crypto/hmac-sha1: Fix memxor dependency.
45483
45484         * modules/crypto/gc: Moved from ../.
45485
45486 2007-04-02  Eric Blake  <ebb9@byu.net>
45487
45488         * lib/ldexpl.c (includes): Avoid libm.
45489
45490         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
45491
45492 2007-04-02  Bruno Haible  <bruno@clisp.org>
45493
45494         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
45495         on IRIX.
45496
45497 2007-04-02  Bruno Haible  <bruno@clisp.org>
45498
45499         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
45500         x86 or x86_64 platforms running MacOS X.
45501         Reported by Ryan Schmidt <@ryandesign.com>.
45502
45503 2007-04-02  Bruno Haible  <bruno@clisp.org>
45504
45505         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
45506         i386.
45507
45508 2007-04-01  Simon Josefsson  <simon@josefsson.org>
45509
45510         * modules/crypto/arcfour: Moved from ../.
45511         * modules/crypto/arcfour-tests: Moved from ../.
45512         * modules/crypto/arctwo: Moved from ../.
45513         * modules/crypto/arctwo-tests: Moved from ../.
45514         * modules/crypto/des: Moved from ../.
45515         * modules/crypto/des-tests: Moved from ../.
45516         * modules/crypto/gc-arcfour: Moved from ../.
45517         * modules/crypto/gc-arcfour-tests: Moved from ../.
45518         * modules/crypto/gc-arctwo: Moved from ../.
45519         * modules/crypto/gc-arctwo-tests: Moved from ../.
45520         * modules/crypto/gc-des: Moved from ../.
45521         * modules/crypto/gc-des-tests: Moved from ../.
45522         * modules/crypto/gc-hmac-md5: Moved from ../.
45523         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
45524         * modules/crypto/gc-hmac-sha1: Moved from ../.
45525         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
45526         * modules/crypto/gc-md2: Moved from ../.
45527         * modules/crypto/gc-md2-tests: Moved from ../.
45528         * modules/crypto/gc-md4: Moved from ../.
45529         * modules/crypto/gc-md4-tests: Moved from ../.
45530         * modules/crypto/gc-md5: Moved from ../.
45531         * modules/crypto/gc-md5-tests: Moved from ../.
45532         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
45533         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
45534         * modules/crypto/gc-random: Moved from ../.
45535         * modules/crypto/gc-rijndael: Moved from ../.
45536         * modules/crypto/gc-rijndael-tests: Moved from ../.
45537         * modules/crypto/gc-sha1: Moved from ../.
45538         * modules/crypto/gc-sha1-tests: Moved from ../.
45539         * modules/crypto/gc-tests: Moved from ../.
45540         * modules/crypto/hmac-md5: Moved from ../.
45541         * modules/crypto/hmac-md5-tests: Moved from ../.
45542         * modules/crypto/hmac-sha1: Moved from ../.
45543         * modules/crypto/hmac-sha1-tests: Moved from ../.
45544         * modules/crypto/md2: Moved from ../.
45545         * modules/crypto/md2-tests: Moved from ../.
45546         * modules/crypto/md4: Moved from ../.
45547         * modules/crypto/md4-tests: Moved from ../.
45548         * modules/crypto/md5: Moved from ../.
45549         * modules/crypto/md5-tests: Moved from ../.
45550         * modules/crypto/memxor: Moved from ../.
45551         * modules/crypto/rijndael: Moved from ../.
45552         * modules/crypto/rijndael-tests: Moved from ../.
45553         * modules/crypto/sha1: Moved from ../.
45554
45555 2007-03-30  James Youngman  <jay@gnu.org>
45556
45557         * tests/test-stat-time.c (prepare_test): use chmod() rather than
45558         rename() to change the ctime of a file (because ctime is unaffected
45559         by rename on jfs2 on AIX 5.1).
45560         (main): Start by doing cleanup, in case a previous run failed leaving
45561         test files behind.
45562
45563 2007-03-31  Bruno Haible  <bruno@clisp.org>
45564
45565         Support old proprietary implementations of iconv.
45566         * modules/iconv_open: New file.
45567         * lib/iconv_.h: New file.
45568         * m4/iconv_h.m4: New file.
45569         * lib/iconv_open.c: New file.
45570         * lib/iconv_open-aix.gperf: New file.
45571         * lib/iconv_open-hpux.gperf: New file.
45572         * lib/iconv_open-irix.gperf: New file.
45573         * lib/iconv_open-osf.gperf: New file.
45574         * m4/iconv_open.m4: New file.
45575         * modules/linebreak (Depends-on): Add iconv_open.
45576         * modules/striconv (Depends-on): Likewise.
45577         * modules/striconveh (Depends-on): Likewise.
45578         * modules/unicodeio (Depends-on): Likewise.
45579         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
45580         (iconv_t)(-1).
45581         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
45582         conversion if cd is (iconv_t)(-1).
45583         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
45584         is not possible.
45585
45586 2007-03-31  Bruno Haible  <bruno@clisp.org>
45587
45588         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
45589         work on Solaris either. Protect also second use of "autodetect_jp".
45590
45591 2007-03-31  Bruno Haible  <bruno@clisp.org>
45592
45593         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
45594         the function is not present.
45595
45596 2007-03-31  Bruno Haible  <bruno@clisp.org>
45597
45598         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
45599         the function is not present.
45600
45601 2007-03-31  Bruno Haible  <bruno@clisp.org>
45602
45603         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
45604         a bug in HP-UX iconv_open().
45605
45606 2007-03-31  Bruno Haible  <bruno@clisp.org>
45607
45608         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
45609         (Mathematics <math.h>): New section, add fpieee.
45610         (Input/output <stdio.h>): Add fseterr.
45611         (Mathematics <math.h>): New section, add printf-frexp.
45612         (Container data structures): Add sublist.
45613         (Core language properties): Add fpucw, inline.
45614         (Functions for greatest-width integer types <inttypes.h>): Add
45615         imaxabs, imaxdiv, inttypes.
45616         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
45617         isnanl-nolibm, ldexp.
45618         (Mathematics <math.h>): New section, add printf-frexpl.
45619         (Support for systems lacking POSIX:2001): Add fprintf-posix,
45620         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
45621         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
45622         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
45623         (Unicode string functions): Add unistr/u*-mbtoucr.
45624         (Java): Add javacomp-script, javaexec-script.
45625         (C#): Add csharpcomp-script, csharpexec-script.
45626         (Support for building libraries and executables): Add havelib,
45627         relocatable-*.
45628         (Support for maintaining and releasing projects): Renamed from
45629         'Support for maintaining and release projects'. Add announce-gen.
45630
45631 2007-03-31  Bruno Haible  <bruno@clisp.org>
45632
45633         * README: Talk primarily about git.
45634         (git and CVS): Renamed from CVS.
45635         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
45636         gnulib is available through git.
45637         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
45638
45639 2007-03-30  Bruno Haible  <bruno@clisp.org>
45640
45641         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
45642         * lib/poll_.h: Likewise.
45643         * lib/stat_.h: Likewise.
45644         * lib/sys_time_.h: Likewise.
45645         * lib/sysexit_.h: Likewise.
45646         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
45647         * lib/stdbool_.h: Likewise.
45648         * lib/byteswap_.h: Add double-inclusion guard.
45649
45650 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
45651
45652         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
45653
45654 2007-03-30  Karl Berry  <karl@gnu.org>
45655
45656         * config/srclist-update: double space after USA in the license
45657         substitution, since that's how it's usually (?) written.
45658
45659 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
45660
45661         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
45662         reported by Bruno Haible.
45663
45664 2007-03-29  Bruno Haible  <bruno@clisp.org>
45665
45666         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
45667         a bug in AIX iconv().
45668
45669 2007-03-29  Bruno Haible  <bruno@clisp.org>
45670
45671         * modules/ldexpl-tests: New file.
45672         * tests/test-ldexpl.c: New file.
45673
45674 2007-03-29  Bruno Haible  <bruno@clisp.org>
45675
45676         * lib/ldexpl.c: Include fpucw.h.
45677         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
45678         multiplication.
45679         * modules/ldexpl (Depends-on): Add fpucw.
45680
45681 2007-03-29  Bruno Haible  <bruno@clisp.org>
45682
45683         * modules/ldexpl: New file.
45684         * m4/ldexpl.m4: New file.
45685         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
45686         set.
45687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
45688         REPLACE_LDEXPL.
45689         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
45690         REPLACE_LDEXPL.
45691         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
45692         gl_FUNC_LDEXPL_WORKS.
45693         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
45694         * modules/mathl (Files): Remove lib/ldexpl.c.
45695         (Depends-on): Add ldexpl.
45696
45697 2007-03-29  Bruno Haible  <bruno@clisp.org>
45698
45699         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
45700
45701 2007-03-29  Bruno Haible  <bruno@clisp.org>
45702
45703         * tests/test-striconveh.c (main): Don't assume that a direct conversion
45704         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
45705         and possibly also HP-UX.
45706         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
45707         work on AIX, IRIX, HP-UX, OSF/1.
45708         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
45709         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
45710         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
45711         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
45712         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
45713         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
45714
45715 2007-03-29  Bruno Haible  <bruno@clisp.org>
45716
45717         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
45718
45719 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
45720
45721         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
45722         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
45723
45724 2007-03-29  Eric Blake  <ebb9@byu.net>
45725
45726         * lib/acl-internal.h: Remove redundant include.
45727         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
45728         Cygwin when a file is locked.
45729
45730 2007-03-29  Bruno Haible  <bruno@clisp.org>
45731
45732         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
45733         file.
45734         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
45735
45736 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
45737
45738         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
45739         try to remove a parent directory if the child couldn't be removed
45740         (except for the first rmdir, which could fail because the child
45741         doesn't exist).  Problem reported by Jeff Blaine in
45742         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
45743
45744 2007-03-28  Bruno Haible  <bruno@clisp.org>
45745
45746         * lib/striconveh.c (utf8conv_carefully): New function.
45747         (mem_cd_iconveh_internal): Invoke it.
45748
45749 2007-03-28  Bruno Haible  <bruno@clisp.org>
45750
45751         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
45752         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
45753         input.
45754         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
45755         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
45756         unistr/u8-uctomb.
45757
45758 2007-03-28  Bruno Haible  <bruno@clisp.org>
45759
45760         * modules/unistr/u8-mbtoucr: New file.
45761         * lib/unistr/u8-mbtoucr.c: New file.
45762         * modules/unistr/u16-mbtoucr: New file.
45763         * lib/unistr/u16-mbtoucr.c: New file.
45764         * modules/unistr/u16-mbtoucr: New file.
45765         * lib/unistr/u16-mbtoucr.c: New file.
45766         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
45767
45768 2007-03-27  Simon Josefsson  <simon@josefsson.org>
45769             Bruno Haible  <bruno@clisp.org>
45770
45771         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
45772         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
45773         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
45774
45775         * m4/stdio_h.m4: Add stubs for vasprintf too.
45776
45777         * modules/stdio: Support vasprintf in sed command.
45778
45779         * modules/vasprintf: Depend on stdio for prototypes.  Remove
45780         vasprintf.h.  Add stdio module indicator.
45781
45782         * lib/stdio_.h: Declare asprintf and vasprintf, based on
45783         vasprintf.h.
45784
45785         * lib/vasprintf.h: File removed.
45786
45787         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
45788         * lib/vasprintf.c: Ditto.
45789         * lib/xvasprintf.c: Ditto.
45790         * tests/test-vasprintf-posix.c: Ditto.
45791         * tests/test-vasprintf.c: Ditto.
45792
45793 2007-03-27  Bruno Haible  <bruno@clisp.org>
45794
45795         Make vasnprintf multithread-safe.
45796         * lib/vasnprintf.c (decimal_point_char): New function.
45797         (VASNPRINTF): Use it.
45798         Suggested by Simon Josefsson.
45799
45800 2007-03-27  Eric Blake  <ebb9@byu.net>
45801
45802         Support sub-second birthtime on cygwin.
45803         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
45804         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
45805         (get_stat_birthtime): Also work with st_birthtim.
45806
45807 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
45808
45809         * lib/stat-time.h (USE_BIRTHTIME): Remove.
45810         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
45811         (get_stat_birthtime_ns): Do not try to use "spare" fields.
45812         (get_stat_birthtime_ns): Simplify compile-time tests.
45813         (get_stat_birthtime): Change the API to look like
45814         get_stat_mtime etc., except return a negative tv_nsec on error.
45815         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
45816         Don't check for "spare" fields.
45817         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
45818         or for struct stat.st_birthtime, as these tests aren't used.
45819         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
45820
45821 2007-03-27  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/stat-time.h: Include <sys/stat.h>.
45824
45825 2007-03-27  James Youngman  <jay@gnu.org>
45826
45827         * lib/stat-time.h (get_stat_birthtime): New function for
45828           retrieving st_birthtime as provided by UFS2 (hence *BSD).
45829         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
45830           and its variants.
45831         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
45832         * modules/stat-time-test: New file.
45833         * tests/test-stat-time.c: New test, devised by Bruno Haible.
45834
45835 2007-03-26  Bruno Haible  <bruno@clisp.org>
45836
45837         Better support of signalling NaNs.
45838         * lib/atanl.c: Include isnanl.h.
45839         (atanl): Perform test for NaN at the beginning of the function and
45840         through a call to isnanl.
45841         * lib/cosl.c: Include isnanl.h.
45842         (cosl): Perform test for NaN at the beginning of the function and
45843         through a call to isnanl.
45844         * lib/ldexpl.c: Include isnanl.h.
45845         (ldexpl): Perform test for NaN through a call to isnanl.
45846         * lib/logl.c: Include isnanl.h.
45847         (logl): Perform test for NaN at the beginning of the function and
45848         through a call to isnanl.
45849         * lib/sinl.c: Include isnanl.h.
45850         (sinl): Perform test for NaN at the beginning of the function and
45851         through a call to isnanl.
45852         * lib/sqrtl.c: Include isnanl.h.
45853         (sqrtl): Perform test for NaN at the beginning of the function and
45854         through a call to isnanl.
45855         * lib/tanl.c: Include isnanl.h.
45856         (tanl): Perform test for NaN at the beginning of the function and
45857         through a call to isnanl.
45858         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
45859         * modules/mathl (Depends-on): Add isnanl.
45860
45861 2007-03-26  Eric Blake  <ebb9@byu.net>
45862
45863         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
45864         regression in logic sense of previous patch.
45865
45866 2007-03-26  Bruno Haible  <bruno@clisp.org>
45867
45868         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
45869         unportable shell command "if ! ...".
45870         Reported by Ralf Wildenhues.
45871
45872 2007-03-25  Bruno Haible  <bruno@clisp.org>
45873
45874         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
45875         <sysexits.h> file, and only add EX_CONFIG.
45876         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
45877         absolute file name and whether it is sufficient. Substitute also
45878         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
45879         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
45880         ABSOLUTE_SYSEXITS_H into sysexits.h.
45881
45882 2007-03-25  Bruno Haible  <bruno@clisp.org>
45883
45884         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
45885         hints is NULL.
45886
45887 2007-03-25  Bruno Haible  <bruno@clisp.org>
45888
45889         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
45890         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
45891
45892 2007-03-25  Bruno Haible  <bruno@clisp.org>
45893
45894         * lib/vasnprintf.c: Include langinfo.h.
45895         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
45896         multithread-safe.
45897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
45898         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
45899         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45900         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45901         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45902         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45903         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45904         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
45905         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45906         Reported by Simon Josefsson.
45907
45908 2007-03-25  Bruno Haible  <bruno@clisp.org>
45909
45910         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
45911         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
45912         * modules/vasnprintf (Depends-on): Add stdint.
45913
45914 2007-03-25  Bruno Haible  <bruno@clisp.org>
45915
45916         * modules/fpieee: New file.
45917         * m4/fpieee.m4: New file.
45918         * modules/isnan-nolibm (Depends-on): Add fpieee.
45919         * modules/isnanl-nolibm (Depends-on): Add fpieee.
45920         * modules/isnanl (Depends-on): Add fpieee.
45921
45922 2007-03-25  Bruno Haible  <bruno@clisp.org>
45923
45924         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
45925
45926 2007-03-25  Bruno Haible  <bruno@clisp.org>
45927
45928         Avoid test failures on IRIX 6.5.
45929         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
45930         (main): Use it.
45931         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
45932         macros.
45933         (main): Use them.
45934
45935 2007-03-25  Bruno Haible  <bruno@clisp.org>
45936
45937         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
45938         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
45939         exists but doesn't work.
45940         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
45941         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
45942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
45943         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
45944
45945 2007-03-25  Bruno Haible  <bruno@clisp.org>
45946
45947         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
45948         returns inf. Needed on IRIX 6.5.
45949
45950 2007-03-25  Bruno Haible  <bruno@clisp.org>
45951
45952         * tests/test-frexpl.c: Include isnanl-nolibm.h.
45953         (main): Use isnanl instead of x != x idiom.
45954         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
45955
45956         * tests/test-frexp.c: Include isnan.h.
45957         (main): Use isnan instead of x != x idiom.
45958         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
45959
45960 2007-03-25  Bruno Haible  <bruno@clisp.org>
45961
45962         * tests/test-frexp.c (NaN): New function/macro.
45963         (main): Use it instead of 0.0 / 0.0.
45964         * tests/test-isnan.c (NaN): New function/macro.
45965         (main): Use it instead of 0.0 / 0.0.
45966         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
45967         (test_function): Use it instead of 0.0 / 0.0.
45968         * tests/test-vasprintf-posix.c (NaN): New function/macro.
45969         (test_function): Use it instead of 0.0 / 0.0.
45970         * tests/test-snprintf-posix.h (NaN): New function/macro.
45971         (test_function): Use it instead of 0.0 / 0.0.
45972         * tests/test-sprintf-posix.h (NaN): New function/macro.
45973         (test_function): Use it instead of 0.0 / 0.0.
45974         * tests/test-fprintf-posix.h (NaN): New function/macro.
45975         (test_function): Use it instead of 0.0 / 0.0.
45976         * tests/test-printf-posix.h (NaN): New function/macro.
45977         (test_function): Use it instead of 0.0 / 0.0.
45978
45979         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
45980
45981 2007-03-25  Bruno Haible  <bruno@clisp.org>
45982
45983         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
45984
45985 2007-03-25  Bruno Haible  <bruno@clisp.org>
45986
45987         * lib/regexec.c (merge_state_with_log): Make static.
45988
45989 2007-03-25  Bruno Haible  <bruno@clisp.org>
45990
45991         * lib/trigl.c (kernel_rem_pio2): Make static.
45992
45993 2007-03-25  Bruno Haible  <bruno@clisp.org>
45994
45995         * lib/sincosl.c (sincosl_table): Make static.
45996
45997 2007-03-25  Bruno Haible  <bruno@clisp.org>
45998
45999         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
46000         if the compiler does not support C99.
46001
46002 2007-03-25  Bruno Haible  <bruno@clisp.org>
46003
46004         * modules/time (Makefile.am): Ensure all rule action lines start with a
46005         tab.
46006
46007 2007-03-24  Bruno Haible  <bruno@clisp.org>
46008
46009         * modules/tsearch-tests: New file.
46010         * tests/test-tsearch.sh: New file.
46011         * tests/test-tsearch.c: New file, mostly copied from glibc.
46012
46013         * modules/search-tests: New file.
46014         * tests/test-search.c: New file.
46015
46016         * modules/search: New file.
46017         * lib/search_.h: New file, incorporating lib/tsearch.h.
46018         * m4/search_h.m4: New file.
46019         * lib/tsearch.h: Remove file.
46020         * lib/tsearch.c: Include search.h instead of tsearch.h.
46021         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
46022         HAVE_TSEARCH.
46023         * modules/tsearch (Files): Remove lib/tsearch.h.
46024         (Depends-on): Add search.
46025         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
46026         (Include): Change tsearch.h into search.h.
46027
46028 2007-03-24  Bruno Haible  <bruno@clisp.org>
46029
46030         * modules/fpucw: New file.
46031         * lib/fpucw.h: New file.
46032         * lib/frexp.c: Include fpucw.h.
46033         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
46034         (FUNC): Use them.
46035         * lib/printf-frexp.c: Include fpucw.h.
46036         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
46037         (FUNC): Use them.
46038         * lib/vasnprintf.c: Include fpucw.h.
46039         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
46040         'long double' calculations.
46041         * tests/test-frexpl.c: Include fpucw.h.
46042         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
46043         * tests/test-printf-frexpl.c: Include fpucw.h.
46044         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
46045         * modules/frexpl (Depends-on): Add fpucw.
46046         * modules/printf-frexpl (Depends-on): Likewise.
46047         * modules/fprintf-posix (Depends-on): Likewise.
46048         * modules/snprintf-posix (Depends-on): Likewise.
46049         * modules/sprintf-posix (Depends-on): Likewise.
46050         * modules/vasnprintf-posix (Depends-on): Likewise.
46051         * modules/vasprintf-posix (Depends-on): Likewise.
46052         * modules/vfprintf-posix (Depends-on): Likewise.
46053         * modules/vsnprintf-posix (Depends-on): Likewise.
46054         * modules/vsprintf-posix (Depends-on): Likewise.
46055         * modules/frexpl-tests (Depends-on): Likewise.
46056         * modules/printf-frexpl-tests (Depends-on): Likewise.
46057
46058 2007-03-24  Bruno Haible  <bruno@clisp.org>
46059
46060         * lib/float+.h: New file.
46061         * lib/isnan.c: Include float+.h.
46062         (SIZE): New macro.
46063         (FUNC): Compare only SIZE bytes of the value.
46064         * lib/vasnprintf.c: Include float+.h.
46065         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
46066         SIZEOF_LDBL or SIZEOF_DBL bytes.
46067         * modules/isnan-nolibm (Files): Add lib/float+.h.
46068         * modules/isnanl-nolibm (Files): Add lib/float+.h.
46069         * modules/isnanl (Files): Add lib/float+.h.
46070         * modules/vasnprintf (Files): Add lib/float+.h.
46071
46072 2007-03-24  Bruno Haible  <bruno@clisp.org>
46073
46074         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
46075         include isnanl-nolibm.h.
46076
46077 2007-03-24  Bruno Haible  <bruno@clisp.org>
46078
46079         * tests/test-read-file.c (main): Don't produce spurious output for
46080         expected situations. Make the test fail if it encountered unexpected
46081         results.
46082
46083 2007-03-24  Bruno Haible  <bruno@clisp.org>
46084
46085         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
46086         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
46087
46088 2007-03-24  Bruno Haible  <bruno@clisp.org>
46089
46090         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
46091
46092 2007-03-24  Bruno Haible  <bruno@clisp.org>
46093
46094         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
46095         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
46096
46097         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
46098         * modules/utf8-ucs4: Turn into a symbolic link to module
46099         unistr/u8-mbtouc.
46100
46101         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
46102         utf8-ucs4-unsafe.
46103         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
46104         unistr/u8-mbtouc-unsafe.
46105
46106         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
46107         * modules/utf16-ucs4: Turn into a symbolic link to module
46108         unistr/u16-mbtouc.
46109
46110         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
46111         utf16-ucs4-unsafe.
46112         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
46113         unistr/u16-mbtouc-unsafe.
46114
46115         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
46116         * modules/ucs4-utf8: Turn into a symbolic link to module
46117         unistr/u8-ubtomb.
46118
46119         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
46120         * modules/ucs4-utf16: Turn into a symbolic link to module
46121         unistr/u16-ubtomb.
46122
46123 2007-03-24  Bruno Haible  <bruno@clisp.org>
46124
46125         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
46126         Enable the function only if HAVE_INLINE.
46127         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
46128         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
46129         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
46130         Enable the function only if HAVE_INLINE.
46131         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
46132         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
46133         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
46134         Enable the function only if HAVE_INLINE.
46135         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
46136         Enable the function only if HAVE_INLINE.
46137         * modules/utf8-ucs4: Update.
46138         * modules/utf8-ucs4-unsafe: Update.
46139         * modules/utf16-ucs4: Update.
46140         * modules/utf16-ucs4-unsafe: Update.
46141         * modules/ucs4-utf8: Update.
46142         * modules/ucs4-utf16: Update.
46143
46144 2007-03-24  Bruno Haible  <bruno@clisp.org>
46145
46146         * lib/utf8-ucs4.h: Remove file.
46147         * lib/utf8-ucs4-unsafe.h: Remove file.
46148         * lib/utf16-ucs4.h: Remove file.
46149         * lib/utf16-ucs4-unsafe.h: Remove file.
46150         * lib/ucs4-utf8.h: Remove file.
46151         * lib/ucs4-utf16.h: Remove file.
46152         * lib/unistr.h: Include their previous contents.
46153         * m4/utf-ucs4.m4: Remove file.
46154         * m4/ucs4-utf.m4: Remove file.
46155         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
46156         (Depends-on): Add unistr/base.
46157         (configure.ac): Remove gl_UTF_UCS4.
46158         (Makefile.am): Update.
46159         (Include): Change to unistr.h.
46160         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
46161         (Depends-on): Add unistr/base.
46162         (configure.ac): Remove gl_UTF_UCS4.
46163         (Makefile.am): Update.
46164         (Include): Change to unistr.h.
46165         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
46166         (Depends-on): Add unistr/base.
46167         (configure.ac): Remove gl_UTF_UCS4.
46168         (Makefile.am): Update.
46169         (Include): Change to unistr.h.
46170         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
46171         (Depends-on): Add unistr/base.
46172         (configure.ac): Remove gl_UTF_UCS4.
46173         (Makefile.am): Update.
46174         (Include): Change to unistr.h.
46175         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
46176         (Depends-on): Add unistr/base.
46177         (configure.ac): Remove gl_UCS4_UTF.
46178         (Makefile.am): Update.
46179         (Include): Change to unistr.h.
46180         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
46181         (Depends-on): Add unistr/base.
46182         (configure.ac): Remove gl_UCS4_UTF.
46183         (Makefile.am): Update.
46184         (Include): Change to unistr.h.
46185         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
46186         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
46187         utf8-ucs4-unsafe.h.
46188         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
46189         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
46190         utf16-ucs4-unsafe.h.
46191         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
46192         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
46193         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
46194         * lib/unistr/u8-strchr.c: Likewise.
46195         * lib/unistr/u8-strrchr.c: Likewise.
46196         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
46197         * lib/unistr/u16-strchr.c: Likewise.
46198         * lib/unistr/u16-strrchr.c: Likewise.
46199         * lib/striconveh.c: Update.
46200         * lib/linebreak.c: Update.
46201
46202 2007-03-24  Bruno Haible  <bruno@clisp.org>
46203
46204         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
46205         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
46206
46207 2007-03-22  Bruno Haible  <bruno@clisp.org>
46208
46209         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
46210
46211 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
46212
46213         * MODULES.html.sh (File system functions): New module write-any-file.
46214         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
46215         * m4/write-any-file.m4: New files.
46216
46217 2007-03-23  Eric Blake  <ebb9@byu.net>
46218
46219         * gnulib-tool: Rearrange space-tab sequences, since some editors
46220         like to eat them.
46221
46222 2007-03-23  Eric Blake  <ebb9@byu.net>
46223
46224         * lib/version-etc.c (version_etc_va): Update license wording to
46225         be more concise.  Recommended by Richard Stallman.
46226
46227 2007-03-22  Bruno Haible  <bruno@clisp.org>
46228
46229         * lib/poll.c (MSG_PEEK): New fallback definition.
46230
46231 2007-03-22  Bruno Haible  <bruno@clisp.org>
46232
46233         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
46234         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
46235         (main): Update.
46236         Fixes a compilation error on BeOS.
46237
46238 2007-03-22  Bruno Haible  <bruno@clisp.org>
46239
46240         * modules/frexpl-tests: New file.
46241         * tests/test-frexpl.c: New file.
46242
46243         * modules/frexpl: New file.
46244         * m4/frexpl.m4: New file.
46245         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
46246         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
46247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
46248         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
46249         (Depends-on): Add frexpl. Remove isnanl-nolibm.
46250         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
46251
46252 2007-03-22  Bruno Haible  <bruno@clisp.org>
46253
46254         * lib/frexpl.c: Share code with lib/frexp.c.
46255         * modules/mathl (Files): Add lib/frexp.c.
46256         (Depends-on): Add isnanl-nolibm.
46257
46258 2007-03-22  Bruno Haible  <bruno@clisp.org>
46259
46260         * modules/printf-frexp (Files): Add m4/frexp.m4.
46261         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
46262         only if the found frexp function actually works.
46263
46264 2007-03-22  Bruno Haible  <bruno@clisp.org>
46265
46266         * lib/frexp.c: Remove older implementation that uses divisions.
46267
46268 2007-03-21  Bruno Haible  <bruno@clisp.org>
46269
46270         * modules/frexp-tests: New file.
46271         * tests/test-frexp.c: New file.
46272
46273         * modules/frexp: New file.
46274         * lib/frexp.c: New file.
46275         * m4/frexp.m4: New file.
46276         * lib/math_.h (frexp): New declaration.
46277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
46278         REPLACE_FREXP.
46279         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
46280
46281 2007-03-21  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/isnanl-tests: New file.
46284         * tests/test-isnanl.c: New file.
46285
46286         * modules/isnanl: New file.
46287         * lib/isnanl.h: New file.
46288         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
46289         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
46290         gl_FUNC_ISNANL_WORKS.
46291         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
46292         New macros.
46293
46294 2007-03-21  Bruno Haible  <bruno@clisp.org>
46295
46296         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
46297         lib/isnanl.h.
46298         (Include): Update.
46299         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
46300         * lib/vasnprintf.c: Update.
46301         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
46302         tests/test-isnanl.h, remove tests/test-isnanl.c.
46303         (Makefile.am): Update.
46304         * tests/test-isnanl-nolibm.c: New file.
46305         * tests/test-isnanl.h: New file.
46306         * tests/test-isnanl.c: Remove file.
46307
46308 2007-03-21  Jim Meyering  <jim@meyering.net>
46309
46310         When trying to open ".", treat ESTALE like EACCES.
46311         * lib/savewd.c (savewd_save): Resort to forking not just upon
46312         failure with EACCES, but also when errno is ESTALE.
46313
46314 2007-03-20  Bruno Haible  <bruno@clisp.org>
46315
46316         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
46317         Needed on AIX 5.1. Reported by Matthew Woehlke.
46318
46319 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
46320
46321         Suggestions by Bruno Haible:
46322         * lib/acl-internal.h: Include "gettext.h" rather than rolling
46323         our own.
46324         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
46325         * modules/acl (Depends-on): Add gettext.
46326
46327 2007-03-19  Bruno Haible  <bruno@clisp.org>
46328
46329         * modules/iconvme: Remove file.
46330         * lib/iconvme.h: Remove file.
46331         * lib/iconvme.c: Remove file.
46332         * m4/iconvme.m4: Remove file.
46333
46334 2007-03-19  Bruno Haible  <bruno@clisp.org>
46335
46336         * doc/relocatable-maint.texi: Break long shell script line.
46337         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
46338
46339 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
46340
46341         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
46342         handle file_has_acl.
46343         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
46344         * lib/acl.c: Move header inclusions and related macro defns into
46345         lib/acl-internal.h.
46346         (S_ISLNK): Remove defn, since that's now done for us.
46347         (file_has_acl): Move to lib/file-has-acl.c.
46348         Call acl_trivial if available.  This is the crucial part of the fix.
46349         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
46350         shared within the library.  Rewrite a bit, partly to make it compatible
46351         with the GNU coding style.
46352         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
46353         Remove unnecessary double-quotes.
46354         Don't test for acl_to_text; the build will catch that.
46355         Replace acl_entries if it doesn't exist and it is needed.
46356         Check for -lsec and acl_trivial (as used on Solaris 10).
46357         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
46358         lib/file-has-acl.c.
46359         (Depends-on): Add sys_stat, for S_ISLNK.
46360
46361 2007-03-19  Ben Pfaff  <blp@gnu.org>
46362
46363         * doc/gnulib.texi: Fix typos.
46364         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
46365
46366 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
46367
46368         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
46369         If size is zero here, buf must be zero.
46370
46371 2007-03-19  Simon Josefsson  <simon@josefsson.org>
46372
46373         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
46374         <bruno@clisp.org>.
46375
46376 2007-03-18  Bruno Haible  <bruno@clisp.org>
46377
46378         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
46379         Suggested by Eric Blake.
46380
46381 2007-03-18  Ben Pfaff  <blp@gnu.org>
46382
46383         * doc/relocatable.texi: Recommend using as prefix a directory
46384         that does not exist and will never be created.  Based on
46385         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
46386         and others.
46387
46388 2007-03-17  Bruno Haible  <bruno@clisp.org>
46389
46390         * lib/fchownat.c: Include lchown.h.
46391
46392 2007-03-17  Bruno Haible  <bruno@clisp.org>
46393
46394         Fix endless loop when the given allocated size was > INT_MAX.
46395         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
46396         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
46397         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
46398         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
46399         * lib/sprintf.c (sprintf): Likewise.
46400
46401 2007-03-17  Bruno Haible  <bruno@clisp.org>
46402
46403         * tests/test-argp-2.sh (func_compare): Output a context diff.
46404
46405 2007-03-17  Bruno Haible  <bruno@clisp.org>
46406
46407         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
46408         locale's decimal-point character.
46409
46410 2007-03-17  Bruno Haible  <bruno@clisp.org>
46411
46412         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
46413         before comparing it. Needed because on some platforms (e.g. x86) a
46414         'long double' occupies less bytes than sizeof (long double).
46415
46416 2007-03-17  Bruno Haible  <bruno@clisp.org>
46417
46418         * tests/test-crc.c (main): Make printf statements 64-bit clean.
46419         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
46420         * tests/test-getaddrinfo.c (simple): Likewise.
46421         * tests/test-read-file.c (main): Likewise.
46422
46423 2007-03-17  Bruno Haible  <bruno@clisp.org>
46424
46425         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
46426
46427 2007-03-17  Bruno Haible  <bruno@clisp.org>
46428
46429         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
46430         unused variable.
46431
46432 2007-03-17  Bruno Haible  <bruno@clisp.org>
46433
46434         * tests/test-c-strcasecmp.c: Include c-strcase.h.
46435         * tests/test-c-strncasecmp.c: Likewise.
46436
46437 2007-03-17  Bruno Haible  <bruno@clisp.org>
46438
46439         * modules/stdlib (Depends-on): Add unistd.
46440         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
46441         Needed for MacOS X 10.3.
46442
46443 2007-03-17  Bruno Haible  <bruno@clisp.org>
46444
46445         * lib/unistr/u-strdup.h: Include <stdlib.h>.
46446
46447 2007-03-17  Bruno Haible  <bruno@clisp.org>
46448
46449         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
46450
46451 2007-03-17  Bruno Haible  <bruno@clisp.org>
46452
46453         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
46454         to reflect files copied from gnulib (with or without modifications).
46455         Suggested by Jim Meyering.
46456
46457 2007-03-17  Eric Blake  <ebb9@byu.net>
46458
46459         * NEWS: Document stdlib change from 2007-02-18.
46460
46461 2007-03-17  Jim Meyering  <jim@meyering.net>
46462
46463         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
46464         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
46465         someone uses a name containing shell meta-characters.
46466         Reported by Alfred M. Szmidt.
46467
46468         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
46469
46470 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
46471
46472         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
46473         and copy gettext configuration files only if configure.ac contains
46474         a use of AM_GNU_GETTEXT_VERSION.
46475
46476 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
46477
46478         * build-aux/bootstrap (gnulib_name): New variable.
46479         (gnulib_tool_options): Use it.
46480
46481 2007-03-13  Simon Josefsson  <simon@josefsson.org>
46482
46483         * tests/test-des.c: Use new namespace.
46484
46485 2007-03-15  Bruno Haible  <bruno@clisp.org>
46486
46487         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
46488         Reported by James Youngman <jay@gnu.org>.
46489
46490 2007-03-15  Bruno Haible  <bruno@clisp.org>
46491
46492         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
46493         declared prototype. Needed with cc on OSF/1 5.1.
46494
46495 2007-03-15  Bruno Haible  <bruno@clisp.org>
46496
46497         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
46498         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
46499         (struct gl_list_implementation): Add dispose_fn argument to the
46500         'create_empty', 'create' methods.
46501         (struct gl_list_impl_base): Add field 'dispose_fn'.
46502         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
46503         argument.
46504         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
46505         dispose_fn argument.
46506         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
46507         dispose_fn on the dropped values.
46508         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
46509         dispose_fn argument.
46510         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
46511         dropped values.
46512         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
46513         (gl_tree_remove_node): Call dispose_fn on the dropped value.
46514         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
46515         (gl_tree_remove_node): Call dispose_fn on the dropped value.
46516         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
46517         argument.
46518         (gl_tree_list_free): Call dispose_fn on the dropped values.
46519         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
46520         the dropped values.
46521         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
46522         Add dispose_fn argument.
46523         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
46524         Call dispose_fn on the dropped values.
46525         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
46526         Add dispose_fn argument.
46527         (gl_sublist_create): Initialize the 'dispose_fn' field.
46528         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
46529         * tests/test-array_list.c (main): Update.
46530         * tests/test-carray_list.c (main): Update.
46531         * tests/test-avltree_list.c (main): Update.
46532         * tests/test-rbtree_list.c (main): Update.
46533         * tests/test-avltreehash_list.c (main): Update.
46534         * tests/test-rbtreehash_list.c (main): Update.
46535         * tests/test-linked_list.c (main): Update.
46536         * tests/test-linkedhash_list.c (main): Update.
46537         * tests/test-array_oset.c (main): Update.
46538
46539 2007-03-15  Bruno Haible  <bruno@clisp.org>
46540
46541         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
46542         (gl_oset_create_empty): Add dispose_fn argument.
46543         (struct gl_oset_implementation): Add dispose_fn argument to
46544         'create_empty' method.
46545         (struct gl_oset_impl_base): Add dispose_fn field.
46546         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
46547         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
46548         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
46549         values.
46550         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
46551         (gl_tree_oset_free): Call dispose_fn on the dropped values.
46552         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
46553         dropped value.
46554         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
46555         dropped value.
46556         * tests/test-array_oset.c (main): Update.
46557         * tests/test-avltree_oset.c (main): Update.
46558         * tests/test-rbtree_oset.c (main): Update.
46559         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
46560
46561 2007-03-13  Bruno Haible  <bruno@clisp.org>
46562
46563         * tests/test-stdbool.c (i): Update after last patch.
46564
46565 2007-03-12  Bruno Haible  <bruno@clisp.org>
46566
46567         * lib/quotearg.c: Include <wctype.h> early, before the definition of
46568         the iswprint macro. Needed on Solaris 2.5.1.
46569
46570 2007-03-12  Bruno Haible  <bruno@clisp.org>
46571
46572         * tests/test-printf-frexp.c (main): Declare x as volatile.
46573
46574 2007-03-12  Simon Josefsson  <simon@josefsson.org>
46575
46576         * doc/gnulib.texi (Build robot for gnulib): New section.
46577
46578 2007-03-12  Jim Meyering  <jim@meyering.net>
46579
46580         * build-aux/bootstrap: New file.
46581         * build-aux/bootstrap.conf: New file, from coreutils.
46582
46583 2007-03-11  Bruno Haible  <bruno@clisp.org>
46584
46585         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
46586
46587 2007-03-12  Simon Josefsson  <simon@josefsson.org>
46588
46589         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
46590         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
46591         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
46592
46593 2007-03-11  Bruno Haible  <bruno@clisp.org>
46594
46595         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
46596         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
46597
46598 2007-03-11  Bruno Haible  <bruno@clisp.org>
46599
46600         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
46601         formula. Needed for SunPRO C 5.0.
46602
46603 2007-03-11  Bruno Haible  <bruno@clisp.org>
46604
46605         * modules/long-options (Depends-on): Add getopt.
46606
46607 2007-03-11  Bruno Haible  <bruno@clisp.org>
46608
46609         * modules/modechange (Depends-on): Add stdbool.
46610
46611 2007-03-11  Bruno Haible  <bruno@clisp.org>
46612
46613         * modules/i-ring (Depends-on): Add stdbool.
46614
46615 2007-03-11  Bruno Haible  <bruno@clisp.org>
46616
46617         * modules/gc-des (Depends-on): Add stdbool.
46618
46619 2007-03-11  Bruno Haible  <bruno@clisp.org>
46620
46621         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
46622
46623 2007-03-11  Bruno Haible  <bruno@clisp.org>
46624
46625         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
46626
46627 2007-03-11  Bruno Haible  <bruno@clisp.org>
46628
46629         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
46630
46631 2007-03-11  Bruno Haible  <bruno@clisp.org>
46632
46633         * lib/vasnprintf.c (sprintf): Undefine.
46634
46635 2007-03-11  Bruno Haible  <bruno@clisp.org>
46636
46637         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
46638         initializers in SunPRO C and Compaq C compilers.
46639
46640 2007-03-11  Bruno Haible  <bruno@clisp.org>
46641
46642         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
46643         decrementing code ANSI C compliant.
46644
46645 2007-03-11  Bruno Haible  <bruno@clisp.org>
46646
46647         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
46648         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
46649
46650 2007-03-11  Bruno Haible  <bruno@clisp.org>
46651
46652         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
46653         <stdbool.h> substitute doesn't pass.
46654
46655 2007-03-11  Bruno Haible  <bruno@clisp.org>
46656
46657         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
46658
46659 2007-03-11  Bruno Haible  <bruno@clisp.org>
46660
46661         * gnulib-tool (func_create_megatestdir): Create also an autobuild
46662         script, for submission to autobuild.josefsson.org.
46663
46664 2007-03-10  Bruno Haible  <bruno@clisp.org>
46665
46666         * modules/canonicalize-lgpl-tests: New file.
46667         * tests/test-canonicalize-lgpl.sh: New file.
46668         * tests/test-canonicalize-lgpl.c: New file.
46669
46670         * modules/c-strcase-tests: New file.
46671         * tests/test-c-strcase.sh: New file.
46672         * tests/test-c-strcasecmp.c: New file.
46673         * tests/test-c-strncasecmp.c: New file.
46674
46675         * modules/atexit-tests: New file.
46676         * tests/test-atexit.sh: New file.
46677         * tests/test-atexit.c: New file.
46678
46679 2007-03-10  Bruno Haible  <bruno@clisp.org>
46680
46681         * tests/test-binary-io.sh: Use temporary filenames that are not so
46682         likely to clash with those of other tests (in a parallel make).
46683         * tests/test-binary-io.c: Likewise.
46684
46685 2007-03-10  Bruno Haible  <bruno@clisp.org>
46686
46687         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
46688         fallback; use #error instead.
46689         Suggested by Simon Josefsson.
46690
46691 2007-03-10  Bruno Haible  <bruno@clisp.org>
46692
46693         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
46694         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
46695         first and the last.
46696
46697 2007-03-10  Bruno Haible  <bruno@clisp.org>
46698
46699         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
46700
46701 2007-03-10  Bruno Haible  <bruno@clisp.org>
46702
46703         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
46704         "make distcheck".
46705         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
46706         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
46707         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
46708
46709 2007-03-10  Bruno Haible  <bruno@clisp.org>
46710
46711         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
46712         variable.
46713         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
46714         variable.
46715
46716 2007-03-09  Eric Blake  <ebb9@byu.net>
46717         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
46718
46719         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
46720         types are not being provided by gnulib.
46721         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
46722         types are supported.
46723
46724 2007-03-10  Bruno Haible  <bruno@clisp.org>
46725
46726         * lib/stdio_.h (__attribute__): New macro.
46727         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
46728         vsprintf): Specify __attribute__ __format__ for GCC.
46729         Suggested by Eric Blake.
46730
46731 2007-03-09  Bruno Haible  <bruno@clisp.org>
46732
46733         * modules/printf-posix-tests: New file.
46734         * tests/test-printf-posix.sh: New file.
46735         * tests/test-printf-posix.c: New file.
46736
46737         * modules/printf-posix: New file.
46738         * lib/printf.c: New file.
46739         * m4/printf-posix-rpl.m4: New file.
46740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
46741         REPLACE_PRINTF.
46742         * lib/stdio_.h (printf): New declaration.
46743         (format, __format__, ____printf____, ____scanf____, ____strftime____,
46744         ____strfmon____): New macros.
46745         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
46746         REPLACE_PRINTF.
46747
46748 2007-03-09  Bruno Haible  <bruno@clisp.org>
46749
46750         * tests/test-vasnprintf-posix2.sh: New file.
46751         * tests/test-vasnprintf-posix2.c: New file.
46752         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
46753         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46754         (Makefile.am): Activate test-vasnprintf-posix2.sh.
46755
46756         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
46757         a locale dependent decimal point, rather than always '.'.
46758
46759 2007-03-09  Eric Blake  <ebb9@byu.net>
46760
46761         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
46762         spite of platforms like Tandem/NSK that define it to -1.
46763
46764 2007-03-08  Bruno Haible  <bruno@clisp.org>
46765
46766         * modules/vprintf-posix-tests: New file.
46767         * tests/test-vprintf-posix.sh: New file.
46768         * tests/test-vprintf-posix.c: New file.
46769         * tests/test-printf-posix.h: New file.
46770
46771         * modules/vprintf-posix: New file.
46772         * lib/vprintf.c: New file.
46773         * m4/vprintf-posix.m4: New file.
46774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
46775         REPLACE_VPRINTF.
46776         * lib/stdio_.h (vprintf): New declaration.
46777         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
46778         REPLACE_VPRINTF.
46779
46780 2007-03-08  Bruno Haible  <bruno@clisp.org>
46781
46782         * modules/fprintf-posix-tests: New file.
46783         * tests/test-fprintf-posix.sh: New file.
46784         * tests/test-fprintf-posix.c: New file.
46785
46786         * modules/fprintf-posix: New file.
46787         * lib/fprintf.c: New file.
46788         * m4/fprintf-posix.m4: New file.
46789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
46790         REPLACE_FPRINTF.
46791         * lib/stdio_.h (fprintf): New declaration.
46792         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
46793         REPLACE_FPRINTF.
46794
46795 2007-03-08  Bruno Haible  <bruno@clisp.org>
46796
46797         * modules/vfprintf-posix-tests: New file.
46798         * tests/test-vfprintf-posix.sh: New file.
46799         * tests/test-vfprintf-posix.c: New file.
46800         * tests/test-fprintf-posix.h: New file.
46801         * tests/test-fprintf-posix.out: New file.
46802
46803         * modules/vfprintf-posix: New file.
46804         * lib/vfprintf.c: New file.
46805         * m4/vfprintf-posix.m4: New file.
46806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
46807         REPLACE_VFPRINTF.
46808         * lib/stdio_.h (vfprintf): New declaration.
46809         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
46810         REPLACE_VFPRINTF.
46811
46812 2007-03-08  Bruno Haible  <bruno@clisp.org>
46813
46814         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
46815
46816 2007-03-08  Bruno Haible  <bruno@clisp.org>
46817
46818         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
46819         instead of 'expr' invocations.
46820         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46823         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46824         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46825         Suggested by Paul Eggert.
46826
46827 2007-03-08  Bruno Haible  <bruno@clisp.org>
46828
46829         * modules/fseterr-tests: New file.
46830         * tests/test-fseterr.c: New file.
46831
46832         * modules/fseterr: New file.
46833         * lib/fseterr.h: New file.
46834         * lib/fseterr.c: New file.
46835
46836 2007-03-08  Bruno Haible  <bruno@clisp.org>
46837
46838         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
46839         * lib/getopt_.h: Likewise.
46840         * lib/mbswidth.h: Likewise.
46841         * lib/setenv.h: Likewise.
46842         * lib/vasnprintf.h: Likewise.
46843         * lib/vasprintf.h: Likewise.
46844         * lib/verror.h: Likewise.
46845         * lib/xsetenv.h: Likewise.
46846         * lib/xvasprintf.h: Likewise.
46847
46848 2007-03-08  Jim Meyering  <jim@meyering.net>
46849
46850         * users.txt: Add parted.
46851
46852         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
46853
46854 2007-03-07  Bruno Haible  <bruno@clisp.org>
46855
46856         * m4/printf.m4: Make the shell script snippets copy&pastable.
46857
46858 2007-03-02  Bruno Haible  <bruno@clisp.org>
46859
46860         * lib/netinet_in_.h: New file.
46861         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
46862         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
46863         * modules/netinet_in (Files): Add lib/netinet_in_.h.
46864         (Depends-on): Add absolute-header.
46865         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
46866         into netinet/in.h.
46867
46868 2007-03-03  Bruno Haible  <bruno@clisp.org>
46869
46870         * lib/sys_select_.h: New file.
46871         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
46872         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
46873         * modules/sys_select (Files): Add lib/sys_select_.h.
46874         (Depends-on): Add absolute-header.
46875         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
46876         into sys/select.h.
46877
46878 2007-03-02  Bruno Haible  <bruno@clisp.org>
46879
46880         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
46881         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
46882         values.
46883         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
46884         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
46885         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
46886         * modules/sys_socket (Depends-on): Add absolute-header.
46887         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
46888         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
46889         (Include): Remove requirement of inclusion of <sys/types.h>.
46890
46891 2007-03-02  Bruno Haible  <bruno@clisp.org>
46892
46893         * lib/byteswap_.h (bswap_32): Fix formula.
46894
46895 2007-03-06  Bruno Haible  <bruno@clisp.org>
46896
46897         * modules/sprintf-posix-tests: New file.
46898         * tests/test-sprintf-posix.c: New file.
46899
46900         * modules/sprintf-posix: New file.
46901         * lib/sprintf.c: New file.
46902         * m4/sprintf-posix.m4: New file.
46903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
46904         REPLACE_SPRINTF.
46905         * lib/stdio_.h (sprintf): New declaration.
46906         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
46907         REPLACE_SPRINTF.
46908
46909 2007-03-06  Bruno Haible  <bruno@clisp.org>
46910
46911         * modules/vsprintf-posix-tests: New file.
46912         * tests/test-vsprintf-posix.c: New file.
46913         * tests/test-sprintf-posix.h: New file.
46914
46915         * modules/vsprintf-posix: New file.
46916         * lib/vsprintf.c: New file.
46917         * m4/vsprintf-posix.m4: New file.
46918         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
46919         REPLACE_VSPRINTF.
46920         * lib/stdio_.h (vsprintf): New declaration.
46921         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
46922         REPLACE_VSPRINTF.
46923
46924 2007-03-06  Bruno Haible  <bruno@clisp.org>
46925
46926         * modules/vsnprintf (Depend-on): Remove minmax.
46927
46928 2007-03-06  Bruno Haible  <bruno@clisp.org>
46929
46930         * modules/snprintf-posix-tests: New file.
46931         * tests/test-snprintf-posix.c: New file.
46932
46933         * modules/snprintf-posix: New file.
46934         * m4/snprintf-posix.m4: New file.
46935         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
46936         gl_FUNC_SNPRINTF.
46937         (gl_FUNC_SNPRINTF): Invoke it.
46938         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
46939         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
46940         is set.
46941         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
46942
46943 2007-03-06  Bruno Haible  <bruno@clisp.org>
46944
46945         * modules/vsnprintf-posix-tests: New file.
46946         * tests/test-vsnprintf-posix.c: New file.
46947         * tests/test-snprintf-posix.h: New file.
46948
46949         * modules/vsnprintf-posix: New file.
46950         * m4/vsnprintf-posix.m4: New file.
46951         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
46952         gl_FUNC_VSNPRINTF.
46953         (gl_FUNC_VSNPRINTF): Invoke it.
46954         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
46955         * lib/stdio_.h (vsnprintf): Define as a replacement if
46956         REPLACE_VSNPRINTF is set.
46957         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
46958
46959 2007-03-06  Bruno Haible  <bruno@clisp.org>
46960
46961         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
46962         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
46963
46964 2007-03-06  Bruno Haible  <bruno@clisp.org>
46965
46966         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
46967         (asinl): Declare also if HAVE_DECL_ASINL is set.
46968         (atanl): Declare also if HAVE_DECL_ATANL is set.
46969         (ceill): Declare also if HAVE_DECL_CEILL is set.
46970         (cosl): Declare also if HAVE_DECL_COSL is set.
46971         (expl): Declare also if HAVE_DECL_EXPL is set.
46972         (floorl): Declare also if HAVE_DECL_FLOORL is set.
46973         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
46974         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
46975         (logl): Declare also if HAVE_DECL_LOGL is set.
46976         (sinl): Declare also if HAVE_DECL_SINL is set.
46977         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
46978         (tanl): Declare also if HAVE_DECL_TANL is set.
46979         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
46980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
46981         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
46982         declaration of frexpl, ldexpl.
46983         * modules/printf-frexpl (Depends-on): Add math.
46984         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
46985
46986 2007-03-05  Bruno Haible  <bruno@clisp.org>
46987
46988         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
46989         frexpl and ldexpl are declared.
46990         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
46991
46992 2007-03-05  Bruno Haible  <bruno@clisp.org>
46993
46994         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
46995         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
46996
46997 2007-03-05  Bruno Haible  <bruno@clisp.org>
46998
46999         * lib/stdio_.h: Include <stddef.h>.
47000
47001 2007-03-05  Bruno Haible  <bruno@clisp.org>
47002
47003         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
47004
47005 2007-03-05  Bruno Haible  <bruno@clisp.org>
47006
47007         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
47008         NetBSD 4, from Ralf Wildenhues.
47009
47010 2007-03-04  Bruno Haible  <bruno@clisp.org>
47011
47012         * lib/vasprintf.h: Update #if logic for the case when the functions
47013         exist but are overridden.
47014
47015 2007-03-04  Bruno Haible  <bruno@clisp.org>
47016
47017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
47018         implementations: glibc-2.4 and MacOS X 10.3.
47019         * tests/test-vasnprintf-posix.c (test_function): Test also the case
47020         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
47021         * tests/test-vasprintf-posix.c (test_function): Likewise.
47022
47023 2007-03-04  Bruno Haible  <bruno@clisp.org>
47024
47025         * modules/vasprintf-posix-tests: New file.
47026         * tests/test-vasprintf-posix.c: New file.
47027
47028         * modules/vasprintf-posix: New file.
47029         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
47030         defined.
47031         * m4/vasprintf-posix.m4: New file.
47032         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
47033         gl_FUNC_VASPRINTF.
47034         (gl_FUNC_VASPRINTF): Invoke it.
47035         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
47036         here.
47037         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
47038
47039 2007-03-04  Bruno Haible  <bruno@clisp.org>
47040
47041         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
47042         REPLACE_GETTIMEOFDAY.
47043         * modules/sys_time (Makefile.am): Likewise.
47044         * m4/sys_time_h.m4: Likewise.
47045         * m4/gettimeofday.m4: Likewise.
47046
47047 2007-03-04  Bruno Haible  <bruno@clisp.org>
47048
47049         * modules/vasnprintf-posix-tests: New file.
47050         * tests/test-vasnprintf-posix.c: New file.
47051
47052         * modules/vasnprintf-posix: New file.
47053         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
47054         printf-frexpl.h.
47055         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
47056         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
47057         REPLACE_VASNPRINTF is defined.
47058         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
47059         gl_FUNC_VASNPRINTF.
47060         (gl_FUNC_VASNPRINTF): Invoke it.
47061         * m4/vasnprintf-posix.m4: New file.
47062         * m4/printf.m4: New file.
47063
47064 2007-03-04  Bruno Haible  <bruno@clisp.org>
47065
47066         Compile progreloc.c only if --enable-relocatable is specified.
47067         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
47068         if --enable-relocatable was specified.
47069         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
47070         lib_SOURCES.
47071
47072 2007-03-04  Jim Meyering  <jim@meyering.net>
47073
47074         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
47075         Use it consistently, rather than enumerating errno constants.
47076
47077 2007-03-04  Bruno Haible  <bruno@clisp.org>
47078
47079         * modules/xvasprintf-tests: New file.
47080         * tests/test-xvasprintf.c: New file.
47081
47082         * modules/vasprintf-tests: New file.
47083         * tests/test-vasprintf.c: New file.
47084
47085         * modules/vasnprintf-tests: New file.
47086         * tests/test-vasnprintf.c: New file.
47087
47088         * modules/vsnprintf-tests: New file.
47089         * tests/test-vsnprintf.c: New file.
47090
47091         * modules/snprintf-tests: New file.
47092         * tests/test-snprintf.c: New file.
47093
47094 2007-03-04  Bruno Haible  <bruno@clisp.org>
47095
47096         Compile relocatable.c only if --enable-relocatable is specified.
47097         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
47098         gl_RELOCATABLE_LIBRARY.
47099         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
47100         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
47101         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
47102         gl_RELOCATABLE_LIBRARY.
47103         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
47104         (Makefile.am): Remove lib_SOURCES.
47105         * modules/relocatable-lib-lgpl (configure.ac): Invoke
47106         gl_RELOCATABLE_LIBRARY.
47107         (Makefile.am): Remove lib_SOURCES.
47108         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
47109         always.
47110         * modules/relocatable-prog-wrapper (configure.ac): Invoke
47111         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
47112
47113 2007-03-04  Bruno Haible  <bruno@clisp.org>
47114
47115         * modules/argmatch-tests: New file.
47116         * tests/test-argmatch.c: New file.
47117
47118         * tests/test-allocsa.c (main): Halve the number of loop runs.
47119
47120         * modules/alloca-opt-tests: New file.
47121         * tests/test-alloca-opt.c: New file.
47122
47123 2007-03-04  Jim Meyering  <jim@meyering.net>
47124
47125         Work around difference between Linux ACLs and Solaris 10 ZFS.
47126         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
47127         for EINVAL.
47128
47129 2007-03-03  Bruno Haible  <bruno@clisp.org>
47130
47131         * modules/relocatable-prog (Depends-on): Add back progreloc's
47132         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
47133
47134 2007-03-03  Bruno Haible  <bruno@clisp.org>
47135
47136         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
47137         * modules/relocatable-lib: New file.
47138
47139 2007-03-03  Bruno Haible  <bruno@clisp.org>
47140
47141         * modules/relocatable-prog: Renamed from modules/relocatable.
47142         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
47143
47144 2007-03-03  Bruno Haible  <bruno@clisp.org>
47145
47146         * modules/relocatable-script (Files): Add doc/relocatable.texi,
47147         m4/relocatable-lib.m4.
47148         (Depends-on): Remove 'relocatable'.
47149         (configure.ac): Add gl_RELOCATABLE_NOP.
47150
47151 2007-03-03  Bruno Haible  <bruno@clisp.org>
47152
47153         * modules/relocatable-prog-wrapper: New file.
47154         * modules/relocatable (Depends-on): Add it. Remove all other
47155         dependencies except progname.
47156         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
47157
47158         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
47159         (gl_FUNC_STRERROR): Nop.
47160         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
47161
47162         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
47163         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
47164
47165         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
47166         (gl_FUNC_READLINK): Update.
47167
47168         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
47169
47170 2007-03-03  Bruno Haible  <bruno@clisp.org>
47171
47172         * lib/xreadlink.c: Include <unistd.h> unconditionally.
47173         * modules/xreadlink (Depends-on): Add unistd.
47174         * modules/xreadlink-with-size (Depends-on): Likewise.
47175
47176 2007-03-03  Bruno Haible  <bruno@clisp.org>
47177
47178         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
47179         extracted from gt_FUNC_SETENV.
47180         (gt_FUNC_SETENV): Remove macro.
47181         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
47182         remove gt_FUNC_SETENV.
47183
47184 2007-03-03  Bruno Haible  <bruno@clisp.org>
47185
47186         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
47187         ENABLE_RELOCATABLE here.
47188         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
47189
47190 2007-03-03  Bruno Haible  <bruno@clisp.org>
47191
47192         * modules/rbtreehash-list-tests (Depends-on): Add progname.
47193         * tests/test-rbtreehash_list.c: Include progname.h.
47194         (main): Call set_program_name.
47195
47196         * modules/rbtree-oset-tests (Depends-on): Add progname.
47197         * tests/test-rbtree_oset.c: Include progname.h.
47198         (main): Call set_program_name.
47199
47200         * modules/rbtree-list-tests (Depends-on): Add progname.
47201         * tests/test-rbtree_list.c: Include progname.h.
47202         (main): Call set_program_name.
47203
47204         * modules/linked-list-tests (Depends-on): Add progname.
47205         * tests/test-linked_list.c: Include progname.h.
47206         (main): Call set_program_name.
47207
47208 2007-03-03  Bruno Haible  <bruno@clisp.org>
47209
47210         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
47211         All uses of __restrict changed to _Restrict_.
47212         * lib/glob_.h (__restrict): Remove macro.
47213
47214 2007-03-02  Bruno Haible  <bruno@clisp.org>
47215
47216         * modules/gettext (configure.ac): Require gettext infrastructure
47217         from version 0.16.1.
47218
47219 2007-03-02  Bruno Haible  <bruno@clisp.org>
47220
47221         * modules/linkedhash-list-tests (Depends-on): Add progname.
47222         * tests/test-linkedhash_list.c: Include progname.h.
47223         (main): Call set_program_name.
47224
47225         * modules/carray-list-tests (Depends-on): Add progname.
47226         * tests/test-carray_list.c: Include progname.h.
47227         (main): Call set_program_name.
47228
47229         * modules/avltreehash-list-tests (Depends-on): Add progname.
47230         * tests/test-avltreehash_list.c: Include progname.h.
47231         (main): Call set_program_name.
47232
47233         * modules/avltree-oset-tests (Depends-on): Add progname.
47234         * tests/test-avltree_oset.c: Include progname.h.
47235         (main): Call set_program_name.
47236
47237         * modules/avltree-list-tests (Depends-on): Add progname.
47238         * tests/test-avltree_list.c: Include progname.h.
47239         (main): Call set_program_name.
47240
47241         * modules/array-oset-tests (Depends-on): Add progname.
47242         * tests/test-array_oset.c: Include progname.h.
47243         (main): Call set_program_name.
47244
47245         * modules/array-list-tests (Depends-on): Add progname.
47246         * tests/test-array_list.c: Include progname.h.
47247         (main): Call set_program_name.
47248
47249         * modules/argp-tests (Depends-on): Add progname.
47250         * tests/test-argp.c: Include argp.h first. Include progname.h.
47251         (main): Call set_program_name.
47252
47253 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
47254
47255         * doc/gnulib-tool.texi (Initial import): Reword description of
47256         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
47257         limited effect even if defined after the first system include.
47258
47259 2007-03-01  Bruno Haible  <bruno@clisp.org>
47260
47261         * build-aux/config.libpath: Update to libtool-1.5.22.
47262         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47263
47264 2007-03-01  Bruno Haible  <bruno@clisp.org>
47265
47266         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
47267         foo_CFLAGS.
47268         Reported by Ralf Wildenhues.
47269
47270 2007-03-01  Bruno Haible  <bruno@clisp.org>
47271
47272         * build-aux/install-reloc: Remove object files left over by some
47273         compilers.
47274         Reported by Ralf Wildenhues.
47275
47276 2007-03-01  Bruno Haible  <bruno@clisp.org>
47277
47278         * build-aux/install-reloc: Break long lines.
47279
47280 2007-03-01  Bruno Haible  <bruno@clisp.org>
47281
47282         * doc/relocatable.texi: Document that it may not work on OpenBSD.
47283         Reported by Ralf Wildenhues.
47284
47285 2007-03-01  Bruno Haible  <bruno@clisp.org>
47286
47287         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
47288         include ordering constraints.
47289
47290 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
47291
47292         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
47293         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
47294         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
47295         as another example.
47296         * lib/time_.h: Fix misspelling.
47297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47298         Require gl_HEADER_TIME_H_DEFAULTS.
47299         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
47300         * m4/time_r.m4 (gl_TIME_R): Likewise.
47301         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
47302
47303 2007-03-01  Bruno Haible  <bruno@clisp.org>
47304
47305         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
47306         * m4/utimens.m4 (gl_UTIMENS): Likewise.
47307
47308 2007-03-01  Jim Meyering  <jim@meyering.net>
47309
47310         * modules/xreadlink (Maintainer): Add my name.
47311         * modules/xreadlink-with-size (Depends-on): Alphabetize.
47312
47313 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
47314             Bruno Haible  <bruno@clisp.org>
47315
47316         * build-aux/install-reloc: Compile also c-ctype.c.
47317         * build-aux/relocatable.sh.in: New file.
47318         * doc/relocatable.texi: New file.
47319         * doc/relocatable-maint.texi: New file.
47320         * doc/gnulib.texi: Include relocatable-maint.texi.
47321         * lib/progreloc.c: Include unistd.h unconditionally.
47322         * lib/relocwrapper.c: Include unistd.h unconditionally.
47323         Include c-ctype.h.
47324         (add_dotbin): Use c_tolower.
47325         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
47326         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
47327         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
47328         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
47329         to m4/relocatable-lib.m4.
47330         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
47331         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
47332         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
47333         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
47334         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
47335         * modules/relocatable: New file.
47336         * modules/relocatable-lib: New file.
47337         * modules/relocatable-script: New file.
47338
47339 2007-02-28  Bruno Haible  <bruno@clisp.org>
47340
47341         Import --enable-relocatable infrastructure.
47342         * build-aux/config.libpath: New file, from GNU gettext.
47343         * build-aux/install-reloc: New file, from GNU gettext.
47344         * build-aux/reloc-ldflags: New file, from GNU gettext.
47345         * lib/relocatable.h: New file, from GNU gettext.
47346         * lib/relocatable.c: New file, from GNU gettext.
47347         * lib/relocwrapper.c: New file, from GNU gettext.
47348         * m4/relocatable.m4: New file, from GNU gettext.
47349
47350 2007-02-28  Bruno Haible  <bruno@clisp.org>
47351
47352         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
47353
47354         * modules/xreadlink: New file, from GNU gettext with modifications.
47355         * lib/xreadlink.c: New file, from GNU gettext.
47356         * lib/xreadlink.h: Add comments.
47357         (xreadlink): New declaration.
47358
47359         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
47360         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
47361         lib/xreadlink-with-size.c.
47362         (configure.ac): Remove gl_XREADLINK invocation.
47363         (Makefile.am): Augment lib_SOURCES.
47364         * m4/xreadlink.m4: Remove file.
47365         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
47366         (xreadlink_with_size): Renamed from xreadink.
47367         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
47368         * modules/canonicalize (Depends-on): Replace xreadlink with
47369         xreadlink-with-size.
47370         * lib/canonicalize.c (canonicalize_filename_mode): Update.
47371
47372 2007-02-25  Jim Meyering  <jim@meyering.net>
47373
47374         * build-aux/announce-gen: When complaining about excess arguments,
47375         list them.
47376
47377 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
47378
47379         * README: Document signed integer overflow situation more
47380         accurately.
47381
47382 2007-02-25  Bruno Haible  <bruno@clisp.org>
47383
47384         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
47385         'a' or 'A' conversion.
47386
47387 2007-02-25  Bruno Haible  <bruno@clisp.org>
47388
47389         * modules/filename: Renamed from modules/pathname.
47390         (Files): Replace lib/pathname.h with lib/filename.h. Replace
47391         lib/concatpath.c with lib/concat-filename.c.
47392         (Makefile.am): Update.
47393         (Include): Replace pathname.h with filename.h.
47394         * lib/filename.h: Renamed from lib/pathname.h.
47395         (concatenated_filename): Renamed from concatenated_pathname.
47396         * lib/concat-filename.c: Renamed from lib/concatpath.c.
47397         (concatenated_filename): Renamed from concatenated_pathname.
47398         * lib/findprog.c: Include filename.h instead of pathname.h.
47399         (find_in_path): Update.
47400         * lib/javacomp.c: Include filename.h instead of pathname.h.
47401         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47402         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47403         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47404         is_oldgcj_14_13_usable, is_javac_usable): Update.
47405         * lib/javaexec.c: Include filename.h instead of pathname.h.
47406         (execute_java_class): Update.
47407         * modules/findprog: Update.
47408         * modules/javacomp: Update.
47409         * modules/javaexec: Update.
47410         * MODULES.html.sh (File system functions): Add 'filename', remove
47411         'pathname'.
47412
47413 2007-02-25  Bruno Haible  <bruno@clisp.org>
47414
47415         * modules/printf-frexpl-tests: New file.
47416         * tests/test-printf-frexpl.c: New file.
47417
47418         * modules/printf-frexpl: New file.
47419         * lib/printf-frexpl.h: New file.
47420         * lib/printf-frexpl.c: New file.
47421         * m4/printf-frexpl.m4: New file.
47422
47423 2007-02-25  Bruno Haible  <bruno@clisp.org>
47424
47425         * modules/printf-frexp-tests: New file.
47426         * tests/test-printf-frexp.c: New file.
47427
47428         * modules/printf-frexp: New file.
47429         * lib/printf-frexp.h: New file.
47430         * lib/printf-frexp.c: New file.
47431         * m4/printf-frexp.m4: New file.
47432
47433 2007-02-25  Bruno Haible  <bruno@clisp.org>
47434
47435         Assume automake >= 1.10 for the tests.
47436         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
47437         * modules/arctwo-tests: Likewise.
47438         * modules/argp-tests: Likewise.
47439         * modules/avltree-list-tests: Likewise.
47440         * modules/avltree-oset-tests: Likewise.
47441         * modules/avltreehash-list-tests: Likewise.
47442         * modules/carray-list-tests: Likewise.
47443         * modules/crc-tests: Likewise.
47444         * modules/des-tests: Likewise.
47445         * modules/gc-arcfour-tests: Likewise.
47446         * modules/gc-arctwo-tests: Likewise.
47447         * modules/gc-des-tests: Likewise.
47448         * modules/gc-hmac-md5-tests: Likewise.
47449         * modules/gc-hmac-sha1-tests: Likewise.
47450         * modules/gc-md2-tests: Likewise.
47451         * modules/gc-md4-tests: Likewise.
47452         * modules/gc-md5-tests: Likewise.
47453         * modules/gc-pbkdf2-sha1-tests: Likewise.
47454         * modules/gc-rijndael-tests: Likewise.
47455         * modules/gc-sha1-tests: Likewise.
47456         * modules/gc-tests: Likewise.
47457         * modules/getaddrinfo-tests: Likewise.
47458         * modules/hmac-md5-tests: Likewise.
47459         * modules/hmac-sha1-tests: Likewise.
47460         * modules/linked-list-tests: Likewise.
47461         * modules/linkedhash-list-tests: Likewise.
47462         * modules/lock-tests: Likewise.
47463         * modules/md2-tests: Likewise.
47464         * modules/md4-tests: Likewise.
47465         * modules/md5-tests: Likewise.
47466         * modules/rbtree-list-tests: Likewise.
47467         * modules/rbtree-oset-tests: Likewise.
47468         * modules/rbtreehash-list-tests: Likewise.
47469         * modules/read-file-tests: Likewise.
47470         * modules/rijndael-tests: Likewise.
47471         * modules/stdint-tests: Likewise.
47472         * modules/tls-tests: Likewise.
47473
47474 2007-02-24  Bruno Haible  <bruno@clisp.org>
47475
47476         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
47477         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
47478         function; instead check whether isnan with a double argument links.
47479         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
47480         function; instead check whether isnan with a 'long double' argument
47481         links.
47482         Reported by Eric Blake <ebb9@byu.net>.
47483
47484 2007-02-24  Bruno Haible  <bruno@clisp.org>
47485
47486         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
47487         defined.
47488         * lib/isnanl.c: Remove all code. Just include isnan.c.
47489         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
47490
47491 2007-02-25  Jim Meyering  <jim@meyering.net>
47492
47493         Avoid conflicting types for 'unsetenv' on FreeBSD.
47494         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
47495         conflicting with FreeBSD's (5.0 and 6.1) function declaration
47496         in stdlib.h.
47497
47498 2007-02-24  Bruno Haible  <bruno@clisp.org>
47499
47500         * modules/isnanl-nolibm-tests: New file.
47501         * tests/test-isnanl.c: New file.
47502
47503         * modules/isnanl-nolibm: New file.
47504         * lib/isnanl.h: New file.
47505         * lib/isnanl.c: New file.
47506         * m4/isnanl.m4: New file.
47507
47508 2007-02-24  Bruno Haible  <bruno@clisp.org>
47509
47510         * modules/isnan-nolibm-tests: New file.
47511         * tests/test-isnan.c: New file.
47512
47513         * modules/isnan-nolibm: New file.
47514         * lib/isnan.h: New file.
47515         * lib/isnan.c: New file.
47516         * m4/isnan.m4: New file.
47517
47518 2007-02-24  Bruno Haible  <bruno@clisp.org>
47519
47520         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
47521         assume that an exponent fits in 20 bits.
47522
47523 2007-02-24  Jim Meyering  <jim@meyering.net>
47524
47525         * m4/regex.m4: Update the description of the configure-time option,
47526         --without-included-regex, to state accurately what the defaults are,
47527         and perhaps to give people an idea why using this option is risky.
47528
47529 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
47530
47531         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
47532         loops on small arguments.  This attempts to avoid the problem
47533         Bruno Haible reported for AIX 4.3.2 in
47534         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
47535
47536 2007-02-23  Bruno Haible  <bruno@clisp.org>
47537
47538         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
47539         Needed for help2man.
47540
47541 2007-02-23  Karl Berry  <karl@gnu.org>
47542
47543         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
47544         exists, foo.h should be cvs-ignored, not committed.
47545
47546 2007-02-23  Eric Blake  <ebb9@byu.net>
47547
47548         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
47549         * lib/stat-time.h (includes): Likewise.
47550         * lib/utimecmp.c (includes): Likewise.
47551         * lib/utimens.h (includes): Likewise.
47552         * lib/getdate.y (includes): Also include "timespec.h" for use
47553         internal to the module.
47554         * modules/utimens (Depends-on): Revert yesterday's patch.
47555         * modules/nanosleep (Depends-on): Add missing dependency.
47556
47557 2007-02-22  Bruno Haible  <bruno@clisp.org>
47558
47559         * lib/glob.c: Don't include getlogin_r.h.
47560
47561 2007-02-22  Jim Meyering  <jim@meyering.net>
47562
47563         * modules/utimens (Depends-on): Add timespec, required for
47564         utimens.h's inclusion of timespec.h.
47565
47566 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
47567
47568         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
47569         long unreadable paths in GNU/Linux.  Problem reported by Andreas
47570         Schwab in
47571         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
47572         I'll try to think of a better way to fix the Solaris problem.
47573
47574         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
47575         like glibc; on Solaris 10, it fails with errno == EINVAL.
47576         POSIX says the behavior is unspecified if the first argument is NULL,
47577         so play it safe and never pass NULL to the system getcwd.
47578
47579 2007-02-21  Jim Meyering  <jim@meyering.net>
47580
47581         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
47582         of gettimeofday.  It would conflict with the one now always
47583         provided via sys_time_.h.  Reported by Matthew Woehlke, as
47584         an IRIX 6.5 build failure.
47585
47586 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
47587
47588         Minor fixups to port to Solaris 10 with Sun C 5.8.
47589         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
47590         * modules/getcwd (Depends-on): Add dirfd.
47591         * lib/putenv.c (putenv): #undef it.
47592         (rpl_putenv): New decl.
47593         (malloc, free): Include <stdlib.h> rather than prototyping separately.
47594
47595 2007-02-20  Bruno Haible  <bruno@clisp.org>
47596
47597         * modules/stdio-tests: New file.
47598         * tests/test-stdio.c: New file.
47599
47600         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
47601         (Depends-on): Add stdio.
47602         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
47603         (Include): Use <stdio.h> instead of vsnprintf.h.
47604         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
47605         HAVE_DECL_VSNPRINTF.
47606         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
47607
47608         * modules/snprintf (Files): Remove lib/snprintf.h.
47609         (Depends-on): Add stdio.
47610         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
47611         (Include): Use <stdio.h> instead of snprintf.h.
47612         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
47613         HAVE_DECL_SNPRINTF.
47614         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
47615         * lib/getaddrinfo.c: Likewise.
47616
47617         * modules/stdio: New file.
47618         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
47619         * lib/snprintf.h: Remove file.
47620         * lib/vsnprintf.h: Remove file.
47621         * lib/.cppi-disable: Remove snprintf.h.
47622         * m4/stdio_h.m4: New file.
47623         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
47624
47625 2007-02-20  Jim Meyering  <jim@meyering.net>
47626
47627         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
47628         used by e.g., mingw.  From Bruno Haible.
47629
47630 2007-02-19  Bruno Haible  <bruno@clisp.org>
47631
47632         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
47633         warnings.
47634         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47635
47636 2007-02-19  Bruno Haible  <bruno@clisp.org>
47637
47638         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
47639         from mingw users.
47640
47641 2007-02-19  Bruno Haible  <bruno@clisp.org>
47642
47643         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
47644         warnings.
47645         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
47646
47647 2007-02-19  Jim Meyering  <jim@meyering.net>
47648
47649         Don't use FD after a successful "fdopendir (fd)".
47650         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
47651         Reset it by calling dirfd on the just-obtained DIR*.
47652
47653         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
47654         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
47655
47656 2007-02-18  Bruno Haible  <bruno@clisp.org>
47657
47658         * lib/readlink.c: Include <unistd.h>.
47659         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
47660         HAVE_READLINK.
47661         * modules/readlink (Depends-on): Add unistd.
47662         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47663         (Include): Add <unistd.h>.
47664
47665         * lib/getlogin_r.h: Remove file.
47666         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
47667         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
47668         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
47669         HAVE_DECL_GETLOGIN_R.
47670         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
47671         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47672         (Include): Use <unistd.h> instead of getlogin_r.h.
47673
47674         * lib/getcwd.h: Remove file.
47675         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
47676         * lib/xgetcwd.c: Likewise.
47677         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
47678         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
47679         * modules/getcwd (Files): Remove lib/getcwd.h.
47680         (Depends-on): Add unistd.
47681         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47682         (Include): Use <unistd.h> instad of getcwd.h.
47683
47684         * lib/ftruncate.c: Include <unistd.h> first.
47685         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
47686         Set HAVE_FTRUNCATE.
47687         * modules/ftruncate (Depends-on): Add unistd.
47688         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47689
47690         * lib/fchdir.c: Include <unistd.h> first.
47691         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
47692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
47693         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
47694         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47695         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
47696
47697         * lib/dup2.c: Include <unistd.h> first.
47698         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
47699         HAVE_DUP2.
47700         * modules/dup2 (Depends-on): Add unistd.
47701         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47702
47703         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
47704         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
47705         REPLACE_CHOWN. Don't define chown as a macro here.
47706         * modules/chown (Depends-on): Add unistd.
47707         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47708
47709         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
47710         Add definition for GL_LINK_WARNING.
47711         (chown, dup2): New declarations.
47712         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
47713         link warning.
47714         (ftruncate): New declaration.
47715         (getcwd): New declaration, taken from old getcwd.h.
47716         (getlogin_r): New declaration, taken from old getlogin_r.h.
47717         (readlink): New declaration.
47718         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
47719         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
47720         (gl_PREREQ_UNISTD): Remove macro.
47721         (gl_UNISTD_MODULE_INDICATOR): New macro.
47722         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
47723         many new variables. Don't set UNISTD_H.
47724         * modules/unistd (Description): Change.
47725         (Depends-on): Add link-warning.
47726         (configure.ac): Update.
47727         (Makefile.am): Create unistd.h always. Substitute many new variables
47728         into it.
47729
47730 2007-02-18  Bruno Haible  <bruno@clisp.org>
47731
47732         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
47733         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
47734         HAVE_GETSUBOPT.
47735         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
47736         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
47737         * lib/getsubopt.h: Remove file.
47738         * modules/getsubopt (Files): Remove lib/getsubopt.h.
47739         (Depends-on): Add stdlib.
47740         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47741         (Includes): Use <stdlib.h> instead of getsubopt.h.
47742         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
47743         Set HAVE_GETSUBOPT.
47744         * lib/getsubopt.c: Don't include getsubopt.h.
47745
47746 2007-02-18  Bruno Haible  <bruno@clisp.org>
47747
47748         * modules/fchdir (Depends-on): Add dup2.
47749
47750 2007-02-18  Bruno Haible  <bruno@clisp.org>
47751
47752         * lib/stdlib_.h: Handle glibc's special invocation convention
47753         specially.
47754
47755 2007-02-18  Bruno Haible  <bruno@clisp.org>
47756
47757         * modules/stdlib-tests: New file.
47758         * tests/test-stdlib.c: New file.
47759
47760         * modules/mkstemp (Files): Remove lib/mkstemp.h.
47761         (Depends-on): Add stdlib.
47762         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47763         (Includes): Use <stdlib.h> instead of mkstemp.h.
47764         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
47765         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
47766         * lib/mkstemp.c: Don't include mkstemp.h.
47767         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
47768         * lib/stdlib--.h: Don't include mkstemp.h.
47769
47770         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
47771         (Depends-on): Add stdlib.
47772         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47773         (Includes): Use <stdlib.h> instead of mkdtemp.h.
47774         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
47775         HAVE_MKDTEMP.
47776         * lib/mkdtemp.c: Don't include mkdtemp.h.
47777         * lib/clean-temp.c: Don't include mkdtemp.h.
47778
47779         * modules/exit (Files): Remove lib/exit.h.
47780         (Depends-on): Add stdlib.
47781         (Makefile.am): Remove lib_SOURCES.
47782         (Include): Use <stdlib.h> instead of exit.h.
47783         * lib/argmatch.c: Don't include exit.h.
47784         * lib/execute.c: Likewise.
47785         * lib/pagealign_alloc.c: Likewise.
47786         * lib/pipe.c: Likewise.
47787         * lib/wait-process.c: Likewise.
47788         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
47789         * lib/exitfail.c: Likewise.
47790         * lib/savewd.c: Likewise.
47791         * lib/xsetenv.c: Likewise.
47792
47793         * modules/stdlib: New file.
47794         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
47795         and extra comments about mkstemp().
47796         * lib/exit.h: Remove file.
47797         * lib/mkdtemp.h: Remove file.
47798         * lib/mkstemp.h: Remove file.
47799         * m4/stdlib_h.m4: New file.
47800         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
47801
47802 2007-02-18  Bruno Haible  <bruno@clisp.org>
47803
47804         * modules/math-tests: New file.
47805         * tests/test-math.c: New file.
47806
47807         * modules/math: New file.
47808         * modules/mathl (Files): Remove lib/mathl.h.
47809         (Depends-on): Add math.
47810         (Makefile.am): Don't mention mathl.h.
47811         (Include): Use <math.h> instead of mathl.h.
47812         * lib/math_.h: New file.
47813         * lib/mathl.h: Remove file.
47814         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
47815         mathl.h.
47816         * lib/asinl.c: Likewise.
47817         * lib/atanl.c: Likewise.
47818         * lib/ceill.c: Likewise.
47819         * lib/cosl.c: Likewise.
47820         * lib/expl.c: Likewise.
47821         * lib/floorl.c: Likewise.
47822         * lib/frexpl.c: Likewise.
47823         * lib/ldexpl.c: Likewise.
47824         * lib/logl.c: Likewise.
47825         * lib/sincosl.c: Likewise.
47826         * lib/sinl.c: Likewise.
47827         * lib/sqrtl.c: Likewise.
47828         * lib/tanl.c: Likewise.
47829         * lib/trigl.c: Likewise.
47830         * m4/math_h.m4: New file.
47831         * MODULES.html.sh (Mathematics): Add math.
47832
47833 2007-02-17  Bruno Haible  <bruno@clisp.org>
47834
47835         * modules/wctype-tests: New file.
47836         * tests/test-wctype.c: New file.
47837
47838         * modules/wchar-tests: New file.
47839         * tests/test-wchar.c: New file.
47840
47841         * modules/unistd-tests: New file.
47842         * tests/test-unistd.c: New file.
47843
47844         * modules/time-tests: New file.
47845         * tests/test-time.c: New file.
47846
47847         * modules/sysexits-tests: New file.
47848         * tests/test-sysexits.c: New file.
47849
47850         * modules/sys_time-tests: New file.
47851         * tests/test-sys_time.c: New file.
47852
47853         * modules/sys_stat-tests: New file.
47854         * tests/test-sys_stat.c: New file.
47855
47856         * modules/sys_socket-tests: New file.
47857         * tests/test-sys_socket.c: New file.
47858
47859         * modules/sys_select-tests: New file.
47860         * tests/test-sys_select.c: New file.
47861
47862         * modules/string-tests: New file.
47863         * tests/test-string.c: New file.
47864
47865         * modules/stdbool-tests: New file.
47866         * tests/test-stdbool.c: New file.
47867
47868         * modules/netinet_in-tests: New file.
47869         * tests/test-netinet_in.c: New file.
47870
47871         * modules/inttypes-tests: New file.
47872         * tests/test-inttypes.c: New file.
47873
47874         * modules/fcntl-tests: New file.
47875         * tests/test-fcntl.c: New file.
47876
47877         * modules/byteswap-tests: New file.
47878         * tests/test-byteswap.c: New file.
47879
47880         * modules/arpa_inet-tests: New file.
47881         * tests/test-arpa_inet.c: New file.
47882
47883 2007-02-17  Bruno Haible  <bruno@clisp.org>
47884
47885         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
47886         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
47887         if the corresponding module is not enabled. Emit link warnings if
47888         the function is used nevertheless.
47889         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
47890         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
47891         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
47892         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
47893         * modules/inttypes (Depends-on): Add link-warning.
47894         (Makefile.am): Copy the contents of build-aux/link-warning.h into
47895         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
47896         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
47897         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
47898         * modules/imaxdiv (configure.ac): Likewise.
47899         * modules/strtoimax (configure.ac): Likewise.
47900         * modules/strtoumax (configure.ac): Likewise.
47901
47902 2007-02-17  Bruno Haible  <bruno@clisp.org>
47903
47904         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
47905         gl_STRING_MODULE_INDICATOR_DEFAULTS.
47906         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
47907         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
47908
47909 2007-02-17  Bruno Haible  <bruno@clisp.org>
47910
47911         * modules/link-warning: New file.
47912         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
47913         * lib/string_.h (GL_LINK_WARNING): Remove definition.
47914         * modules/string (Depends-on): Add link-warning.
47915         (Makefile.am): Copy the contents of build-aux/link-warning.h into
47916         string.h.
47917         * MODULES.html.sh (Support for building libraries and executables): Add
47918         link-warning.
47919
47920 2007-02-17  Bruno Haible  <bruno@clisp.org>
47921
47922         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
47923         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
47924         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
47925         long lines.
47926
47927 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
47928             Bruno Haible  <bruno@clisp.org>
47929
47930         * modules/tmpfile: New file.
47931         * lib/tmpfile.c: New file.
47932         * m4/tmpfile.m4: New file.
47933         * MODULES.html.sh (func_all_modules): New section "Input/output".
47934
47935 2007-02-15  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
47938         (supports_delete_on_close): New function.
47939         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
47940
47941 2007-02-14  Bruno Haible  <bruno@clisp.org>
47942
47943         * modules/mbspcasecmp-tests: New file.
47944         * tests/test-mbspcasecmp.sh: New file.
47945         * tests/test-mbspcasecmp.c: New file.
47946
47947         New module mbspcasecmp.
47948         * modules/mbspcasecmp: New file.
47949         * lib/mbspcasecmp.c: New file.
47950         * lib/string_.h (strncasecmp): Change warning message.
47951         (mbspcasecmp): New declaration.
47952         * m4/mbspcasecmp.m4: New file.
47953         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47954         GNULIB_MBSPCASECMP.
47955         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
47956         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
47957
47958 2007-02-14  Bruno Haible  <bruno@clisp.org>
47959
47960         * modules/mbsncasecmp-tests: New file.
47961         * tests/test-mbsncasecmp.sh: New file.
47962         * tests/test-mbsncasecmp.c: New file.
47963
47964         New module mbsncasecmp.
47965         * modules/mbsncasecmp: New file.
47966         * lib/mbsncasecmp.c: New file.
47967         * lib/string_.h (mbsncasecmp): New declaration.
47968         * m4/mbsncasecmp.m4: New file.
47969         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47970         GNULIB_MBSNCASECMP.
47971         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
47972         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
47973
47974 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
47975
47976         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
47977         Verify that it doesn't overlap with our flags.
47978         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
47979         do not have the desired effect in multibyte locales; instead, use
47980         mbscasecmp.
47981         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
47982         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
47983         we don't require GNU fnmatch ourselves (if our users require it, they
47984         should do so explicitly).
47985
47986         Fix regex code so it doesn't rely on strcasecmp.
47987         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
47988         Otherwise, include gnulib's langinfo.h.
47989         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
47990         undesirable behavior in non-C locales.  Instead, rely on localecharset.
47991         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
47992         * modules/regex (FILES): Remove m4/codeset.m4.
47993         (Depends-on): Add localcharset.  Remove strcase.
47994
47995 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47996
47997         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
47998         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
47999
48000 2007-02-13  Bruno Haible  <bruno@clisp.org>
48001
48002         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
48003         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48004
48005 2007-02-12  Bruno Haible  <bruno@clisp.org>
48006
48007         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
48008         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
48009         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
48010         time warning rather than a link error.
48011
48012 2007-02-12  Bruno Haible  <bruno@clisp.org>
48013
48014         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
48015         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48016         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48017
48018 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48019
48020         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
48021         args, not 2.
48022
48023 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48024
48025         New module 'time', so that apps can include <time.h> as per
48026         POSIX and GNU instead of separate include files like time_r.h
48027         and timegm.h.  This implementation tries out a simpler approach
48028         for replacing decls in standard include files (as compared to
48029         the string module), somewhat as an experiment.
48030
48031         * config/srclist.txt: Comment out mktime.c for now.
48032         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
48033         since it doesn't apply any more.  Use generic wording instead.
48034         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
48035         'time'.
48036         * lib/time_.h, m4/time_h.m4, modules/time: New files.
48037         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
48038         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
48039         Don't include <sys/types.h>; no longer needed since we assume C89.
48040         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
48041         * lib/strftime.c: Likewise.
48042         * lib/time_r.c: Likewise.
48043         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
48044         * lib/nanosleep.c: Include <time.h> first, to check interface.
48045         * lib/strptime.c: Likewise.
48046         * lib/time_r.c: Likewise.
48047         * lib/timegm.c: Likewise.
48048         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
48049         needed.
48050         * lib/timegm.c: Don't include timegm.h; no longer needed.
48051         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
48052         time.h now handles any problems in that area.
48053         (struct timespec, nanosleep): Remove; time.h now arranges for these.
48054         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
48055         that time.h defines struct timespec.
48056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
48057         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
48058         handles that.
48059         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
48060         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
48061         needed.  Set REPLACE_LOCALTIME.
48062         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
48063         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
48064         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
48065         nanosleep; time_h.m4 now does that.  Don't require
48066         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
48067         module handles this now.
48068         * modules/getdate (Depends-on): Remove timespec.  Add time.
48069         * modules/nanosleep (Depends-on): Likewise.
48070         * modules/stat-time (Depends-on): Likewise.
48071         * modules/nanosleep (Include): Include time.h, not timespec.h.
48072         * modules/strptime (Files): Remove lib/strptime.h.
48073         (Depends-on): Add extensions, time.
48074         (Include): Include time.h, not strptime.h.
48075         * modules/time_r (Files): Remove lib/time_r.h.
48076         (Depends-on): Add time.
48077         (Include): Include time.h, not time_r.h.
48078         * modules/timegm: Likewise.
48079         * modules/timespec (Description): Now does timespec-related decls
48080         of our own, instead of struct timespec itself.
48081         (Depends-on): Add time; remove extensions.
48082         (Maintainer): Add self.
48083         * modules/utimecmp (Depends-on): Add time; remove timespec.
48084         * modules/utimens (Depends-on): Likewise.
48085         * modules/xnanosleep (Depends-on): Likewise.
48086
48087 2007-02-11  Bruno Haible  <bruno@clisp.org>
48088
48089         * lib/c-strstr.c: Include allocsa.h.
48090         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
48091         * lib/c-strcasestr.c: Include allocsa.h.
48092         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
48093         * lib/strcasestr.c: Include allocsa.h.
48094         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
48095         * lib/mbsstr.c: Include allocsa.h.
48096         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
48097         allocsa/freesa instead of malloc/free.
48098         * lib/mbscasestr.c: Include allocsa.h.
48099         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
48100         allocsa/freesa instead of malloc/free.
48101         * modules/c-strstr (Depends-on): Add allocsa.
48102         * modules/c-strcasestr (Depends-on): Likewise.
48103         * modules/strcasestr (Depends-on): Likewise.
48104         * modules/mbsstr (Depends-on): Likewise.
48105         * modules/mbscasestr (Depends-on): Likewise.
48106
48107 2007-02-11  Bruno Haible  <bruno@clisp.org>
48108
48109         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
48110
48111         * modules/mbsspn-tests: New file.
48112         * tests/test-mbsspn.sh: New file.
48113         * tests/test-mbsspn.c: New file.
48114
48115 2007-02-11  Bruno Haible  <bruno@clisp.org>
48116
48117         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
48118
48119         * modules/mbspbrk-tests: New file.
48120         * tests/test-mbspbrk.sh: New file.
48121         * tests/test-mbspbrk.c: New file.
48122
48123 2007-02-11  Bruno Haible  <bruno@clisp.org>
48124
48125         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
48126         unneeded cast.
48127
48128         * modules/mbscspn-tests: New file.
48129         * tests/test-mbscspn.sh: New file.
48130         * tests/test-mbscspn.c: New file.
48131
48132 2007-02-11  Bruno Haible  <bruno@clisp.org>
48133
48134         * modules/mbscasecmp-tests: New file.
48135         * tests/test-mbscasecmp.sh: New file.
48136         * tests/test-mbscasecmp.c: New file.
48137
48138 2007-02-11  Bruno Haible  <bruno@clisp.org>
48139
48140         Ensure O(n) worst-case complexity of mbscasestr.
48141         * lib/mbscasestr.c: Include stdbool.h.
48142         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
48143         functions.
48144         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
48145         the bookkeeping indicates that it's worth it.
48146         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
48147
48148         * modules/mbscasestr-tests: New file.
48149         * tests/test-mbscasestr1.c: New file.
48150         * tests/test-mbscasestr2.sh: New file.
48151         * tests/test-mbscasestr2.c: New file.
48152         * tests/test-mbscasestr3.sh: New file.
48153         * tests/test-mbscasestr3.c: New file.
48154         * tests/test-mbscasestr4.sh: New file.
48155         * tests/test-mbscasestr4.c: New file.
48156         * m4/locale-tr.m4: New file.
48157
48158 2007-02-11  Bruno Haible  <bruno@clisp.org>
48159
48160         Ensure O(n) worst-case complexity of mbsstr.
48161         * lib/mbsstr.c: Include stdbool.h.
48162         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
48163         functions.
48164         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
48165         bookkeeping indicates that it's worth it.
48166         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
48167
48168         * modules/mbsstr-tests: New file.
48169         * tests/test-mbsstr1.c: New file.
48170         * tests/test-mbsstr2.sh: New file.
48171         * tests/test-mbsstr2.c: New file.
48172         * tests/test-mbsstr3.sh: New file.
48173         * tests/test-mbsstr3.c: New file.
48174         * m4/locale-fr.m4: New file.
48175
48176 2007-02-11  Bruno Haible  <bruno@clisp.org>
48177
48178         * lib/mbsrchr.c (mbsrchr): Fix bug.
48179
48180         * modules/mbsrchr-tests: New file.
48181         * tests/test-mbsrchr.sh: New file.
48182         * tests/test-mbsrchr.c: New file.
48183
48184 2007-02-11  Bruno Haible  <bruno@clisp.org>
48185
48186         * lib/mbschr.c (mbschr): Fix bug.
48187
48188         * modules/mbschr-tests: New file.
48189         * tests/test-mbschr.sh: New file.
48190         * tests/test-mbschr.c: New file.
48191         * m4/locale-zh.m4: New file.
48192
48193 2007-02-11  Bruno Haible  <bruno@clisp.org>
48194
48195         Support for copying multibyte string iterators.
48196         * lib/mbiter.h: Include <string.h>.
48197         (mbiter_multi_copy): New function.
48198         (mbi_copy): New macro.
48199         * lib/mbuiter.h: Include <string.h>.
48200         (mbuiter_multi_copy): New function.
48201         (mbui_copy): New macro.
48202
48203 2007-02-11  Bruno Haible  <bruno@clisp.org>
48204
48205         New module mbslen.
48206         * modules/mbslen: New file.
48207         * lib/mbslen.c: New file.
48208         * lib/string_.h (mbslen): New declaration.
48209         * m4/mbslen.m4: New file.
48210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48211         GNULIB_MBSLEN.
48212         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
48213         * MODULES.html.sh (Internationalization functions): Add mbslen.
48214
48215 2007-02-11  Bruno Haible  <bruno@clisp.org>
48216
48217         Ensure O(n) worst-case complexity of strcasestr substitute.
48218         * lib/strcasestr.c: Include stdbool.h.
48219         (knuth_morris_pratt): New function.
48220         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
48221         bookkeeping indicates that it's worth it.
48222         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
48223
48224         * modules/strcasestr-tests: New file.
48225         * tests/test-strcasestr.c: New file.
48226
48227 2007-02-11  Bruno Haible  <bruno@clisp.org>
48228
48229         Ensure O(n) worst-case complexity of c_strcasestr.
48230         * lib/c-strcasestr.c: Include stdbool.h, string.h.
48231         (knuth_morris_pratt): New function.
48232         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
48233         the bookkeeping indicates that it's worth it.
48234         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
48235
48236         * modules/c-strcasestr-tests: New file.
48237         * tests/test-c-strcasestr.c: New file.
48238
48239 2007-02-11  Bruno Haible  <bruno@clisp.org>
48240
48241         Ensure O(n) worst-case complexity of c_strstr.
48242         * lib/c-strstr.c: Include stdbool.h, string.h.
48243         (knuth_morris_pratt): New function.
48244         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
48245         bookkeeping indicates that it's worth it.
48246         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
48247
48248         * lib/c-strstr.c: Complete rewrite for maintainability.
48249
48250         * modules/c-strstr-tests: New file.
48251         * tests/test-c-strstr.c: New file.
48252
48253 2007-02-11  Bruno Haible  <bruno@clisp.org>
48254
48255         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
48256         5.2.1 and earlier, whereby \055 was treated just like the range
48257         delimiter '-'.
48258         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48259
48260 2007-02-08  Bruno Haible  <bruno@clisp.org>
48261
48262         * modules/regex (Depends-on): Add stdbool.
48263         Reported by Dalibor Topic <robilad@kaffe.org>.
48264
48265 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48266
48267         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
48268         Prefer returning from main to exiting from it.
48269         Remove unnecessary parens after sizeof.
48270
48271 2007-02-05  Bruno Haible  <bruno@clisp.org>
48272
48273         New module mbssep.
48274         * modules/mbssep: New file.
48275         * lib/mbssep.c: New file.
48276         * lib/string_.h (strsep): Add a conditional link warning.
48277         (mbssep): New declaration.
48278         * m4/mbssep.m4: New file.
48279         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48280         GNULIB_MBSSEP.
48281         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
48282         * MODULES.html.sh (Internationalization functions): Add mbssep.
48283
48284 2007-02-05  Bruno Haible  <bruno@clisp.org>
48285
48286         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
48287         Optimize search in case of 1 delimiter.
48288
48289 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
48290
48291         * lib/acl.h: Include sys/types.h before sys/acl.h.
48292
48293 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
48294
48295         Merge upstream fix for glibc bugzilla #3957:
48296
48297         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
48298
48299         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
48300         bit for RE_HAT_LISTS_NOT_NEWLINE.
48301         (build_charclass_op): Remove bogus comment.
48302
48303 2007-02-05  Simon Josefsson  <simon@josefsson.org>
48304
48305         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
48306
48307 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
48308
48309         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
48310         * lib/memmem.c [!defined _LIBC]: Include config.h.
48311
48312 2007-02-04  Bruno Haible  <bruno@clisp.org>
48313
48314         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
48315         warning message.
48316
48317 2007-02-04  Bruno Haible  <bruno@clisp.org>
48318
48319         New module mbstok_r.
48320         * modules/mbstok_r: New file.
48321         * lib/mbstok_r.c: New file.
48322         * lib/string_.h (strtok_r): Change argument names to match the
48323         comments. Add a conditional link warning.
48324         (mbstok_r): New declaration.
48325         * m4/mbstok_r.m4: New file.
48326         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48327         GNULIB_MBSTOK_R.
48328         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
48329         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
48330
48331 2007-02-04  Bruno Haible  <bruno@clisp.org>
48332
48333         New module mbsspn.
48334         * modules/mbsspn: New file.
48335         * lib/mbsspn.c: New file.
48336         * lib/string_.h (strspn): Add a conditional link warning.
48337         (mbsspn): New declaration.
48338         * m4/mbsspn.m4: New file.
48339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48340         GNULIB_MBSSPN.
48341         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
48342         * MODULES.html.sh (Internationalization functions): Add mbsspn.
48343
48344 2007-02-04  Bruno Haible  <bruno@clisp.org>
48345
48346         New module mbspbrk.
48347         * modules/mbspbrk: New file.
48348         * lib/mbspbrk.c: New file.
48349         * lib/string_.h (strpbrk): Add a conditional link warning.
48350         (mbspbrk): New declaration.
48351         * m4/mbspbrk.m4: New file.
48352         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48353         GNULIB_MBSPBRK.
48354         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
48355         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
48356
48357 2007-02-04  Bruno Haible  <bruno@clisp.org>
48358
48359         New module mbscspn.
48360         * modules/mbscspn: New file.
48361         * lib/mbscspn.c: New file.
48362         * lib/string_.h (strcspn): Add a conditional link warning.
48363         (mbscspn): New declaration.
48364         * m4/mbscspn.m4: New file.
48365         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48366         GNULIB_MBSCSPN.
48367         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
48368         * MODULES.html.sh (Internationalization functions): Add mbscspn.
48369
48370 2007-02-04  Bruno Haible  <bruno@clisp.org>
48371
48372         New module mbscasestr, reduced goal of strcasestr.
48373         * modules/mbscasestr: New file.
48374         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
48375         (mbscasestr): Renamed from strcasestr.
48376         * lib/strcasestr.c: Don't include mbuiter.h.
48377         (strcasestr): Remove support for multibyte locales.
48378         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
48379         Change the conditional link warning.
48380         (mbscasestr): New declaration.
48381         * m4/mbscasestr.m4: New file.
48382         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
48383         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
48384         REPLACE_STRCASESTR.
48385         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
48386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48387         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
48388         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
48389         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
48390         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
48391         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
48392         (Depends-on): Remove mbuiter.
48393         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
48394
48395 2007-02-04  Bruno Haible  <bruno@clisp.org>
48396
48397         Simplify handling of strncasecmp.
48398         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
48399         the conditional link warning.
48400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48401         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
48402         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
48403         * modules/strcase (configure.ac): Don't invoke
48404         gl_STRING_MODULE_INDICATOR.
48405         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
48406
48407 2007-02-04  Bruno Haible  <bruno@clisp.org>
48408
48409         New module mbscasecmp, reduced goal of strcasecmp.
48410         * modules/mbscasecmp: New file.
48411         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
48412         (mbscasecmp): Renamed from strcasecmp.
48413         * lib/strcasecmp.c: Don't include mbuiter.h.
48414         (strcasecmp): Remove support for multibyte locales.
48415         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
48416         Change the conditional link warning.
48417         (mbscasecmp): New declaration.
48418         * m4/mbscasecmp.m4: New file.
48419         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
48420         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
48421         REPLACE_STRCASECMP.
48422         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
48423         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48424         GNULIB_MBSCASECMP.
48425         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
48426         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
48427         * modules/strcase (Files): Remove m4/mbrtowc.m4.
48428         (Depends-on): Remove mbuiter.
48429         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
48430
48431 2007-02-04  Bruno Haible  <bruno@clisp.org>
48432
48433         New module mbsstr. Remove module strstr.
48434         * modules/mbsstr: New file.
48435         * modules/strstr: Remove file.
48436         * lib/mbsstr.c: Renamed from lib/strstr.c.
48437         (mbsstr): Renamed from strstr.
48438         * lib/string_.h (strstr): Remove declaration. Change the conditional
48439         link warning.
48440         (mbsstr): New declaration.
48441         * m4/mbsstr.m4: New file.
48442         * m4/strstr.m4: Remove file.
48443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
48444         REPLACE_STRSTR.
48445         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
48446         Don't initialize GNULIB_STRSTR.
48447         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
48448         substitute GNULIB_STRSTR and REPLACE_STRSTR.
48449         * MODULES.html.sh (Internationalization functions): Add mbsstr.
48450         (Support for systems lacking ANSI C 89): Remove strstr.
48451
48452 2007-02-04  Bruno Haible  <bruno@clisp.org>
48453
48454         New module mbsrchr.
48455         * modules/mbsrchr: New file.
48456         * lib/mbsrchr.c: New file.
48457         * lib/string_.h (strrchr): Add a conditional link warning.
48458         (mbsrchr): New declaration.
48459         * m4/mbsrchr.m4: New file.
48460         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48461         GNULIB_MBSRCHR.
48462         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
48463         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
48464
48465 2007-02-04  Bruno Haible  <bruno@clisp.org>
48466
48467         New module mbschr.
48468         * modules/mbschr: New file.
48469         * lib/mbschr.c: New file.
48470         * lib/string_.h (strchr): Add a conditional link warning.
48471         (mbschr): New declaration.
48472         * m4/mbschr.m4: New file.
48473         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48474         GNULIB_MBSCHR.
48475         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
48476         * MODULES.html.sh (Internationalization functions): Add mbschr.
48477
48478 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
48479
48480         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
48481
48482         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
48483
48484 2007-02-04  Bruno Haible  <bruno@clisp.org>
48485
48486         New module description section 'configure.ac-early'.
48487         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
48488         (func_get_autoconf_early_snippet): New function.
48489         (func_import, func_create_testdir): Use it. Remove special cases for
48490         modules 'extensions' and 'lock'.
48491         * modules/extensions (configure.ac-early): Require
48492         gl_USE_SYSTEM_EXTENSIONS.
48493         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
48494
48495 2007-02-04  Bruno Haible  <bruno@clisp.org>
48496
48497         Make use of gcj-4.3's -fsource and -ftarget option.
48498         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
48499         and if so try the options -fsource and -ftarget.
48500         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
48501         source_version, ftarget_option, target_version arguments.
48502         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
48503         (is_envjavac_oldgcj_14_14_usable): Renamed from
48504         is_envjavac_gcj_14_14_usable.
48505         (is_envjavac_oldgcj_14_13_usable): Renamed from
48506         is_envjavac_gcj_14_13_usable.
48507         (is_gcj_present): Update.
48508         (is_gcj_43, is_gcj43_usable): New functions.
48509         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
48510         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
48511         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
48512         try the options -fsource and -ftarget.
48513
48514 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
48515
48516         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
48517         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
48518         larger value.
48519
48520 2007-02-03  Jim Meyering  <jim@meyering.net>
48521
48522         Give tools a better chance to allocate space for very large buffers.
48523         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
48524
48525         Make pwd and readlink work also when run with an unreadable parent dir
48526         on systems with openat support.
48527         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
48528         provided getcwd function, even when we have openat support.
48529         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
48530
48531 2007-02-02  Bruno Haible  <bruno@clisp.org>
48532
48533         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
48534         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
48535         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
48536         portability problems if one of these functions is only used on specific
48537         platforms.
48538         Reported by Paul Eggert.
48539
48540 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
48541
48542         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
48543         is causing more trouble than it's curing.
48544         * lib/regex_internal.h (__mempcpy): Remove.
48545         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
48546         (and make the code a tad smaller to boot).
48547         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
48548
48549 2007-02-02  Jim Meyering  <jim@meyering.net>
48550
48551         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
48552         section, not in the Makefile.am: one.
48553
48554 2007-02-02  Eric Blake  <ebb9@byu.net>
48555
48556         * lib/strchrnul.c: Always include config.h first.
48557
48558         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
48559         gnulib strstr is not necessary here.
48560
48561 2007-02-02  Simon Josefsson  <simon@josefsson.org>
48562
48563         * m4/socklen.m4: Fix typo.
48564
48565 2007-02-02  Eric Blake  <ebb9@byu.net>
48566
48567         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
48568         * modules/netinet_in (Makefile.am): Likewise.
48569
48570 2007-02-01  Bruno Haible  <bruno@clisp.org>
48571
48572         * lib/string_.h (GL_LINK_WARNING): New macro.
48573         (strcasecmp, strstr, strcasestr): If provided by the system,
48574         conditionally define as a macro that leads to a warning instead of to
48575         an error.
48576         (strncasecmp): Conditionally define as a macro that leads to a warning.
48577
48578 2007-02-01  Karl Berry  <karl@gnu.org>
48579
48580         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
48581
48582 2007-02-01  Bruno Haible  <bruno@clisp.org>
48583
48584         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
48585         renamings.
48586
48587 2007-02-01  Eric Blake  <ebb9@byu.net>
48588
48589         * modules/regex (Depends-on): Revert dependence on mempcpy.
48590         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
48591         module's definition of mempcpy.
48592         Reported by Paul Eggert.
48593
48594 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48595
48596         * lib/string_.h: If the gnulib module XYZ is not present, undefine
48597         the symbol XYZ before redefining it.  This fixes a problem with
48598         programs that don't use XYZ, when compiled on systems that define
48599         XYZ to something else.
48600
48601 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
48602
48603         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
48604         occurs when "mkdir -m foo" creates a setgid directory that is (1)
48605         writeable to group or other and (2) is intended to have a special
48606         mode bit that is set or cleared.  In such a case, the directory
48607         should be neither group- nor other-writeable until the special
48608         mode bits are right.
48609
48610 2007-01-31  Eric Blake  <ebb9@byu.net>
48611
48612         * modules/mountlist (Depends-on): Add strstr.
48613
48614         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
48615         bug.
48616         * modules/string (Makefile.am): Remove redundant replacement.
48617         * modules/regex (Depends-on): Add mempcpy.
48618
48619 2007-01-31  Bruno Haible  <bruno@clisp.org>
48620
48621         New module description field 'Link'.
48622         * gnulib-tool (func_usage): Document --extract-link-directive.
48623         (sed_extract_prog): Recognize 'Link' directive.
48624         (func_get_link_directive): New function.
48625         (func_import): Show summary of link directives.
48626         Handle --extract-link-directive option.
48627         * modules/acl (Link): New section.
48628         * modules/clock-time (Link): New section.
48629         * modules/euidaccess (Link): New section.
48630         * modules/gettext (Link): New section.
48631         * modules/iconv (Link): New section.
48632         * modules/lock (Link): New section.
48633         * modules/nanosleep (Link): New section.
48634         * modules/readline (Link): New section.
48635
48636 2007-01-27  Bruno Haible  <bruno@clisp.org>
48637
48638         Enforce the use of gnulib modules for unportable <string.h> functions.
48639         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
48640         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
48641         (gl_HEADER_STRING_H_BODY): Require it.
48642         * lib/string_.h: If the gnulib module XYZ is not present, redefine
48643         the symbol XYZ to one that gives a link error.
48644         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
48645         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
48646         * modules/mempcpy (configure.ac): Likewise.
48647         * modules/memrchr (configure.ac): Likewise.
48648         * modules/stpcpy (configure.ac): Likewise.
48649         * modules/stpncpy (configure.ac): Likewise.
48650         * modules/strcase (configure.ac): Likewise.
48651         * modules/strcasestr (configure.ac): Likewise.
48652         * modules/strchrnul (configure.ac): Likewise.
48653         * modules/strdup (configure.ac): Likewise.
48654         * modules/strndup (configure.ac): Likewise.
48655         * modules/strnlen (configure.ac): Likewise.
48656         * modules/strpbrk (configure.ac): Likewise.
48657         * modules/strsep (configure.ac): Likewise.
48658         * modules/strstr (configure.ac): Likewise.
48659         * modules/strtok_r (configure.ac): Likewise.
48660
48661 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
48662
48663         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
48664
48665 2007-01-30  Jim Meyering  <jim@meyering.net>
48666
48667         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
48668
48669 2007-01-29  Bruno Haible  <bruno@clisp.org>
48670
48671         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
48672         * lib/execute.c: Likewise.
48673         * lib/pipe.c: Likewise.
48674         * lib/printf-args.h: Likewise.
48675         * lib/printf-args.c: Likewise.
48676         * lib/printf-parse.c: Likewise.
48677         * lib/vasnprintf.c: Likewise.
48678
48679 2007-01-29  Eric Blake  <ebb9@byu.net>
48680
48681         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
48682         declaration.
48683
48684 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
48685
48686         * lib/strptime.h (strptime): Use 'restrict' for args where
48687         POSIX requires this.
48688         * lib/strptime.c (strptime): Likewise.
48689         Change license notice from LGPL to GPL, since gnulib-tool will
48690         change this as needed.
48691         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
48692         defined.
48693         Include "strptime.h" first, to check interface.
48694         Do not #undef _LIBC and _NL_CURRENT.
48695         Do not include <stdlib.h>; no longer needed.
48696         Include "time_r.h" and declare ptime_locale_status
48697         only if _LIBC is not defined.
48698         (__P): Remove unused macro.
48699         (match_string): Bring back glibc version, but use it only if _LIBC
48700         is defined.
48701         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
48702         Remove unnecessary assertion and abort() call.
48703         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
48704         * m4/strptime.m4: Fix serial number comment.
48705         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
48706         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
48707         (Depends-on): Add time_r.
48708
48709 2007-01-29  Bruno Haible  <bruno@clisp.org>
48710
48711         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48712         strptime.
48713         * modules/strptime (Depends-on): Add stdbool.
48714         * lib/strptime.h: Include <time.h> always. Add comments.
48715
48716 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48717
48718         * modules/strptime: New file.
48719         * lib/strptime.h: New file.
48720         * lib/strptime.c: New file.
48721         * m4/strptime.m4: New file.
48722
48723 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
48724
48725         * MODULES.html.sh: New module mpsort.
48726         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
48727
48728         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
48729         a circularity problem with HP-UX ia64 reported by Bob Proulx in
48730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
48731         All uses changed.
48732         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
48733         All uses changed.
48734         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
48735         to _Restrict_.
48736         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
48737         the parameter matches the prototype.
48738
48739 2007-01-28  Jim Meyering  <jim@meyering.net>
48740
48741         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
48742         sys/time.h here, reverting that part of the previous patch:
48743         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
48744
48745 2007-01-28  Bruno Haible  <bruno@clisp.org>
48746
48747         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
48748         value of $(SYS_TIME_H).
48749         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
48750         remove it conditionally, too. [added by Jim Meyering]
48751         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
48752         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
48753         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
48754         GETTIMEOFDAY_REPLACEMENT to 1.
48755
48756 2007-01-28  Bruno Haible  <bruno@clisp.org>
48757
48758         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
48759         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
48760         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
48761         Set UNISTD_H instead of UNISTD_H2.
48762         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
48763
48764 2007-01-28  Bruno Haible  <bruno@clisp.org>
48765
48766         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
48767         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
48768
48769 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48770
48771         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
48772         (func_create_testdir): Ensure C locale for `grep' and `tr'
48773         character ranges.
48774         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
48775         ACLOCAL_AMFLAGS parsing state machine.
48776
48777 2007-01-27  Bruno Haible  <bruno@clisp.org>
48778
48779         * modules/unistr/base: Update.
48780
48781 2007-01-27  Bruno Haible  <bruno@clisp.org>
48782
48783         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
48784         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
48785         * modules/unistr/u32-mbtouc-unsafe: Renamed from
48786         modules/unistr/u32-mbtouc.
48787         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
48788         * lib/unistr.h: Update.
48789         * lib/linebreak.c: Update.
48790         * modules/unistr/u32-mbtouc: Renamed from
48791         modules/unistr/u32-mbtouc-safe.
48792         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
48793         * lib/unistr.h: Update.
48794         * lib/unistr/u32-to-u8.c: Update.
48795         * lib/unistr/u32-to-u16.c: Update.
48796
48797 2007-01-27  Bruno Haible  <bruno@clisp.org>
48798
48799         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
48800         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
48801         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
48802         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
48803         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
48804         * modules/unistr/u16-mbtouc-unsafe: Renamed from
48805         modules/unistr/u16-mbtouc.
48806         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
48807         * lib/unistr.h: Update.
48808         * lib/linebreak.c: Update.
48809         * modules/linebreak: Update.
48810         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
48811         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
48812         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
48813         * modules/unistr/u16-mbtouc: Renamed from
48814         modules/unistr/u16-mbtouc-safe.
48815         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
48816         * lib/unistr.h: Update.
48817         * lib/unistr/u16-to-u8.c: Update.
48818         * modules/unistr/u16-to-u8: Update.
48819         * lib/unistr/u16-to-u32.c: Update.
48820         * modules/unistr/u16-to-u32: Update.
48821
48822 2007-01-27  Bruno Haible  <bruno@clisp.org>
48823
48824         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
48825         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
48826         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
48827         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
48828         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
48829         * modules/unistr/u8-mbtouc-unsafe: Renamed from
48830         modules/unistr/u8-mbtouc.
48831         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
48832         * lib/unistr.h: Update.
48833         * lib/striconveh.c: Update.
48834         * modules/striconveh: Update.
48835         * lib/linebreak.c: Update.
48836         * modules/linebreak: Update.
48837         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
48838         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
48839         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
48840         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
48841         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
48842         * lib/unistr.h: Update.
48843         * lib/striconveh.c: Update.
48844         * modules/striconveh: Update.
48845         * lib/unistr/u8-to-u16.c: Update.
48846         * modules/unistr/u8-to-u16: Update.
48847         * lib/unistr/u8-to-u32.c: Update.
48848         * modules/unistr/u8-to-u32: Update.
48849
48850 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48851
48852         Sync from Libtool.
48853         * lib/argz.c: Do not include strings.h nor memory.h, include
48854         string.h unconditionally.  Patch by Simon Josefsson.
48855
48856 2007-01-27  Bruno Haible  <bruno@clisp.org>
48857
48858         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
48859         from gl_HEADER_STRING_H_BODY.
48860         (gl_HEADER_STRING_H_BODY): Require it.
48861         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
48862         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
48863         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
48864         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
48865         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48866         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
48867         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48868         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
48869         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
48870         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
48871         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
48872         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
48873         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
48874         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48875         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48876
48877 2007-01-27  Bruno Haible  <bruno@clisp.org>
48878
48879         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
48880         check_PROGRAMS into noinst_PROGRAMS.
48881         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
48882         check_PROGRAMS in this case.
48883         (func_import): Set for_test to false.
48884         (func_create_testdir): Set for_test to true.
48885
48886 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
48887             Bruno Haible  <bruno@clisp.org>
48888
48889         * modules/strcasestr (Files): Remove lib/strcasestr.h.
48890         (Depends-on): Add string.
48891         (Includes): Use <string.h> instead of strcasestr.h.
48892         * modules/string (Makefile.am): Also substitute the value of
48893         REPLACE_STRCASESTR.
48894         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
48895         assume strcasestr is declared in <string.h> not <strings.h>. Also
48896         set REPLACE_STRCASESTR.
48897         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
48898         REPLACE_STRCASESTR.
48899         * lib/strcasestr.h: Remove file.
48900         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
48901         * lib/string_.h (strcasestr): New declaration.
48902
48903 2007-01-27  Bruno Haible  <bruno@clisp.org>
48904
48905         * lib/string_.h: Use 'extern'.
48906
48907 2007-01-27  Jim Meyering  <jim@meyering.net>
48908
48909         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
48910         of set-but-not-used local, "q".
48911
48912         * lib/mempcpy.c: Include <config.h> before <string.h>.
48913         This fixes a compilation error on HP-UX, due to the system's
48914         "restrict"-using mempcpy prototype.
48915
48916 2007-01-26  Bruno Haible  <bruno@clisp.org>
48917
48918         Small optimization.
48919         * lib/javacomp.c: Include c-strstr.h.
48920          (is_envjavac_gcj): Use c_strstr instead of strstr.
48921         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
48922
48923 2007-01-26  Bruno Haible  <bruno@clisp.org>
48924
48925         * MODULES.html.sh (Unicode string functions): Add the new modules.
48926
48927         * modules/uniconv/u32-strconv-to-locale: New file.
48928         * lib/uniconv/u32-strconv-to-locale.c: New file.
48929
48930         * modules/uniconv/u16-strconv-to-locale: New file.
48931         * lib/uniconv/u16-strconv-to-locale.c: New file.
48932
48933         * modules/uniconv/u8-strconv-to-locale: New file.
48934         * lib/uniconv/u8-strconv-to-locale.c: New file.
48935
48936         * modules/uniconv/u32-strconv-from-locale: New file.
48937         * lib/uniconv/u32-strconv-from-locale.c: New file.
48938
48939         * modules/uniconv/u16-strconv-from-locale: New file.
48940         * lib/uniconv/u16-strconv-from-locale.c: New file.
48941
48942         * modules/uniconv/u8-strconv-from-locale: New file.
48943         * lib/uniconv/u8-strconv-from-locale.c: New file.
48944
48945         * modules/uniconv/u32-strconv-to-enc: New file.
48946         * lib/uniconv/u32-strconv-to-enc.c: New file.
48947         * modules/uniconv/u32-strconv-to-enc-tests: New file.
48948         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
48949
48950         * modules/uniconv/u16-strconv-to-enc: New file.
48951         * lib/uniconv/u16-strconv-to-enc.c: New file.
48952         * lib/uniconv/u-strconv-to-enc.h: New file.
48953         * modules/uniconv/u16-strconv-to-enc-tests: New file.
48954         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
48955
48956         * modules/uniconv/u8-strconv-to-enc: New file.
48957         * lib/uniconv/u8-strconv-to-enc.c: New file.
48958         * modules/uniconv/u8-strconv-to-enc-tests: New file.
48959         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
48960
48961         * modules/uniconv/u32-strconv-from-enc: New file.
48962         * lib/uniconv/u32-strconv-from-enc.c: New file.
48963         * modules/uniconv/u32-strconv-from-enc-tests: New file.
48964         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
48965
48966         * modules/uniconv/u16-strconv-from-enc: New file.
48967         * lib/uniconv/u16-strconv-from-enc.c: New file.
48968         * modules/uniconv/u16-strconv-from-enc-tests: New file.
48969         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
48970
48971         * modules/uniconv/u8-strconv-from-enc: New file.
48972         * lib/uniconv/u8-strconv-from-enc.c: New file.
48973         * lib/uniconv/u-strconv-from-enc.h: New file.
48974         * modules/uniconv/u8-strconv-from-enc-tests: New file.
48975         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
48976
48977         * modules/uniconv/u32-conv-from-enc: New file.
48978         * lib/uniconv/u32-conv-from-enc.c: New file.
48979         * modules/uniconv/u32-conv-from-enc-tests: New file.
48980         * tests/uniconv/test-u32-conv-from-enc.c: New file.
48981
48982         * modules/uniconv/u16-conv-from-enc: New file.
48983         * lib/uniconv/u16-conv-from-enc.c: New file.
48984         * lib/uniconv/u-conv-from-enc.h: New file.
48985         * modules/uniconv/u16-conv-from-enc-tests: New file.
48986         * tests/uniconv/test-u16-conv-from-enc.c: New file.
48987
48988         * modules/uniconv/u8-conv-from-enc: New file.
48989         * lib/uniconv/u8-conv-from-enc.c: New file.
48990         * modules/uniconv/u8-conv-from-enc-tests: New file.
48991         * tests/uniconv/test-u8-conv-from-enc.c: New file.
48992
48993         * modules/uniconv/base: New file.
48994         * lib/uniconv.h: New file.
48995
48996 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48997
48998         * doc/gnulib-tool.texi (Initial import): Update to match current
48999         behavior with strdup module.
49000         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
49001         * lib/memmem.h: Remove; all uses removed.  This is now done
49002         by <string.h>.
49003         * lib/mempcpy.h: Likewise.
49004         * lib/memrchr.h: Likewise.
49005         * lib/stpcpy.h: Likewise.
49006         * lib/stpncpy.h: Likewise.
49007         * lib/strcase.h: Likewise.
49008         * lib/strchrnul.h: Likewise.
49009         * lib/strdup.h: Likewise.
49010         * lib/strndup.h: Likewise.
49011         * lib/strnlen.h: Likewise.
49012         * lib/strpbrk.h: Likewise.
49013         * lib/strsep.h: Likewise.
49014         * lib/strstr.h: Likewise.
49015         * lib/strtok_r.h: Likewise.
49016         * lib/string_.h: New file.
49017         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
49018         Rely on <string.h> instead.
49019         * lib/canon-host.c: Likewise.
49020         * lib/chdir-long.c: Likewise.
49021         * lib/concatpath.c: Likewise.
49022         * lib/exclude.c: Likewise.
49023         * lib/fchdir.c: Likewise.
49024         * lib/getaddrinfo.c: Likewise.
49025         * lib/getcwd.c: Likewise.
49026         * lib/getsubopt.c: Likewise.
49027         * lib/glob.c: Likewise.
49028         * lib/hard-locale.c: Likewise.
49029         * lib/iconvme.c: Likewise.
49030         * lib/javacomp.c: Likewise.
49031         * lib/mempcpy.c: Likewise.
49032         * lib/memrchr.c: Likewise.
49033         * lib/regex_internal.h: Likewise.
49034         * lib/stpncpy.c: Likewise.
49035         * lib/strcasecmp.c: Likewise.
49036         * lib/strchrnul.c: Likewise.
49037         * lib/strdup.c: Likewise.
49038         * lib/striconv.c: Likewise.
49039         * lib/striconveh.c: Likewise.
49040         * lib/striconveha.c: Likewise.
49041         * lib/strncasecmp.c: Likewise.
49042         * lib/strndup.c: Likewise.
49043         * lib/strnlen.c: Likewise.
49044         * lib/strsep.c: Likewise.
49045         * lib/strstr.c: Likewise.
49046         * lib/strtok_r.c: Likewise.
49047         * lib/userspec.c: Likewise.
49048         * lib/w32spawn.h: Likewise.
49049         * lib/xstrndup.c: Likewise.
49050         * lib/mountlist.c (strstr): Remove decl.
49051         * m4/string_h.m4: New file.
49052         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
49053         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
49054         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
49055         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
49056         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
49057         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
49058         Set REPLACE_STRCASECMP if necessary.
49059         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
49060         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
49061         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
49062         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
49063         HAVE_DECL_STRDUP if necessary.
49064         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
49065         since gl_FUNC_STRNDUP does that now.
49066         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
49067         Check for decl here...
49068         (gl_PREREQ_STRNLEN): ... not here.
49069         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
49070         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
49071         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
49072         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
49073         necessary.
49074         * modules/string: New file.
49075         * modules/memmem (Files): Remove special-purpose include file.
49076         (Depends-on): Add string.
49077         (Include): Include <string.h>, not the removed file.
49078         * modules/mempcpy: Likewise.
49079         * modules/memrchr: Likewise.
49080         * modules/stpcpy: Likewise.
49081         * modules/stpncpy: Likewise.
49082         * modules/strcase: Likewise.
49083         * modules/strchrnul: Likewise.
49084         * modules/strdup: Likewise.
49085         * modules/strndup: Likewise.
49086         * modules/strnlen: Likewise.
49087         * modules/strpbrk: Likewise.
49088         * modules/strsep: Likewise.
49089         * modules/strstr: Likewise.
49090         * modules/strtok_r: Likewise.
49091         * tests/test-dirname.c: Don't include "strdup.h", since
49092         <string.h> now suffices.
49093         * tests/test-memmem.c: Don't include "memmem.h", since
49094         <string.h> now suffices.
49095
49096 2007-01-25  Bruno Haible  <bruno@clisp.org>
49097
49098         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
49099         *resultp is 0.
49100
49101         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
49102         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
49103         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
49104         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
49105
49106         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
49107         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
49108         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
49109         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
49110         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
49111         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
49112
49113 2007-01-24  Bruno Haible  <bruno@clisp.org>
49114
49115         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
49116         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
49117         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
49118         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
49119         gl_FUNC_FTS_CORE.
49120         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
49121         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
49122         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49123         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
49124         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
49125         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
49126         gl_FUNC_FCHOWNAT.
49127         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
49128         gl_FUNC_STRFTIME.
49129         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
49130         Reported by Ralf Wildenhues.
49131
49132 2007-01-24  Bruno Haible  <bruno@clisp.org>
49133
49134         Drop AC_REQUIRE calls that are redundant with the module dependencies.
49135         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
49136         gl_GETADDRINFO.
49137         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
49138         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
49139         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
49140
49141 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
49142
49143         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
49144         Don't use 'exit'; just return from 'main'.
49145         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
49146
49147         * lib/fnmatch_.h: Readjust white space and comments to match
49148         glibc, to avoid spurious diffs.
49149
49150 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49151
49152         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
49153         2004-12-01 change by Jakub Jelinek, since this code won't compile
49154         if !LIBC.  Problem reported by Bob Proulx.
49155
49156 2007-01-23  Bruno Haible  <bruno@clisp.org>
49157
49158         * lib/striconveh.c: Include c-strcaseeq.h.
49159         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
49160         * modules/striconveh (Depends-on): Add c-strcaseeq.
49161
49162 2007-01-23  Bruno Haible  <bruno@clisp.org>
49163
49164         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
49165
49166         * modules/c-strcaseeq: New file.
49167         * lib/c-strcaseeq.h: New file.
49168
49169         * modules/streq: New file.
49170         * lib/streq.h: New file.
49171
49172 2007-01-23  Bruno Haible  <bruno@clisp.org>
49173
49174         * modules/striconveha-tests: New file.
49175         * tests/test-striconveha.c: New file.
49176
49177         * lib/striconveha.h: Include <stdbool.h>.
49178         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
49179         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
49180         (mem_iconveha_notranslit): Renamed from mem_iconveha.
49181         (mem_iconveha): New function.
49182         (str_iconveha_notranslit): Renamed from str_iconveha.
49183         (str_iconveha): New function.
49184         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
49185         c-strcase.
49186
49187 2007-01-23  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
49190         encodings without forgiving before trying any encoding with handler.
49191         (str_iconveha): Try all encodings without forgiving before trying any
49192         encoding with handler.
49193
49194 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49195
49196         Import the following changes from libc.
49197
49198         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
49199
49200         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
49201
49202         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
49203
49204         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
49205         normal_bracket label.
49206
49207         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
49208
49209         [BZ #361]
49210         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
49211         to normal_bracket after fetching the next character.
49212
49213 2007-01-22  Bruno Haible  <bruno@clisp.org>
49214
49215         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
49216         argument.
49217         * lib/striconveh.c (iconv_carefully_1): New function.
49218         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
49219         argument.
49220         (str_cd_iconveh): Update.
49221         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
49222         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
49223         * tests/test-striconveh.c (MAGIC): New macro.
49224         (new_offsets): New function.
49225         (main): Test call with and without offsets.
49226
49227 2007-01-22  Bruno Haible  <bruno@clisp.org>
49228
49229         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
49230         * modules/sys_select (Makefile.am): Likewise.
49231         * modules/sys_socket (Makefile.am): Likewise.
49232         * modules/sys_time (Makefile.am): Likewise.
49233
49234 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
49235
49236         * modules/gettimeofday (License): Change from GPL to LGPL, since
49237         gettimeofday is a library function.
49238
49239 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49240
49241         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
49242
49243 2007-01-21  Bruno Haible  <bruno@clisp.org>
49244
49245         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
49246
49247 2007-01-21  Bruno Haible  <bruno@clisp.org>
49248
49249         * modules/striconveha: New file.
49250         * lib/striconveha.h: New file.
49251         * lib/striconveha.c: New file.
49252         * MODULES.html.sh (Internationalization functions): Add striconveha.
49253         * lib/striconv.c (str_iconv): Optimize the case of an empty input
49254         string.
49255         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
49256
49257 2007-01-21  Bruno Haible  <bruno@clisp.org>
49258
49259         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
49260         * lib/striconveh.c (str_iconveh): Likewise.
49261
49262 2007-01-21  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/striconveh.h (mem_iconveh): New declaration.
49265         * lib/striconveh.c (mem_iconveh): New function.
49266         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
49267
49268 2007-01-21  Bruno Haible  <bruno@clisp.org>
49269
49270         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
49271
49272         * lib/striconveh.h (mem_cd_iconveh): Change specification.
49273         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
49274         original result buffer.
49275         (str_cd_iconveh): Update.
49276         * tests/test-striconveh.c (main): Update.
49277
49278         * lib/striconv.h (mem_cd_iconv): Change specification.
49279         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
49280         result buffer.
49281         (str_cd_iconv): Update.
49282         * tests/test-striconv.c (main): Update.
49283
49284 2007-01-21  Bruno Haible  <bruno@clisp.org>
49285
49286         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
49287
49288 2007-01-20  Jim Meyering  <jim@meyering.net>
49289
49290         * lib/userspec.c (parse_with_separator): If a user or group string
49291         starts with "+", skip the corresponding name-to-ID look-up, since
49292         such a look-up must fail: user and group names may not include "+".
49293
49294 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
49295
49296         * lib/poll.c: Include sys/time.h and time.h unconditionally,
49297         since we now assume the sys_time module.
49298         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
49299         check for sys/time.h; no longer needed.
49300         * modules/poll (Depends-on): Depend on sys_time.
49301
49302 2007-01-18  Bruno Haible  <bruno@clisp.org>
49303
49304         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
49305         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
49306
49307         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
49308         gettimeofday.
49309
49310         * tests/test-gettimeofday.c: Include <time.h>.
49311         (dummy): Remove variable.
49312
49313         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
49314         gl_HEADER_SYS_TIME_H.
49315         (gl_HEADER_SYS_TIME_H): New macro.
49316
49317         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
49318         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49319         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
49320         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
49321         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49322         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
49323         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
49324         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49325         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
49326         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
49327         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49328
49329         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
49330         last change; it caused a compilation error when cross-compiling to
49331         Cygwin.
49332
49333 2007-01-18  Jim Meyering  <jim@meyering.net>
49334
49335         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
49336         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
49337         than the race-prone "test -d sys || mkdir sys".
49338         (configure.ac): Use AC_PROG_MKDIR_P.
49339         * modules/sys_select: Likewise.
49340         * modules/sys_socket: Likewise.
49341         * modules/sys_time: Likewise.
49342
49343 2007-01-18  Eric Blake  <ebb9@byu.net>
49344
49345         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
49346         replace gettimeofday.
49347         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
49348         name, to avoid infinite recursion.
49349
49350 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
49351
49352         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
49353         module sys_time.
49354         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
49355         assume timespec.h defines struct timeval.
49356         * lib/settime.c: Likewise.
49357         * lib/utimens.c: Likewise.
49358         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
49359         since we now assume the gettimeofday module.
49360         * lib/tempname.c (__gen_tempname): Likewise.
49361         * lib/gettimeofday.h: Remove.
49362         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
49363         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
49364         Include <time.h>, for 'time()'.
49365         (localtime_buffer_addr): Also use this workaround if
49366         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
49367         to simplify the uses.  All uses changed.
49368         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
49369         that #undef is inside {}, and 'const' follows type name consistently.
49370         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
49371         (gettimeofday): Do not use the maximum possible value for
49372         tv->tv_usec, since that might break usages other than ls.c.
49373         Instead, we'll leave ls.c alone.  This undoes today's patch
49374         by Bruno.  Add a compile-time warning for 1s-clock resolution;
49375         we've never observed the problem but might as well keep the
49376         canary.
49377         * lib/nanosleep.c: Include timespec.h first, for interface check.
49378         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
49379         now assume the sys_time module.
49380         * lib/tempname.c: Likewise.
49381         * lib/timespec.h: Likewise.
49382         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
49383         needed.
49384         * lib/strftime.c: Likewise.
49385         * lib/timespec.h: Likewise.
49386         * lib/posixtm.c: Include posixtm.h first, for interface check.
49387         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
49388         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
49389         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
49390         * lib/sys_time_.h: New file.
49391         * lib/timespec.h (struct timespec): Use long int, not long.
49392         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
49393         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
49394         Remove obsolescent call to AC_HEADER_TIME.
49395         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
49396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
49397         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
49398         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
49399         Likewise.
49400         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
49401         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
49402         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
49403         into the sys_time module.  Check for gettimeofday just once.
49404         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
49405         for gettimeofday signature to just check the signature.  Merely
49406         compile it, since linking doesn't test signature.  Improve test for
49407         whether gettimeofday.o is actually needed.
49408         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
49409         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
49410         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
49411         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49412         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
49413         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
49414         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
49415         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
49416         than worrying about sys/time.h.
49417         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
49418         Don't bother worrying about TIME_WITH_SYS_TIME.
49419         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
49420         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
49421         * m4/sys_time_h.m4: New file.
49422         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
49423         Don't include sys/time.h.  Return from main rather than exiting.
49424         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
49425         all uses changed.
49426         * modules/gethrxtime (Depends-on): Add sys_time.
49427         * modules/gettime (Depends-on): Likewise.
49428         * modules/gettimeofday (Depends-on): Likewise.
49429         * modules/nanosleep (Depends-on): Likewise.
49430         * modules/settime (Depends-on): Likewise.
49431         * modules/tempname (Depends-on): Likewise.
49432         * modules/utimens (Depends-on): Likewise.
49433         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
49434         (Include:) Change back to <sys/time.h>.
49435         (Maintainer:) Add self.
49436         * modules/sys_time: New file.
49437         * modules/tempname (Depends-on): Add gettimeofday.
49438         * tests/test-gettimeofday.c: Include <sys/time.h>
49439         rather than gettimeofday.h.
49440
49441 2007-01-17  Bruno Haible  <bruno@clisp.org>
49442
49443         * gnulib-tool (func_get_license): Revert last patch. Instead, let
49444         the license default to GPL.
49445         (func_create_testdir): Don't complain if a module is LGPL and its
49446         tests module depends on GPLed modules.
49447
49448 2007-01-17  Bruno Haible  <bruno@clisp.org>
49449
49450         * lib/gettimeofday.c (gettimeofday): Add code for the case
49451         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
49452         maximum possible value for tv->tv_usec, rather than the minimum one.
49453
49454 2005-10-08  Martin Lambers  <marlam@marlam.de>
49455 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
49456 2007-01-16  Bruno Haible  <bruno@clisp.org>
49457
49458         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
49459         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
49460         gl_FUNC_GETTIMEOFDAY.
49461         (Include): Add gettimeofday.h.
49462         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
49463         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
49464         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
49465         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
49466         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
49467         * lib/gettimeofday.h: New file.
49468         * lib/gettimeofday.c: Include <sys/timeb.h>.
49469         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
49470         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
49471         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
49472         fall back on time().
49473
49474         * tests/test-gettimeofday.c: New file.
49475         * modules/gettimeofday-tests: New file.
49476
49477 2007-01-16  Eric Blake  <ebb9@byu.net>
49478
49479         * modules/fnmatch (Depends-on): Depend on wchar.
49480         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
49481         * m4/fnmatch.m4: Likewise.
49482         * modules/mbchar (Makefile.am): Assume <wchar.h>.
49483         * m4/mbchar.m4: Likewise.
49484         * modules/mbswidth (Depends-on): Depend on wchar.
49485         * lib/mbswidth.c: Assume <wchar.h>.
49486         * m4/mbswidth.m4: Likewise.
49487         * modules/quotearg (Depends-on): Depend on wchar.
49488         * lib/quotearg.c: Assume <wchar.h>.
49489         * m4/quotearg.m4: Likewise.
49490         * modules/regex (Depends-on): Depend on wchar.
49491         * lib/regex_internal.h: Assume <wchar.h>.
49492         * m4/regex.m4: Likewise.
49493         * modules/stdint (Depends-on): Depend on wchar.
49494         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
49495         * m4/stdint.m4: Likewise.
49496         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
49497         * modules/strftime (Depends-on): Depend on wchar.
49498         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
49499         * modules/strtol (Depends-on): Depend on wchar.
49500         * lib/strtol.c: Assume <wchar.h>.
49501         * modules/wcwidth (Depends-on): Depend on wchar.
49502         * lib/wcwidth.h: Assume <wchar.h>.
49503         * m4/wcwidth.m4: Likewise.
49504
49505 2007-01-16  Bruno Haible  <bruno@clisp.org>
49506
49507         * modules/csharpexec-script: New, created from...
49508         * modules/csharpexec: ... this.
49509
49510 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
49511
49512         * modules/javaexec-script: New, created from...
49513         * modules/javaexec: ... this.
49514
49515 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49516
49517         * modules/poll (Dependencies): Add sys_select.
49518
49519 2007-01-15  Jim Meyering  <jim@meyering.net>
49520
49521         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
49522         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
49523         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
49524         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
49525
49526 2007-01-15  Bruno Haible  <bruno@clisp.org>
49527
49528         * modules/striconveh: New file.
49529         * lib/striconveh.h: New file.
49530         * lib/striconveh.c: New file.
49531         * MODULES.html.sh (Internationalization functions): Add striconveh.
49532
49533         * modules/striconveh-tests: New file.
49534         * tests/test-striconveh.c: New file.
49535
49536 2007-01-15  Bruno Haible  <bruno@clisp.org>
49537
49538         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
49539         not from GNU libiconv or GNU libc.
49540
49541 2007-01-15  Bruno Haible  <bruno@clisp.org>
49542
49543         * doc/gnulib-intro.texi (Copyright): Explain the different license
49544         terms for module descriptions, autoconf macros, tests, documentation.
49545
49546 2007-01-14  Bruno Haible  <bruno@clisp.org>
49547
49548         * modules/striconv-tests: New file.
49549         * tests/test-striconv.c: New file.
49550
49551 2007-01-14  Bruno Haible  <bruno@clisp.org>
49552
49553         * modules/iconv-tests: New file.
49554         * tests/test-iconv.c: New file.
49555
49556 2007-01-14  Bruno Haible  <bruno@clisp.org>
49557
49558         * gnulib-tool (func_get_license): For test modules, use the license of
49559         the main module.
49560
49561 2007-01-14  Bruno Haible  <bruno@clisp.org>
49562
49563         * modules/iconv (Include): Clarify that <iconv.h> can only be included
49564         if iconv is found to exist.
49565
49566 2007-01-14  Bruno Haible  <bruno@clisp.org>
49567
49568         * modules/c-ctype-tests: New file.
49569         * tests/test-c-ctype.c: New file.
49570
49571 2007-01-14  Bruno Haible  <bruno@clisp.org>
49572
49573         * modules/binary-io-tests: New file.
49574         * tests/test-binary-io.sh: New file.
49575         * tests/test-binary-io.c: New file.
49576
49577 2007-01-14  Bruno Haible  <bruno@clisp.org>
49578
49579         * modules/array-oset-tests: New file.
49580         * tests/test-array_oset.c: New file.
49581
49582 2007-01-14  Bruno Haible  <bruno@clisp.org>
49583
49584         * modules/array-list-tests: New file.
49585         * tests/test-array_list.c: New file.
49586
49587 2007-01-14  Bruno Haible  <bruno@clisp.org>
49588
49589         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
49590         and make.
49591         Reported by Simon Josefsson in
49592         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
49593
49594 2007-01-14  Bruno Haible  <bruno@clisp.org>
49595
49596         * modules/allocsa-tests: New file.
49597         * tests/test-allocsa.c: New file.
49598
49599 2007-01-14  Bruno Haible  <bruno@clisp.org>
49600
49601         * modules/fchdir (Depends-on): Add absolute-header.
49602         * modules/unistd (Depends-on): Likewise.
49603
49604 2006-12-30  Bruno Haible  <bruno@clisp.org>
49605
49606         * modules/fchdir: New file.
49607         * modules/unistd (Files): Add lib/unistd_.h.
49608         (Makefile.am): Generate unistd.h from unistd_.h.
49609         * lib/fchdir.c: New file.
49610         * lib/dirent_.h: New file.
49611         * lib/unistd_.h: New file.
49612         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
49613         * m4/fchdir.m4: New file.
49614         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
49615         (gl_HEADER_UNISTD): Invoke it.
49616         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
49617         function.
49618         * lib/backupfile.c (opendir, closedir): Undefine.
49619         * lib/chown.c (open, close): Undefine.
49620         * lib/clean-temp.c (open, close): Undefine.
49621         * lib/copy-file.c (open, close): Undefine.
49622         * lib/execute.c (open, close): Undefine.
49623         * lib/fsusage.c (open, close): Undefine.
49624         * lib/gc-gnulib.c (open, close): Undefine.
49625         * lib/getcwd.c (opendir, closedir): Undefine.
49626         * lib/glob.c (opendir, closedir): Undefine.
49627         * lib/javacomp.c (open, close): Undefine.
49628         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
49629         * lib/openat-proc.c (open, close): Undefine.
49630         * lib/pagealign_alloc.c (open, close): Undefine.
49631         * lib/pipe.c (open, close): Undefine.
49632         * lib/progreloc.c (open, close): Undefine.
49633         * lib/savedir.c (opendir, closedir): Undefine.
49634         * lib/utime.c (open, close): Undefine.
49635         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
49636
49637 2007-01-10  Bruno Haible  <bruno@clisp.org>
49638
49639         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
49640
49641 2007-01-12  Eric Blake  <ebb9@byu.net>
49642
49643         Provide a robust <wchar.h>.  Further simplifications are now
49644         possible in other modules, but not included here.
49645         * modules/wchar: New module.
49646         * m4/wchar.m4: New file.
49647         * lib/wchar_.h: Likewise.
49648         * modules/mbchar (Depends-on): Depend on wchar, as the first use
49649         of the new module.
49650         * MODULES.html.sh (Extended multibyte and wide character utilities):
49651         New section.
49652
49653 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
49654
49655         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
49656         to a reasonable default for memory allocation.
49657         (xreadlink): Don't allocate a huge buffer, to work around a buggy
49658         file system that reports garbage st_size values for symlinks.
49659         Problem reported by Liyang Hu.
49660
49661 2007-01-11  Simon Josefsson  <simon@josefsson.org>
49662
49663         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
49664         Emacs .#* auto-save files).
49665
49666 2007-01-11  Bruno Haible  <bruno@clisp.org>
49667
49668         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
49669         directory.
49670
49671 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49672
49673         Use @...@ consistently in lib/wctype_.h.
49674         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
49675         on it being set to 1 or 0.
49676         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
49677         go back to AC_SUBSTing it.
49678         * modules/wctype (Makefile.am): Undo previous change.
49679
49680 2007-01-10  Eric Blake  <ebb9@byu.net>
49681
49682         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
49683         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
49684         * modules/wctype (Makefile.am): Likewise.
49685         Reported by Chris McGuire.
49686
49687 2007-01-10  Jim Meyering  <jim@meyering.net>
49688
49689         fts.c: a small readability/maintainability improvement
49690         * lib/fts.c (fts_read): Make this code slightly more readable and
49691         maintainable by hoisting the "sp->fts_cur = p" assignments to
49692         immediately follow the statements that set P.  Derived from
49693         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
49694
49695 2007-01-10  Eric Blake  <ebb9@byu.net>
49696
49697         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
49698         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
49699         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49700         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49701         Reported by Chris McGuire.
49702
49703 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49704
49705         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
49706         in sed script.
49707
49708 2007-01-09  Bruno Haible  <bruno@clisp.org>
49709
49710         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
49711         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
49712         variables.
49713         (func_module): Use them.
49714
49715 2007-01-09  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/unistr/base: New file.
49718         * lib/unistr.h: New file.
49719
49720         * modules/unistr/u8-to-u16: New file.
49721         * lib/unistr/u8-to-u16.c: New file.
49722
49723         * modules/unistr/u8-to-u32: New file.
49724         * lib/unistr/u8-to-u32.c: New file.
49725
49726         * modules/unistr/u16-to-u8: New file.
49727         * lib/unistr/u16-to-u8.c: New file.
49728
49729         * modules/unistr/u16-to-u32: New file.
49730         * lib/unistr/u16-to-u32.c: New file.
49731
49732         * modules/unistr/u32-to-u8: New file.
49733         * lib/unistr/u32-to-u8.c: New file.
49734
49735         * modules/unistr/u32-to-u16: New file.
49736         * lib/unistr/u32-to-u16.c: New file.
49737
49738         * modules/unistr/u8-check: New file.
49739         * modules/unistr/u16-check: New file.
49740         * modules/unistr/u32-check: New file.
49741         * lib/unistr/u8-check.c: New file.
49742         * lib/unistr/u16-check.c: New file.
49743         * lib/unistr/u32-check.c: New file.
49744
49745         * modules/unistr/u8-chr: New file.
49746         * modules/unistr/u16-chr: New file.
49747         * modules/unistr/u32-chr: New file.
49748         * lib/unistr/u8-chr.c: New file.
49749         * lib/unistr/u16-chr.c: New file.
49750         * lib/unistr/u32-chr.c: New file.
49751
49752         * modules/unistr/u8-cmp: New file.
49753         * modules/unistr/u16-cmp: New file.
49754         * modules/unistr/u32-cmp: New file.
49755         * lib/unistr/u8-cmp.c: New file.
49756         * lib/unistr/u16-cmp.c: New file.
49757         * lib/unistr/u32-cmp.c: New file.
49758
49759         * modules/unistr/u8-cpy: New file.
49760         * modules/unistr/u16-cpy: New file.
49761         * modules/unistr/u32-cpy: New file.
49762         * lib/unistr/u8-cpy.c: New file.
49763         * lib/unistr/u16-cpy.c: New file.
49764         * lib/unistr/u32-cpy.c: New file.
49765         * lib/unistr/u-cpy.h: New file.
49766
49767         * modules/unistr/u8-cpy-alloc: New file.
49768         * modules/unistr/u16-cpy-alloc: New file.
49769         * modules/unistr/u32-cpy-alloc: New file.
49770         * lib/unistr/u8-cpy-alloc.c: New file.
49771         * lib/unistr/u16-cpy-alloc.c: New file.
49772         * lib/unistr/u32-cpy-alloc.c: New file.
49773         * lib/unistr/u-cpy-alloc.h: New file.
49774
49775         * modules/unistr/u8-endswith: New file.
49776         * modules/unistr/u16-endswith: New file.
49777         * modules/unistr/u32-endswith: New file.
49778         * lib/unistr/u8-endswith.c: New file.
49779         * lib/unistr/u16-endswith.c: New file.
49780         * lib/unistr/u32-endswith.c: New file.
49781         * lib/unistr/u-endswith.h: New file.
49782
49783         * modules/unistr/u8-mblen: New file.
49784         * modules/unistr/u16-mblen: New file.
49785         * modules/unistr/u32-mblen: New file.
49786         * lib/unistr/u8-mblen.c: New file.
49787         * lib/unistr/u16-mblen.c: New file.
49788         * lib/unistr/u32-mblen.c: New file.
49789
49790         * modules/unistr/u8-mbtouc: New file.
49791         * modules/unistr/u16-mbtouc: New file.
49792         * modules/unistr/u32-mbtouc: New file.
49793         * lib/unistr/u8-mbtouc.c: New file.
49794         * lib/unistr/u16-mbtouc.c: New file.
49795         * lib/unistr/u32-mbtouc.c: New file.
49796
49797         * modules/unistr/u8-mbtouc-safe: New file.
49798         * modules/unistr/u16-mbtouc-safe: New file.
49799         * modules/unistr/u32-mbtouc-safe: New file.
49800         * lib/unistr/u8-mbtouc-safe.c: New file.
49801         * lib/unistr/u16-mbtouc-safe.c: New file.
49802         * lib/unistr/u32-mbtouc-safe.c: New file.
49803
49804         * modules/unistr/u8-move: New file.
49805         * modules/unistr/u16-move: New file.
49806         * modules/unistr/u32-move: New file.
49807         * lib/unistr/u8-move.c: New file.
49808         * lib/unistr/u16-move.c: New file.
49809         * lib/unistr/u32-move.c: New file.
49810         * lib/unistr/u-move.h: New file.
49811
49812         * modules/unistr/u8-next: New file.
49813         * modules/unistr/u16-next: New file.
49814         * modules/unistr/u32-next: New file.
49815         * lib/unistr/u8-next.c: New file.
49816         * lib/unistr/u16-next.c: New file.
49817         * lib/unistr/u32-next.c: New file.
49818
49819         * modules/unistr/u8-prev: New file.
49820         * modules/unistr/u16-prev: New file.
49821         * modules/unistr/u32-prev: New file.
49822         * lib/unistr/u8-prev.c: New file.
49823         * lib/unistr/u16-prev.c: New file.
49824         * lib/unistr/u32-prev.c: New file.
49825
49826         * modules/unistr/u8-set: New file.
49827         * modules/unistr/u16-set: New file.
49828         * modules/unistr/u32-set: New file.
49829         * lib/unistr/u8-set.c: New file.
49830         * lib/unistr/u16-set.c: New file.
49831         * lib/unistr/u32-set.c: New file.
49832         * lib/unistr/u-set.h: New file.
49833
49834         * modules/unistr/u8-startswith: New file.
49835         * modules/unistr/u16-startswith: New file.
49836         * modules/unistr/u32-startswith: New file.
49837         * lib/unistr/u8-startswith.c: New file.
49838         * lib/unistr/u16-startswith.c: New file.
49839         * lib/unistr/u32-startswith.c: New file.
49840         * lib/unistr/u-startswith.h: New file.
49841
49842         * modules/unistr/u8-stpcpy: New file.
49843         * modules/unistr/u16-stpcpy: New file.
49844         * modules/unistr/u32-stpcpy: New file.
49845         * lib/unistr/u8-stpcpy.c: New file.
49846         * lib/unistr/u16-stpcpy.c: New file.
49847         * lib/unistr/u32-stpcpy.c: New file.
49848         * lib/unistr/u-stpcpy.h: New file.
49849
49850         * modules/unistr/u8-stpncpy: New file.
49851         * modules/unistr/u16-stpncpy: New file.
49852         * modules/unistr/u32-stpncpy: New file.
49853         * lib/unistr/u8-stpncpy.c: New file.
49854         * lib/unistr/u16-stpncpy.c: New file.
49855         * lib/unistr/u32-stpncpy.c: New file.
49856         * lib/unistr/u-stpncpy.h: New file.
49857
49858         * modules/unistr/u8-strcat: New file.
49859         * modules/unistr/u16-strcat: New file.
49860         * modules/unistr/u32-strcat: New file.
49861         * lib/unistr/u8-strcat.c: New file.
49862         * lib/unistr/u16-strcat.c: New file.
49863         * lib/unistr/u32-strcat.c: New file.
49864         * lib/unistr/u-strcat.h: New file.
49865
49866         * modules/unistr/u8-strchr: New file.
49867         * modules/unistr/u16-strchr: New file.
49868         * modules/unistr/u32-strchr: New file.
49869         * lib/unistr/u8-strchr.c: New file.
49870         * lib/unistr/u16-strchr.c: New file.
49871         * lib/unistr/u32-strchr.c: New file.
49872
49873         * modules/unistr/u8-strcmp: New file.
49874         * modules/unistr/u16-strcmp: New file.
49875         * modules/unistr/u32-strcmp: New file.
49876         * lib/unistr/u8-strcmp.c: New file.
49877         * lib/unistr/u16-strcmp.c: New file.
49878         * lib/unistr/u32-strcmp.c: New file.
49879
49880         * modules/unistr/u8-strcpy: New file.
49881         * modules/unistr/u16-strcpy: New file.
49882         * modules/unistr/u32-strcpy: New file.
49883         * lib/unistr/u8-strcpy.c: New file.
49884         * lib/unistr/u16-strcpy.c: New file.
49885         * lib/unistr/u32-strcpy.c: New file.
49886         * lib/unistr/u-strcpy.h: New file.
49887
49888         * modules/unistr/u8-strcspn: New file.
49889         * modules/unistr/u16-strcspn: New file.
49890         * modules/unistr/u32-strcspn: New file.
49891         * lib/unistr/u8-strcspn.c: New file.
49892         * lib/unistr/u16-strcspn.c: New file.
49893         * lib/unistr/u32-strcspn.c: New file.
49894         * lib/unistr/u-strcspn.h: New file.
49895
49896         * modules/unistr/u8-strdup: New file.
49897         * modules/unistr/u16-strdup: New file.
49898         * modules/unistr/u32-strdup: New file.
49899         * lib/unistr/u8-strdup.c: New file.
49900         * lib/unistr/u16-strdup.c: New file.
49901         * lib/unistr/u32-strdup.c: New file.
49902         * lib/unistr/u-strdup.h: New file.
49903
49904         * modules/unistr/u8-strlen: New file.
49905         * modules/unistr/u16-strlen: New file.
49906         * modules/unistr/u32-strlen: New file.
49907         * lib/unistr/u8-strlen.c: New file.
49908         * lib/unistr/u16-strlen.c: New file.
49909         * lib/unistr/u32-strlen.c: New file.
49910         * lib/unistr/u-strlen.h: New file.
49911
49912         * modules/unistr/u8-strmblen: New file.
49913         * modules/unistr/u16-strmblen: New file.
49914         * modules/unistr/u32-strmblen: New file.
49915         * lib/unistr/u8-strmblen.c: New file.
49916         * lib/unistr/u16-strmblen.c: New file.
49917         * lib/unistr/u32-strmblen.c: New file.
49918
49919         * modules/unistr/u8-strmbtouc: New file.
49920         * modules/unistr/u16-strmbtouc: New file.
49921         * modules/unistr/u32-strmbtouc: New file.
49922         * lib/unistr/u8-strmbtouc.c: New file.
49923         * lib/unistr/u16-strmbtouc.c: New file.
49924         * lib/unistr/u32-strmbtouc.c: New file.
49925
49926         * modules/unistr/u8-strncat: New file.
49927         * modules/unistr/u16-strncat: New file.
49928         * modules/unistr/u32-strncat: New file.
49929         * lib/unistr/u8-strncat.c: New file.
49930         * lib/unistr/u16-strncat.c: New file.
49931         * lib/unistr/u32-strncat.c: New file.
49932         * lib/unistr/u-strncat.h: New file.
49933
49934         * modules/unistr/u8-strncmp: New file.
49935         * modules/unistr/u16-strncmp: New file.
49936         * modules/unistr/u32-strncmp: New file.
49937         * lib/unistr/u8-strncmp.c: New file.
49938         * lib/unistr/u16-strncmp.c: New file.
49939         * lib/unistr/u32-strncmp.c: New file.
49940
49941         * modules/unistr/u8-strncpy: New file.
49942         * modules/unistr/u16-strncpy: New file.
49943         * modules/unistr/u32-strncpy: New file.
49944         * lib/unistr/u8-strncpy.c: New file.
49945         * lib/unistr/u16-strncpy.c: New file.
49946         * lib/unistr/u32-strncpy.c: New file.
49947         * lib/unistr/u-strncpy.h: New file.
49948
49949         * modules/unistr/u8-strnlen: New file.
49950         * modules/unistr/u16-strnlen: New file.
49951         * modules/unistr/u32-strnlen: New file.
49952         * lib/unistr/u8-strnlen.c: New file.
49953         * lib/unistr/u16-strnlen.c: New file.
49954         * lib/unistr/u32-strnlen.c: New file.
49955         * lib/unistr/u-strnlen.h: New file.
49956
49957         * modules/unistr/u8-strpbrk: New file.
49958         * modules/unistr/u16-strpbrk: New file.
49959         * modules/unistr/u32-strpbrk: New file.
49960         * lib/unistr/u8-strpbrk.c: New file.
49961         * lib/unistr/u16-strpbrk.c: New file.
49962         * lib/unistr/u32-strpbrk.c: New file.
49963         * lib/unistr/u-strpbrk.h: New file.
49964
49965         * modules/unistr/u8-strrchr: New file.
49966         * modules/unistr/u16-strrchr: New file.
49967         * modules/unistr/u32-strrchr: New file.
49968         * lib/unistr/u8-strrchr.c: New file.
49969         * lib/unistr/u16-strrchr.c: New file.
49970         * lib/unistr/u32-strrchr.c: New file.
49971
49972         * modules/unistr/u8-strspn: New file.
49973         * modules/unistr/u16-strspn: New file.
49974         * modules/unistr/u32-strspn: New file.
49975         * lib/unistr/u8-strspn.c: New file.
49976         * lib/unistr/u16-strspn.c: New file.
49977         * lib/unistr/u32-strspn.c: New file.
49978         * lib/unistr/u-strspn.h: New file.
49979
49980         * modules/unistr/u8-strstr: New file.
49981         * modules/unistr/u16-strstr: New file.
49982         * modules/unistr/u32-strstr: New file.
49983         * lib/unistr/u8-strstr.c: New file.
49984         * lib/unistr/u16-strstr.c: New file.
49985         * lib/unistr/u32-strstr.c: New file.
49986         * lib/unistr/u-strstr.h: New file.
49987
49988         * modules/unistr/u8-strtok: New file.
49989         * modules/unistr/u16-strtok: New file.
49990         * modules/unistr/u32-strtok: New file.
49991         * lib/unistr/u8-strtok.c: New file.
49992         * lib/unistr/u16-strtok.c: New file.
49993         * lib/unistr/u32-strtok.c: New file.
49994         * lib/unistr/u-strtok.h: New file.
49995
49996         * modules/unistr/u8-uctomb: New file.
49997         * modules/unistr/u16-uctomb: New file.
49998         * modules/unistr/u32-uctomb: New file.
49999         * lib/unistr/u8-uctomb.c: New file.
50000         * lib/unistr/u16-uctomb.c: New file.
50001         * lib/unistr/u32-uctomb.c: New file.
50002
50003         * MODULES.html.sh (Unicode string functions): Add the new modules.
50004
50005 2007-01-08  Bruno Haible  <bruno@clisp.org>
50006
50007         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
50008         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
50009         subdirectories.
50010
50011 2007-01-08  Karl Berry  <karl@gnu.org>
50012
50013         * doc/error.texi: mention that main() fns must set program_name
50014         when progname is used.
50015
50016 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
50017
50018         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
50019         WCTYPE_H is empty, for the benefit of builds from non-distclean
50020         directories.  Problem reported by Eric Blake in
50021         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
50022
50023 2007-01-08  Bruno Haible  <bruno@clisp.org>
50024
50025         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
50026         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
50027         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
50028         PROVIDE_CANONICALIZE_FILENAME_MODE.
50029         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
50030
50031 2007-01-08  Bruno Haible  <bruno@clisp.org>
50032
50033         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
50034         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
50035         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
50036         * lib/fts.c: Likewise.
50037         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
50038
50039 2006-12-25  Bruno Haible  <bruno@clisp.org>
50040
50041         * modules/utf8-ucs4-safe: New file.
50042         * lib/utf8-ucs4-safe.h: New file.
50043         * lib/unistr/utf8-ucs4-safe.c: New file.
50044
50045         * modules/utf16-ucs4-safe: New file.
50046         * lib/utf16-ucs4-safe.h: New file.
50047         * lib/unistr/utf16-ucs4-safe.c: New file.
50048
50049         * MODULES.html.sh (Unicode string functions): Add the new modules.
50050
50051 2007-01-08  Bruno Haible  <bruno@clisp.org>
50052
50053         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
50054         (Depends-on): Add unitypes.
50055         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
50056         (u8_mbtouc_aux): Move out to separate file.
50057         (u8_mbtouc): Use ucs4_t, uint8_t types.
50058         * lib/unistr/utf8-ucs4.c: New file.
50059
50060         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
50061         (Depends-on): Add unitypes.
50062         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
50063         (u16_mbtouc_aux): Move out to separate file.
50064         (u16_mbtouc): Use ucs4_t, uint16_t types.
50065         * lib/unistr/utf16-ucs4.c: New file.
50066
50067         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
50068         (Depends-on): Add unitypes.
50069         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
50070         (u8_uctomb_aux): Move out to separate file.
50071         (u8_uctomb): Use ucs4_t, uint8_t types.
50072         * lib/unistr/ucs4-utf8.c: New file.
50073
50074         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
50075         (Depends-on): Add unitypes.
50076         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
50077         (u16_uctomb_aux): Move out to separate file.
50078         (u16_uctomb): Use ucs4_t, uint16_t types.
50079         * lib/unistr/ucs4-utf16.c: New file.
50080
50081 2006-12-25  Bruno Haible  <bruno@clisp.org>
50082
50083         * modules/unitypes: New file.
50084         * lib/unitypes.h: New file.
50085         * MODULES.html.sh (func_all_modules): New section "Unicode string
50086         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
50087         this section. Add unitypes.
50088
50089 2007-01-08  Bruno Haible  <bruno@clisp.org>
50090
50091         Avoid variable names that conflict with those from libtool.
50092         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
50093         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
50094         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
50095         library_names_spec to acl_library_names_spec, hardcode_* to
50096         acl_hardcode_*.
50097         Reported by Ralf Wildenhues.
50098
50099 2007-01-08  Bruno Haible  <bruno@clisp.org>
50100
50101         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
50102         definition.
50103         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
50104         definition.
50105         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
50106         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
50107         definition.
50108         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
50109         definition.
50110         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
50111         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
50112         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
50113         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
50114         definition.
50115         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
50116         definition.
50117         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
50118         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
50119         GC_USE_<algorithm>.
50120         * lib/gc-libgcrypt.c: Likewise.
50121         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
50122         * modules/gc-arctwo (configure.ac): Likewise.
50123         * modules/gc-des (configure.ac): Likewise.
50124         * modules/gc-hmac-md5 (configure.ac): Likewise.
50125         * modules/gc-hmac-sha1 (configure.ac): Likewise.
50126         * modules/gc-md2 (configure.ac): Likewise.
50127         * modules/gc-md4 (configure.ac): Likewise.
50128         * modules/gc-md5 (configure.ac): Likewise.
50129         * modules/gc-random (configure.ac): Likewise.
50130         * modules/gc-rijndael (configure.ac): Likewise.
50131         * modules/gc-sha1 (configure.ac): Likewise.
50132
50133 2007-01-08  Bruno Haible  <bruno@clisp.org>
50134
50135         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
50136         macro definition.
50137         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
50138         definition.
50139         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
50140         definition.
50141         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
50142         * modules/fcntl-safer (configure.ac): Likewise.
50143         * modules/fopen-safer (configure.ac): Likewise.
50144         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
50145         GNULIB_FWRITEERROR macro definition.
50146
50147 2007-01-08  Bruno Haible  <bruno@clisp.org>
50148
50149         * m4/gnulib-common.m4: New file.
50150         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
50151         (func_get_filelist): Add m4/gnulib-common.m4.
50152
50153 2007-01-08  Bruno Haible  <bruno@clisp.org>
50154
50155         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
50156         command.
50157
50158 2007-01-08  Jim Meyering  <jim@meyering.net>
50159
50160         Use a more robust test for a "can't happen" condition.
50161         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
50162         narrowed the st_size value.  Presuming the "can't happen" condition
50163         is true, that narrowing could conceivably convert an invalid st_size
50164         value into a valid one.  Instead, use a change based on Matthew
50165         Woehlke's original patch.
50166
50167         Slight readability improvement: use an assert-like macro
50168         in place of literal "abort ()" uses.
50169         * lib/fts.c (fts_assert): Define.
50170         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
50171         Use this macro instead of a bare 'abort'.
50172
50173 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
50174
50175         Don't worry about using IRIX 5.3's wctype.h broken definitions;
50176         simply work around them.
50177         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
50178         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
50179         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
50180         declaring.
50181         Don't bother to define as macros, since the standard doesn't require it.
50182         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
50183         longer worry about IRIX 5.3.
50184         (HAVE_WCTYPE_CTMP_BUG): Remove.
50185
50186 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50187
50188         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
50189         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
50190         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
50191         Problems reported by Georg Schwarz for IRIX 5.3.
50192
50193         * gnulib-tool (autoconf_minversion): Take the maximum version number
50194         found, not the minimum.  Problem reported by James Youngman.
50195
50196 2007-01-03  Karl Berry  <karl@gnu.org>
50197
50198         * doc/error.texi: new file, explaining interaction with progname.
50199         * doc/gnulib.texi: include it.  Update copyright.
50200
50201 2007-01-03  Simon Josefsson  <simon@josefsson.org>
50202
50203         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
50204         AC_CANONICAL_HOST, to improve autobuild outputs.
50205
50206 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
50207             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
50208
50209         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
50210         sockets, server sockets, and other file descriptors.  Count errors
50211         to compute the return value.  Reorder the code a bit to be easier
50212         to follow.  Don't set event bits that were not requested (except
50213         POLLERR and POLLHUP).
50214
50215 2007-01-01  Bruno Haible  <bruno@clisp.org>
50216
50217         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
50218
50219 2007-01-03  Jim Meyering  <jim@meyering.net>
50220
50221         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
50222
50223 2007-01-02  Bruno Haible  <bruno@clisp.org>
50224
50225         * modules/settime (Include): Require timespec.h.
50226         * modules/nanosleep (Include): Likewise.
50227
50228 2007-01-01  Bruno Haible  <bruno@clisp.org>
50229
50230         * gnulib-tool (func_emit_copyright_notice): Bump year.
50231         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
50232
50233 2007-01-01  Bruno Haible  <bruno@clisp.org>
50234
50235         Improve support for OpenBSD.
50236         * build-aux/config.rpath (libname_spec): Export.
50237         (library_names_spec): New variable. Export.
50238         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
50239         library_names_spec from the config.rpath output. Locate shared library
50240         through the name pattern in library_names_spec.
50241
50242 2007-01-01  Eric Blake  <ebb9@byu.net>
50243
50244         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
50245
50246 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
50247
50248         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
50249         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
50250         assume the C locale, and avoid an "eval" that could cause trouble.
50251         Problem with SORT reported by Bob Proulx.
50252
50253         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
50254         Define.  Trivial patch from Henning Nielsen Lund, originally
50255         sent to bug-grep@gnu.org today.
50256
50257 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
50258
50259         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
50260         struct stat.  Problem reported by Henning Nielsen Lund.
50261         * lib/acl.c: Include acl.h first, to check interface.  Don't
50262         bother to include sys/types.h and sys/stat.h again.
50263
50264 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
50265
50266         Import the following change from libc; problem reported by
50267         Sven Verdoolaege.
50268
50269         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
50270
50271         [BZ #1373]
50272         * lib/argp.h: Remove __NTH for __argp_usage inline function.
50273
50274 2006-12-28  Jim Meyering  <jim@meyering.net>
50275
50276         * build-aux/announce-gen: Do not assume that the package
50277         builds any of tar.gz, tar.bz2, and .xdelta files.
50278         Suggestion from Simon Josefsson.
50279
50280 2006-12-28  Simon Josefsson  <simon@josefsson.org>
50281
50282         * modules/announce-gen: New file.
50283
50284 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
50285
50286         * lib/mbchar.h: Just include <wctype.h>; the wctype module
50287         handles its gotchas now.
50288         * lib/mbswidth.c: Likewise.
50289         * lib/wcwidth.h: Likewise.
50290         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
50291         and iswcntrl; the wctype module does this stuff now.
50292         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50294         * modules/mbchar (Depends-on): Add wctype.
50295         * modules/mbswidth (Depends-on): Likewise.
50296         * modules/wcwidth (Depends-on): Likewise.
50297
50298 2006-12-27  Eric Blake  <ebb9@byu.net>
50299
50300         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
50301         module uses more than what <wctype.h> is required to provide.
50302
50303 2006-12-26  Eric Blake  <ebb9@byu.net>
50304
50305         * gnulib-tool (sed_extract_prog): Avoid space-tab.
50306
50307 2006-12-26  Eric Blake  <ebb9@byu.net>
50308
50309         * modules/absolute-header: New module.
50310         * modules/fcntl (Depends-on): Depend on it.
50311         * modules/inttypes (Depends-on): Likewise.
50312         * modules/stdint (Depends-on): Likewise.
50313         * modules/sys_stat (Depends-on): Likewise.
50314         * modules/wctype (Depends-on): Likewise.
50315         * MODULES.html.sh (Support for building libraries and
50316         executables): Document it.
50317
50318 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
50319
50320         * gnulib-tool (SED): Remove, undoing previous change.
50321         The problem was that it broke coreutils on Solaris, because
50322         "sed --posix" leaked into a makefile.
50323         (sed): New alias, if 'alias' and GNU sed.
50324
50325 2006-12-24  Jim Meyering  <jim@meyering.net>
50326
50327         Work around an fchownat bug in glibc-2.4:
50328         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
50329         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
50330         in spite of the -P option.
50331         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
50332         New macros.
50333         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
50334         * modules/openat (Files): Add lib/fchownat.c.
50335         * lib/openat.c (fchownat): Don't define here.  Move to...
50336         * lib/fchownat.c: ...this new file.
50337
50338 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50339
50340         Fix bug reported by Bruno Haible in
50341         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
50342         where quotearg.c didn't compile on Mac OS X 10.2 because it
50343         lacks <wchar.h> and wint_t.
50344         * lib/wctype_.h (__wctype_wint_t): New type.
50345         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
50346         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
50347         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
50348         Arg is now of type __wctype_wint_t, not wint_t.
50349         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
50350         substitute HAVE_WINT_T.
50351         * modules/wctype (Files): Add m4/wint_t.m4.
50352         (wctype.h): Substitute HAVE_WINT_T.
50353
50354 2006-12-23  Bruno Haible  <bruno@clisp.org>
50355
50356         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
50357
50358 2006-12-23  Bruno Haible  <bruno@clisp.org>
50359
50360         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
50361         S_ISLNK.
50362         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
50363         mingw.
50364
50365 2006-12-22  Bruno Haible  <bruno@clisp.org>
50366
50367         * lib/copy-file.c: Include acl.h.
50368         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
50369         Close the file descriptors only after being done with copy_acl.
50370         * modules/copy-file (Depends-on): Add acl.
50371
50372 2006-12-22  Bruno Haible  <bruno@clisp.org>
50373
50374         * gnulib-tool (SED): New variable.
50375         Use $SED instead of sed everywhere.
50376
50377 2006-12-22  Bruno Haible  <bruno@clisp.org>
50378
50379         * modules/no-c++: New file.
50380         * m4/no-c++.m4: New file.
50381         * MODULES.html.sh (Support for building libraries and executables):
50382         Add no-c++.
50383
50384 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
50385
50386         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
50387         Include <limits.h>, and use its INT_MAX to rewrite the
50388         j loop so that it does not overflow 'int'.  Problem reported by
50389         Ralf Wildenhues in
50390         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
50391         Play it safe by shifting left by 1 rather than multiplying by 2,
50392         as GCC is less likely to optimize this away when the value
50393         is signed (when it assumes overflow leads to undefined behavior).
50394         Also, don't assume time_t uses two's complement.
50395
50396 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
50397
50398         * MODULES.html.sh: New module wctype.
50399         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
50400         * lib/fnmatch.c: Don't bother to include <wchar.h> before
50401         <wctype.h>, since the new wctype module should fix this.
50402         * lib/quotearg.c: Include <wctype.h> unconditionally, since
50403         the wctype module should arrange for it.
50404         * lib/regex_internal.h: Likewise.
50405         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
50406         since the wctype module should handle this now.
50407         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
50408         * modules/fnmatch (Depends-on): Add wctype.
50409         * modules/quotearg (Depends-on): Likewise.
50410         * modules/regex (Depends-on): Likewise.
50411
50412 2006-12-19  Bruno Haible  <bruno@clisp.org>
50413
50414         * lib/strdup.h [C++]: Wrap definitions in extern "C".
50415         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
50416
50417 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50418
50419         * modules/savewd (Depends-on): Fix dependency on fcntl.
50420
50421 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
50422
50423         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
50424         conforms to C99, rather than relying on the user's environment
50425         setting of STDINT_H.
50426
50427 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
50428         and Eric Blake  <ebb9@byu.net>
50429
50430         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
50431         This is more consistent with the other defines here.
50432         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
50433         Port to z/OS.  Problem reported by Paul Gilmartin.
50434         Change local vars to use gl_ prefix rather than ac_.
50435         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
50436         with other defines.
50437         * modules/double-slash-root: New module.
50438         * modules/dirname (Files): Remove m4/double-slash-root.m4.
50439         (Depends-on): Add double-slash-root.
50440         * MODULES.html.sh (File system functions): Mention new module.
50441
50442 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
50443
50444         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
50445         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
50446         This is for the benefit of gzip, which doesn't do i18n.
50447
50448 2006-12-12  Jim Meyering  <jim@meyering.net>
50449
50450         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
50451         Reported by Andreas Schwab <schwab@suse.de>.
50452
50453 2006-12-12  Bruno Haible  <bruno@clisp.org>
50454
50455         Merge these changes.
50456         2006-09-05  Bruno Haible  <bruno@clisp.org>
50457         * lib/iconvme.c (iconv_string): No need to save and restore errno when
50458         iconv_alloc succeeded.
50459         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
50460         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
50461         test for " && dest " at the end - dest is always != NULL there. Call
50462         iconv with 4xNULL arguments initially, to reset the state. Call iconv
50463         with 2xNULL arguments, also to flush the state storage. Handle the
50464         IRIX iconv behaviour. Realloc the final result, to throw away unused
50465         memory.
50466
50467 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
50468
50469         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
50470         and fchmodat unconditionally, since glibc 2.4 has them.
50471         Problem reported by Arkadiusz Miskiewicz.
50472
50473 2006-12-10  Bruno Haible  <bruno@clisp.org>
50474
50475         * gnulib-tool (func_import): Show the include files only for those
50476         modules that are copied and specified.
50477         Reported by Karl Berry.
50478
50479 2006-12-08  Jim Meyering  <jim@meyering.net>
50480
50481         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
50482         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
50483
50484         * build-aux/announce-gen: Add two new options, both optional:
50485         --bootstrap-tools=TOOL_LIST
50486               a comma-separated list of tools, e.g.,
50487               autoconf,automake,bison,gnulib
50488         --gnulib-snapshot-date=DATE
50489               if gnulib is in the bootstrap tool list,
50490               then report this as the snapshot date.
50491               If not specified, use the current date/time.
50492               If you specify a date here, be sure it's UTC.
50493
50494 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50495
50496         * tests/test-argp-2.sh: Fix test to match actual output.
50497         (func_compare): Fix sed script to be portable.
50498
50499 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
50500
50501         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
50502         workaround for this case.  It is not autoconfigured now; offhand
50503         it's hard to see how to autoconfigure it.
50504
50505 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
50506
50507         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
50508         a directory that is about to be chowned.  Such a directory's
50509         initial file permissions should permit the owner only and this
50510         should not be changed until after the chown, since the group and
50511         other bits would be incorrect if they granted permission before
50512         the chown.
50513
50514         Fix porting problem for iswctype reported by Georg Schwarz in:
50515         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
50516         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
50517         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
50518         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
50519         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
50520
50521 2006-12-03  Jim Meyering  <jim@meyering.net>
50522
50523         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
50524         p->fts_statp may not yet be defined.
50525         (fts_read): Instead, set it in the caller, once p->fts_statp is
50526         sure to be defined, and corresponds to a top-level directory.
50527         This bug made du -x fail.  Here's the coreutils test case:
50528         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
50529         Reported by Mike Frysinger.
50530
50531 2006-12-01  Jim Meyering  <jim@meyering.net>
50532
50533         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
50534         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
50535         Reported by Simon Josefsson.
50536
50537 2006-11-30  Jim Meyering  <jim@meyering.net>
50538
50539         * m4/warning.m4: Use the all-permissive copyright notice
50540         recommended by RMS (rather than LGPL).
50541         * m4/vararrays.m4: Likewise.
50542         * m4/flexmember.m4: Likewise.
50543
50544 2006-11-29  Bruno Haible  <bruno@clisp.org>
50545
50546         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
50547         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
50548         using +=.
50549         Reported by Simon Josefsson <simon@josefsson.org>.
50550
50551 2006-11-28  James Youngman <jay@gnu.org>
50552
50553         * README: Advise users that they might find the bug-gnulib@gnu.org
50554         and autotools-announce@gnu.org mailing lists useful.
50555
50556 2006-11-28  Bruno Haible  <bruno@clisp.org>
50557
50558         * m4/ptrdiff_max.m4: Remove file.
50559
50560 2006-11-21  Bruno Haible  <bruno@clisp.org>
50561
50562         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
50563         _AC_COMPUTE_INT.
50564         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
50565         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
50566         _AC_COMPUTE_INT.
50567         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
50568         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
50569         _AC_COMPUTE_INT.
50570         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
50571
50572 2006-11-28  Jim Meyering  <jim@meyering.net>
50573
50574         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
50575         warning from "gcc -Wshadow" about shadowing the builtin.
50576
50577 2006-11-27  Bruno Haible  <bruno@clisp.org>
50578
50579         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
50580         _AC_COMPUTE_INT.
50581         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
50582
50583 2006-11-27  Bruno Haible  <bruno@clisp.org>
50584             Paul Eggert  <eggert@cs.ucla.edu>
50585
50586         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
50587
50588 2006-11-26  Bruno Haible  <bruno@clisp.org>
50589
50590         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
50591         noinst_LTLIBRARIES.
50592
50593 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
50594             Bruno Haible  <bruno@clisp.org>
50595
50596         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
50597         if compiling with "gcc -ansi".
50598
50599 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
50600
50601         Fix some incompatibilities with gcc -ansi -pedantic.
50602         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
50603         if compiling pedantically with GCC, unless it's C99 or later.
50604         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
50605         it mishandles gcc -ansi -pedantic as well.
50606         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
50607         if gcc -pedantic.
50608         * lib/regexec.c (check_node_accept_bytes): Don't use auto
50609         initializers for struct if -pedantic, unless it's C99 or later.
50610
50611 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
50612
50613         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
50614         Don't close an fd more than once. Identical atimes indicate
50615         success, not failure.
50616
50617 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
50618
50619         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
50620
50621 2006-11-23  Jim Meyering  <jim@meyering.net>
50622
50623         * build-aux/announce-gen: New file.  From coreutils.
50624
50625 2006-11-22  Jim Meyering  <jim@meyering.net>
50626
50627         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
50628         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
50629         (fts_read): Use a temporary to narrow the overused st_size member
50630         before using it in a switch statement.  Reported by Matthew Woehlke.
50631
50632         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
50633         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
50634
50635 2006-11-20  Bruno Haible  <bruno@clisp.org>
50636
50637         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
50638         changequote instead of pairs of brackets.
50639         Reported by Andreas Schwab <schwab@suse.de>.
50640
50641 2006-11-21  Jim Meyering  <jim@meyering.net>
50642
50643         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
50644         so as to remain compatible with older compilers.
50645         Patch from Michael Deutschmann.
50646
50647 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
50648
50649         * MODULES.html.sh (File system functions): Add openat.
50650
50651         * lib/openat.h (rpl_fstatat): New macro, if
50652         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
50653         (fstatat): Define to rpl_fstatat under the same conditions,
50654         unless COMPILING_FSTATAT.
50655         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
50656         seems to have the bug.
50657         * lib/fstatat.c: New file.
50658         * modules/openat (Files): Add it.
50659
50660 2006-11-20  Bruno Haible  <bruno@clisp.org>
50661
50662         * Makefile: New file.
50663
50664 2006-11-20  Jim Meyering  <jim@meyering.net>
50665
50666         The beginnings of syntax-related checks for gnulib.
50667         * lib/Makefile: New file.
50668         * lib/t-idcache: New script.  Ensure that the two halves of
50669         idcache.c stay in sync.
50670
50671         * lib/idcache.c: Adjust comments in user- and group- portions to
50672         be more accurate, and to be consistent with one another.
50673
50674 2006-11-20  Jim Meyering  <jim@meyering.net>
50675
50676         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
50677         continue using the flexible array member (thus, this module performs
50678         half as many malloc calls), with the addition that...
50679         (getgroup, getuser): Consistently record a non-match via an empty
50680         "name" string, and map an empty string match to a NULL return value.
50681         * modules/idcache (Depends-on): Re-add flexmember.
50682
50683         * lib/idcache.c (getuser): Remove all uses of the register keyword.
50684         (getuidbyname, getgroup, getgidbyname): Likewise.
50685
50686         Use cleaner syntax: NULL rather than 0.
50687         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
50688
50689 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
50690
50691         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
50692         It mishandled the case where the group was missing.
50693         Problem reported by Greg Schafer.
50694         * modules/idcache: Likewise.
50695
50696 2006-11-18  Jim Meyering  <jim@meyering.net>
50697
50698         * check-module (%exempt_header): Add exception for some
50699         conditionally-included headers.
50700
50701         * modules/i-ring (Depends-on): Add verify.
50702         (License): Change to LGPL.
50703
50704 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50705
50706         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
50707         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
50708         and inttostr.h.  Use snprintf rather than uinttostr, so that
50709         LGPLed code doesn't depend on GPLed.
50710
50711 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
50712
50713         * modules/inline (License): Change from GPL to LGPL.
50714
50715 2006-11-17  Jim Meyering  <jim@meyering.net>
50716
50717         * modules/d-type (License): Switch to LGPL.
50718
50719 2006-11-15  Bruno Haible  <bruno@clisp.org>
50720
50721         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
50722
50723 2006-11-15  Eric Blake  <ebb9@byu.net>
50724
50725         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
50726         the module dependency.
50727
50728 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50729             Bruno Haible  <bruno@clisp.org>
50730
50731         * gnulib-tool (func_create_testdir): Add license consistency check.
50732
50733 2006-11-15  Eric Blake  <ebb9@byu.net>
50734
50735         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
50736         random "(cached)" in configure output.
50737
50738 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50739
50740         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
50741         test for conforming inttypes.h is both announced and cached.
50742
50743         * MODULES.html.sh (seen_modules, seen_files): New variables.
50744         (func_module): Rewrite to use a few less gnulib-tool and sed
50745         invocations.  Avoid a couple of quadratic algorithms for ...
50746         (missed_modules, missed_files): ... these, with ...
50747         (func_append, func_tmpdir): ... these new functions, from
50748         gnulib-tool.  Analogously, install traps for cleanup.
50749
50750         * tests/test-gc.c (main): Remove unused variables.
50751         * tests/test-read-file.c: Include stdlib.h, for 'free'.
50752
50753 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
50754
50755         * modules/inttostr (License): Change to LGPL.
50756
50757 2006-11-14  Eric Blake  <ebb9@byu.net>
50758
50759         * modules/tempname (License): Change to LGPL.
50760
50761 2006-11-14  Eric Blake  <ebb9@byu.net>
50762
50763         * doc/functions.texi (Function Portability): *printf functions on
50764         Cygwin now understand all POSIX size specifiers.
50765
50766 2006-11-14  Bruno Haible  <bruno@clisp.org>
50767
50768         * modules/c-ctype (License): Change to LGPL.
50769
50770 2006-11-12  Bruno Haible  <bruno@clisp.org>
50771
50772         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50773         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
50774         for GNOME libraries, for which the include files are installed in
50775         subdirectories of $prefix/include.
50776
50777 2006-11-12  Bruno Haible  <bruno@clisp.org>
50778
50779         * m4/lib-link.m4: Require at least autoconf-2.54.
50780         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
50781         name to underscores for the --with option.
50782
50783 2006-11-13  Bruno Haible  <bruno@clisp.org>
50784
50785         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
50786         the tests directory.
50787         Reported by Ralf Wildenhues.
50788
50789 2006-11-13  Bruno Haible  <bruno@clisp.org>
50790
50791         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
50792         (func_emit_initmacro_end): Undo the override here.
50793         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
50794         Works around the famous automake error in coreutils.
50795
50796 2006-11-13  Eric Blake  <ebb9@byu.net>
50797
50798         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
50799         element, not its node.
50800
50801 2006-11-12  Bruno Haible  <bruno@clisp.org>
50802
50803         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
50804         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
50805
50806 2006-11-12  Bruno Haible  <bruno@clisp.org>
50807
50808         * gnulib-tool: New option --local-symlink.
50809         (func_usage): Document it.
50810         (lsymbolic): New variable.
50811         (func_import, func_create_testdir): If --symlink was not specified,
50812         test whether --local-symlink was specified and the file comes from
50813         the local_gnulib_dir.
50814
50815 2006-11-12  Bruno Haible  <bruno@clisp.org>
50816
50817         * gnulib-tool (func_ln): New function.
50818         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
50819
50820 2006-11-12  Bruno Haible  <bruno@clisp.org>
50821
50822         Finish support for source files in subdirectories.
50823         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
50824         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
50825         AUTOMAKE_OPTIONS.
50826         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
50827
50828 2006-11-12  Bruno Haible  <bruno@clisp.org>
50829
50830         * gnulib-tool (func_get_automake_snippet): Synthesize also an
50831         EXTRA_lib_SOURCES augmentation.
50832         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
50833
50834 2006-11-12  Jim Meyering  <jim@meyering.net>
50835
50836         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
50837         file descriptors.  This also averts a failure on systems with
50838         native openat support when a traversed directory lacks "x" access.
50839         * lib/fts_.h: Include "i-ring.h"
50840         (struct FTS) [fts_fd_ring]: New member.
50841         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
50842         (FCHDIR): Add parentheses.
50843         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
50844         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
50845         When descending, rather than simply closing the previous
50846         fts_cwd_fd value, push that file descriptor onto the ring.
50847         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
50848         (fts_open): Initialize the new fd_ring member.
50849         (fts_close): Clear the ring.
50850         (fts_safe_changedir): When possible, use our new fd_ring to skip
50851         the diropen and fstat and dev/ino comparison that would normally
50852         accompany a virtual `chdir ("..")'.
50853
50854         * modules/fts (Depends-on): Add i-ring.
50855         * modules/i-ring: New module.
50856         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
50857         * m4/i-ring.m4: New file.
50858
50859 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50860
50861         * gnulib-tool (func_create_testdir): Fix replacement of
50862         `build-aux' in configure.ac.  Run autotools in gltests
50863         subdirectory.
50864         (func_create_testdir, func_create_megatestdir, test): There is
50865         no need for '--force' in most autotool invocations in a new
50866         tree.  Actually fail the whole test if any of the tools, or the
50867         configure or make stages fail.
50868
50869         Sync from Automake.
50870         * build-aux/gnupload: Revert last change.  Add pointer to upload
50871         instructions of the GNU Maintenance Instructions.
50872         Suggestion by Karl Berry.
50873
50874 2006-11-10  Jim Meyering  <jim@meyering.net>
50875
50876         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
50877
50878 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50879
50880         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
50881         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
50882         (bind_textdomain_codeset) [! ENABLE_NLS]:
50883         Evaluate all the arguments.  That way, callers get compatible behavior
50884         if the arguments have side effects.  Also, it avoids some GCC
50885         diagnostics in some cases; Joel E. Denny reported problems when Bison
50886         was configured with --enable-gcc-warnigs.
50887
50888 2006-11-10  Jim Meyering  <jim@meyering.net>
50889
50890         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
50891         relevant options in CFLAGS (like -O, -fno-inline) are taken into
50892         account.
50893
50894 2006-11-10  Jim Meyering  <jim@meyering.net>
50895
50896         * modules/inline: New file/module.
50897         * modules/xalloc (Files): Remove m4/inline.m4.
50898         (Depends-on): Add inline, instead.
50899         * modules/oset: Likewise.
50900         * modules/list: Likewise.
50901
50902 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50903
50904         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
50905         Problem reported by Matthew Woehlke.
50906
50907 2006-11-09  Bruno Haible  <bruno@clisp.org>
50908
50909         * lib/tempname.c (gen_tempname): Remove variant that invokes
50910         __gen_tempname.
50911         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
50912         __gen_tempname.
50913
50914 2006-11-08  Bruno Haible  <bruno@clisp.org>
50915
50916         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
50917         to 'yes' instead of 'cross-compiling'.
50918
50919 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
50920
50921         * lib/quotearg.h (quotearg_free): New decl.
50922         * lib/quotearg.c (quotearg_free): New function.
50923         (slot0, nslots, slotvec0, slotvec):
50924         Now file-scope so that quotearg_free can get at them.
50925
50926 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50927
50928         Sync from Automake.
50929         * build-aux/gnupload: Add missing 'gnu' to example URL.
50930         Report by Karl Berry.
50931
50932 2006-11-08  Bruno Haible  <bruno@clisp.org>
50933
50934         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
50935         Suggested by Paul Eggert.
50936
50937 2006-11-08  Jim Meyering  <jim@meyering.net>
50938
50939         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
50940         It's already included if !_LIBC.
50941         (fts_safe_changedir): Add a comment.
50942
50943 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
50944
50945         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
50946         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
50947         Matthew Woehlke.
50948
50949         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
50950         definitions up, to avoid colliding with change below.
50951         (static_inline) [HAVE_INLINE]: New macro.
50952         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
50953         Provide extern decls when !HAVE_INLINE.  Do not define unless
50954         static_inline is defined, either by us or by xmalloc.c.  Use
50955         static_inline rather than static inline.
50956         (XCALLOC): Optimize sizeof(T) = 1 case.
50957         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
50958
50959 2006-11-07  Bruno Haible  <bruno@clisp.org>
50960
50961         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
50962         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
50963         AC_C_INLINE.
50964         * modules/xalloc (Files): Add m4/inline.m4.
50965
50966 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50967
50968         * README: Fix typo.
50969         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
50970         (Miscellanous Notes): ...from this.
50971
50972 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
50973
50974         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
50975         Mention that offsetof should be used instead of sizeof.
50976         From Bruno Haible.
50977
50978 2006-11-07  Bruno Haible  <bruno@clisp.org>
50979
50980         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
50981
50982 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
50983
50984         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
50985         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
50986         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
50987         (gl_tree_add_before, gl_tree_add_after):
50988         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
50989         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
50990         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50991         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
50992         (gl_linked_add_after, gl_linked_add_at): Likewise.
50993         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
50994         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
50995         (gl_tree_add_before, gl_tree_add_after): Likewise.
50996         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
50997         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
50998         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
50999
51000 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51001
51002         * lib/gl_oset.h: Use C comment style, not C++ comment style.
51003
51004 2006-11-06  Bruno Haible  <bruno@clisp.org>
51005
51006         * m4/inline.m4: New file.
51007         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
51008         * modules/list (Files): Add m4/inline.m4.
51009         * modules/oset (Files): Likewise.
51010
51011 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
51012
51013         * lib/idcache.c: Include <stddef.h>, for offsetof.
51014         (struct userid.name): Change from char * to a flexible array member.
51015         All uses changed.
51016         * modules/idcache (Depends-on): Add flexmember.
51017
51018         * MODULES.html.sh (Core language properties): New module flexmember.
51019         * modules/flexmember, m4/flexmember.m4: New files.
51020
51021         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
51022         inline functions that are identical with the old xnmalloc_inline,
51023         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
51024         that we can avoid some unnecessary integer multiplications and
51025         divisions in the common case where the element size is known at
51026         compile time.
51027         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
51028         needed.
51029         (xnboundedmalloc): Remove.
51030         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
51031         arguments, for consistency with rest of this header.
51032         (xcharalloc): Rewrite using XNMALLOC.
51033         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
51034         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
51035         versions have been moved to lib/xalloc.h and renamed to be the
51036         non-*_inline versions.
51037         (xmalloc, xrealloc): Implement without reference to the xnmalloc
51038         and xnrealloc functions, since those functions are now inline and
51039         now call us.
51040         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
51041         renaming described above.
51042         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
51043         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
51044         captures the dependency in AC_C_INLINE.
51045
51046         New module canonicalize-lgpl, proposed by Charles Wilson in
51047         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
51048         with a few small changes afterwards.
51049         * MODULES.html.sh (File system functions): New module
51050         canonicalize-lgpl.
51051         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
51052         and canonicalize_file_name.
51053         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
51054         * modules/canonicalize-lgpl: New files.
51055
51056 2006-11-05  Bruno Haible  <bruno@clisp.org>
51057
51058         * gnulib-tool (func_import, func_create_testdir): Create directories
51059         also for files in subdirectories of lib/.
51060
51061 2006-11-05  Bruno Haible  <bruno@clisp.org>
51062
51063         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
51064         ANSI C compliant.
51065
51066 2006-11-03  Bruno Haible  <bruno@clisp.org>
51067
51068         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
51069         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
51070         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
51071         (xnboundedmalloc): New inline function.
51072         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
51073         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
51074         xmalloc.
51075         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
51076         xmalloc.
51077         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
51078         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
51079         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
51080         xmalloc.
51081         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
51082         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
51083         xmalloc.
51084         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
51085         gl_tree_add_after): Use XMALLOC instead of xmalloc.
51086         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
51087         xmalloc.
51088         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
51089         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
51090         gl_tree_add_after): Use XMALLOC instead of xmalloc.
51091         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
51092         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
51093         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
51094         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
51095
51096 2006-11-03  Bruno Haible  <bruno@clisp.org>
51097
51098         * lib/c-ctype.h [C++]: Define functions without name mangling.
51099         * lib/fwriteerror.h [C++]: Likewise.
51100         * lib/gcd.h [C++]: Likewise.
51101         * lib/linebreak.h [C++]: Likewise.
51102
51103 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
51104
51105         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
51106         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
51107         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
51108         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
51109         Check for functions and headers just once.
51110         Check for declaration of canonicalize_file_name.
51111         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
51112
51113 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
51114
51115         * gnulib-tool (func_import): Fix typo in actioncmd.
51116
51117 2006-11-02  Bruno Haible  <bruno@clisp.org>
51118
51119         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
51120         newline sequence in the Makefile.am snippet as a space, like "make"
51121         does.
51122         Reported by Roger Persson <perrog@gmail.com>.
51123
51124 2006-11-01  Bruno Haible  <bruno@clisp.org>
51125
51126         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
51127         already declared in <string.h>.
51128         * lib/strcase.h (strncasecmp): Don't declare it if yes.
51129
51130 2006-11-01  Bruno Haible  <bruno@clisp.org>
51131
51132         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
51133         * lib/strcase.h: Include <string.h>.
51134         (strcasecmp): Define to rpl_strcasecmp here.
51135
51136 2006-11-01  Bruno Haible  <bruno@clisp.org>
51137
51138         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
51139
51140 2006-11-01  Eric Blake  <ebb9@byu.net>
51141
51142         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
51143
51144         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
51145
51146 2006-10-29  Bruno Haible  <bruno@clisp.org>
51147
51148         Make it compile in C++ mode.
51149         * lib/full-write.c (full_rw): Add a cast.
51150
51151 2006-11-01  Bruno Haible  <bruno@clisp.org>
51152
51153         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
51154         be POSIX compliant.
51155         Reported by Roger Persson <perrog@gmail.com>.
51156
51157 2006-11-01  Eric Blake  <ebb9@byu.net>
51158
51159         * lib/getopt_.h: Fix comments.
51160
51161 2006-10-31  Eric Blake  <ebb9@byu.net>
51162
51163         * modules/tmpdir (Depends-on): Add sys_stat.
51164         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
51165         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
51166         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
51167         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
51168         tempname.
51169
51170 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
51171
51172         Avoid some C++ diagnostics reported by Bruno Haible.
51173         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
51174         xmalloc.
51175         (quotearg_alloc): Use xcharalloc rather than xmalloc.
51176         (struct slotvec): Move to top level.
51177         (quotearg_n_options): Rewrite to avoid xmalloc.
51178         * lib/xalloc.h (xcharalloc): New function.
51179         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
51180         [defined __cplusplus]: Add function template that provides result
51181         type propagation.  This part of the change is from Bruno Haible.
51182
51183 2006-10-29  Bruno Haible  <bruno@clisp.org>
51184
51185         Make it compile in C++ mode.
51186         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
51187         * lib/strnlen1.c (strnlen1): Cast memchr result.
51188         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
51189         * lib/clean-temp.c (string_equals, string_hash): Add casts.
51190         (create_temp_dir): Rename local variable 'template'.
51191         (compile_csharp_using_sscli): Add cast.
51192         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
51193         * lib/findprog.c (find_in_path): Likewise.
51194         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
51195         * lib/wait-process.c (register_slave_subprocess): Likewise.
51196
51197 2006-10-22  Bruno Haible  <bruno@clisp.org>
51198
51199         * modules/tsearch: New file.
51200         * lib/tsearch.h: New file.
51201         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
51202         * m4/tsearch.m4: New file.
51203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
51204
51205 2006-10-29  Eric Blake  <ebb9@byu.net>
51206
51207         * lib/arcfour.c: Assume config.h.
51208         * lib/arctwo.c: Likewise.
51209         * lib/base64.c: Likewise.
51210         * lib/check-version.c: Likewise.
51211         * lib/crc.c: Likewise.
51212         * lib/des.c: Likewise.
51213         * lib/gc-gnulib.c: Likewise.
51214         * lib/gc-libgcrypt.c: Likewise.
51215         * lib/gc-pbkdf2-sha1.c: Likewise.
51216         * lib/getaddrinfo.c: Likewise.
51217         * lib/getdelim.c: Likewise.
51218         * lib/getline.c: Likewise.
51219         * lib/hmac-md5.c: Likewise.
51220         * lib/hmac-sha1.c: Likewise.
51221         * lib/iconvme.c: Likewise.
51222         * lib/md2.c: Likewise.
51223         * lib/md4.c: Likewise.
51224         * lib/memxor.c: Likewise.
51225         * lib/read-file.c: Likewise.
51226         * lib/readline.c: Likewise.
51227         * lib/rijndael-alg-fst.c: Likewise.
51228         * lib/rijndael-api-fst.c: Likewise.
51229         * lib/xgetdomainname.c: Likewise.
51230
51231 2006-10-28  Eric Blake  <ebb9@byu.net>
51232
51233         * lib/xstrndup.c: Assume config.h.
51234
51235 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
51236
51237         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
51238         stat-macros.h is now for our own macros, whereas stat_h is for
51239         macros in the <sys/stat.h> name space.
51240         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
51241         (STAT_MACROS_H): Remove.
51242         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
51243         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
51244         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
51245         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
51246         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
51247         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
51248         Move these macros to ...
51249         * lib/stat_.h: here.  Don't include stat-macros.h.
51250         * lib/canonicalize.c: Don't include stat-macros.h.
51251         * lib/chown.c: Likewise.
51252         * lib/euidaccess.c: Likewise.
51253         * lib/file-type.c: Likewise.
51254         * lib/filemode.c: Likewise.
51255         * lib/glob.c: Likewise.
51256         * lib/isapipe.c: Likewise.
51257         * lib/lchown.c: Likewise.
51258         * lib/lstat.c: Likewise.
51259         * lib/mkdir-p.c: Likewise.
51260         * lib/rmdir.c: Likewise.
51261         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
51262         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
51263         unless mkdir isn't declared, to speed up 'configure'.
51264         Always create sys/stat.h, since it's unlikely any real sys/stat.h
51265         would define all the S_* symbols.
51266         * modules/canonicalize (Depends-on):
51267         Depend on sys_stat, not stat-macros.
51268         * modules/chown: Likewise.
51269         * modules/euidaccess: Likewise.
51270         * modules/filemode: Likewise.
51271         * modules/file-type: Likewise.
51272         * modules/glob: Likewise.
51273         * modules/isapipe: Likewise.
51274         * modules/lchown: Likewise.
51275         * modules/lstat: Likewise.
51276         * modules/mkancesdirs: Likewise.
51277         * modules/rmdir: Likewise.
51278         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
51279         * modules/modechange: Likewise.
51280         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
51281         (configure.ac): Remove gl_STAT_MACROS.
51282         * modules/sys_stat (Depends-on): Remove stat-macros.
51283
51284 2006-10-27  Bruno Haible  <bruno@clisp.org>
51285
51286         * m4/signed.m4: Remove file.
51287         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
51288         invocation.
51289         * modules/vasnprintf (Files): Remove m4/signed.m4.
51290
51291 2006-10-27  Bruno Haible  <bruno@clisp.org>
51292
51293         Update to GNU gettext 0.16.
51294         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
51295         m4/inttypes-h.m4, m4/signed.m4.
51296         * m4/gettext.m4: Update to GNU gettext 0.16.
51297         * m4/intl.m4: New file, from GNU gettext.
51298         * m4/intldir.m4: New file, from GNU gettext.
51299         * config/srclist.txt: Update
51300
51301 2006-10-27  Eric Blake  <ebb9@byu.net>
51302
51303         * MODULES.html.sh: Document tempname.
51304         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
51305         dependencies.
51306         (Files): Move lib/tempname.c...
51307         * modules/tempname: ...to this new module.
51308         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
51309         (gl_PREREQ_TEMPNAME): Move...
51310         * m4/tempname.m4: ...to this new file.
51311         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
51312         * modules/sys_stat (Depends-on): Add stat-macros.
51313         * lib/stat_.h (includes): Pick up stat macros.
51314         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
51315         if stat macros are broken.
51316         * lib/tempname.c (includes): No need to include "stat-macros.h".
51317         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
51318         (direxists, __path_search) [!_LIBC]: Don't compile these in
51319         gnulib; the tmpdir module covers that.
51320         * lib/tempname.h: New file.
51321
51322 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
51323
51324         * COPYING: Explain how gnulib-tool converts licence headers.
51325         Almost all wording by Eric Blake.
51326
51327 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
51328
51329         * lib/mbchar.h (is_basic_table): Make read-only.
51330         * lib/mbchar.c (is_basic_table): Likewise.
51331         Reported by John Darrington.
51332
51333 2006-10-25  Bruno Haible  <bruno@clisp.org>
51334
51335         * lib/progname.h (set_program_name): Undefine before defining.
51336
51337 2006-10-25  Bruno Haible  <bruno@clisp.org>
51338
51339         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
51340         false for non-gcc C++ compilers.
51341         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
51342
51343 2006-10-24  Bruno Haible  <bruno@clisp.org>
51344
51345         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
51346         iconv implementations like Irix iconv.
51347
51348 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51349
51350         * modules/vararrays: New file.
51351         * m4/vararrays.m4: New file, taken from diffutils.
51352         * MODULES.html.sh: New module vararrays.
51353
51354 2006-10-24  Karl Berry  <karl@gnu.org>
51355
51356         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
51357         Don't call GNU Unix.
51358
51359 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51360
51361         * users.txt: Add Libtool.
51362
51363         Sync from Libtool:
51364
51365         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51366
51367         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
51368         to gnulib's policy of including config.h unconditionally.
51369
51370 2006-10-24  Bruno Haible  <bruno@clisp.org>
51371
51372         * modules/wcwidth (Files): Add m4/wint_t.m4.
51373         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
51374         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
51375
51376 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51377
51378         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
51379         to pacify GCC with some -W flags enabled.  Problem reported by
51380         Bruno Haible.
51381
51382 2006-10-24  Jim Meyering  <jim@meyering.net>
51383
51384         * MODULES.html.sh: Remove uinttostr.  It's not a module.
51385         Reported by Karl Berry.
51386
51387 2006-10-23  Bruno Haible  <bruno@clisp.org>
51388
51389         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
51390
51391 2006-10-24  Bruno Haible  <bruno@clisp.org>
51392
51393         * lib/gl_list.h: Use C comment style, not C++ comment style.
51394
51395 2006-10-23  Eric Blake  <ebb9@byu.net>
51396
51397         * lib/getaddrinfo.c (includes): Add missing include.
51398
51399 2006-10-23  Bruno Haible  <bruno@clisp.org>
51400             Paul Eggert  <eggert@cs.ucla.edu>
51401
51402         Ability to rename obstack_free.
51403         * lib/obstack.h (__obstack_free): New macro. Declare instead of
51404         obstack_free.
51405         (obstack_free): Invoke the __obstack_free macro.
51406         * lib/obstack.c (obstack_free): Use __obstack_free macro.
51407
51408 2006-10-23  Bruno Haible  <bruno@clisp.org>
51409             Paul Eggert  <eggert@cs.ucla.edu>
51410
51411         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
51412         __argc, __argv from the declaration. (They are defined as macros on
51413         mingw.)
51414
51415 2006-10-22  Bruno Haible  <bruno@clisp.org>
51416
51417         * doc/gnulib-intro.texi: New file.
51418         * doc/gnulib.texi: Include it.
51419
51420 2006-10-21  Bruno Haible  <bruno@clisp.org>
51421
51422         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
51423         "Introduction", "Miscellanous Notes", "Particular Modules".
51424
51425 2006-10-21  Bruno Haible  <bruno@clisp.org>
51426
51427         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51428         Change mostlyclean-local rule to avoid sh syntax error from bash
51429         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
51430
51431 2006-10-23  Jim Meyering  <jim@meyering.net>
51432
51433         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
51434         in place of snprintf.
51435
51436         * modules/inttostr (Files): Add lib/uinttostr.c.
51437         * lib/uinttostr.c (inttostr): New file/function.
51438         * lib/inttostr.h (uinttostr): Declare.
51439         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
51440         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
51441         Add uinttostr.
51442         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
51443
51444 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
51445
51446         * lib/canonicalize.c (ELOOP): Define if not already defined.
51447         Problem reported by Bruno Haible in
51448         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
51449
51450 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
51451
51452         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
51453         Problem reported by Perry Smith and Ville Laurikari.
51454
51455         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
51456         uses.
51457
51458 2006-10-19  Bruno Haible  <bruno@clisp.org>
51459
51460         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
51461         for mingw.
51462
51463 2006-10-19  Bruno Haible  <bruno@clisp.org>
51464
51465         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
51466         Needed for mingw.
51467
51468 2006-10-19  Bruno Haible  <bruno@clisp.org>
51469
51470         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
51471
51472 2006-10-19  Bruno Haible  <bruno@clisp.org>
51473
51474         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
51475         it.
51476
51477 2006-10-19  Bruno Haible  <bruno@clisp.org>
51478
51479         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
51480         invocation.
51481
51482 2006-10-19  Bruno Haible  <bruno@clisp.org>
51483
51484         * gnulib-tool (func_create_testdir): Don't include ftruncate and
51485         mountlist by default.
51486
51487 2006-10-16  Bruno Haible  <bruno@clisp.org>
51488
51489         * lib/c-strstr.c: Include c-strstr.h.
51490
51491 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
51492
51493         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
51494         in a slash.
51495
51496 2006-10-18  Bruno Haible  <bruno@clisp.org>
51497
51498         * lib/lock.h [C++]: Wrap definitions in extern "C".
51499
51500 2006-10-18  Bruno Haible  <bruno@clisp.org>
51501
51502         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
51503         gl_LIBOBJS list.
51504
51505 2006-10-18  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
51508
51509 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
51510
51511         * lib/xstrtol.h: Include gettext.h.
51512         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
51513         Problem reported by Eric Blake.
51514         * modules/xstrtol (Depends-on): Add gettext-h.
51515
51516 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
51517
51518         * lib/strftime.c (advance): New macro.
51519         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
51520         incomplete type, so you can't add 0 to it.  Problem and patch
51521         reported by Eelco Dolstra for dietlibc.
51522
51523 2006-10-18  Jim Meyering  <jim@meyering.net>
51524
51525         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
51526         type for a local, and rename it: s/up/user_proc/.
51527
51528 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
51529
51530         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
51531         READ_UTMP_USER_PROCESS.
51532         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
51533
51534 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
51535
51536         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
51537         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
51538
51539 2006-10-17  Eric Blake  <ebb9@byu.net>
51540
51541         * lib/sigprocmask.c (sigprocmask): Fix typo.
51542
51543         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
51544
51545         * modules/clean-temp (Makefile.am): Don't add to make output...
51546         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
51547         config.h.
51548
51549 2006-10-17  Bruno Haible  <bruno@clisp.org>
51550
51551         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
51552         differently if DEFAULT_TEXT_DOMAIN is set.
51553
51554 2006-10-16  Bruno Haible  <bruno@clisp.org>
51555
51556         * lib/clean-temp.c: Include fwriteerror.h.
51557
51558 2006-10-16  Bruno Haible  <bruno@clisp.org>
51559
51560         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
51561
51562 2006-10-16  Bruno Haible  <bruno@clisp.org>
51563
51564         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
51565         * lib/sigprocmask.h: Include <sys/types.h>.
51566         (sigset_t): Use the system's definition if present.
51567
51568 2006-10-17  Eric Blake  <ebb9@byu.net>
51569
51570         * lib/xvasprintf.c (includes): Assume config.h.
51571         * lib/xasprintf.c (includes): Likewise.
51572
51573 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51574
51575         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
51576         at least as wide as intmax_t.
51577
51578 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
51579
51580         (Imported from Automake.)
51581         * build-aux/gnupload: Update to version 1.1 of directive file.
51582
51583 2006-10-16  Eric Blake  <ebb9@byu.net>
51584
51585         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
51586         match Automake 1.10a.
51587
51588 2006-10-14  Bruno Haible  <bruno@clisp.org>
51589
51590         * modules/sigprocmask: New file.
51591         * lib/sigprocmask.h: New file.
51592         * lib/sigprocmask.c: New file.
51593         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
51594         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
51595         request sigprocmask.o.
51596         (gl_PREREQ_SIGPROCMASK): New macro.
51597         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
51598         (Depends-on): Add sigprocmask.
51599         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
51600         gt_SIGNALBLOCKING. Test for 'raise' only once.
51601         * lib/fatal-signal.c: Include sigprocmask.h.
51602         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
51603         unblock_fatal_signals): Define always.
51604         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51605         sigprocmask.
51606
51607 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
51608
51609         Sync from Automake.
51610         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
51611         which incorrectly sets the mode of an existing destination
51612         directory.  In some cases the unpatched install-sh could do the
51613         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
51614         system.  We hope this is rare in practice, but it's clearly worth
51615         fixing.  Problem reported by Alex Unleashed in
51616         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
51617         Also, don't bother to check for -m bugs unless we're using -m;
51618         suggested by Stepan Kasal.
51619
51620 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51621
51622         Sync from Automake.
51623         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
51624         `-c' flag, so they appear at the same position as in %FASTDEP%
51625         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
51626         which ignores unknown options only after the first non-option.
51627         Bug report against M4 by Nelson H. F. Beebe.
51628
51629 2006-10-13  Jim Meyering  <jim@meyering.net>
51630
51631         Fix a bug in yesterday's change.
51632         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
51633         p->fts_statp->st_dev would be used uninitialized.
51634         Ensures that we always call fts_stat on the very first entry.
51635         Miklos Szeredi reported that find -xdev stopped working.
51636
51637 2006-10-12  Bruno Haible  <bruno@clisp.org>
51638
51639         * gnulib-tool (func_get_automake_snippet): Append an automatically
51640         computed EXTRA_DIST augmentation.
51641         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
51642         * modules/alloca-opt (Makefile.am): Likewise.
51643         * modules/allocsa (Makefile.am): Likewise.
51644         * modules/arcfour (Makefile.am): Likewise.
51645         * modules/arctwo (Makefile.am): Likewise.
51646         * modules/argmatch (Makefile.am): Likewise.
51647         * modules/argz (Makefile.am): Likewise.
51648         * modules/atexit (Makefile.am): Likewise.
51649         * modules/backupfile (Makefile.am): Likewise.
51650         * modules/byteswap (Makefile.am): Likewise.
51651         * modules/c-strtod (Makefile.am): Likewise.
51652         * modules/c-strtold (Makefile.am): Likewise.
51653         * modules/calloc (Makefile.am): Likewise.
51654         * modules/canon-host (Makefile.am): Likewise.
51655         * modules/canonicalize (Makefile.am): Likewise.
51656         * modules/chdir-long (Makefile.am): Likewise.
51657         * modules/chdir-safer (Makefile.am): Likewise.
51658         * modules/check-version (Makefile.am): Likewise.
51659         * modules/chown (Makefile.am): Likewise.
51660         * modules/cloexec (Makefile.am): Likewise.
51661         * modules/close-stream (Makefile.am): Likewise.
51662         * modules/closeout (Makefile.am): Likewise.
51663         * modules/crc (Makefile.am): Likewise.
51664         * modules/csharpexec (Makefile.am): Likewise.
51665         * modules/cycle-check (Makefile.am): Likewise.
51666         * modules/des (Makefile.am): Likewise.
51667         * modules/dev-ino (Makefile.am): Likewise.
51668         * modules/dirfd (Makefile.am): Likewise.
51669         * modules/dirname (Makefile.am): Likewise.
51670         * modules/dup2 (Makefile.am): Likewise.
51671         * modules/eealloc (Makefile.am): Likewise.
51672         * modules/error (Makefile.am): Likewise.
51673         * modules/euidaccess (Makefile.am): Likewise.
51674         * modules/exclude (Makefile.am): Likewise.
51675         * modules/exitfail (Makefile.am): Likewise.
51676         * modules/fcntl-safer (Makefile.am): Likewise.
51677         * modules/fcntl (Makefile.am): Likewise.
51678         * modules/file-type (Makefile.am): Likewise.
51679         * modules/fileblocks (Makefile.am): Likewise.
51680         * modules/filemode (Makefile.am): Likewise.
51681         * modules/filenamecat (Makefile.am): Likewise.
51682         * modules/fnmatch (Makefile.am): Likewise.
51683         * modules/fopen-safer (Makefile.am): Likewise.
51684         * modules/fpending (Makefile.am): Likewise.
51685         * modules/fprintftime (Makefile.am): Likewise.
51686         * modules/free (Makefile.am): Likewise.
51687         * modules/fsusage (Makefile.am): Likewise.
51688         * modules/ftruncate (Makefile.am): Likewise.
51689         * modules/fts (Makefile.am): Likewise.
51690         * modules/gc-arcfour (Makefile.am): Likewise.
51691         * modules/gc-des (Makefile.am): Likewise.
51692         * modules/gc-hmac-md5 (Makefile.am): Likewise.
51693         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
51694         * modules/gc-md4 (Makefile.am): Likewise.
51695         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
51696         * modules/gc-sha1 (Makefile.am): Likewise.
51697         * modules/gc (Makefile.am): Likewise.
51698         * modules/getaddrinfo (Makefile.am): Likewise.
51699         * modules/getcwd (Makefile.am): Likewise.
51700         * modules/getdelim (Makefile.am): Likewise.
51701         * modules/getdomainname (Makefile.am): Likewise.
51702         * modules/getgroups (Makefile.am): Likewise.
51703         * modules/gethostname (Makefile.am): Likewise.
51704         * modules/gethrxtime (Makefile.am): Likewise.
51705         * modules/getline (Makefile.am): Likewise.
51706         * modules/getloadavg (Makefile.am): Likewise.
51707         * modules/getlogin_r (Makefile.am): Likewise.
51708         * modules/getndelim2 (Makefile.am): Likewise.
51709         * modules/getopt (Makefile.am): Likewise.
51710         * modules/getpagesize (Makefile.am): Likewise.
51711         * modules/getpass-gnu (Makefile.am): Likewise.
51712         * modules/getpass (Makefile.am): Likewise.
51713         * modules/getsubopt (Makefile.am): Likewise.
51714         * modules/gettime (Makefile.am): Likewise.
51715         * modules/gettimeofday (Makefile.am): Likewise.
51716         * modules/getugroups (Makefile.am): Likewise.
51717         * modules/getusershell (Makefile.am): Likewise.
51718         * modules/glob (Makefile.am): Likewise.
51719         * modules/group-member (Makefile.am): Likewise.
51720         * modules/hard-locale (Makefile.am): Likewise.
51721         * modules/hash (Makefile.am): Likewise.
51722         * modules/hmac-md5 (Makefile.am): Likewise.
51723         * modules/hmac-sha1 (Makefile.am): Likewise.
51724         * modules/human (Makefile.am): Likewise.
51725         * modules/idcache (Makefile.am): Likewise.
51726         * modules/imaxabs (Makefile.am): Likewise.
51727         * modules/imaxdiv (Makefile.am): Likewise.
51728         * modules/inet_ntop (Makefile.am): Likewise.
51729         * modules/inet_pton (Makefile.am): Likewise.
51730         * modules/intprops (Makefile.am): Likewise.
51731         * modules/inttostr (Makefile.am): Likewise.
51732         * modules/inttypes (Makefile.am): Likewise.
51733         * modules/isapipe (Makefile.am): Likewise.
51734         * modules/javaversion (Makefile.am): Likewise.
51735         * modules/lchmod (Makefile.am): Likewise.
51736         * modules/lchown (Makefile.am): Likewise.
51737         * modules/localcharset (Makefile.am): Likewise.
51738         * modules/long-options (Makefile.am): Likewise.
51739         * modules/lstat (Makefile.am): Likewise.
51740         * modules/malloc (Makefile.am): Likewise.
51741         * modules/mathl (Makefile.am): Likewise.
51742         * modules/mbchar (Makefile.am): Likewise.
51743         * modules/md2 (Makefile.am): Likewise.
51744         * modules/md4 (Makefile.am): Likewise.
51745         * modules/md5 (Makefile.am): Likewise.
51746         * modules/memcasecmp (Makefile.am): Likewise.
51747         * modules/memchr (Makefile.am): Likewise.
51748         * modules/memcmp (Makefile.am): Likewise.
51749         * modules/memcoll (Makefile.am): Likewise.
51750         * modules/memcpy (Makefile.am): Likewise.
51751         * modules/memmem (Makefile.am): Likewise.
51752         * modules/memmove (Makefile.am): Likewise.
51753         * modules/mempcpy (Makefile.am): Likewise.
51754         * modules/memrchr (Makefile.am): Likewise.
51755         * modules/memset (Makefile.am): Likewise.
51756         * modules/memxor (Makefile.am): Likewise.
51757         * modules/mkancesdirs (Makefile.am): Likewise.
51758         * modules/mkdir-p (Makefile.am): Likewise.
51759         * modules/mkdir (Makefile.am): Likewise.
51760         * modules/mkdtemp (Makefile.am): Likewise.
51761         * modules/mkstemp (Makefile.am): Likewise.
51762         * modules/mktime (Makefile.am): Likewise.
51763         * modules/modechange (Makefile.am): Likewise.
51764         * modules/mountlist (Makefile.am): Likewise.
51765         * modules/nanosleep (Makefile.am): Likewise.
51766         * modules/obstack (Makefile.am): Likewise.
51767         * modules/openat (Makefile.am): Likewise.
51768         * modules/pagealign_alloc (Makefile.am): Likewise.
51769         * modules/pathmax (Makefile.am): Likewise.
51770         * modules/physmem (Makefile.am): Likewise.
51771         * modules/poll (Makefile.am): Likewise.
51772         * modules/posixtm (Makefile.am): Likewise.
51773         * modules/posixver (Makefile.am): Likewise.
51774         * modules/putenv (Makefile.am): Likewise.
51775         * modules/quote (Makefile.am): Likewise.
51776         * modules/quotearg (Makefile.am): Likewise.
51777         * modules/raise (Makefile.am): Likewise.
51778         * modules/read-file (Makefile.am): Likewise.
51779         * modules/readline (Makefile.am): Likewise.
51780         * modules/readlink (Makefile.am): Likewise.
51781         * modules/readtokens (Makefile.am): Likewise.
51782         * modules/readutmp (Makefile.am): Likewise.
51783         * modules/realloc (Makefile.am): Likewise.
51784         * modules/regex (Makefile.am): Likewise.
51785         * modules/rename-dest-slash (Makefile.am): Likewise.
51786         * modules/rename (Makefile.am): Likewise.
51787         * modules/rijndael (Makefile.am): Likewise.
51788         * modules/rmdir (Makefile.am): Likewise.
51789         * modules/rpmatch (Makefile.am): Likewise.
51790         * modules/safe-read (Makefile.am): Likewise.
51791         * modules/safe-write (Makefile.am): Likewise.
51792         * modules/same-inode (Makefile.am): Likewise.
51793         * modules/same (Makefile.am): Likewise.
51794         * modules/save-cwd (Makefile.am): Likewise.
51795         * modules/savedir (Makefile.am): Likewise.
51796         * modules/setenv (Makefile.am): Likewise.
51797         * modules/settime (Makefile.am): Likewise.
51798         * modules/sha1 (Makefile.am): Likewise.
51799         * modules/sig2str (Makefile.am): Likewise.
51800         * modules/snprintf (Makefile.am): Likewise.
51801         * modules/stat-macros (Makefile.am): Likewise.
51802         * modules/stat-time (Makefile.am): Likewise.
51803         * modules/stdbool (Makefile.am): Likewise.
51804         * modules/stdint (Makefile.am): Likewise.
51805         * modules/stdlib-safer (Makefile.am): Likewise.
51806         * modules/stpcpy (Makefile.am): Likewise.
51807         * modules/stpncpy (Makefile.am): Likewise.
51808         * modules/strcase (Makefile.am): Likewise.
51809         * modules/strcasestr (Makefile.am): Likewise.
51810         * modules/strchrnul (Makefile.am): Likewise.
51811         * modules/strcspn (Makefile.am): Likewise.
51812         * modules/strdup (Makefile.am): Likewise.
51813         * modules/strerror (Makefile.am): Likewise.
51814         * modules/strftime (Makefile.am): Likewise.
51815         * modules/strndup (Makefile.am): Likewise.
51816         * modules/strnlen (Makefile.am): Likewise.
51817         * modules/strpbrk (Makefile.am): Likewise.
51818         * modules/strsep (Makefile.am): Likewise.
51819         * modules/strstr (Makefile.am): Likewise.
51820         * modules/strtod (Makefile.am): Likewise.
51821         * modules/strtoimax (Makefile.am): Likewise.
51822         * modules/strtok_r (Makefile.am): Likewise.
51823         * modules/strtol (Makefile.am): Likewise.
51824         * modules/strtoll (Makefile.am): Likewise.
51825         * modules/strtoul (Makefile.am): Likewise.
51826         * modules/strtoull (Makefile.am): Likewise.
51827         * modules/strtoumax (Makefile.am): Likewise.
51828         * modules/strverscmp (Makefile.am): Likewise.
51829         * modules/sys_socket (Makefile.am): Likewise.
51830         * modules/sys_stat (Makefile.am): Likewise.
51831         * modules/sysexits (Makefile.am): Likewise.
51832         * modules/time_r (Makefile.am): Likewise.
51833         * modules/timegm (Makefile.am): Likewise.
51834         * modules/timespec (Makefile.am): Likewise.
51835         * modules/tmpfile-safer (Makefile.am): Likewise.
51836         * modules/trim (Makefile.am): Likewise.
51837         * modules/unistd-safer (Makefile.am): Likewise.
51838         * modules/unlinkdir (Makefile.am): Likewise.
51839         * modules/unlocked-io (Makefile.am): Likewise.
51840         * modules/userspec (Makefile.am): Likewise.
51841         * modules/utime (Makefile.am): Likewise.
51842         * modules/utimecmp (Makefile.am): Likewise.
51843         * modules/utimens (Makefile.am): Likewise.
51844         * modules/vasnprintf (Makefile.am): Likewise.
51845         * modules/vasprintf (Makefile.am): Likewise.
51846         * modules/vsnprintf (Makefile.am): Likewise.
51847         * modules/xalloc (Makefile.am): Likewise.
51848         * modules/xgetcwd (Makefile.am): Likewise.
51849         * modules/xnanosleep (Makefile.am): Likewise.
51850         * modules/xreadlink (Makefile.am): Likewise.
51851         * modules/xstrtod (Makefile.am): Likewise.
51852         * modules/xstrtol (Makefile.am): Likewise.
51853         * modules/xstrtold (Makefile.am): Likewise.
51854         * modules/yesno (Makefile.am): Likewise.
51855         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
51856
51857 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
51858
51859         * modules/error (Makefile.am): Distribute files through
51860         EXTRA_DIST, not lib_SOURCES.
51861
51862 2006-10-12  Eric Blake  <ebb9@byu.net>
51863
51864         * modules/error (Makefile.am): Distribute files in /lib.
51865         * modules/obstack (Makefile.am): Likewise.
51866
51867 2006-10-12  Bruno Haible  <bruno@clisp.org>
51868
51869         * modules/acl (Makefile.am): Distribute all files in lib/ through
51870         EXTRA_DIST.
51871         * modules/arcfour (Makefile.am): Likewise.
51872         * modules/arctwo (Makefile.am): Likewise.
51873         * modules/argmatch (Makefile.am): Likewise.
51874         * modules/argz (Makefile.am): Likewise.
51875         * modules/atexit (Makefile.am): Likewise.
51876         * modules/backupfile (Makefile.am): Likewise.
51877         * modules/c-strtod (Makefile.am): Likewise.
51878         * modules/c-strtold (Makefile.am): Likewise.
51879         * modules/calloc (Makefile.am): Likewise.
51880         * modules/canon-host (Makefile.am): Likewise.
51881         * modules/canonicalize (Makefile.am): Likewise.
51882         * modules/chdir-long (Makefile.am): Likewise.
51883         * modules/chdir-safer (Makefile.am): Likewise.
51884         * modules/check-version (Makefile.am): Likewise.
51885         * modules/chown (Makefile.am): Likewise.
51886         * modules/cloexec (Makefile.am): Likewise.
51887         * modules/close-stream (Makefile.am): Likewise.
51888         * modules/closeout (Makefile.am): Likewise.
51889         * modules/crc (Makefile.am): Likewise.
51890         * modules/cycle-check (Makefile.am): Likewise.
51891         * modules/des (Makefile.am): Likewise.
51892         * modules/dirfd (Makefile.am): Likewise.
51893         * modules/dirname (Makefile.am): Likewise.
51894         * modules/dup2 (Makefile.am): Likewise.
51895         * modules/euidaccess (Makefile.am): Likewise.
51896         * modules/exclude (Makefile.am): Likewise.
51897         * modules/exitfail (Makefile.am): Likewise.
51898         * modules/fcntl-safer (Makefile.am): Likewise.
51899         * modules/file-type (Makefile.am): Likewise.
51900         * modules/fileblocks (Makefile.am): Likewise.
51901         * modules/filemode (Makefile.am): Likewise.
51902         * modules/filenamecat (Makefile.am): Likewise.
51903         * modules/fnmatch (Makefile.am): Likewise.
51904         * modules/fopen-safer (Makefile.am): Likewise.
51905         * modules/fpending (Makefile.am): Likewise.
51906         * modules/fprintftime (Makefile.am): Likewise.
51907         * modules/free (Makefile.am): Likewise.
51908         * modules/fsusage (Makefile.am): Likewise.
51909         * modules/ftruncate (Makefile.am): Likewise.
51910         * modules/fts (Makefile.am): Likewise.
51911         * modules/gc (Makefile.am): Likewise.
51912         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
51913         * modules/getaddrinfo (Makefile.am): Likewise.
51914         * modules/getcwd (Makefile.am): Likewise.
51915         * modules/getdelim (Makefile.am): Likewise.
51916         * modules/getdomainname (Makefile.am): Likewise.
51917         * modules/getgroups (Makefile.am): Likewise.
51918         * modules/gethostname (Makefile.am): Likewise.
51919         * modules/gethrxtime (Makefile.am): Likewise.
51920         * modules/getline (Makefile.am): Likewise.
51921         * modules/getloadavg (Makefile.am): Likewise.
51922         * modules/getlogin_r (Makefile.am): Likewise.
51923         * modules/getopt (Makefile.am): Likewise.
51924         * modules/getpass (Makefile.am): Likewise.
51925         * modules/getpass-gnu (Makefile.am): Likewise.
51926         * modules/getsubopt (Makefile.am): Likewise.
51927         * modules/gettime (Makefile.am): Likewise.
51928         * modules/gettimeofday (Makefile.am): Likewise.
51929         * modules/getugroups (Makefile.am): Likewise.
51930         * modules/getusershell (Makefile.am): Likewise.
51931         * modules/glob (Makefile.am): Likewise.
51932         * modules/group-member (Makefile.am): Likewise.
51933         * modules/hard-locale (Makefile.am): Likewise.
51934         * modules/hash (Makefile.am): Likewise.
51935         * modules/hmac-md5 (Makefile.am): Likewise.
51936         * modules/hmac-sha1 (Makefile.am): Likewise.
51937         * modules/human (Makefile.am): Likewise.
51938         * modules/idcache (Makefile.am): Likewise.
51939         * modules/imaxabs (Makefile.am): Likewise.
51940         * modules/imaxdiv (Makefile.am): Likewise.
51941         * modules/inet_ntop (Makefile.am): Likewise.
51942         * modules/inet_pton (Makefile.am): Likewise.
51943         * modules/inttostr (Makefile.am): Likewise.
51944         * modules/isapipe (Makefile.am): Likewise.
51945         * modules/lchown (Makefile.am): Likewise.
51946         * modules/long-options (Makefile.am): Likewise.
51947         * modules/lstat (Makefile.am): Likewise.
51948         * modules/malloc (Makefile.am): Likewise.
51949         * modules/mathl (Makefile.am): Likewise.
51950         * modules/mbchar (Makefile.am): Likewise.
51951         * modules/md2 (Makefile.am): Likewise.
51952         * modules/md4 (Makefile.am): Likewise.
51953         * modules/md5 (Makefile.am): Likewise.
51954         * modules/memcasecmp (Makefile.am): Likewise.
51955         * modules/memchr (Makefile.am): Likewise.
51956         * modules/memcmp (Makefile.am): Likewise.
51957         * modules/memcoll (Makefile.am): Likewise.
51958         * modules/memcpy (Makefile.am): Likewise.
51959         * modules/memmem (Makefile.am): Likewise.
51960         * modules/memmove (Makefile.am): Likewise.
51961         * modules/mempcpy (Makefile.am): Likewise.
51962         * modules/memrchr (Makefile.am): Likewise.
51963         * modules/memset (Makefile.am): Likewise.
51964         * modules/memxor (Makefile.am): Likewise.
51965         * modules/mkancesdirs (Makefile.am): Likewise.
51966         * modules/mkdir (Makefile.am): Likewise.
51967         * modules/mkdir-p (Makefile.am): Likewise.
51968         * modules/mkdtemp (Makefile.am): Likewise.
51969         * modules/mkstemp (Makefile.am): Likewise.
51970         * modules/mktime (Makefile.am): Likewise.
51971         * modules/modechange (Makefile.am): Likewise.
51972         * modules/mountlist (Makefile.am): Likewise.
51973         * modules/nanosleep (Makefile.am): Likewise.
51974         * modules/openat (Makefile.am): Likewise.
51975         * modules/pagealign_alloc (Makefile.am): Likewise.
51976         * modules/physmem (Makefile.am): Likewise.
51977         * modules/poll (Makefile.am): Likewise.
51978         * modules/posixtm (Makefile.am): Likewise.
51979         * modules/posixver (Makefile.am): Likewise.
51980         * modules/putenv (Makefile.am): Likewise.
51981         * modules/quote (Makefile.am): Likewise.
51982         * modules/quotearg (Makefile.am): Likewise.
51983         * modules/raise (Makefile.am): Likewise.
51984         * modules/read-file (Makefile.am): Likewise.
51985         * modules/readline (Makefile.am): Likewise.
51986         * modules/readlink (Makefile.am): Likewise.
51987         * modules/readtokens (Makefile.am): Likewise.
51988         * modules/readutmp (Makefile.am): Likewise.
51989         * modules/realloc (Makefile.am): Likewise.
51990         * modules/regex (Makefile.am): Likewise.
51991         * modules/rename (Makefile.am): Likewise.
51992         * modules/rename-dest-slash (Makefile.am): Likewise.
51993         * modules/rijndael (Makefile.am): Likewise.
51994         * modules/rmdir (Makefile.am): Likewise.
51995         * modules/rpmatch (Makefile.am): Likewise.
51996         * modules/safe-read (Makefile.am): Likewise.
51997         * modules/safe-write (Makefile.am): Likewise.
51998         * modules/same (Makefile.am): Likewise.
51999         * modules/save-cwd (Makefile.am): Likewise.
52000         * modules/savedir (Makefile.am): Likewise.
52001         * modules/setenv (Makefile.am): Likewise.
52002         * modules/settime (Makefile.am): Likewise.
52003         * modules/sha1 (Makefile.am): Likewise.
52004         * modules/sig2str (Makefile.am): Likewise.
52005         * modules/snprintf (Makefile.am): Likewise.
52006         * modules/stdlib-safer (Makefile.am): Likewise.
52007         * modules/stpcpy (Makefile.am): Likewise.
52008         * modules/stpncpy (Makefile.am): Likewise.
52009         * modules/strcase (Makefile.am): Likewise.
52010         * modules/strcasestr (Makefile.am): Likewise.
52011         * modules/strchrnul (Makefile.am): Likewise.
52012         * modules/strcspn (Makefile.am): Likewise.
52013         * modules/strdup (Makefile.am): Likewise.
52014         * modules/strerror (Makefile.am): Likewise.
52015         * modules/strftime (Makefile.am): Likewise.
52016         * modules/strndup (Makefile.am): Likewise.
52017         * modules/strnlen (Makefile.am): Likewise.
52018         * modules/strpbrk (Makefile.am): Likewise.
52019         * modules/strsep (Makefile.am): Likewise.
52020         * modules/strstr (Makefile.am): Likewise.
52021         * modules/strtod (Makefile.am): Likewise.
52022         * modules/strtoimax (Makefile.am): Likewise.
52023         * modules/strtok_r (Makefile.am): Likewise.
52024         * modules/strtol (Makefile.am): Likewise.
52025         * modules/strtoll (Makefile.am): Likewise.
52026         * modules/strtoul (Makefile.am): Likewise.
52027         * modules/strtoull (Makefile.am): Likewise.
52028         * modules/strtoumax (Makefile.am): Likewise.
52029         * modules/strverscmp (Makefile.am): Likewise.
52030         * modules/time_r (Makefile.am): Likewise.
52031         * modules/timegm (Makefile.am): Likewise.
52032         * modules/tmpfile-safer (Makefile.am): Likewise.
52033         * modules/unistd-safer (Makefile.am): Likewise.
52034         * modules/unlinkdir (Makefile.am): Likewise.
52035         * modules/userspec (Makefile.am): Likewise.
52036         * modules/utime (Makefile.am): Likewise.
52037         * modules/utimecmp (Makefile.am): Likewise.
52038         * modules/utimens (Makefile.am): Likewise.
52039         * modules/vasnprintf (Makefile.am): Likewise.
52040         * modules/vasprintf (Makefile.am): Likewise.
52041         * modules/vsnprintf (Makefile.am): Likewise.
52042         * modules/xalloc (Makefile.am): Likewise.
52043         * modules/xgetcwd (Makefile.am): Likewise.
52044         * modules/xnanosleep (Makefile.am): Likewise.
52045         * modules/xreadlink (Makefile.am): Likewise.
52046         * modules/xstrtod (Makefile.am): Likewise.
52047         * modules/xstrtol (Makefile.am): Likewise.
52048         * modules/xstrtold (Makefile.am): Likewise.
52049         * modules/yesno (Makefile.am): Likewise.
52050
52051 2006-10-12  Jim Meyering  <jim@meyering.net>
52052
52053         * m4/getloadavg.m4: Revert the change below.
52054
52055         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
52056         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
52057         fail with a symlink, which is what coreutils' ./bootstrap now
52058         creates by default.
52059
52060 2006-10-12  Bruno Haible  <bruno@clisp.org>
52061
52062         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
52063         mingw.
52064         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
52065         MSVC and mingw explicitly.
52066
52067 2006-10-11  Simon Josefsson  <jas@extundo.com>
52068             Bruno Haible  <bruno@clisp.org>
52069
52070         Add support for multiple gnulib-tool invocations in the scope of a
52071         single configure.ac file.
52072         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
52073         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
52074         with the same contents as the _LIBADD variable.
52075         (func_emit_initmacro_start, func_emit_initmacro_end,
52076         func_emit_initmacro_done): New functions.
52077         (func_import, func_create_testdir): Invoke them. Allow the identifiers
52078         gl_LIBOBJS and gl_LTLIBOBJS.
52079
52080 2006-10-11  Bruno Haible  <bruno@clisp.org>
52081
52082         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
52083         (func_create_testdir): Don't create po/Makefile.am, don't invoke
52084         autoreconf. Instead, invoke autopoint explicitly but move back the
52085         *.m4 files from gnulib.
52086
52087 2006-10-11  Bruno Haible  <bruno@clisp.org>
52088
52089         * gnulib-tool (func_usage): Make module names after --create-testdir
52090         optional.
52091         (func_create_testdir): If no module was specified, use nearly all
52092         modules.
52093
52094 2006-10-12  Jim Meyering  <jim@meyering.net>
52095
52096         Big performance improvement for fts-based tools that use FTS_NOSTAT.
52097         Avoid spurious inode-mismatch problems on non-POSIX file systems.
52098         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
52099         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
52100         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
52101         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
52102         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
52103         (fts_set_stat_required): New function.
52104         (fts_open): Defer the calls to fts_stat, if possible or requested.
52105         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
52106         into fts_stat itself.
52107         (fts_read): Perform any required (deferred) fts_stat call.
52108         (fts_build): Likewise, for the directory we're about to open and read.
52109         In the readdir loop, carefully decide whether each entry will require
52110         an eventual call to fts_stat, using dirent.d_type info if available.
52111         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
52112         a command line argument into this function.  Update all callers.
52113         Map a return value of FTS_DOT to FTS_D for a command line argument.
52114         * modules/fts (Depends-on): Add d-type.  Alphabetize.
52115         Thanks to Miklos Szeredi for his tenacity and for the initial
52116         bug report about "find" failing on a FUSE-based file system.
52117
52118         * lib/fts.c (fts_open): Use consistent indentation.
52119
52120 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
52121
52122         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
52123         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
52124         reported by Jim Meyering.  All uses of cache variables renamed
52125         to match Autoconf's.
52126         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
52127         the other one.
52128
52129         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
52130         Fix misspelling in diagnostic.
52131
52132 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
52133
52134         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
52135         defined.  Problem reported by Matthew Woehlke.
52136
52137         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
52138         Add support for Tandem NonStop R series.
52139         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
52140         Use new macro.
52141
52142         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
52143         (has_trailing_slash): Omit size arg; all callers changed.
52144         Omit 'inline', since it doesn't help performance and we'd
52145         need to configure it.
52146         Don't count //, ///, etc. as having a trailing slash.
52147         As a side effect, this removes a C99ism reported by Matthew Woehlke.
52148         (rpl_rename_dest_slash): On failure, use rename's errno rather
52149         than (in some cases) an incorrect or junk errno.
52150         Simplify code by removing need to compute length; this does
52151         cause it to make two passes instead of one over the file name,
52152         but it's worth it.
52153
52154         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
52155         change, since Autoconf's version may no longer be appropriate now
52156         that we are using CVS Autoconf's version.  Add support for Tandem.
52157
52158 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
52159             Bruno Haible  <bruno@clisp.org>
52160
52161         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
52162         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
52163         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
52164         gl_AC_TYPE_LONG_LONG.
52165
52166         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
52167         instead of HAVE_LONG_LONG.
52168         * lib/printf-args.c (printf_fetchargs): Likewise.
52169         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
52170         * lib/vasnprintf.c (VASNPRINTF): Likewise.
52171         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
52172         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
52173         gl_AC_TYPE_LONG_LONG.
52174
52175 2006-10-11  Bruno Haible  <bruno@clisp.org>
52176
52177         * m4/longlong.m4: Add comments.
52178         * m4/ulonglong.m4: Likewise.
52179
52180 2006-10-10  Bruno Haible  <bruno@clisp.org>
52181
52182         Make it possible to #define stpcpy, strdup to aliases.
52183         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
52184         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
52185
52186 2006-10-10  Bruno Haible  <bruno@clisp.org>
52187
52188         Make it possible to #define gcd to an alias.
52189         * lib/gcd.c: Include config.h.
52190
52191 2006-10-10  Bruno Haible  <bruno@clisp.org>
52192
52193         Make it possible to #define c_isascii to an alias.
52194         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
52195         defined. Undefine the macros before defining them, to avoid gcc
52196         warnings.
52197         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
52198         define NO_C_CTYPE_MACROS early.
52199
52200 2006-10-10  Bruno Haible  <bruno@clisp.org>
52201
52202         Make it possible to #define set_program_name to an alias.
52203         * lib/progname.c: Don't undefine set_program_name; instead, undefine
52204         ENABLE_RELOCATABLE early.
52205
52206 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52207
52208         Port to Tandem NSK OSS, which has 64-bit signed int but at most
52209         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
52210         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
52211         More generally, don't assume that 64-bit signed int is available
52212         if unsigned int is, and vice versa.
52213         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
52214         unsigned symbols, not on their signed counterparts.
52215         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
52216         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
52217         (UINT64_C, UINTMAX_C):
52218         Likewise.
52219         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
52220         unsigned counterparts.
52221         (Have_long_long, Unsigned): New macros.
52222         (Int): Renamed from INT.
52223         (strtoimax): Use the new macros.
52224         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
52225         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
52226         * modules/inttypes (inttypes.h): Substitute
52227         HAVE_UNSIGNED_LONG_LONG_INT.
52228         * modules/stdint (stdint.h): Likewise.
52229         (Files): Add m4/ulonglong.m4.
52230
52231 2006-10-10  Bruno Haible  <bruno@clisp.org>
52232
52233         Fix a gcc -Wshadow warning.
52234         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
52235         to 'bucket'.
52236         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
52237         gl_linked_indexof_from_to): Likewise.
52238         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
52239         Likewise.
52240         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
52241         Likewise.
52242         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
52243         Reported by Eric Blake.
52244
52245 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
52246
52247         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
52248         for NetBSD.  Problem reported by Bruno Haible.
52249
52250 2006-10-09  Jim Meyering  <jim@meyering.net>
52251
52252         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
52253         Patch from Bruno Haible.
52254
52255 2006-10-09  Jim Meyering  <jim@meyering.net>
52256
52257         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
52258         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
52259         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
52260
52261 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52262
52263         Don't include <config.h> twice; this doesn't work in some cases,
52264         e.g., when config.h has "#define intmax_t long long int" and
52265         we include <config.h>, <inttypes.h>, <config.h> in that order.
52266         Problem reported by Matthew Woehlke in:
52267         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
52268         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
52269         * lib/fts-cycle.c: Don't include config.h.
52270         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
52271         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
52272         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
52273         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
52274         inttypes.h.
52275         * lib/xstrtoumax.c: Likewise.
52276         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
52277         __strtol and the like, so that this module is more like its siblings.
52278         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
52279         Remove; no longer needed now that we assume gnulib inttypes.h.
52280
52281 2006-10-08  Bruno Haible  <bruno@clisp.org>
52282
52283         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
52284         option.
52285
52286 2006-10-07  Jim Meyering  <jim@meyering.net>
52287
52288         * modules/inttypes (inttypes.h): Revert what seems to have been
52289         an inadvertent part of today's change: use "|", not "/" in the
52290         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
52291
52292 2006-10-07  Bruno Haible  <bruno@clisp.org>
52293
52294         * modules/sublist: New file.
52295
52296 2006-10-07  Bruno Haible  <bruno@clisp.org>
52297
52298         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
52299         * modules/argz (argz.h): Likewise.
52300         * modules/arpa_inet (arpa/inet.h): Likewise.
52301         * modules/byteswap (byteswap.h): Likewise.
52302         * modules/configmake (configmake.h): Likewise.
52303         * modules/fcntl (fcntl.h): Likewise.
52304         * modules/fnmatch (fnmatch.h): Likewise.
52305         * modules/getopt (getopt.h): Likewise.
52306         * modules/glob (glob.h): Likewise.
52307         * modules/inttypes (inttypes.h): Likewise.
52308         * modules/netinet_in (netinet/in.h): Likewise.
52309         * modules/poll (poll.h): Likewise.
52310         * modules/stdbool (stdbool.h): Likewise.
52311         * modules/stdint (stdint.h): Likewise.
52312         * modules/sys_select (sys/select.h): Likewise.
52313         * modules/sys_socket (sys/socket.h): Likewise.
52314         * modules/sys_stat (sys/stat.h): Likewise.
52315         * modules/sysexits (sysexits.h): Likewise.
52316         * modules/unistd (unistd.h): Likewise.
52317         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52318         Add a "DO NOT EDIT" comment to the generated file.
52319         (func_import): Likewise for gnulib-comp.m4.
52320
52321 2006-10-07  Bruno Haible  <bruno@clisp.org>
52322
52323         * lib/gl_sublist.h: New file.
52324         * lib/gl_sublist.c: New file.
52325
52326 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52327
52328         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
52329         name (relative to the original working directory) and the file
52330         name component (relative to the temporary working directory).  All
52331         callers changed.
52332         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
52333         * lib/mkdir-p.c (make_dir_parents): Likewise.
52334         * lib/mkdir-p.h (make_dir_parents): Likewise.
52335
52336 2006-10-06  Eric Blake  <ebb9@byu.net>
52337
52338         Define several macros for use by the clean-temp module.
52339         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
52340         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
52341         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
52342
52343         * lib/clean-temp.h (close_stream_temp): New declaration.
52344         * lib/clean-temp.c (includes): Pull in headers according to what
52345         other modules are in use.
52346         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
52347
52348 2006-10-06  Bruno Haible  <bruno@clisp.org>
52349
52350         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
52351         instead of fopen, fwriteerror.
52352
52353 2006-10-06  Bruno Haible  <bruno@clisp.org>
52354
52355         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
52356         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
52357         int.
52358         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
52359         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
52360         Return an error indicator.
52361         Suggested by Eric Blake.
52362
52363 2006-10-06  Bruno Haible  <bruno@clisp.org>
52364
52365         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
52366         Reported by Eric Blake.
52367
52368 2006-10-06  Bruno Haible  <bruno@clisp.org>
52369
52370         * modules/closeout (Description): Mention stderr too.
52371
52372 2006-10-06  Bruno Haible  <bruno@clisp.org>
52373         and Paul Eggert  <eggert@cs.ucla.edu>
52374
52375         * lib/closeout.c (close_stdout): Also close stderr.
52376         * lib/closeout.h: Update comment.
52377
52378 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
52379
52380         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
52381         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
52382         * lib/dirchownmod.c: Include lchown.h.
52383         * lib/lchown.c: Don't include files that lchown.h now includes.
52384         Don't declare chown, since lchown.h now does that.
52385         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
52386         (lchown): Define to rpl_chown if lchown is declared but
52387         does not exist.  Declare using a prototype if lchown is not
52388         declared.  Add a copyright notice.
52389         * lib/mkstemp.h: Include <unistd.h>.
52390         * lib/openat.c: Include lchown.h.
52391
52392         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
52393         we now test for that separately.
52394         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
52395         rather than O_NOFOLLOW, when testing whether it's possible to
52396         avoid a race condition reliably.
52397         * lib/savewd.c (savewd_chdir): Likewise.
52398
52399         Remove macros that are no longer needed now that stdint.h is
52400         reliable.
52401         * lib/fsusage.c (UINTMAX_MAX): Remove.
52402         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
52403         * lib/utimecmp.c (SIZE_MAX): Remove.
52404
52405         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
52406
52407         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
52408         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
52409         O_NOATIME works.
52410
52411 2006-10-05  Bruno Haible  <bruno@clisp.org>
52412
52413         * lib/gl_list.h (gl_sortedlist_search_from_to,
52414         gl_sortedlist_indexof_from_to): New declarations.
52415         (gl_list_implementation): New fields sortedlist_search_from_to,
52416         sortedlist_indexof_from_to.
52417         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
52418         inline functions.
52419         * lib/gl_list.c (gl_sortedlist_search_from_to,
52420         gl_sortedlist_indexof_from_to): New functions.
52421         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
52422         function.
52423         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
52424         (gl_array_sortedlist_search_from_to): New function.
52425         (gl_array_list_implementation): Update.
52426         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
52427         function.
52428         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
52429         (gl_carray_sortedlist_search_from_to): New function.
52430         (gl_carray_list_implementation): Update.
52431         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
52432         gl_linked_sortedlist_indexof_from_to): New functions.
52433         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
52434         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
52435         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
52436         gl_tree_sortedlist_indexof_from_to): New functions.
52437         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
52438         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
52439         Update.
52440         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
52441         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
52442         Update.
52443
52444 2006-10-05  Bruno Haible  <bruno@clisp.org>
52445
52446         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
52447         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
52448         (struct gl_list_implementation): Add fields search_from_to,
52449         indexof_from_to. Remove fields search, indexof.
52450         (gl_list_search): Use the search_from_to method.
52451         (gl_list_search_from, gl_list_search_from_to): New functions.
52452         (gl_list_indexof): Use the indexof_from_to method.
52453         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
52454         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
52455         (gl_list_search_from, gl_list_search_from_to): New functions.
52456         (gl_list_indexof): Use the indexof_from_to method.
52457         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
52458         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
52459         gl_array_indexof. Add start_index, end_index arguments.
52460         (gl_array_search_from_to): Renamed from gl_array_search. Add
52461         start_index, end_index arguments.
52462         (gl_array_remove, gl_array_list_implementation): Update.
52463         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
52464         gl_carray_indexof. Add start_index, end_index arguments.
52465         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
52466         start_index, end_index arguments.
52467         (gl_carray_remove, gl_carray_list_implementation): Update.
52468         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
52469         gl_linked_search. Add start_index, end_index arguments.
52470         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
52471         start_index, end_index arguments.
52472         (gl_linked_remove): Update.
52473         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
52474         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
52475         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
52476         field to 'size_t'.
52477         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
52478         gl_tree_search. Add start_index, end_index arguments.
52479         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
52480         start_index, end_index arguments.
52481         (gl_tree_remove): Update.
52482         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
52483         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
52484         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
52485         function.
52486         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
52487         gl_tree_search. Add start_index, end_index arguments.
52488         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
52489         start_index, end_index arguments.
52490         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
52491         Update.
52492         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
52493
52494 2006-10-05  Bruno Haible  <bruno@clisp.org>
52495
52496         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
52497
52498         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
52499         fwriteerror_temp): New declarations.
52500         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
52501         (descriptors): New variable.
52502         (cleanup): First, close the descriptors.
52503         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
52504         fclose_temp, fwriteerror_temp): New functions.
52505
52506 2006-10-04  Jim Meyering  <jim@meyering.net>
52507
52508         * lib/fts.c (fts_open): Tiny comment change.
52509
52510 2006-10-04  Bruno Haible  <bruno@clisp.org>
52511
52512         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
52513         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
52514         gl_LOCK_BODY.
52515         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
52516         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
52517         gl_LOCK_EARLY_BODY.
52518         (gl_LOCK): Require gl_LOCK_BODY.
52519
52520 2006-10-04  Bruno Haible  <bruno@clisp.org>
52521
52522         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
52523         (gl_oset_search_atleast): New declaration.
52524         (struct gl_oset_implementation): Add field 'search_atleast'.
52525         (gl_oset_search_atleast): New inline function.
52526         * lib/gl_oset.c (gl_oset_search_atleast): New function.
52527         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
52528         (gl_array_oset_implementation): Update.
52529         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
52530         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
52531         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
52532
52533 2006-10-04  Bruno Haible  <bruno@clisp.org>
52534
52535         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
52536
52537 2006-10-03  Bruno Haible  <bruno@clisp.org>
52538
52539         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
52540         from gl_avltreehash_list_implementation.
52541
52542 2006-10-03  Bruno Haible  <bruno@clisp.org>
52543
52544         * lib/gl_oset.c (gl_oset_add): Fix return type.
52545
52546 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
52547
52548         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
52549
52550 2006-10-02  Eric Blake  <ebb9@byu.net>
52551
52552         * modules/strnlen (Depends-on): Add extensions.
52553
52554 2006-10-02  Eric Blake  <ebb9@byu.net>
52555
52556         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
52557         definition in 2.60+.
52558
52559 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
52560
52561         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
52562         checks.
52563
52564 2006-10-02  Bruno Haible  <bruno@clisp.org>
52565
52566         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
52567         to the AUTOMAKE_OPTIONS.
52568         Reported by Jim Meyering.
52569
52570 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
52571
52572         Work around bug in Solaris 10 /proc file system:
52573         /proc/self/fd/NNN/.. isn't the parent directory of
52574         the directory whose file descriptor is NNN.  This needs to
52575         be worked around at run time, not compile time, since a
52576         program might be built on Solaris 8, where things work, and
52577         run on Solaris 10.
52578         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
52579         to use the following interface instead:
52580         (OPENAT_BUFFER_SIZE): New macro.
52581         (openat_proc_name): New function.
52582         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
52583         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
52584         Likewise.
52585         * lib/openat-proc.c: New file.
52586         * modules/openat (Files): Add lib/openat-proc.c.
52587         (Depends-on): Add same-inode, stdbool.
52588         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
52589
52590 2006-09-29  Bruno Haible  <bruno@clisp.org>
52591
52592         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
52593         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
52594         argument. Set stdout_closed before testing for ferror, not after.
52595         (fwriteerror, fwriteerror_no_ebadf): New functions.
52596
52597 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52598
52599         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
52600
52601 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
52602
52603         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
52604         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
52605
52606 2006-09-28  Jim Meyering  <jim@meyering.net>
52607
52608         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
52609         Include <unistd.h>.
52610
52611 2006-09-28  Bruno Haible  <bruno@clisp.org>
52612
52613         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
52614         * modules/linkedhash-list (Depends-on): Likewise.
52615         * modules/rbtreehash-list (Depends-on): Likewise.
52616
52617 2006-09-28  Bruno Haible  <bruno@clisp.org>
52618
52619         * lib/strndup.h: Simplify the redefinition of strndup.
52620         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
52621         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
52622
52623 2006-09-28  Bruno Haible  <bruno@clisp.org>
52624
52625         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
52626         * lib/gl_linkedhash_list.c: Likewise.
52627         * lib/gl_rbtreehash_list.c: Likewise.
52628
52629 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
52630
52631         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
52632         getaddrinfo.
52633
52634         * lib/__fpending.h: Don't include <stdio_ext.h> unless
52635         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
52636         it causes <stdio_ext.h> to cause a compile-time error.
52637         Problem reported by Nelson H. F. Beebe.
52638         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
52639         of HAVE_DECL___PENDING.
52640
52641         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
52642         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
52643         declaration.
52644
52645 2006-09-27  Jim Meyering  <jim@meyering.net>
52646
52647         This file could end up with a definition for a function
52648         named __strndup, rather than rpl_strndup on a system with
52649         incomplete weak_alias support.
52650         * lib/strndup.c (strndup): Rename from __strndup.
52651         Remove #defines that used to map __strndup to strndup.
52652         Don't use K&R prototypes.
52653         Remove LIBC-related code, since this file is not sync'd with glibc.
52654         * lib/strndup.h: Revamp, accordingly.
52655         * m4/strndup.m4: Modernize.
52656
52657 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
52658
52659         * modules/savewd (Depends-on): Add 'raise'.
52660         * lib/savewd.c: Include <signal.h>, for 'raise'.
52661
52662 2006-09-26  Jim Meyering  <jim@meyering.net>
52663
52664         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
52665         when we detect Darwin 8.7.0's acl_get_file bug.
52666         Rearrange to perform the new (below) run-test while $LIBS
52667         contains any acl-related library.  Set USE_ACL at the end.
52668         (gl_ACL_GET_FILE): New function.
52669
52670 2006-09-26  Eric Blake  <ebb9@byu.net>
52671
52672         * lib/verror.c: Include <config.h> unconditionally.
52673
52674 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
52675
52676         * modules/clock-time (Maintainer): Add self.
52677         * modules/getlogin_r (Depends-on): Add extensions.
52678
52679 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52680
52681         * modules/clock-time: New module.
52682         * modules/nanosleep (Depends-on): Add clock-time.
52683         * modules/gethrxtime (Depends-on): Likewise.
52684         * modules/gettime (Depends-on): Likewise.
52685         * modules/settime (Depends-on): Likewise.
52686
52687         * modules/fts-lgpl: Depend on openat.
52688         * modules/mkancesdirs: Depend on savewd.
52689         * modules/mkdir-p: Likewise.
52690
52691 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52692
52693         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
52694
52695         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
52696         `gl_have_arbitrary_file_name_length_limit' to
52697         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
52698         actually works between configure runs.
52699
52700 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52701             Bruno Haible  <bruno@clisp.org>
52702
52703         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
52704
52705 2006-09-25  Jim Meyering  <jim@meyering.net>
52706
52707         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
52708         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
52709
52710 2006-09-25  Eric Blake  <ebb9@byu.net>
52711
52712         * gnulib-tool (func_import, func_create_testdir): Fix typos in
52713         exec's in 2006-09-18 patch when shuffling fds.
52714
52715 2006-09-25  Bruno Haible  <bruno@clisp.org>
52716
52717         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
52718         Reported by Jim Meyering.
52719
52720 2006-09-24  Jim Meyering  <jim@meyering.net>
52721
52722         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
52723         compare a pointer against a literal "0".  That caused failures with
52724         at least HP-UX's hpcc.
52725
52726 2006-09-22  Simon Josefsson  <jas@extundo.com>
52727
52728         * modules/gc-sha1:
52729         * modules/gc-md4:
52730         * modules/gc-hmac-sha1:
52731         * modules/gc-hmac-md5:
52732         * modules/gc-des:
52733         * modules/gc-arcfour: Distribute more files.
52734
52735 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52736
52737         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
52738         (gl_linked_iterator_from_to): Initialize struct completely.
52739         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
52740         (gl_tree_iterator_from_to): Likewise
52741         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
52742         * lib/gl_array_list.c [lint] (gl_array_iterator)
52743         (gl_array_iterator_from_to): Likewise.
52744         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
52745         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
52746         (gl_carray_iterator_from_to): Likewise.
52747
52748         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
52749         * lib/md4.c (md4_process_block): Remove unused variable.
52750         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
52751         parentheses for clarity.
52752
52753 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52754
52755         * modules/bison-i18n (Depends-on): Add gettext.
52756
52757 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52758
52759         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
52760         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
52761         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
52762         also add missing comma that caused broken test.
52763         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
52764         stdlib.h, for `abort'.
52765         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
52766         variables.
52767         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
52768         include unistd.h if present, for `rmdir'.
52769         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
52770         variables.
52771         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
52772         in the process include standard headers for prototypes.
52773         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
52774         gets declared on GNU/Linux.
52775         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
52776         unistd.h, for `rmdir'.
52777         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
52778
52779         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
52780         always true.
52781         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
52782
52783         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
52784
52785 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52786
52787         * gnulib-tool (func_version): Create output all at once.  This
52788         may help avoid triggering unnecessary SIGPIPEs, and at any
52789         rate it doesn't hurt.
52790
52791 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52792             Bruno Haible  <bruno@clisp.org>
52793
52794         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
52795         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
52796         * m4/signed.m4 (bh_C_SIGNED): Likewise.
52797
52798         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
52799         (gl_FUNC_VASPRINTF): Invoke it.
52800
52801 2006-09-22  Bruno Haible  <bruno@clisp.org>
52802
52803         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
52804         getloadavg.c as first argument.
52805
52806 2006-09-22  Bruno Haible  <bruno@clisp.org>
52807
52808         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
52809         at the beginning of the gl_INIT macro.
52810         * modules/getloadavg (configure.ac): Pass $gl_source_base to
52811         gl_GETLOADAVG.
52812
52813 2006-09-22  Bruno Haible  <bruno@clisp.org>
52814
52815         * gnulib-tool (func_create_megatestdir): Don't include the config-h
52816         module.
52817         Suggested by Ralf Wildenhues.
52818
52819 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52820
52821         Import this patch from libc:
52822
52823         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
52824
52825         * lib/regex_internal.c (re_string_reconstruct): Handle
52826         offset < pstr->valid_raw_len && pstr->offsets_needed case.
52827         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
52828         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
52829         re_string_context_at.
52830
52831         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
52832         now requires it.
52833         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
52834         gl_REGEX now does it for us.
52835         (gl_REGEX): Add test taken from
52836         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
52837
52838         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
52839         Check that large offsets work.  Modernize Autoconf usages.
52840         Prefer "yes" to mean a good thing rather than a bad.
52841         Don't put "#define mkstemp" in config.h, as this might interfere
52842         with standard system headers that "#define mkstemp mkstemp64".
52843
52844         * modules/mkstemp (Depends-on): Add extensions, so that
52845         mkstemp is visible on some platforms.
52846         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
52847         (Include): Change to "mkstemp.h" from <stdlib.h>.
52848         (Files): Add mkstemp.h.
52849
52850         * lib/mkstemp.h: New file, since some standard headers
52851         #define mkstemp.
52852         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
52853         Include "mkstemp.h".
52854         Make the _LIBC code resemble glibc original more,
52855         e.g., use K&R style.
52856         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
52857         (mkstemp): Remove, since mkstemp.h does this for us.
52858         * lib/stdlib--.h: Include mkstemp.h.
52859
52860         Import this patch from libc:
52861
52862         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
52863
52864         * lib/tempname.c (__gen_tempname): Change attempts_min
52865         into a macro.  Use preprocessor to decide how to initialize
52866         attempts [Coverity CID 67].
52867
52868 2006-09-20  Bruno Haible  <bruno@clisp.org>
52869
52870         * lib/mkdtemp.c: Import from libc.
52871         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
52872                 * sysdeps/posix/tempname.c (__gen_tempname): Change
52873                 attempts_min into a macro.  Use preprocessor to decide how to
52874                 initialize attempts [Coverity CID 67].
52875         2001-11-27  Paul Eggert  <eggert@twinsun.com>
52876                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
52877                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
52878
52879 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52880
52881         * gnulib-tool (func_exit): New function, to allow to pass the
52882         exit status portably through the trap.  Use everywhere.
52883         (--help, --version): Signal a write error.
52884         (trap): catch SIGPIPE, for write errors.
52885         Exit at the end of the trap, with the correct exit status.
52886
52887 2006-09-19  Karl Berry  <karl@gnu.org>
52888
52889         * doc/gnulib.texi: note about the license texinfo files.
52890
52891 2006-09-19  Eric Blake  <ebb9@byu.net>
52892
52893         * gnulib-tool: Avoid space-tab.
52894
52895 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
52896
52897         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
52898         that prevented coreutils 6.1 from building.  Problem reported
52899         by Petter Reinholdtsen.
52900
52901 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
52902
52903         * gnulib-tool (avoidlist): Fix typo that broke options like
52904         --avoid=lock that are used by coreutils bootstrap.
52905
52906 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
52907
52908         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
52909         more systematically.
52910
52911 2006-09-18  Jim Meyering  <jim@meyering.net>
52912
52913         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
52914
52915 2006-09-18  Bruno Haible  <bruno@clisp.org>
52916
52917         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
52918
52919 2006-09-18  Bruno Haible  <bruno@clisp.org>
52920
52921         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
52922         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
52923         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
52924         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
52925         * m4/gettext.m4: Require autoconf >= 2.52.
52926         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
52927         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
52928         of gl_cv_header_inttypes_h.
52929
52930 2006-09-18  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/javaversion.c: Include configmake.h.
52933
52934 2006-09-18  Bruno Haible  <bruno@clisp.org>
52935
52936         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
52937         avoid that the while loops be executed in a subshell.
52938
52939 2006-09-18  Bruno Haible  <bruno@clisp.org>
52940
52941         * MODULES.html.sh (func_module): Break long lines.
52942         Suggested by Bruce Korb <bkorb@gnu.org>.
52943
52944 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52945
52946         Speed up by a factor of 1.12.
52947         * gnulib-tool (nl): New variable.
52948         (func_import): Rewrite include directive extraction to only read each
52949         directive once.
52950
52951 2006-09-17  Bruno Haible  <bruno@clisp.org>
52952
52953         * modules/javaversion (Makefile.am): Remove DEFS setting.
52954         (Depends-on): Add configmake, for PKGDATADIR definition.
52955
52956 2006-09-17  Bruno Haible  <bruno@clisp.org>
52957
52958         * gnulib-tool (func_create_testdir): Rewrite all files at once.
52959
52960 2006-09-17  Bruno Haible  <bruno@clisp.org>
52961
52962         * gnulib-tool (func_append): New function, stolen from libtool.m4.
52963         (func_modules_transitive_closure, func_modules_add_dummy,
52964         func_modules_to_filelist, func_import, func_create_testdir,
52965         func_create_megatestdir, ...): Use it wherever possible.
52966         Suggested by Ralf Wildenhues.
52967
52968 2006-09-16  Karl Berry  <karl@gnu.org>
52969
52970         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
52971         to avoid sectioning errors.
52972         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
52973         [ifinfo]: blank line after @center-ed titles.
52974         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
52975         Spell FSF address consistently with others.
52976         (These changes approved by rms.)
52977
52978 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52979
52980         Speed up by a factor of 1.61.
52981         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
52982         already checked module names again.
52983
52984 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52985
52986         Speed up by a factor of 1.13.
52987         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
52988         for new_files, and the input to func_add_or_update.
52989
52990 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52991
52992         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
52993         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
52994
52995 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
52996
52997         * modules/mkancesdirs (Depends-on): Add fcntl.
52998         * modules/savewd: New file.
52999         * MODULES.html.sh (File system functions): Add savewd.
53000
53001         * modules/configmake (Makefile.am): Add support for the
53002         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
53003
53004 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53005
53006         * m4/savewd.m4: New file.
53007
53008 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53009
53010         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
53011         (dirchownmod): New arg FD.  All callers changed.
53012         Use FD rather than opening the directory ourself, as opening is
53013         now the caller's responsibility.
53014         * lib/dirchownmod.h: Likewise.
53015         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
53016         hosts that require <sys/types.h> before <sys/stat.h>.  Include
53017         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
53018         (test_dir): Remove.
53019         (mkancesdirs): Return length of prefix of FILE that has already
53020         been made, or -2 if there is a child doing the work.  Redo
53021         algorithm so that it is O(N) rather than O(N**2).  Optimize away
53022         ".", and treat ".." specially since it might stray back into
53023         already-created areas.  Use a subprocess if necessary.  New arg
53024         WD; all users changed.  MAKE_DIR function should now return 1
53025         if it creates a directory that is not readable.  Return -2 if
53026         a child process is spun off.
53027         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
53028         Adjust signature to match code.
53029         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
53030         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
53031         all users changed.
53032         * lib/savewd.c, lib/savewd.h: New files.
53033
53034 2006-09-15  Jim Meyering  <jim@meyering.net>
53035
53036         * modules/rename-dest-slash: New module.
53037         * MODULES.html.sh (posix_compat): Add it here.
53038
53039         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
53040
53041 2006-09-15  Jim Meyering  <jim@meyering.net>
53042
53043         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
53044         file.
53045
53046         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
53047
53048 2006-09-15  Jim Meyering  <jim@meyering.net>
53049
53050         * lib/rename-dest-slash.c (has_trailing_slash): Use
53051         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
53052         (rpl_rename_dest_slash): Perform the cheaper trailing slash
53053         test before testing whether SRC is a directory.
53054         Suggestions from Bruno Haible.
53055
53056         Avoid a warning about an unused variable.
53057         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
53058         into the #ifdef block where it's used.
53059
53060         * lib/rename-dest-slash.c: New file.
53061
53062 2006-09-14  Bruno Haible  <bruno@clisp.org>
53063
53064         * lib/allocsa.c: Include <config.h> unconditionally.
53065         * lib/asnprintf.c: Likewise.
53066         * lib/asprintf.c: Likewise.
53067         * lib/c-strcasecmp.c: Likewise.
53068         * lib/c-strcasestr.c: Likewise.
53069         * lib/c-strncasecmp.c: Likewise.
53070         * lib/c-strstr.c: Likewise.
53071         * lib/classpath.c: Likewise.
53072         * lib/clean-temp.c: Likewise.
53073         * lib/concatpath.c: Likewise.
53074         * lib/copy-file.c: Likewise.
53075         * lib/csharpcomp.c: Likewise.
53076         * lib/csharpexec.c: Likewise.
53077         * lib/execute.c: Likewise.
53078         * lib/fatal-signal.c: Likewise.
53079         * lib/findprog.c: Likewise.
53080         * lib/fwriteerror.c: Likewise.
53081         * lib/gl_array_list.c: Likewise.
53082         * lib/gl_array_oset.c: Likewise.
53083         * lib/gl_avltree_list.c: Likewise.
53084         * lib/gl_avltree_oset.c: Likewise.
53085         * lib/gl_avltreehash_list.c: Likewise.
53086         * lib/gl_carray_list.c: Likewise.
53087         * lib/gl_linked_list.c: Likewise.
53088         * lib/gl_linkedhash_list.c: Likewise.
53089         * lib/gl_list.c: Likewise.
53090         * lib/gl_oset.c: Likewise.
53091         * lib/gl_rbtree_list.c: Likewise.
53092         * lib/gl_rbtree_oset.c: Likewise.
53093         * lib/gl_rbtreehash_list.c: Likewise.
53094         * lib/imaxabs.c: Likewise.
53095         * lib/imaxdiv.c: Likewise.
53096         * lib/javacomp.c: Likewise.
53097         * lib/javaexec.c: Likewise.
53098         * lib/javaversion.c: Likewise.
53099         * lib/linebreak.c: Likewise.
53100         * lib/localcharset.c: Likewise.
53101         * lib/lock.c: Likewise.
53102         * lib/mbchar.c: Likewise.
53103         * lib/mbswidth.c: Likewise.
53104         * lib/mkdtemp.c: Likewise.
53105         * lib/pipe.c: Likewise.
53106         * lib/printf-args.c: Likewise.
53107         * lib/printf-parse.c: Likewise.
53108         * lib/progname.c: Likewise.
53109         * lib/progreloc.c: Likewise.
53110         * lib/readlink.c: Likewise.
53111         * lib/sh-quote.c: Likewise.
53112         * lib/stpcpy.c: Likewise.
53113         * lib/stpncpy.c: Likewise.
53114         * lib/strcasecmp.c: Likewise.
53115         * lib/strcasestr.c: Likewise.
53116         * lib/strcspn.c: Likewise.
53117         * lib/striconv.c: Likewise.
53118         * lib/strncasecmp.c: Likewise.
53119         * lib/strnlen1.c: Likewise.
53120         * lib/strstr.c: Likewise.
53121         * lib/strtok_r.c: Likewise.
53122         * lib/tls.c: Likewise.
53123         * lib/tmpdir.c: Likewise.
53124         * lib/unicodeio.c: Likewise.
53125         * lib/unsetenv.c: Likewise.
53126         * lib/vasnprintf.c: Likewise.
53127         * lib/vasprintf.c: Likewise.
53128         * lib/wait-process.c: Likewise.
53129         * lib/xallocsa.c: Likewise.
53130         * lib/xsetenv.c: Likewise.
53131         * lib/xstriconv.c: Likewise.
53132
53133 2006-09-13  Simon Josefsson  <jas@extundo.com>
53134
53135         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
53136         that internally, suggested by Ralf Wildenhues
53137         <Ralf.Wildenhues@gmx.de>.
53138
53139 2006-09-13  Simon Josefsson  <jas@extundo.com>
53140
53141         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
53142         @LIBOBJS@.
53143         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53144
53145 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
53146
53147         * lib/_fpending.c: Include <config.h> unconditionally, since we no
53148         longer worry about uses that don't define HAVE_CONFIG_H.
53149         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
53150         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
53151         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
53152         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
53153         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
53154         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
53155         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
53156         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
53157         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
53158         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
53159         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
53160         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
53161         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
53162         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
53163         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
53164         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
53165         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
53166         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
53167         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
53168         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
53169         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
53170         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
53171         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
53172         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
53173         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
53174         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
53175         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
53176         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
53177         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
53178         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
53179         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
53180         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
53181         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
53182         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
53183         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
53184         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
53185         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
53186         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
53187         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
53188         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
53189         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
53190         Likewise.
53191
53192 2006-09-13  Eric Blake  <ebb9@byu.net>
53193
53194         * lib/getopt.c: Fix typo in last commit.
53195
53196 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53197
53198         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
53199         dgettext.
53200
53201 2006-09-12  Jim Meyering  <jim@meyering.net>
53202
53203         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
53204         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
53205         Reported by Nelson H. F. Beebe.
53206
53207 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
53208
53209         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
53210         program_invocation_name and program_invocation_short_name are
53211         initialized.
53212         * lib/argp-namefrob.h: Move declarations of program_invocation_name
53213         and program_invocation_short_name to argp.h, so they are visible
53214         to user programs.
53215         * lib/argp.h: Likewise
53216
53217 2006-09-10  Bruno Haible  <bruno@clisp.org>
53218
53219         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
53220         m4/inttypes_h.m4, m4/uintmax_t.m4.
53221
53222 2006-09-10  Bruno Haible  <bruno@clisp.org>
53223
53224         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
53225         gl_AC_TYPE_UINTMAX_T.
53226
53227 2006-09-10  Bruno Haible  <bruno@clisp.org>
53228
53229         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
53230
53231 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
53232
53233         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
53234         convention.  Text proposed by Bruno Haible.
53235         (struct argp_option): Document the use of N_() wrappers.
53236
53237         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
53238         '\v', and translate the two parts separately, instead of feeding
53239         the whole string to gettext.  This allows to exclude
53240         '\v' from the strings visible to the translator by writing doc
53241         strings as N_("..") "\v" N_("..").
53242
53243 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
53244
53245         * config/srclist.txt: Undo latest change; the bug was fixed.
53246
53247 2006-09-09  Bruno Haible  <bruno@clisp.org>
53248
53249         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
53250         assignments if building a library without libtool.
53251         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
53252         in func_emit_lib_Makefile_am.
53253         (func_import): When building a static library libfoo.a, arrange to
53254         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
53255         (func_create_testdir): Likewise.
53256         * modules/gc (configure.ac, Makefile.am): If building statically,
53257         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
53258         * modules/iconvme (configure.ac, Makefile.am): Likewise.
53259         * modules/striconv (configure.ac, Makefile.am): Likewise.
53260         Based on a suggestion by Ralf Wildenhues.
53261
53262 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53263
53264         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
53265         Check for unistd.h too, since Autoconf doesn't assume POSIX.
53266         Also:
53267
53268         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53269         Add year_2050_test to catch glibc bug 2821
53270         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
53271
53272         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53273         Prefer #ifdef to #if.
53274
53275         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
53276         Return from 'main' instead of calling 'exit'.
53277
53278 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53279
53280         * lib/mktime.c (guess_time_tm): Fix bug where mktime
53281         returned the maximum time_t value rather than (time_t) -1.
53282         Problem originally reported by William Bardwell
53283         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
53284
53285         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
53286         Moved to here ...
53287         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
53288         ... from here.
53289
53290 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53291
53292         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
53293         2821 is fixed.
53294
53295 2006-09-08  Jim Meyering  <jim@meyering.net>
53296
53297         Don't make generated files read-only.  That would bother too many
53298         people.  However, do retain the ability to work when targets are
53299         read-only: remove the destination and temporary files before writing
53300         them (when generated via sed or echo), or by using the -f option for
53301         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
53302         * modules/alloca-opt, modules/argz, modules/arpa_inet:
53303         * modules/byteswap, modules/configmake, modules/fcntl:
53304         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
53305         * modules/localcharset, modules/netinet_in, modules/poll:
53306         * modules/stdbool, modules/stdint, modules/sys_select:
53307         * modules/sys_socket, modules/sys_stat, modules/sysexits:
53308
53309 2006-09-08  Jim Meyering  <jim@meyering.net>
53310
53311         Avoid new build failure on FreeBSD 6.0.
53312         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
53313         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
53314         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
53315
53316 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53317
53318         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
53319
53320 2006-09-07  Jim Meyering  <jim@meyering.net>
53321
53322         Fix global typo in last change: use chmod u-w, not chmod u-x.
53323         Spotted by Paul Eggert and Bruce Korb.
53324         * modules/alloca-opt, modules/argz, modules/arpa_inet:
53325         * modules/byteswap, modules/configmake, modules/fcntl:
53326         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
53327         * modules/localcharset, modules/netinet_in, modules/poll:
53328         * modules/stdbool, modules/stdint, modules/sys_select:
53329         * modules/sys_socket, modules/sys_stat, modules/sysexits:
53330
53331 2006-09-06  Jim Meyering  <jim@meyering.net>
53332
53333         Make generated files be read-only.
53334         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
53335         Ensure that each generated file is now read-only.
53336         * modules/argz: Likewise.
53337         * modules/arpa_inet: Likewise.
53338         * modules/byteswap: Likewise.
53339         * modules/configmake: Likewise.
53340         * modules/fcntl: Likewise.
53341         * modules/fnmatch: Likewise.
53342         * modules/getopt: Likewise.
53343         * modules/glob: Likewise.
53344         * modules/inttypes: Likewise.
53345         * modules/netinet_in: Likewise.
53346         * modules/poll: Likewise.
53347         * modules/stdbool: Likewise.
53348         * modules/stdint: Likewise.
53349         * modules/sys_select: Likewise.
53350         * modules/sys_socket: Likewise.
53351         * modules/sys_stat: Likewise.
53352         * modules/sysexits: Likewise.
53353         * modules/localcharset: Same as above, but continue using temporary
53354         file named "t-$@" (why different?) rather than the "$@-t" used
53355         everywhere else.
53356
53357         * modules/sysexits (Makefile.am): Replace literal occurrences
53358         of "sysexit.h" more readable, and more consistent, "$@".
53359
53360 2006-09-06  Bruno Haible  <bruno@clisp.org>
53361
53362         * modules/striconv: New file.
53363         * modules/xstriconv: New file.
53364         * MODULES.html.sh (Internationalization functions): Add striconv,
53365         xstriconv.
53366
53367 2006-09-06  Bruno Haible  <bruno@clisp.org>
53368
53369         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
53370         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
53371         not using libtool correctly.
53372
53373 2006-09-06  Bruno Haible  <bruno@clisp.org>
53374
53375         * lib/striconv.h: New file.
53376         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
53377         iconvstring.c.
53378         * lib/xstriconv.h: New file.
53379         * lib/xstriconv.c: New file.
53380
53381 2006-09-06  Bruno Haible  <bruno@clisp.org>
53382
53383         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53384         lib_..._LDFLAGS.
53385
53386 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53387
53388         * lib/argz_.h: Sync from Libtool.
53389
53390         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
53391                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
53392
53393         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
53394
53395 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
53396
53397         * modules/trim: New file.
53398
53399 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
53400
53401         * lib/trim.h: New file.
53402         * lib/trim.c: New file.
53403
53404 2006-09-05  Bruno Haible  <bruno@clisp.org>
53405
53406         * MODULES.html.sh (String handling): Add trim.
53407
53408 2006-09-04  Karl Berry  <karl@gnu.org>
53409
53410         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
53411         until next release.
53412
53413 2006-09-03  Bruno Haible  <bruno@clisp.org>
53414
53415         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
53416         correctly.
53417
53418 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53419
53420         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
53421         not gl_GETLOADAVG.  Omit unneeded semicolons.
53422         Problems reported by Ralf Wildenhues in
53423         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
53424         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
53425         at the end, which is the usual gnulib style.
53426
53427         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
53428         of doing all the work ourselves.
53429         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
53430         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
53431
53432 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53433
53434         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
53435         Problem reported by Ralf Wildenhues in
53436         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
53437
53438         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
53439         HAVE_STRUCT_STATFS_F_FSTYPENAME.
53440
53441 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53442
53443         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
53444         yesterday's patch by changing test -n to test -z.
53445
53446 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53447
53448         * modules/getloadavg (Files): Add m4/getloadavg.m4.
53449         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
53450         the former is now obsolescent.
53451
53452         * modules/chdir-long (Depends-on): Add fcntl.
53453
53454 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53455
53456         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
53457         obsolescent, and programs should use gnulib instead.
53458         * m4/getloadavg.m4: New file, with contents taken from Autoconf
53459         but with prefixes changed.
53460
53461 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53462
53463         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
53464         or stdbool.h, because they might not exist while configuring.
53465
53466         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
53467         Don't include unistd.h or limits.h; not needed, since chdir-long.h
53468         does that for us.
53469         (O_DIRECTORY): Remove.
53470
53471 2006-08-31  Eric Blake  <ebb9@byu.net>
53472
53473         * gnulib-tool: Don't let emacs change spaces to TAB.
53474
53475 2006-08-31  Bruno Haible  <bruno@clisp.org>
53476
53477         * gnulib-tool: When calling func_import more than once, do it in a
53478         subshell.
53479         Reported by Eric Blake <ebb9@byu.net>.
53480
53481 2006-08-31  Bruno Haible  <bruno@clisp.org>
53482
53483         * gnulib-tool (nl): Remove variable.
53484         (sed_transform_lib_file): Use more robust test for config-h module.
53485         (func_import): Fix typo in 2006-08-25 patch.
53486
53487 2006-08-31  Bruno Haible  <bruno@clisp.org>
53488
53489         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
53490         specified, augment Makefile.am variables instead of assigning them.
53491
53492 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
53493
53494         Work around a bug in both the Linux and SunOS 64-bit kernels:
53495         nanosleep mishandles sleeps for longer than 2**31 seconds.
53496         Problem reported by Frank v Waveren in
53497         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
53498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
53499         Check for nanosleep bug.
53500         (LIB_NANOSLEEP): Append clock_gettime library if needed.
53501
53502 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
53503
53504         Work around a bug in both the Linux and SunOS 64-bit kernels:
53505         nanosleep mishandles sleeps for longer than 2**31 seconds.
53506         Problem reported by Frank v Waveren in
53507         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
53508         * lib/nanosleep.c (BILLION): New constant.
53509         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
53510         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
53511         implementation.
53512
53513 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
53514
53515         * modules/nanosleep (Depends-on): Add gettime.
53516
53517 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
53518         and Simon Josefsson  <jas@extundo.com>
53519         and Oskar Liljeblad  <oskar@osk.mine.nu>
53520
53521         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
53522         * gnulib-tool (func_import): New license type 'unmodifiable license
53523         text'.
53524         * modules/fdl: Use it.  Longer description.
53525         * module/gpl, module/lgpl: New files.
53526
53527 2006-08-30  Jim Meyering  <jim@meyering.net>
53528
53529         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
53530         shadowing the parameter.
53531
53532 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53533
53534         Sync from Libtool:
53535
53536         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53537
53538         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
53539         sharing with gnulib.  Report by Eric Blake.
53540
53541 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
53542
53543         * modules/isapipe: New file.
53544         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
53545
53546 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
53547
53548         * modules/configmake (Makefile.am): Add a comment, and omit
53549         the CONFIGMAKE_ prefix from generated macro names.  Suggested
53550         by Bruno Haible.
53551
53552 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
53553
53554         * m4/isapipe.m4: New file.
53555
53556 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
53557
53558         * lib/isapipe.c, lib/isapipe.h: New files.
53559
53560 2006-08-29  Jim Meyering  <jim@meyering.net>
53561
53562         * modules/configmake (Makefile.am): Make configmake.h depend on
53563         Makefile.  Otherwise, a stale configmake.h could hang around.
53564
53565 2006-08-29  Eric Blake  <ebb9@byu.net>
53566
53567         * lib/error.c (error_at_line, print_errno_message): Match libc, after
53568         resolution of upstream bug 3044.
53569
53570 2006-08-29  Bruno Haible  <bruno@clisp.org>
53571
53572         * modules/localcharset (Depends-on): Add configmake.
53573         (Makefile.am): Remove setting of LIBDIR through DEFS.
53574
53575 2006-08-29  Bruno Haible  <bruno@clisp.org>
53576
53577         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
53578         defined.
53579
53580 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
53581
53582         * modules/fcntl: New file.
53583         * modules/chdir-safer (Depends-on): Add fcntl.
53584         * modules/fts: Likewise.
53585         * modules/mkdir-p: Likewise.
53586
53587         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
53588         This undoes the most recent change, since we're now addressing the
53589         problem in a different way.
53590
53591         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
53592         into output, since the output might be called Makefile.am even
53593         if $makefile_name is something different.
53594         (func_import): Use $makefile_am rather than
53595         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
53596         empty.
53597
53598         * modules/inttypes (Files): Add m4/inttypes-h.m4.
53599
53600 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
53601
53602         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
53603         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
53604         recent change to stdint.m4, since we're now addressing the problem in a
53605         different way.
53606
53607 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
53608
53609         * m4/fcntl_h.m4: New file.
53610
53611 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
53612
53613         * lib/fcntl_.h: New file.
53614         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
53615         the fcntl module.
53616         * lib/dirchownmod.c: Likewise.
53617         * lib/fts.c: Likewise.
53618
53619         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
53620         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
53621         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
53622         just before including <inttypes.h>, to avoid circular inclusion.
53623
53624 2006-08-28  Jim Meyering  <jim@meyering.net>
53625
53626         * doc/visibility.texi: Actually read and correct the grammar of the
53627         sentence affected by yesterday's change.
53628
53629 2006-08-28  Eric Blake  <ebb9@byu.net>
53630
53631         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
53632         needs wrapper.
53633
53634 2006-08-28  Eric Blake  <ebb9@byu.net>
53635
53636         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
53637
53638 2006-08-28  Eric Blake  <ebb9@byu.net>
53639
53640         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
53641
53642 2006-08-28  Bruno Haible  <bruno@clisp.org>
53643
53644         * modules/c-strstr: New file, from GNU gettext.
53645         * MODULES.html.sh (String handling): Add c-strstr.
53646
53647 2006-08-28  Bruno Haible  <bruno@clisp.org>
53648
53649         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
53650         macros.
53651         Reported by Eric Blake.
53652
53653 2006-08-28  Bruno Haible  <bruno@clisp.org>
53654
53655         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
53656         (VASNPRINTF): Return a string of length > INT_MAX without failing.
53657         * lib/vasprintf.c: Include errno.h, limits.h.
53658         (EOVERFLOW): New fallback definition.
53659         (vasprintf): Test here whether the string length is > INT_MAX.
53660         * lib/vsnprintf.c: Include errno.h, limits.h.
53661         (EOVERFLOW): New fallback definition.
53662         (vsnprintf): Fix bug when generated string was too long for the buffer.
53663         Test here whether the string length is > INT_MAX.
53664
53665 2006-08-28  Bruno Haible  <bruno@clisp.org>
53666
53667         * lib/inttypes_.h (SCNX*): Remove definitions.
53668         Reported by Eric Blake.
53669
53670 2006-08-28  Bruno Haible  <bruno@clisp.org>
53671
53672         * lib/c-strstr.h: New file, from GNU gettext.
53673         * lib/c-strstr.c: New file, from GNU gettext.
53674
53675 2006-08-28  Bruno Haible  <bruno@clisp.org>
53676
53677         * gnulib-tool: Reorder some statements.
53678
53679 2006-08-28  Bruno Haible  <bruno@clisp.org>
53680
53681         * gnulib-tool: New option --makefile-name.
53682         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
53683         $makefile_name.
53684         (func_import): Write $makefile_name to the cache file, and read it from
53685         there unless explicitly specified. Use $makefile_name as file name
53686         instead of Makefile.am. Adjust the recommendations accordingly.
53687
53688 2006-08-28  Bruno Haible  <bruno@clisp.org>
53689
53690         * gnulib-tool (func_verify_module): Check against misapplying patch.
53691
53692 2006-08-28  Bruno Haible  <bruno@clisp.org>
53693
53694         * gnulib-tool (func_relativize, func_relconcat): New functions.
53695         Give an error if --local-dir is given with --update.
53696         Remove trailing slashes from $local_gnulib_dir.
53697         (func_import): Store the relativized $local_gnulib_dir in
53698         gnulib-cache.m4, and read it from there if not specified explicitly.
53699
53700 2006-08-28  Bruno Haible  <bruno@clisp.org>
53701
53702         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
53703         is the current directory. Respect also $local_gnulib_dir.
53704
53705 2006-08-28  Bruno Haible  <bruno@clisp.org>
53706             Simon Josefsson  <jas@extundo.com>
53707
53708         BeOS portability.
53709         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
53710
53711 2006-08-27  Jim Meyering  <jim@meyering.net>
53712
53713         * doc/visibility.texi: Remove duplicate word: "pointer".
53714
53715 2006-08-26  Bruno Haible  <bruno@clisp.org>
53716
53717         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
53718         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
53719         (Makefile.am): Create inttypes.h from inttypes_.h.
53720         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
53721
53722         * modules/imaxabs: New file.
53723
53724         * modules/imaxdiv: New file.
53725
53726 2006-08-26  Bruno Haible  <bruno@clisp.org>
53727
53728         * m4/inttypes.m4: New file.
53729         * m4/_inttypes_h.m4: Remove file.
53730         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
53731         PRI_MACROS_BROKEN.
53732         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
53733
53734         * m4/imaxabs.m4: New file.
53735
53736         * m4/imaxdiv.m4: New file.
53737
53738 2006-08-26  Bruno Haible  <bruno@clisp.org>
53739
53740         * lib/inttypes_.h: New file.
53741         * lib/inttypes.h: Remove file.
53742         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
53743
53744         * lib/imaxabs.c: New file.
53745
53746         * lib/imaxdiv.c: New file.
53747
53748 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53749
53750         New config-h module, so that "make" output needn't be cluttered
53751         by -DHAVE_CONFIG_H.
53752         * MODULES.html.sh (Support for building libraries and executables):
53753         Add config-h.
53754         * modules/config-h: New file.
53755         * gnulib-tool (nl, sed_transform_lib_file): New vars.
53756         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
53757         the config-h module is used.
53758
53759         New configmake module, so that "make" output needn't be cluttered
53760         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
53761         * MODULES.html.sh (Support for building libraries and executables):
53762         Add configmake.
53763         * modules/configmake: New file.
53764
53765 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53766
53767         * m4/config-h.m4: New file.
53768
53769 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53770
53771         * config/srclist.txt: Add elisp-comp.
53772
53773 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53774
53775         * MODULES.html.sh (Support for building libraries and executables):
53776         Add elisp-comp.
53777         * build-aux/elisp-comp: New file.
53778         * modules/elisp-comp: New file.
53779
53780 2006-08-24  Bruno Haible  <bruno@clisp.org>
53781
53782         * gnulib-tool (func_create_testdir): Use non-default values of
53783         sourcebase and m4base.
53784
53785 2006-08-24  Bruno Haible  <bruno@clisp.org>
53786
53787         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
53788         HTML structure.
53789
53790 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
53791
53792         * modules/openat (Depends-on): Add lchown.
53793
53794 2006-08-23  Bruno Haible  <bruno@clisp.org>
53795
53796         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
53797         of gl_LOCK_EARLY instead of gl_LOCK.
53798
53799 2006-08-23  Bruno Haible  <bruno@clisp.org>
53800
53801         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
53802         on OSF/1 to no.
53803         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
53804
53805 2006-08-23  Bruno Haible  <bruno@clisp.org>
53806
53807         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
53808         as unusable.
53809
53810         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
53811         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
53812         (gl_LOCK): New macro.
53813
53814 2006-08-22  Simon Josefsson  <jas@extundo.com>
53815
53816         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
53817         to md5 module.
53818
53819 2006-08-22  Simon Josefsson  <jas@extundo.com>
53820
53821         * MODULES.html.sh: Add "Support for maintaining and release
53822         projects".
53823
53824         * build-aux/gnupload: New file, from coreutils.
53825
53826 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
53827
53828         Avoid the need for AC_LIBSOURCES in m4 macros.
53829         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
53830         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
53831         * modules/check-version (EXTRA_DIST): Add check-version.h.
53832         * modules/crc (EXTRA_DIST): Add crc.h.
53833         * modules/des (EXTRA_DIST): Add des.h.
53834         * modules/gc (EXTRA_DIST): Add gc.h.
53835         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
53836         * modules/getline (EXTRA_DIST): Add getline.h.
53837         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
53838         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
53839         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
53840         * modules/md2 (EXTRA_DIST): Add md2.h.
53841         * modules/md4 (EXTRA_DIST): Add md4.h.
53842         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
53843         * modules/read-file (EXTRA_DIST): Add read-file.h.
53844         * modules/readline (EXTRA_DIST): Add readline.h.
53845         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
53846         rijndael-api-fst.h.
53847
53848 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
53849
53850         * m4/rijndael.m4 (gl_ARCFOUR):
53851         * m4/arctwo.m4 (gl_ARCTWO):
53852         * m4/check-version.m4 (gl_CHECK_VERSION):
53853         * m4/crc.m4 (gl_CRC):
53854         * m4/des.m4 (gl_DES):
53855         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
53856         * m4/gc.m4 (gl_GC):
53857         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
53858         * m4/getline.m4 (gl_FUNC_GETLINE):
53859         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
53860         * m4/hmac-md5.m4 (gl_HMAC_MD5):
53861         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
53862         * m4/md2.m4 (gl_MD2):
53863         * m4/md4.m4 (gl_MD4):
53864         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
53865         * m4/read-file.m4 (gl_FUNC_READ_FILE):
53866         * m4/readline.m4 (gl_FUNC_READLINE):
53867         * m4/rijndael.m4 (gl_RIJNDAEL):
53868         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
53869         to get the necessary .h files and whatnot.
53870
53871 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
53872
53873         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
53874         gnulib rather than the other way around.
53875         * config/srclistvars.sh (COREUTILS): Remove.
53876
53877 2006-08-22  Jim Meyering  <jim@meyering.net>
53878
53879         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
53880
53881         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
53882
53883 2006-08-22  Eric Blake  <ebb9@byu.net>
53884
53885         * modules/regexprops-generic: New file.
53886         * MODULES.html.sh (Support for building documentation): List it.
53887
53888 2006-08-22  Eric Blake  <ebb9@byu.net>
53889
53890         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
53891         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
53892         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
53893         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
53894
53895 2006-08-22  Bruno Haible  <bruno@clisp.org>
53896
53897         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
53898         and lib_LTLIBRARIES like the other lib_* variables.
53899
53900 2006-08-22  Bruno Haible  <bruno@clisp.org>
53901
53902         * build-aux/x-to-1.in: New file, from GNU gettext.
53903
53904 2006-08-22  Bruno Haible  <bruno@clisp.org>
53905
53906         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
53907         <utmpx.h> exists.
53908
53909 2006-08-22  Bruno Haible  <bruno@clisp.org>
53910
53911         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
53912         <utmpx.h> exists.
53913
53914 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
53915
53916         BeOS portability.
53917         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
53918         exist.
53919         Problem reported by Bruno Haible.
53920
53921 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
53922
53923         Avoid the need for AC_LIBSOURCES in m4 macros.
53924         * modules/acl (EXTRA_DIST): Add acl.h.
53925         * modules/argmatch (Files): Add m4/argmatch.m4.
53926         (configure.ac): Add gl_ARGMATCH.
53927         (EXTRA_DIST): Renamed from lib_SOURCES, for
53928         consistency with the other modules.  Remove argmatch.c.
53929         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
53930         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
53931         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
53932         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
53933         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
53934         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
53935         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
53936         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
53937         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
53938         * modules/closeout (EXTRA_DIST): Add closeout.h.
53939         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
53940         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
53941         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
53942         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
53943         dirname.h; remove basename.c and stripslash.c.
53944         * modules/exclude (EXTRA_DIST): Add exclude.h.
53945         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
53946         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
53947         * modules/file-type (EXTRA_DIST): Add file-type.h.
53948         * modules/filemode (EXTRA_DIST): Add filemode.h.
53949         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
53950         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
53951         * modules/fpending (EXTRA_DIST): Add __fpending.h.
53952         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
53953         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
53954         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
53955         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
53956         * modules/getdate (EXTRA_DIST): Add getdate.c.
53957         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
53958         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
53959         * modules/getpass (EXTRA_DIST): Add getpass.h.
53960         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
53961         * modules/group-member (EXTRA_DIST): Add group-member.h.
53962         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
53963         * modules/hash (EXTRA_DIST): Add hash.h.
53964         * modules/human (EXTRA_DIST): Add human.h.
53965         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
53966         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
53967         * modules/lchown (EXTRA_DIST): Add lchown.h.
53968         * modules/long-options (EXTRA_DIST): Add long-options.h.
53969         * modules/lstat (EXTRA_DIST): Add lstat.h.
53970         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
53971         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
53972         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
53973         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
53974         * modules/memxor (EXTRA_DIST): Add memxor.h.
53975         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
53976         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
53977         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
53978         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
53979         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
53980         * modules/physmem (EXTRA_DIST): Add physmem.h.
53981         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
53982         * modules/posixver (EXTRA_DIST): Add posixver.h.
53983         * modules/quote (EXTRA_DIST): Add quote.h.
53984         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
53985         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
53986         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
53987         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
53988         regex_internal.h regexec.c.
53989         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
53990         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
53991         * modules/same (EXTRA_DIST): Add same.h.
53992         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
53993         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
53994         * modules/savedir (EXTRA_DIST): Add savedir.h.
53995         * modules/sha1 (EXTRA_DIST): Add sha1.h.
53996         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
53997         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
53998         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
53999         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
54000         * modules/strdup (EXTRA_DIST): Add strdup.h.
54001         * modules/strftime (EXTRA_DIST): Add strftime.h.
54002         * modules/strndup (EXTRA_DIST): Add strndup.h.
54003         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
54004         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
54005         * modules/time_r (EXTRA_DIST): Add time_r.h.
54006         * modules/timespec (EXTRA_DIST): Add timespec.h.
54007         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
54008         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
54009         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
54010         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
54011         * modules/userspec (EXTRA_DIST): Add userspec.h.
54012         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
54013         * modules/utimens (EXTRA_DIST): Add utimens.h.
54014         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
54015         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
54016         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
54017         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
54018         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
54019         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
54020         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
54021         * modules/yesno (EXTRA_DIST): Add yesno.h.
54022
54023 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
54024
54025         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
54026
54027         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
54028         * m4/dev-ino.m4, same-inode.m4: Remove.
54029
54030         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
54031         * m4/acl.m4 (AC_FUNC_ACL):
54032         * m4/backupfile.m4 (gl_BACKUPFILE):
54033         * m4/c-strtod.m4 (gl_C99_STRTOLD):
54034         * m4/canon-host.m4 (gl_CANON_HOST):
54035         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54036         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
54037         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
54038         * m4/cloexec.m4 (gl_CLOEXEC):
54039         * m4/close-stream.m4 (gl_CLOSE_STREAM):
54040         * m4/closeout.m4 (gl_CLOSEOUT):
54041         * m4/dirfd.m4 (gl_FUNC_DIRFD):
54042         * m4/dirname.m4 (gl_DIRNAME):
54043         * m4/exclude.m4 (gl_EXCLUDE):
54044         * m4/exitfail.m4 (gl_EXITFAIL):
54045         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
54046         * m4/file-type.m4 (gl_FILE_TYPE):
54047         * m4/filemode.m4 (gl_FILEMODE):
54048         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
54049         * m4/fpending.m4 (gl_FUNC_FPENDING):
54050         * m4/fprintftime.m4 (gl_FPRINTFTIME):
54051         * m4/fts.m4 (gl_FUNC_FTS):
54052         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
54053         * m4/getdate.m4 (gl_GETDATE):
54054         * m4/gethrxtime.m4 (gl_GETHRXTIME):
54055         * m4/getpagesize.m4 (gl_GETPAGESIZE):
54056         * m4/getpass.m4 (gl_FUNC_GETPASS):
54057         * m4/gettime.m4 (gl_GETTIME):
54058         * m4/getugroups.m4 (gl_GETUGROUPS):
54059         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
54060         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
54061         * m4/hard-locale.m4 (gl_HARD_LOCALE):
54062         * m4/hash.m4 (gl_HASH):
54063         * m4/idcache.m4 (gl_IDCACHE):
54064         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
54065         * m4/lchown.m4 (gl_FUNC_LCHOWN):
54066         * m4/long-options.m4 (gl_LONG_OPTIONS):
54067         * m4/lstat.m4 (gl_FUNC_LSTAT):
54068         * m4/md5.m4 (gl_MD5):
54069         * m4/memcasecmp.m4 (gl_MEMCASECMP):
54070         * m4/memcoll.m4 (gl_MEMCOLL):
54071         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
54072         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
54073         * m4/memxor.m4 (gl_MEMXOR):
54074         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
54075         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
54076         * m4/modechange.m4 (gl_MODECHANGE):
54077         * m4/mountlist.m4 (gl_MOUNTLIST):
54078         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54079         * m4/openat.m4 (gl_FUNC_OPENAT):
54080         * m4/pathmax.m4 (gl_PATHMAX):
54081         * m4/physmem.m4 (gl_PHYSMEM):
54082         * m4/posixtm.m4 (gl_POSIXTM):
54083         * m4/posixver.m4 (gl_POSIXVER):
54084         * m4/quote.m4 (gl_QUOTE):
54085         * m4/quotearg.m4 (gl_QUOTEARG):
54086         * m4/readtokens.m4 (gl_READTOKENS):
54087         * m4/readutmp.m4 (gl_READUTMP):
54088         * m4/regex.m4 (gl_REGEX):
54089         * m4/safe-read.m4 (gl_SAFE_READ):
54090         * m4/safe-write.m4 (gl_SAFE_WRITE):
54091         * m4/same.m4 (gl_SAME):
54092         * m4/save-cwd.m4 (gl_SAVE_CWD):
54093         * m4/savedir.m4 (gl_SAVEDIR):
54094         * m4/settime.m4 (gl_SETTIME):
54095         * m4/sha1.m4 (gl_SHA1):
54096         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
54097         * m4/stat-macros.m4 (gl_STAT_MACROS):
54098         * m4/stat-time.m4 (gl_STAT_TIME):
54099         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
54100         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
54101         * m4/strdup.m4 (gl_FUNC_STRDUP):
54102         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
54103         * m4/strndup.m4 (gl_FUNC_STRNDUP):
54104         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
54105         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
54106         * m4/time_r.m4 (gl_TIME_R):
54107         * m4/timespec.m4 (gl_TIMESPEC):
54108         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
54109         * m4/unlinkdir.m4 (gl_UNLINKDIR):
54110         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
54111         * m4/userspec.m4 (gl_USERSPEC):
54112         * m4/utimecmp.m4 (gl_UTIMECMP):
54113         * m4/utimens.m4 (gl_UTIMENS):
54114         * m4/xalloc.m4 (gl_XALLOC):
54115         * m4/xgetcwd.m4 (gl_XGETCWD):
54116         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
54117         * m4/xreadlink.m4 (gl_XREADLINK):
54118         * m4/xstrtod.m4 (gl_XSTRTOD):
54119         * m4/yesno.m4 (gl_YESNO):
54120         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
54121         to get the necessary .h files and whatnot.
54122
54123 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
54124             Bruno Haible  <bruno@clisp.org>
54125
54126         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
54127         /bin/sh understanding of '!' conditional negation.
54128
54129 2006-08-21  Jim Meyering  <jim@meyering.net>
54130
54131         * modules/openat (Depends-on): Really alphabetize.
54132
54133         * modules/acl (Depends-on): Add error and quote.
54134
54135         * check-module (find_included_lib_files): Add at-func.c to the
54136         ok-to-include-more-than-once white list.
54137
54138         * modules/openat (Depends-on): Add lstat.  Alphabetize.
54139
54140 2006-08-21  Bruno Haible  <bruno@clisp.org>
54141
54142         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54143         Emit a pkgdata_DATA variable only if some snippets add contents to it.
54144         Reported by Martin Lambers <marlam@marlam.de>.
54145
54146 2006-08-21  Bruno Haible  <bruno@clisp.org>
54147
54148         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
54149         specify an installation location, don't emit a noinst_LIBRARIES or
54150         noinst_LTLIBRARIES assignment.
54151
54152 2006-08-21  Bruno Haible  <bruno@clisp.org>
54153
54154         BeOS portability.
54155         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
54156         BeOS has mbrtowc() but no <wctype.h>.
54157
54158 2006-08-21  Bruno Haible  <bruno@clisp.org>
54159
54160         BeOS portability.
54161         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
54162         exist.
54163
54164 2006-08-21  Bruno Haible  <bruno@clisp.org>
54165
54166         BeOS portability.
54167         * lib/mbchar.h: Include <wctype.h> only if it exists.
54168
54169 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54170
54171         Remove files that are no longer needed by their respective modules.
54172         * m4/obstack.m4: Remove.
54173         * m4/strerror_r.m4: Remove.
54174         * m4/uint32_t.m4: Remove.
54175         * m4/uintptr_t.m4: Remove.
54176         * m4/ullong_max.m4: Remove.
54177         * m4/xstrtoimax.m4: Remove.
54178         * m4/xstrtoumax.m4: Remove.
54179
54180         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
54181         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
54182         dependencies now capture this.
54183
54184         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
54185         Do not use AC_LIBSOURCES, since gnulib modules now do this.
54186         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
54187         * m4/human.m4 (gl_HUMAN): Likewise.
54188         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
54189         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
54190
54191         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
54192
54193         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
54194         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
54195         stdint.
54196         * m4/human.m4 (gl_HUMAN): Likewise.
54197         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
54198         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
54199         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
54200         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
54201         * m4/xstrtol (gl_XSTRTOL): Likewise.
54202
54203         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
54204         AC_TYPE_LONG_LONG_INT.
54205         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
54206         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
54207         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
54208         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
54209
54210         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
54211         on stdbool.
54212
54213         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
54214         (gl_PREREQ_XSTRTOUL): Remove.
54215
54216         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
54217
54218         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
54219         mode.
54220
54221 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54222
54223         Add and change modules to make it easier for coreutils to use
54224         gnulib-tool.
54225         * modules/backupfile (Files): Remove m4/d-ino.m4.
54226         (Depends-on): Add d-ino.
54227         * modules/cycle-check (Depends-on): Add stdint.
54228         (lib_SOURCES): Add cycle-check.h.
54229         * modules/d-ino: New module.
54230         * modules/d-type: New module.
54231         * modules/error (Files): Remove m4/strerror_r.m4.
54232         * modules/filemode (Files): Add m4/st_dm_mode.m4.
54233         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
54234         m4/inttypes_h.m4, m4/uintmax_t.m4.
54235         (Depends-on): Add stdint.
54236         (lib_SOURCES): Add fsusage.h.
54237         * modules/getcwd (Files): Remove d-ino.m4.
54238         (Depends-on): Add d-ino.
54239         * modules/getndelim2 (Depends-on): Add stdint.
54240         * modules/glob (Files): Remove m4/d-type.m4.
54241         (Depends-on): Add d-type.
54242         * modules/host-os: New module.
54243         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
54244         m4/inttypes_h.m4, m4/uintmax_t.m4.
54245         * Depends-on: Add stdint.
54246         (lib_SOURCES): Add human.h.
54247         * modules/inttostr (Files): Remove m4/intmax_t.m4,
54248         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
54249         m4/uintmax_t.m4, m4/ulonglong.m4.
54250         (Depends-on): Add stdint.
54251         (EXTRA_DIST): Add inttostr.h.
54252         * modules/lchmod: New module.
54253         * modules/link-follow: New module.
54254         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
54255         (Depends-on): Add lchmod.
54256         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
54257         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
54258         (Depends-on): Add stdint.
54259         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
54260         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
54261         (Depends-on): Add stdint.
54262         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
54263         * modules/perl: New module.
54264         * modules/regex (Depends-on): Add stdint.
54265         * modules/rmdir-errno: New module.
54266         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
54267         m4/intmax_t.m4.
54268         (Depends-on): Add stdint.
54269         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
54270         m4/uintmax_t.m4.
54271         (Depends-on): Add stdint.
54272         * modules/unlink-busy: New module.
54273         * modules/utimecmp (Depends-on): Add stdint.
54274         * modules/uptime: New module.
54275         * modules/winsz-ioctl: New module.
54276         * modules/winsz-termios: New module.
54277         * modules/xnanosleep (Depends-on): Add nanosleep.
54278         * modules/ullong_max: Remove.
54279         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
54280         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
54281         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
54282         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
54283         (Depends-on): Add inttypes.
54284         (lib_SOURCES): Add xstrtol.h.
54285         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
54286         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
54287         * MODULES.html.sh: Move 'assert' into the assert section.
54288         Move 'dummy' into the linking section.
54289         Remove ullong_max.
54290         Add section for compatibility checks for POSIX:2001 functions,
54291         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
54292         winsz-ioctl, and winsz-termios into it.
54293         Add lchmod.
54294         Add top-level Misc section and put host-os, perl, and uptime
54295         into it.
54296
54297 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54298
54299         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
54300         now assume the stdint module.  Do not include inttypes.h.
54301         * lib/fsusage.h: Likewise.
54302         * lib/getndelim2.c: Likewise.
54303         * lib/human.h: Likewise.
54304         * lib/inttostr.h: Likewise.
54305         * lib/obstack.c: Likewise.
54306         * lib/regex_internal.h: Likewise.
54307         * lib/tempname.c: Likewise.
54308         * lib/utimecmp.c: Likewise.
54309         * lib/xstrtol.h: Likewise.
54310
54311         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
54312
54313         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
54314         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
54315         * lib/xtime.h: Likewise.
54316
54317 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54318
54319         * modules/openat (Files): Add lib/fchmodat.c.
54320         Fixes problem reported by Jay Youngman.
54321
54322 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54323
54324         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
54325         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
54326
54327 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
54328             Bruno Haible  <bruno@clisp.org>
54329
54330         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
54331         and is a script that invokes bison. Tighten the code. Add comments.
54332
54333 2006-08-18  Jim Meyering  <jim@meyering.net>
54334
54335         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
54336         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
54337         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
54338         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
54339
54340 2006-08-18  Bruno Haible  <bruno@clisp.org>
54341
54342         * modules/bison-i18n: New file.
54343         * MODULES.html.sh (Internationalization functions): Add it.
54344
54345 2006-08-18  Bruno Haible  <bruno@clisp.org>
54346
54347         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
54348         sys/statvfs.h. When getmntinfo was found, check its declaration and
54349         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
54350
54351 2006-08-18  Bruno Haible  <bruno@clisp.org>
54352
54353         * m4/bison-i18n.m4: New file, from bison.
54354
54355 2006-08-18  Bruno Haible  <bruno@clisp.org>
54356
54357         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
54358         (ME_DUMMY): Treat "kernfs" as a dummy.
54359         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
54360
54361 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54362
54363         Update from coreutils.
54364
54365         2006-08-15  Jim Meyering  <jim@meyering.net>
54366
54367         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
54368
54369         2006-01-17  Jim Meyering  <jim@meyering.net>
54370
54371         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
54372
54373         2006-01-11  Jim Meyering  <jim@meyering.net>
54374
54375         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
54376         Check for the lchmod function.
54377
54378 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54379
54380         Update from coreutils.
54381
54382         * lib/__fpending.h: Add copyright notice.
54383         * lib/fprintftime.h: Likewise.
54384         * lib/savedir.c: Use (C) in copyright notice.
54385         * lib/savedir.h: Likewise.
54386
54387         2006-08-15  Jim Meyering  <jim@meyering.net>
54388
54389         * lib/at-func.c: New file, with the logic of all emulated at-functions.
54390         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
54391         in support of the EXPECTED_ERRNO macro.
54392         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
54393         definitions.  Instead, define the appropriate symbols and include
54394         "at-func.c".
54395         * lib/mkdirat.c (mkdirat): Likewise.
54396         * lib/fchmodat.c (fchmodat): Likewise.
54397         (ENOSYS): Remove definition.
54398         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
54399         it.  Don't include "unistd--.h" -- it wasn't ever used.
54400
54401         2006-01-17  Jim Meyering  <jim@meyering.net>
54402
54403         Rewrite fts.c not to change the current working directory,
54404         by using openat, fstatat, fdopendir, etc..
54405
54406         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
54407         (HAVE_OPENAT_SUPPORT): Define.
54408         [_LIBC] (fchdir): Don't undef or define; no longer used.
54409         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
54410         Now, this `function' always succeeds, and consumes its file descriptor
54411         parameter -- so callers must not close such FDs.  Update callers.
54412         (diropen_fd, opendirat, cwd_advance_fd): New functions.
54413         (diropen): Add parameter, SP.  Adjust all callers.
54414         Implement using diropen_fd, rather than open.
54415         (fts_open): Initialize new member, fts_cwd_fd.
54416         Remove fts_rft-setting code.
54417         (fts_close): Close fts_cwd_fd, if necessary.
54418         (__opendir2): Define in terms of opendir or opendirat,
54419         depending on whether the FST_NOCHDIR flag is set.
54420         (fts_build): Since fts_safe_changedir consumes its FD, and since
54421         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
54422         and close the dup'd file descriptor upon failure.
54423         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
54424         (fts_safe_changedir): Tweak semantics to reflect that this function
54425         now calls cwd_advance_fd and hence consumes its FD argument.
54426         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
54427         [struct FTS] (fts_rft): Remove now-unused member.
54428         [struct FTS] (fts_cycle.state): Improve comment.
54429
54430         * lib/openat.c (openat_needs_fchdir): New function.
54431         * lib/openat.h (openat_needs_fchdir): Declare it.
54432
54433 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
54434
54435         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
54436         Problem and fix reported by Pádraig Brady in
54437         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
54438
54439 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54440
54441         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
54442
54443 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54444
54445         * lib/memcoll.c (memcoll): Optimize for the common case where the
54446         arguments are bytewise equal.
54447
54448 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54449
54450         * doc/regexprops-generic.texi: Add a copyright notice.
54451
54452 2006-08-15  Bruno Haible  <bruno@clisp.org>
54453
54454         * modules/tmpdir (License): Change to LGPL.
54455
54456 2006-08-15  Bruno Haible  <bruno@clisp.org>
54457
54458         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
54459         module.
54460
54461 2006-08-14  Simon Josefsson  <jas@extundo.com>
54462
54463         * config/srclist.txt: Add gnupload.
54464
54465 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54466
54467         Change copyright notice from LGPL 2 to GPL 2, since that's the
54468         standard form used in the gnulib repository.
54469         * tests/test-lock.c: Likewise.
54470         * tests/test-stdint.c: Likewise.
54471         * tests/test-tls.c: Likewise.
54472
54473         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
54474         prelude-manager.  User shorter URLs for GNU projects, without '?'.
54475         Add copyright notice.
54476
54477         * check-module: Add copyright notice.  Output a copyright
54478         notice if "--version" is specified.
54479         * modules/COPYING: New file.
54480         * tests/test-getaddrinfo.c: Add copyright notice.
54481         * tests/test-verify.c: Likewise.
54482
54483 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54484
54485         Change copyright notice from LGPL 2 to GPL 2, since that's the
54486         standard form used in the gnulib repository.
54487         * lib/lock.c: LGPL -> GPL.
54488         * lib/lock.h: Likewise.
54489         * lib/strnlen1.c: Likewise.
54490         * lib/strnlen1.h: Likewise.
54491         * lib/tls.c: Likewise.
54492         * lib/tls.h: Likewise.
54493         * lib/tmpdir.c: Likewise.
54494
54495         * lib/TODO: Remove; this belongs only in coreutils.
54496
54497 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54498
54499         Add copyright notices to long-enough files that lack them, since
54500         otherwise the files aren't clearly free.  Use the same notice that
54501         getdate.texi already uses.
54502         * doc/alloca-opt.texi: Add copyright notice.
54503         * doc/alloca.texi: Likewise.
54504         * doc/ctime.texi: Likewise.
54505         * doc/functions.texi: Likewise.
54506         * doc/gcd.texi: Likewise.
54507         * doc/gnulib-tool.texi: Likewise.
54508         * doc/inet_ntoa.texi: Likewise.
54509         * doc/visibility.texi: Likewise.
54510
54511         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
54512         * doc/quote.texi: Add copyright notice.
54513
54514         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
54515         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
54516         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
54517         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
54518         is now obsolete, and give a pointer to the Sun list.
54519         Add copyright notice.
54520
54521 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54522
54523         * config/srclistvars.sh: Add copyright notice.
54524
54525 2006-08-14  Eric Blake  <ebb9@byu.net>
54526
54527         Import the following change from libc:
54528
54529         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
54530
54531         Upstream bug 2997.
54532         * lib/misc/error.c: Add space between program name and message if file
54533         name is missing.
54534
54535 2006-08-12  Karl Berry  <karl@gnu.org>
54536
54537         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
54538         remove, these originate in gnulib now.
54539
54540 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54541
54542         * doc/Makefile (standards.info standards.html standards.dvi):
54543         Also depend on make-stds.texi.
54544
54545 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
54546
54547         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
54548         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
54549
54550         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
54551         in wchar_t.  Problem reported by Eric Blake.
54552
54553         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
54554         LEN is smaller than SIZE.  Suggested by Bruno Haible.
54555         Also, help the compiler to keep LEN in a register.
54556
54557 2006-08-11  Eric Blake  <ebb9@byu.net>
54558
54559         * users.txt: Sort.  Add tar.
54560
54561 2006-08-11  Bruno Haible  <bruno@clisp.org>
54562
54563         * users.txt: New file.
54564
54565 2006-08-11  Bruno Haible  <bruno@clisp.org>
54566
54567         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
54568         before <wchar.h>. Needed for OSF/1 and BSD/OS.
54569
54570 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
54571
54572         * modules/snprintf (Depends-on): Remove minmax.
54573         (Maintainer): Add self and Bruno.
54574
54575 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
54576
54577         * lib/.cppi-disable: Add snprintf.h, socket_.h.
54578         * lib/snprintf.c: Include <errno.h> and <limits.h>.
54579         (EOVERFLOW): Define if the system does not.
54580         Do not include "minmax.h"; it wasn't used.
54581         (snprintf): Don't assume size_t promotes to an unsigned type.
54582         Fix bug when generated string was too long for the buffer: the
54583         buffer's contents are supposed to be the initial prefix of the
54584         output.  Don't assume vasnprintf returns EOVERFLOW if the size
54585         exceeds INT_MAX; do the check ourselves.
54586
54587         Import the following changes from libc:
54588
54589         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
54590
54591         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
54592         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
54593         set wc to the byte which couldn't be converted.
54594         (re_string_reconstruct): Don't clear valid_raw_len before calling
54595         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
54596         tip_context using re_string_context_at.
54597
54598         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
54599
54600         * lib/posix/regex.h: g++ still cannot handled [restrict].
54601
54602         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
54603
54604         * lib/posix/regex.h: Remove special handling for VMS.
54605
54606 2006-08-10  Jim Meyering  <jim@meyering.net>
54607
54608         * modules/same-inode: New module.
54609         * modules/dev-ino: New module.
54610         * modules/cycle-check: Depend on these modules, rather than simply
54611         including their .h files.
54612         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
54613         required via m4/cycle-check.m4.
54614         * modules/same: Depend on new same-inode module, rather than
54615         including same-inode.h.
54616         * modules/chdir-safer: New file.
54617
54618         * modules/chown (Depends-on): Add stat-macros.
54619
54620 2006-08-10  Jim Meyering  <jim@meyering.net>
54621
54622         * m4/cycle-check.m4: New file.
54623         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
54624         * m4/dev-ino.m4, m4/same-inode.m4: New files.
54625
54626 2006-08-10  Eric Blake  <ebb9@byu.net>
54627
54628         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
54629         in from original proposal.
54630
54631 2006-08-10  Eric Blake  <ebb9@byu.net>
54632         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
54633
54634         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
54635         namespace.
54636
54637 2006-08-10  Bruno Haible  <bruno@clisp.org>
54638
54639         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
54640         as well.
54641
54642 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
54643
54644         Sync from coreutils.
54645
54646         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
54647
54648         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
54649         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
54650
54651 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
54652
54653         * modules/restrict: Remove; no longer needed now that we assume
54654         Autoconf 2.59 or later.
54655         * MODULES.html.sh: Remove 'restrict'.
54656         * modules/argp (Depends-on): Remove 'restrict'.
54657         * modules/base64 (Depends-on): Likewise.
54658         * modules/gc (Depends-on): Likewise.
54659         * modules/getaddrinfo (Depends-on): Likewise.
54660         * modules/glob (Depends-on): Likewise.
54661         * modules/inet_ntop (Depends-on): Likewise.
54662         * modules/inet_pton (Depends-on): Likewise.
54663         * modules/memxor (Depends-on): Likewise.
54664         * modules/regex (Depends-on): Likewise.
54665         * modules/strtok_r (Depends-on): Likewise.
54666         * modules/time_r (Depends-on): Likewise.
54667
54668 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
54669
54670         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
54671         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
54672         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
54673         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
54674         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
54675         * m4/memxor.m4 (gl_MEMXOR): Likewise.
54676         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
54677         gl_C_RESTRICT replaced by AC_C_RESTRICT.
54678
54679         Merge from coreutils.
54680         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
54681         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
54682         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54683         * m4/time_r.m4 (gl_TIME_R): Likewise.
54684
54685 2006-08-09  Karl Berry  <karl@gnu.org>
54686
54687         * config/srclist.txt: no more gettext-tools, per Bruno.
54688
54689 2006-08-08  Eric Blake  <ebb9@byu.net>
54690
54691         * modules/verror: New module.
54692         * MODULES.html.sh: Document it.
54693
54694 2006-08-08  Eric Blake  <ebb9@byu.net>
54695
54696         * lib/verror.h, lib/verror.c: New files.
54697
54698 2006-08-08  Eric Blake  <ebb9@byu.net>
54699
54700         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
54701         verror_at_line output complies with GNU Coding Standards even when
54702         file is NULL.
54703
54704 2006-08-07  Bruno Haible  <bruno@clisp.org>
54705
54706         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
54707         versions of AIX.
54708         Reported by Ralf Wildenhues.
54709
54710 2006-08-07  Bruno Haible  <bruno@clisp.org>
54711
54712         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
54713         in an AC_DEFUN. Needed so that the autoconf snippets can use
54714         AC_REQUIRE.
54715
54716 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54717
54718         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54719         Initialize pkgdata_DATA.
54720         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
54721         overriding it.
54722
54723 2006-08-06  Eric Blake  <ebb9@byu.net>
54724
54725         * lib/error.h: Fold in some upstream changes from glibc.
54726         * lib/error.c: Likewise.
54727
54728 2006-08-04  Bruno Haible  <bruno@clisp.org>
54729
54730         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54731         Make the mostlyclean-local rule depend on mostlyclean-generic.
54732         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
54733
54734 2006-07-31  Bruno Haible  <bruno@clisp.org>
54735
54736         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
54737         <stdlib.h>, <string.h>.
54738
54739 2006-07-30  Bruno Haible  <bruno@clisp.org>
54740
54741         * modules/readlink (License): Change to LGPL.
54742
54743 2006-07-30  Bruno Haible  <bruno@clisp.org>
54744
54745         * modules/javaversion (Makefile.am): Distribute javaversion.java and
54746         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
54747         set PKGDATADIR to point to it.
54748
54749 2006-07-30  Bruno Haible  <bruno@clisp.org>
54750
54751         * modules/csharpexec (configure.ac): Comment out macro invocation.
54752         * modules/javaexec (configure.ac): Likewise.
54753         * modules/javacomp-script (configure.ac): Likewise.
54754
54755         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
54756
54757 2006-07-30  Bruno Haible  <bruno@clisp.org>
54758
54759         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
54760         linked-list.
54761
54762 2006-07-30  Bruno Haible  <bruno@clisp.org>
54763
54764         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
54765
54766 2006-07-30  Bruno Haible  <bruno@clisp.org>
54767
54768         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54769         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
54770         get removed.
54771
54772 2006-07-29  Bruno Haible  <bruno@clisp.org>
54773
54774         Make it possible for gnulib-tool to work with locally modified or
54775         augmented gnulib repositories.
54776         * gnulib-tool (func_usage): Document --local-dir option.
54777         (local_gnulib_dir): New variable.
54778         Handle --local-dir option.
54779         (func_lookup_file): New function.
54780         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
54781         (func_get_description, func_get_filelist, func_get_description,
54782         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
54783         func_get_automake_snippet, func_get_include_directive,
54784         func_get_license, func_get_maintainer): Use func_lookup_file.
54785         (func_import, func_create_testdir): Use func_lookup_file.
54786
54787 2006-07-29  Bruno Haible  <bruno@clisp.org>
54788
54789         * modules/setenv (Depends-on): Add unistd.
54790
54791 2006-07-29  Bruno Haible  <bruno@clisp.org>
54792
54793         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
54794
54795 2006-07-29  Bruno Haible  <bruno@clisp.org>
54796
54797         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
54798
54799 2006-07-29  Bruno Haible  <bruno@clisp.org>
54800
54801         * gnulib-tool (import, update): If there is no Makefile.am, look at
54802         aclocal.m4, instead of bailing out.
54803
54804 2006-07-29  Bruno Haible  <bruno@clisp.org>
54805
54806         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
54807         Categorize the options by when they are useful.
54808
54809 2006-07-29  Bruno Haible  <bruno@clisp.org>
54810
54811         * gnulib-tool (func_usage): Document option --no-libtool.
54812         Handle option --no-libtool.
54813         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
54814         for changed semantics of $libtool variable.
54815         (func_import): Likewise. If libtool is not used, show this through
54816         an option --no-libtool.
54817         (func_create_testdir): Update.
54818
54819 2006-07-29  Bruno Haible  <bruno@clisp.org>
54820
54821         * gnulib-tool (func_import): Extend error message about missing
54822         --doc-base.
54823
54824 2006-07-29  Bruno Haible  <bruno@clisp.org>
54825
54826         * gnulib-tool (func_import): Don't create the $docbase directory if
54827         there is no file to store there.
54828
54829 2006-07-29  Bruno Haible  <bruno@clisp.org>
54830
54831         * gnulib-tool (autoconf_minversion): If a --dir option is given and
54832         relevant, look for configure.ac there, not in the current directory.
54833         Also use a simple search for AC_PREREQ, not "autoconf --trace".
54834
54835 2006-07-29  Bruno Haible  <bruno@clisp.org>
54836
54837         * gnulib-tool (SORT): New variable.
54838         (func_usage): Undocument --assume-autoconf option.
54839         Remove --assume-autoconf option handling.
54840         (autoconf_minversion): Determine from the contents of configure.ac.
54841         (func_import): Remove autoconf_minversion handling.
54842         Suggested by Eric Blake.
54843
54844 2006-07-29  Bruno Haible  <bruno@clisp.org>
54845
54846         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
54847
54848 2006-07-29  Bruno Haible  <bruno@clisp.org>
54849
54850         * config/srclist.txt (*setenv.[ch]): Remove rules.
54851
54852 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54853
54854         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
54855
54856 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54857
54858         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
54859         arpa/inet.h.
54860
54861 2006-07-28  Simon Josefsson  <jas@extundo.com>
54862
54863         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
54864         * modules/inet_pton (Depends-on): Likewise.
54865
54866 2006-07-28  Simon Josefsson  <jas@extundo.com>
54867
54868         * m4/netinet_in_h.m4: New file.
54869
54870 2006-07-28  Simon Josefsson  <jas@extundo.com>
54871
54872         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
54873         #include's.
54874
54875 2006-07-28  Simon Josefsson  <jas@extundo.com>
54876
54877         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
54878         #include's.
54879
54880 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
54881
54882         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
54883         setgid on directories only if they set these bits.
54884         * lib/modechange.h: Remove obsolete comment about masks.
54885
54886 2006-07-28  Eric Blake  <ebb9@byu.net>
54887
54888         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
54889         macro expansion.
54890
54891 2006-07-28  Bruno Haible  <bruno@clisp.org>
54892
54893         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
54894
54895 2006-07-28  Bruno Haible  <bruno@clisp.org>
54896
54897         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
54898
54899 2006-07-28  Bruno Haible  <bruno@clisp.org>
54900
54901         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54902         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54903         Define fallbacks.
54904         Avoids link error on FreeBSD 4.x.
54905         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54906
54907         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
54908         encoding.
54909         * lib/mbswidth.c (iswcntrl): Likewise.
54910
54911 2006-07-27  Bruno Haible  <bruno@clisp.org>
54912
54913         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
54914         test.
54915
54916 2006-07-27  Bruno Haible  <bruno@clisp.org>
54917
54918         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
54919         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
54920         defined.
54921
54922 2006-07-26  Eric Blake  <ebb9@byu.net>
54923
54924         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
54925
54926 2006-07-26  Eric Blake  <ebb9@byu.net>
54927
54928         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
54929         like mingw that lack mkstemp.
54930         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
54931         avoid compilation warning on mingw.
54932
54933 2006-07-26  Bruno Haible  <bruno@clisp.org>
54934
54935         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
54936         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
54937         INT_FAST*_MIN, INTPTR_MIN.
54938
54939 2006-07-25  Bruno Haible  <bruno@clisp.org>
54940
54941         * modules/version-etc (Depends-on): Add stdarg.
54942
54943 2006-07-25  Bruno Haible  <bruno@clisp.org>
54944
54945         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
54946         complex commands.
54947
54948 2006-07-25  Bruno Haible  <bruno@clisp.org>
54949
54950         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
54951         defined in <stdarg.h> or config.h.
54952
54953 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
54954
54955         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
54956         (gl_STDIO_SAFER): Remove.
54957
54958 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
54959
54960         * MODULES.html.sh (File stream based Input/Output):
54961         Add fopen-safer, tmpfile-safer; remove stdio-safer.
54962         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
54963         * modules/fopen-safer, modules/tmpfile-safer: New files.
54964         * modules/stdio-safer: Remove.
54965
54966 2006-07-24  Bruno Haible  <bruno@clisp.org>
54967
54968         * modules/tmpdir: New file.
54969         * MODULES.html.sh (File system functions): Add it.
54970
54971 2006-07-24  Bruno Haible  <bruno@clisp.org>
54972
54973         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
54974         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
54975
54976 2006-07-24  Bruno Haible  <bruno@clisp.org>
54977
54978         * modules/clean-temp: New file.
54979
54980 2006-07-24  Bruno Haible  <bruno@clisp.org>
54981
54982         * m4/tmpdir.m4: New file, from GNU gettext.
54983
54984 2006-07-24  Bruno Haible  <bruno@clisp.org>
54985
54986         * lib/tmpdir.h: New file, from GNU gettext.
54987         * lib/tmpdir.c: New file, from GNU gettext.
54988
54989 2006-07-24  Bruno Haible  <bruno@clisp.org>
54990
54991         * lib/clean-temp.h: New file, from GNU gettext.
54992         * lib/clean-temp.c: New file, from GNU gettext.
54993
54994 2006-07-23  Eric Blake  <ebb9@byu.net>
54995
54996         * modules/stdio-safer (Files): Add tmpfile-safer.c.
54997         (Depends-on): Add binary-io.
54998
54999 2006-07-23  Eric Blake  <ebb9@byu.net>
55000
55001         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
55002
55003 2006-07-23  Eric Blake  <ebb9@byu.net>
55004
55005         * lib/tmpfile-safer.c: New file.
55006         * lib/stdio-safer.h (fopen_safer): Add prototype.
55007         * lib/stdio--.h (tmpfile): Make safer.
55008
55009 2006-07-23  Bruno Haible  <bruno@clisp.org>
55010
55011         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
55012         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
55013         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
55014         gl_linked_remove_at): Use it.
55015
55016 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55017         and Simon Josefsson <jas@extundo.com>
55018
55019         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
55020
55021         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
55022
55023 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55024
55025         * modules/close-stream: New file.
55026         * modules/closeout (Description): Make it clear that it exits
55027         with a diagnostic on error.
55028         (Depends-on): Add close-stream.  Remove fpending, stdbool.
55029         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
55030
55031 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55032
55033         * m4/close-stream.m4: New file.
55034
55035 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55036
55037         * lib/close-stream.c, lib/close-stream.h: New files.
55038
55039 2006-07-22  Bruno Haible  <bruno@clisp.org>
55040
55041         Merge from GNU gettext 0.15.
55042
55043         2006-05-01  Bruno Haible  <bruno@clisp.org>
55044
55045                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
55046
55047         2006-07-22  Bruno Haible  <bruno@clisp.org>
55048
55049                 * modules/javaversion: New file.
55050                 * MODULES.html.sh (Java): Add javaversion.
55051
55052         2006-03-12  Bruno Haible  <bruno@clisp.org>
55053
55054                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
55055
55056         2005-12-04  Bruno Haible  <bruno@clisp.org>
55057
55058                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
55059                 (untested).
55060
55061         2006-06-21  Bruno Haible  <bruno@clisp.org>
55062
55063                 Avoid warnings from recent versions of mcs.
55064                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
55065                 -o, -L, -r any more. Use options documented since mcs-1.0
55066                 instead. Similarly for -g.
55067
55068         2005-12-04  Bruno Haible  <bruno@clisp.org>
55069
55070                 * build-aux/csharpcomp.sh.in: Suffix for resources is
55071                 .resources, not .resource.
55072
55073         2005-07-09  Bruno Haible  <bruno@clisp.org>
55074
55075                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
55076                 add a .dll suffix.
55077                 Reported by Mark Junker <mjscod@gmx.de>.
55078
55079         2006-07-22  Bruno Haible  <bruno@clisp.org>
55080
55081                 * modules/gettext: Upgrade to gettext-0.15.
55082                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
55083                 m4/visibility.m4.
55084                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
55085
55086 2006-07-22  Bruno Haible  <bruno@clisp.org>
55087
55088         Merge from GNU gettext 0.15.
55089
55090         2006-03-25  Bruno Haible  <bruno@clisp.org>
55091
55092                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
55093
55094         2006-07-21  Bruno Haible  <bruno@clisp.org>
55095
55096                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
55097                 "1.1".
55098
55099         2006-05-09  Bruno Haible  <bruno@clisp.org>
55100
55101                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
55102                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
55103                 for the conftestver execution.
55104
55105         2006-05-01  Bruno Haible  <bruno@clisp.org>
55106
55107                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
55108                 optional target-version argument. Verify that the compiler
55109                 groks source of the specified source-version, or add -source
55110                 option as necessary. Verify that the compiler produces
55111                 bytecode in the specified target-version, or add -target and
55112                 -source options as necessary. Make the result of the test
55113                 available as variable CONF_JAVAC. Also log error output in
55114                 config.log.
55115
55116         2006-03-11  Bruno Haible  <bruno@clisp.org>
55117
55118                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
55119
55120         2006-05-09  Bruno Haible  <bruno@clisp.org>
55121
55122                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
55123                 CLASSPATH_SEPARATOR to a semicolon.
55124
55125         2006-03-12  Bruno Haible  <bruno@clisp.org>
55126
55127                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
55128                 available as variable CONF_JAVA, for subsequent autoconf
55129                 tests. Also log error output in config.log.
55130
55131         2006-07-19  Bruno Haible  <bruno@clisp.org>
55132
55133                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
55134                 that getline works on glibc2 systems. Needed to avoid trouble
55135                 in relocatable.c.
55136                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
55137
55138         2005-12-04  Bruno Haible  <bruno@clisp.org>
55139
55140                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
55141                 launcher (untested).
55142
55143         2005-12-04  Bruno Haible  <bruno@clisp.org>
55144
55145                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
55146
55147         2006-07-22  Bruno Haible  <bruno@clisp.org>
55148
55149                 * gettext.m4: Update from GNU gettext-0.15.
55150                 * nls.m4: Likewise.
55151                 * po.m4: Likewise.
55152                 * inttypes-pri.m4: Likewise.
55153                 * inttypes-h.m4: Renamed from inttypes.m4.
55154                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
55155
55156 2006-07-22  Bruno Haible  <bruno@clisp.org>
55157
55158         Merge from GNU gettext 0.15.
55159
55160         2005-07-05  Bruno Haible  <bruno@clisp.org>
55161
55162                 * printf-args.c (printf_fetchargs): Work around broken
55163                 definition of wint_t on mingw.
55164
55165         2005-02-12  Bruno Haible  <bruno@clisp.org>
55166
55167                 * xallocsa.h: Add extern "C" for C++.
55168
55169         2006-05-17  Bruno Haible  <bruno@clisp.org>
55170
55171                 Cygwin portability.
55172                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
55173
55174         2006-04-30  Bruno Haible  <bruno@clisp.org>
55175
55176                 * progreloc.c: Include <mach-o/dyld.h> if available.
55177                 (find_executable): Use _NSGetExecutablePath when possible.
55178
55179         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55180
55181                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
55182                 function.
55183
55184         2005-12-29  Bruno Haible  <bruno@clisp.org>
55185
55186                 * progreloc.c (set_program_name_and_installdir): Fix
55187                 compilation error.
55188
55189         2005-12-04  Bruno Haible  <bruno@clisp.org>
55190
55191                 Cygwin portability.
55192                 * progreloc.c: Include <windows.h> also on Cygwin.
55193                 (find_executable): Add support for Cygwin.
55194                 (set_program_name_and_installdir): Handle also platforms with
55195                 nonempty EXEEXT.
55196
55197         2006-07-11  Bruno Haible  <bruno@clisp.org>
55198
55199                 * javacomp.c: Fix a comment.
55200                 Reported by Jim Meyering.
55201
55202         2006-04-30  Bruno Haible  <bruno@clisp.org>
55203
55204                 * javacomp.h (compile_java_class): Add source_version,
55205                 target_version arguments.
55206                 * javacomp.c: Rewritten to choose only a compiler that
55207                 respects the specified source_version and target_version.
55208
55209         2006-06-27  Bruno Haible  <bruno@clisp.org>
55210
55211                 Assume correct S_ISDIR macro.
55212                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
55213
55214         2006-07-22  Bruno Haible  <bruno@clisp.org>
55215
55216                 * javaversion.h: New file, from GNU gettext.
55217                 * javaversion.c: New file, from GNU gettext.
55218                 * javaversion.java: New file, from GNU gettext.
55219                 * javaversion.class: New file, from GNU gettext.
55220
55221         2006-05-17  Bruno Haible  <bruno@clisp.org>
55222
55223                 Cygwin portability.
55224                 * javaexec.c (execute_java_class): Test for jview program
55225                 also on Cygwin.
55226
55227         2006-04-09  Bruno Haible  <bruno@clisp.org>
55228
55229                 * fatal-signal.c: Don't include string.h.
55230                 (at_fatal_signal): Use a copying loop instead of memcpy.
55231
55232         2005-12-04  Bruno Haible  <bruno@clisp.org>
55233
55234                 * csharpexec.c: Add support for 'clix' launcher (untested).
55235                 (execute_csharp_using_sscli): New function.
55236                 (execute_csharp_program): Call it.
55237
55238         2006-06-21  Bruno Haible  <bruno@clisp.org>
55239
55240                 Avoid warnings from recent versions of mcs.
55241                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
55242                 -o, -L, -r any more. Use options documented since mcs-1.0
55243                 instead. Similarly for -g.
55244
55245         2005-07-09  Bruno Haible  <bruno@clisp.org>
55246
55247                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
55248                 add a .dll suffix.
55249                 Reported by Mark Junker <mjscod@gmx.de>.
55250
55251         2006-06-17  Bruno Haible  <bruno@clisp.org>
55252
55253                 * config.charset: Update for NetBSD 3.0.
55254
55255         2006-05-17  Bruno Haible  <bruno@clisp.org>
55256
55257                 Cygwin portability.
55258                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
55259
55260         2006-05-16  Bruno Haible  <bruno@clisp.org>
55261
55262                 * localcharset.c [CYGWIN]: Include <windows.h>.
55263                 (get_charset_aliases): For Cygwin, return the same CPxxx
55264                 aliases list as under WIN32.
55265                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
55266                 the environment variables. Fall back to GetACP().
55267
55268         2006-04-05  Bruno Haible  <bruno@clisp.org>
55269
55270                 * config.charset: Update Juan Manuel Guerrero's address.
55271
55272         2005-02-12  Bruno Haible  <bruno@clisp.org>
55273
55274                 * allocsa.h: Add extern "C" for C++.
55275
55276         2005-02-10  Bruno Haible  <bruno@clisp.org>
55277
55278                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
55279                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
55280
55281         2006-07-22  Bruno Haible  <bruno@clisp.org>
55282
55283                 * gettext.h: Update to GNU gettext-0.15.
55284
55285 2006-07-22  Bruno Haible  <bruno@clisp.org>
55286
55287         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
55288         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
55289         lib-prefix.m4, longdouble.m4, ssize_t.m4.
55290
55291 2006-07-21  Eric Blake  <ebb9@byu.net>
55292
55293         * modules/stdlib-safer: New file.
55294         * MODULES.html.sh (File stream based Input/Output): Add
55295         stdlib-safer.
55296
55297 2006-07-21  Eric Blake  <ebb9@byu.net>
55298
55299         * lib/stdlib-safer.h: New file from coreutils, required by
55300         stdlib--.h.
55301
55302 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
55303
55304         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
55305
55306 2006-07-20  Bruno Haible  <bruno@clisp.org>
55307
55308         * gnulib-tool: Recognize new option --assume-autoconf.
55309         (autoconf_minversion): New variable.
55310         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
55311
55312 2006-07-20  Bruno Haible  <bruno@clisp.org>
55313
55314         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
55315
55316 2006-07-19  Derek R. Price  <derek@ximbiot.com>
55317
55318         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
55319         Reindent and repaginate.
55320
55321 2006-07-19  Derek Price  <derek@ximbiot.com>
55322
55323         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
55324         Correct grammar.
55325
55326 2006-07-17  Bruno Haible  <bruno@clisp.org>
55327
55328         * modules/list: New file.
55329         * modules/array-list: New file.
55330         * modules/carray-list, modules/carray-list-tests: New files.
55331         * modules/linked-list, modules/linked-list-tests: New files.
55332         * modules/avltree-list, modules/avltree-list-tests: New files.
55333         * modules/rbtree-list, modules/rbtree-list-tests: New files.
55334         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
55335         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
55336         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
55337         * modules/oset: New file.
55338         * modules/array-oset: New file.
55339         * modules/avltree-oset, modules/avltree-oset-tests: New files.
55340         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
55341         * tests/test-carray_list.c: New file.
55342         * tests/test-linked_list.c: New file.
55343         * tests/test-avltree_list.c: New file.
55344         * tests/test-rbtree_list.c: New file.
55345         * tests/test-linkedhash_list.c: New file.
55346         * tests/test-avltreehash_list.c: New file.
55347         * tests/test-rbtreehash_list.c: New file.
55348         * tests/test-avltree_oset.c: New file.
55349         * tests/test-rbtree_oset.c: New file.
55350         * MODULES.html.sh (Container data structures): New section.
55351
55352 2006-07-17  Bruno Haible  <bruno@clisp.org>
55353
55354         * m4/gl_list.m4: New file.
55355
55356 2006-07-17  Bruno Haible  <bruno@clisp.org>
55357
55358         * lib/gl_list.h: New file.
55359         * lib/gl_list.c: New file.
55360         * lib/gl_array_list.h: New file.
55361         * lib/gl_array_list.c: New file.
55362         * lib/gl_carray_list.h: New file.
55363         * lib/gl_carray_list.c: New file.
55364         * lib/gl_linked_list.h: New file.
55365         * lib/gl_linked_list.c: New file.
55366         * lib/gl_anylinked_list1.h: New file.
55367         * lib/gl_anylinked_list2.h: New file.
55368         * lib/gl_avltree_list.h: New file.
55369         * lib/gl_avltree_list.c: New file.
55370         * lib/gl_anyavltree_list1.h: New file.
55371         * lib/gl_anyavltree_list2.h: New file.
55372         * lib/gl_rbtree_list.h: New file.
55373         * lib/gl_rbtree_list.c: New file.
55374         * lib/gl_anyrbtree_list1.h: New file.
55375         * lib/gl_anyrbtree_list2.h: New file.
55376         * lib/gl_anytree_list1.h: New file.
55377         * lib/gl_anytree_list2.h: New file.
55378         * lib/gl_linkedhash_list.h: New file.
55379         * lib/gl_linkedhash_list.c: New file.
55380         * lib/gl_anyhash_list1.h: New file.
55381         * lib/gl_anyhash_list2.h: New file.
55382         * lib/gl_avltreehash_list.h: New file.
55383         * lib/gl_avltreehash_list.c: New file.
55384         * lib/gl_rbtreehash_list.h: New file.
55385         * lib/gl_rbtreehash_list.c: New file.
55386         * lib/gl_anytreehash_list1.h: New file.
55387         * lib/gl_anytreehash_list2.h: New file.
55388
55389         * lib/gl_oset.h: New file.
55390         * lib/gl_oset.c: New file.
55391         * lib/gl_array_oset.h: New file.
55392         * lib/gl_array_oset.c: New file.
55393         * lib/gl_avltree_oset.h: New file.
55394         * lib/gl_avltree_oset.c: New file.
55395         * lib/gl_rbtree_oset.h: New file.
55396         * lib/gl_rbtree_oset.c: New file.
55397         * lib/gl_anytree_oset.h: New file.
55398
55399 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
55400
55401         * m4/mkancesdirs.m4: New file.
55402         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
55403         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
55404         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
55405         it.
55406
55407 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
55408
55409         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
55410         * lib/mkancesdirs.h: New files.
55411         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
55412         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
55413         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
55414         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
55415         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
55416         callers changed.  Revamp internals significantly, by not
55417         attempting to create directories that are temporarily more
55418         permissive than the final results.  Do not attempt to use
55419         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
55420         This removes some race conditions, fixes some bugs, and simplifies
55421         things.  Use new dirchownmod function to do owner and mode changes.
55422         * lib/mkdir-p.h: Likewise.
55423         * lib/modechange.c (octal_to_mode): New function.
55424         (struct mode_change): New member mentioned.
55425         (make_node_op_equals): New arg mentioned.  All callers changed.
55426         (mode_compile): Keep track of which mode bits the user has explicitly
55427         mentioned.
55428         (mode_adjust): New arg DIR, so that we implement the X op correctly.
55429         New arg PMODE_BITS, to keep track of which mode bits the user
55430         mentioned; it treats S_ISUID and S_ISGID speciall.
55431         All callers changed.
55432         * lib/modechange.h: Likewise.
55433
55434 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
55435
55436         * MODULES.html.sh: Add mkancestors.
55437         * modules/mkancesdirs: New module.
55438         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
55439         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
55440         The chdir-safer and afs files are now orphans; I'll remove them
55441         unless someone speaks up.
55442         Add lib/dirchownmod.c, lib/dirchownmod.h.
55443         (Depends-on): Remove alloca, chown, save-cwd, dirname.
55444         Add lchown, mkancesdirs.
55445         (Maintainer): Add self.
55446
55447 2006-07-15  Karl Berry  <karl@gnu.org>
55448
55449         * gnulib-tool: help message wording/arrangement.
55450
55451 2006-07-14  Simon Josefsson  <jas@extundo.com>
55452
55453         * doc/gnulib.texi (Libtool and Windows): New section.
55454
55455 2006-07-12  Simon Josefsson  <jas@extundo.com>
55456
55457         * modules/gendocs (License): Fix license, approved by Karl.
55458
55459 2006-07-12  Eric Blake  <ebb9@byu.net>
55460
55461         * MODULES.html.sh: Add gendocs.
55462
55463 2006-07-11  Eric Blake  <ebb9@byu.net>
55464
55465         * modules/fdl: New module, to install doc/fdl.texi.
55466         * MODULES.html.sh: Add new section for documentation modules.
55467         * gnulib-tool: Avoid space-tab.
55468         (--doc-base): New option, to manage files from doc.
55469
55470 2006-07-11  Eric Blake  <ebb9@byu.net>
55471
55472         * m4/absolute-header.m4: Fix comments to match recent change.
55473
55474 2006-07-11  Eric Blake  <ebb9@byu.net>
55475
55476         * gnulib-tool: List --doc-base before --tests-base.
55477
55478 2006-07-11  Derek R. Price  <derek@ximbiot.com>
55479
55480         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
55481
55482 2006-07-11  Bruno Haible  <bruno@clisp.org>
55483
55484         * README: Mention where to put documentation.
55485
55486 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55487
55488         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
55489
55490 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
55491
55492         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
55493         to stdint.m4.
55494
55495 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
55496
55497         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
55498         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
55499         "no/such/file/stdint.h" when there is no such file, so that
55500         the resulting C code can be parsed by dodgy compilers.
55501         Problems reported by Bob Proulx.
55502
55503 2006-07-10  Derek R. Price  <derek@ximbiot.com>
55504
55505         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
55506         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
55507         macros into the GNU _D_EXACT_NAMLEN.
55508         * lib/savedir.c:  Likewise.
55509         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
55510
55511 2006-07-10  Derek R. Price  <derek@ximbiot.com>
55512         and Paul Eggert  <eggert@cs.ucla.edu>
55513
55514         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
55515         * m4/savedir.m4:
55516         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
55517         macros into the GNU _D_EXACT_NAMLEN.
55518
55519 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55520
55521         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
55522         around the absolute name, to work around a problem with the HP-UX
55523         11.23 native C compiler, reported by Bob Proulx.
55524
55525 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55526
55527         * doc/maintain.texi, make-stds.texi: Sync from
55528         <http://savannah.gnu.org/projects/gnustandards>.
55529
55530 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55531
55532         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
55533
55534 2006-07-09  Jim Meyering  <jim@meyering.net>
55535
55536         * m4/glob.m4: Remove a doubled word in a comment.
55537
55538 2006-07-09  Jim Meyering  <jim@meyering.net>
55539
55540         * lib/argp-pv.c: Remove a doubled word in a comment.
55541         * lib/check-version.c (check_version): Likewise.
55542         * lib/javacomp.c (compile_java_class): Likewise.
55543
55544 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
55545
55546         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
55547         for the benefit of people using Autoconf 2.60.  If you want to
55548         support older Autoconf versions you can copy m4/onceonly_2_57.m4
55549         (or m4/onceonly.m4, if pre-2.57) manually.
55550
55551 2006-07-08  Jim Meyering  <jim@meyering.net>
55552
55553         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
55554         comment.
55555         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
55556         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
55557         comment.
55558
55559 2006-07-08  Jim Meyering  <jim@meyering.net>
55560
55561         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
55562
55563 2006-07-07  Simon Josefsson  <jas@extundo.com>
55564
55565         * tests/test-crc.c: Change expected crc value, the test vector
55566         were probably computed using the old broken crc.c?
55567
55568 2006-07-06  Simon Josefsson  <jas@extundo.com>
55569
55570         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
55571         now the canonical place for the M4 file).
55572
55573         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
55574         from the sys_socket dependency now.
55575
55576         * modules/inet_pton (Files): Ditto.
55577
55578         * modules/inet_ntop (Files): Ditto.
55579
55580 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55581
55582         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
55583         not gl_PREREQ_GETUSERSHELL.
55584
55585 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55586
55587         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
55588         with only one argument, for Autoconf 2.60.
55589         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
55590         expand to nothing, so add a shell command to avoid syntax error.
55591         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
55592
55593 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55594
55595         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
55596
55597 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55598
55599         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
55600         no longer needed.  Check for isblank decl.
55601         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
55602         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
55603         of existence.
55604
55605 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55606
55607         * lib/getloadavg.c: Use __VMS, not VMS.
55608         * lib/getopt.c: Likewise.
55609         * lib/getpagesize.h: Likewise.
55610         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
55611         and probably does not work.
55612
55613 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55614
55615         * lib/.cppi-disable: Add wcwidth.
55616         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
55617         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
55618         (ISGRAPH): Remove.  All uses changed to isgraph.
55619         (FOLD) [!defined _LIBC]: Remove special case.
55620         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
55621         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
55622         HAVE_ISBLANK.
55623         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
55624         case.
55625
55626 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
55627
55628         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
55629         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
55630         brackets.  Other minor changes to suppress some compiler
55631         warnings.
55632
55633 2006-07-06  Derek R. Price  <derek@ximbiot.com>
55634         and Paul Eggert  <eggert@cs.ucla.edu>
55635
55636         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
55637         of invoking obsolescent AC_HEADER_DIRENT macro.
55638         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
55639         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
55640         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
55641         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
55642         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
55643         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
55644         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
55645         * m4/readdir.m4: Remove; no longer needed.
55646
55647 2006-07-06  Derek R. Price  <derek@ximbiot.com>
55648         and Paul Eggert  <eggert@cs.ucla.edu>
55649
55650         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
55651         Don't worry about this obsolete case any more.
55652         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
55653         directories.
55654         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
55655         worry about this obsolete case any more.
55656         * lib/fts.c: Likewise.
55657         * lib/getcwd.c: Likewise.
55658         * lib/glob.h: Likewise.
55659         * lib/savedir.c: Likewise.
55660
55661 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55662
55663         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
55664         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
55665         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
55666         needed.
55667         All uses removed.
55668         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
55669         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
55670         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
55671         needed.
55672         * m4/getdate.m4 (gl_GETDATE): Likewise.
55673         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
55674         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
55675         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
55676         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
55677         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
55678         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55679         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
55680         needed.
55681
55682 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55683
55684         * lib/memcasecmp.c: Include <limits.h>.
55685         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
55686         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
55687         Don't assume isdigit succeeds only on '0' through '9'.
55688
55689 2006-07-05  Eric Blake  <ebb9@byu.net>
55690
55691         * modules/getaddrinfo (Depends-on): Add snprintf.
55692
55693 2006-07-05  Eric Blake  <ebb9@byu.net>
55694
55695         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
55696         to avoid 'header present but could not be compiled' on cygwin.
55697
55698 2006-07-05  Eric Blake  <ebb9@byu.net>
55699
55700         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
55701         missing from netdb.h.
55702         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
55703
55704 2006-07-05  Derek R. Price  <derek@ximbiot.com>
55705
55706         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
55707         no longer needed.
55708         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
55709         * m4/getdate.m4 (gl_GETDATE): Likewise.
55710         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
55711         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
55712         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
55713         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
55714         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55715
55716 2006-07-05  Derek R. Price  <derek@ximbiot.com>
55717
55718         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
55719         All uses of is_space replaced by isspace.
55720         * lib/exit.h: Don't talk about STDC_HEADERS.
55721         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
55722         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
55723         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
55724         replaced by isprint etc.
55725         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
55726         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
55727         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
55728         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
55729         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
55730         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
55731
55732 2006-07-05  Bruno Haible  <bruno@clisp.org>
55733
55734         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
55735         the function exists, before testing against AIX.
55736         Reported by Martin Lambers <marlam@marlam.de>.
55737
55738 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
55739
55740         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
55741         From Mark D. Baushke.
55742
55743 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
55744
55745         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
55746         to the absolute name, not just one, to bypass Sun C 5.8's
55747         "warning: #include of /usr/include/... may be non-portable".
55748
55749 2006-07-04  Eric Blake  <ebb9@byu.net>
55750
55751         * modules/dirname-tests: New test module.
55752         * tests/test-dirname.c: New file, replacing dirname.c
55753         TEST_DIRNAME section that was recently deleted.
55754
55755 2006-07-04  Bruno Haible  <bruno@clisp.org>
55756
55757         Assume ANSI C header files and <ctype.h> functions.
55758         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
55759         (mbsnwidth): Use isprint, iscntrl instead.
55760
55761 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55762
55763         Merge from coreutils.
55764         * MODULES.html.sh: Add xstrtold.
55765         * modules/xstrtold: New file.
55766         * modules/cycle-check (Files): Add lib/same-inode.h.
55767         * modules/dirname (Files): Add m4/double-slash-root.m4.
55768         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
55769         * modules/mkdir-p (Files): Add lib/same-inode.h.
55770         * modules/same (Files): Add lib/same-inode.h.
55771
55772 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55773
55774         * m4/absolute-header.m4: Renamed from full-header-path.m4.
55775         This is to keep the terminology clean; POSIX talks about
55776         "absolute pathnames", not "full pathnames", but the GNU
55777         Coding Standards say to use "path" for something else;
55778         so use "absolute" to keep both sides happy.
55779         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
55780         Set gl_absolute_header, not gl_full_header_path.
55781         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
55782         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
55783         All uses changed.
55784
55785         Merge from coreutils.
55786
55787         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
55788
55789         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
55790         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
55791         want to require the building of c-strtod.o.
55792         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
55793         needs -lm directly.
55794         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
55795
55796         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
55797
55798         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
55799         --as-needed option if available.  Problem reported by Albert Chin in
55800         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
55801         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
55802         cc merely issues a bunch of annoying warnings for --as-needed
55803         (this problem was reported by Bob Proulx).  Also, try linking with
55804         -lm to detect a bug in binutils 2.16 (this problem was reported
55805         by Ralf Wildenhues).
55806
55807         2006-06-18  Jim Meyering  <jim@meyering.net>
55808
55809         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
55810         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
55811         macro.
55812         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
55813         also check for glibc-2.4's abort-inducing bug.
55814
55815         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
55816         Low-probability clean-up should be to use rmdir to get rid of
55817         the just-created directory, not unlink.
55818
55819         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
55820         configure fail, and request a bug report to inform us about it.
55821         Add a comment that, barring reports to the contrary, in 2007 we'll
55822         assume ftruncate is universally available.
55823
55824         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
55825
55826         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
55827
55828         2006-03-12  Jim Meyering  <jim@meyering.net>
55829
55830         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
55831         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
55832         * m4/same.m4 (gl_SAME): Likewise.
55833         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
55834
55835         2006-03-11  Eric Blake  <ebb9@byu.net>
55836
55837         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
55838         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
55839         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
55840         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
55841
55842 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55843
55844         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
55845         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
55846         reported by Mark D. Baushke, one in
55847         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
55848
55849         Merge from coreutils.
55850
55851         * lib/.cppi-disable: Add stdint_.h.
55852         * lib/.cvsignore: Add stdint.h.
55853
55854         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
55855
55856         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
55857         both double and long double versions.
55858         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
55859         * lib/xstrtold.c: New file.
55860         * lib/xstrtod.h (xstrtold): New decl.
55861
55862         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55863
55864         * lib/filemode.c (setst): Remove.
55865         (strmode): Rewrite to avoid setst.  This makes the code shorter,
55866         (arguably) clearer, and the generated code is a bit smaller on my
55867         Debian GNU/Linux stable x86 host.
55868
55869         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
55870
55871         * lib/filemode.c: Include "filemode.h" first, to test the interface.
55872         Assume that filemode.h includes sys/types.h and sys/stat.h.
55873         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
55874         (ftypelet): Reorder to put common cases first, for efficiency.
55875         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
55876         to do 'M'.
55877         (strmode): Renamed from mode_string, and now stores 12 bytes instead
55878         of 10, for compatibility with FreeBSD.  All callers changed.
55879         (filemodestring): Now stores 12 bytes instead of 10, and sets file
55880         types that can't be deduced solely from st_mode.  First arg is now a
55881         const pointer.
55882         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
55883         (strmode): Renamed from mode_string.
55884         (filemodestring): New decl.
55885         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
55886         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
55887         needed.
55888         (S_ISPORT, S_ISWHT): New macros, if not already defined.
55889
55890         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55891
55892         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
55893         fsusage.h now does that.  Include fsusage.h first, to test interface.
55894         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
55895         at most one method (the old code could have generated decls that
55896         didn't conform to C89, not that this was ever exercised).
55897         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
55898
55899         2006-03-19  Jim Meyering  <jim@meyering.net>
55900
55901         Work even in a chroot where d_ino values for entries in "/"
55902         don't match the stat.st_ino values for the same names.
55903         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
55904         number, iterate through all entries again, using lstat instead.
55905         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
55906         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
55907
55908         * lib/getcwd.c (__getcwd): Clarify a comment.
55909         Use memcpy in place of a call to strcpy.
55910
55911         2006-03-12  Jim Meyering  <jim@meyering.net>
55912
55913         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
55914         matches that of the current directory (which we're about to chdir ".."
55915         out of), then save the dev-ino of the parent, instead.
55916
55917         * lib/same-inode.h (SAME_INODE): New file/macro.
55918         * lib/chdir-safer.c (SAME_INODE): Remove definition.
55919         Include "same-inode.h", instead.
55920         * lib/same.c: Likewise.
55921         * lib/cycle-check.h: Include "same-inode.h".
55922         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
55923         * lib/cycle-check.c (SAME_INODE): Remove definition.
55924         * lib/root-dev-ino.h: Include "same-inode.h".
55925
55926         2006-03-11  Eric Blake  <ebb9@byu.net>
55927
55928         * lib/same.c (same_name): s/base_name/last_component/
55929         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
55930         * lib/filenamecat.c (file_name_concat): Likewise.
55931
55932         2006-03-11  Eric Blake  <ebb9@byu.net>,
55933                     Paul Eggert  <eggert@cs.ucla.edu>
55934
55935         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
55936         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
55937         drive prefix.
55938         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
55939         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
55940         (last_component): New method.
55941         * lib/dirname.c (dir_len): Determine when drive letters need a
55942         subsequent slash.  Preserve // when it is special.
55943         (dir_name): Don't append dot when drive letter is absolute.
55944         [TEST_DIRNAME]: Move into a full-blown gnulib test.
55945         * lib/basename.c (base_name): New semantics - malloc the result.
55946         Preserve // when it is special.  Preserve relative files that look
55947         like drive letters.
55948         (base_len): Preserve // when it is special.
55949         (last_component): New method, similar to old base_name semantics.
55950         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
55951         base_name.  Strip redundant slashes from ///.
55952
55953 2006-07-03  Jim Meyering  <jim@meyering.net>
55954
55955         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
55956         macro is used before the first cycle_check call.
55957
55958 2006-07-03  Eric Blake  <ebb9@byu.net>
55959
55960         * modules/dirname (Depends-on): Add xstrndup.
55961
55962 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
55963
55964         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
55965         test cases, so that config.log is a bit easier to follow.
55966
55967 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
55968
55969         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
55970         both are 64 bits, since this seems to be the tradition, and this
55971         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
55972         we ever run into a host that prefers long long to long in this
55973         case, we'll need another configure-time test.  Problem reported by
55974         Jim Meyering.
55975
55976 2006-07-02  Eric Blake  <ebb9@byu.net>
55977
55978         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
55979
55980 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55981
55982         * modules/inttypes (Depends-on): No longer depends on stdint.
55983         * modules/stdint (Description): Say more about assumptions.
55984         Say that the fast types might differ.  Say macros are used.
55985         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
55986         (Makefile.am): Revise list of substituted symbols to match
55987         new stdint.m4.
55988         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
55989         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
55990         * tests/test-stdint.c (verify_same_types)
55991         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
55992         the code conforms to C99/C89.
55993         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
55994         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
55995
55996 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55997
55998         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
55999         but fix a bug, by requiring at least 64 bits.
56000         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
56001         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
56002         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
56003         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
56004
56005         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
56006         changes.  Make 2.59 a prerequisite.  Check and substitute for
56007         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
56008         inttypes.h.  Do not use special include files; just use the
56009         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
56010         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
56011         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
56012         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
56013         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
56014         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
56015         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
56016         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
56017         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
56018         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
56019         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
56020         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
56021         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
56022         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
56023         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
56024         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
56025         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
56026         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
56027         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
56028         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
56029         WINT_MAX.  Check for C99 conformance more strictly, by detecting
56030         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
56031         not check for things that C99 does not require, e.g., int8_t.  If
56032         a test isn't needed unless <stdint.h> isn't working, and is
56033         unlikely to be needed for any other reason, then don't do it
56034         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
56035         size_t, since we assume C89 freestanding at least.  Do not check
56036         for sig_atomic_t, wchar_t, or wint_t, since the code now does
56037         the right thing even if the types are not defined.  Instead use:
56038         (gl_STDINT_TYPE_PROPERTIES): New macro.
56039         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
56040         testing whether <sys/types.h> clashes, as Autoconf does this for
56041         us now.  All uses removed.
56042         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
56043         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
56044         (gl_CHECK_TYPE_SAME):
56045         Remove; no longer needed.
56046         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
56047         exists, since we'll return 0 anyway in that case.
56048         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
56049
56050 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
56051
56052         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
56053         possible collision with system files.
56054         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
56055         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
56056         WCHAR_MIN and WCHAR_MAX in this case.
56057         (<stddef.h>): Do not include; no longer needed.
56058         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
56059         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
56060         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
56061         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
56062         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
56063         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
56064         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
56065         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
56066         !defined(__c99))]: Include in this case too, since it's harmless
56067         now.
56068         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
56069         dangerous to do so.
56070         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
56071         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
56072         (_STDINT_MIN, _STDINT_MAX): New macros.
56073         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
56074         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
56075         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
56076         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
56077         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
56078         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
56079         macros, not typedefs; this simplifies things quite a bit.
56080         Use long int for all types narrower than int64_t.
56081         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
56082         Define in terms of long long int or int64_t or long int,
56083         not int64_t or int32_t.  This saves some compile-time testing.
56084         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
56085         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
56086         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
56087         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
56088         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
56089         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
56090         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
56091         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
56092         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
56093         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
56094         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
56095         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
56096         undef any previous version and define our own version, for
56097         simplicity and consistency with the new macros for types.
56098         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
56099         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
56100         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
56101         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
56102         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
56103         @WINT_T_SUFFIX@ to keep things simple here.
56104         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
56105         Simplify by assuming typical 8/16/32/64 host, since we're
56106         already doing that elsewhere anyway.
56107         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
56108         and assume long long int is 64 bits if available.  This
56109         speeds up 'configure'.
56110
56111 2006-07-01  Eric Blake  <ebb9@byu.net>
56112
56113         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
56114         Reported by Andreas Buening.
56115
56116 2006-07-01  Eric Blake  <ebb9@byu.net>
56117
56118         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
56119
56120 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
56121
56122         * lib/getaddrinfo.c: fixed typo
56123
56124 2006-06-29  Jim Meyering  <jim@meyering.net>
56125
56126         * modules/strftime (Maintainer): Add my name, since with the
56127         FPRINTFTIME changes strftime.c has forked from glibc.
56128
56129 2006-06-29  Eric Blake  <ebb9@byu.net>
56130
56131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
56132
56133 2006-06-29  Eric Blake  <ebb9@byu.net>
56134
56135         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
56136
56137 2006-06-29  Eric Blake  <ebb9@byu.net>
56138
56139         * lib/stat_.h: New file.
56140
56141 2006-06-29  Eric Blake  <ebb9@byu.net>
56142
56143         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
56144         unused static function.
56145
56146 2006-06-29  Eric Blake  <ebb9@byu.net>
56147
56148         * doc/functions.texi (Function Portability): Document missing lstat
56149         on mingw.
56150
56151 2006-06-29  Eric Blake  <ebb9@byu.net>
56152
56153         * MODULES.html.sh: Add sys_stat.
56154         * modules/sys_stat: New module.
56155         * modules/mkstemp (Depends-on): Add sys_stat.
56156
56157 2006-06-29  Derek R. Price  <derek@ximbiot.com>
56158
56159         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
56160
56161 2006-06-29  Derek R. Price  <derek@ximbiot.com>
56162
56163         * m4/c-bs-a.m4: Removed.
56164
56165 2006-06-29  Derek R. Price  <derek@ximbiot.com>
56166
56167         * lib/strftime.c: Assume strftime() exists.
56168
56169 2006-06-29  Derek Price  <derek@ximbiot.com>
56170
56171         * modules/c-bs-a: Removed - \a is C89.
56172         * MODULES.html.sh: Remove c-bs-a.
56173
56174 2006-06-29  Bruno Haible  <bruno@clisp.org>
56175
56176         * modules/wcwidth (License): Change to LGPL.
56177
56178 2006-06-28  Simon Josefsson  <jas@extundo.com>
56179
56180         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
56181         on _WIN32.
56182
56183         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
56184         getnameinfo.
56185
56186 2006-06-28  Simon Josefsson  <jas@extundo.com>
56187
56188         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
56189
56190 2006-06-28  Simon Josefsson  <jas@extundo.com>
56191
56192         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
56193         functions there.  It will succeed on Windows XP, but on Windows
56194         2000 and (presumably) earlier, it will fail, and use the internal
56195         re-implementation.
56196         (use_win32_p): New function.
56197         (getaddrinfo): Use strtoul on servname, to support numeric ports.
56198         Support AI_NUMERICSERV to disable getservbyname.
56199         (getnameinfo): New function, only supports
56200         NI_NUMERICHOST|NI_NUMERICSERV for now.
56201
56202         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
56203         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
56204         getnameinfo.
56205
56206 2006-06-28  Eric Blake  <ebb9@byu.net>
56207
56208         * modules/wcwidth: New file.
56209         * modules/mbchar (Depends-on): Add wcwidth.
56210         * modules/mbswidth (Depends-on): Add wcwidth.
56211         * MODULES.html.sh: Add wcwidth.
56212
56213 2006-06-28  Eric Blake  <ebb9@byu.net>
56214
56215         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
56216         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
56217
56218 2006-06-28  Eric Blake  <ebb9@byu.net>
56219
56220         * lib/xvasprintf.h: Fix comments.
56221
56222 2006-06-28  Eric Blake  <ebb9@byu.net>
56223
56224         * lib/mbchar.h (wcwidth): Include wcwidth.h.
56225         * lib/mbswidth.c (wcwidth): Move from here...
56226         * lib/wcwidth.h: ...to this new file.
56227
56228 2006-06-28  Derek R. Price  <derek@ximbiot.com>
56229
56230         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
56231
56232         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
56233         it's obsolete.
56234         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
56235
56236 2006-06-28  Derek R. Price  <derek@ximbiot.com>
56237
56238         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
56239         Autoconf 2.60 says this stuff was obsolete.
56240
56241 2006-06-28  Bruno Haible  <bruno@clisp.org>
56242
56243         * modules/wcwidth (Files): Add m4/wchar_t.m4.
56244
56245 2006-06-28  Bruno Haible  <bruno@clisp.org>
56246
56247         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
56248         gt_TYPE_WCHAR_T.
56249
56250 2006-06-28  Bruno Haible  <bruno@clisp.org>
56251
56252         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
56253         declaration for wcwidth.
56254         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
56255
56256 2006-06-28  Bruno Haible  <bruno@clisp.org>
56257
56258         * lib/mkdtemp.c [MINGW]: Include <io.h>.
56259         (mkdir): Define using _mkdir.
56260
56261 2006-06-28  Bruno Haible  <bruno@clisp.org>
56262
56263         * lib/getaddrinfo.h: Fix POSIX URL.
56264         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
56265         _WIN32.
56266         (use_win32_p): Make static.
56267         (getaddrinfo): Reject service name if it is empty or does not consist
56268         solely of decimal digits, or if its value is > 65535.
56269         (getnameinfo): Remove useless casts.
56270
56271 2006-06-27  Simon Josefsson  <jas@extundo.com>
56272
56273         * modules/sys_select: New file, suggested by Bruno Haible, Paul
56274         Eggert and Martin Lambers.
56275
56276 2006-06-27  Simon Josefsson  <jas@extundo.com>
56277
56278         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
56279         Eggert and Martin Lambers.
56280
56281 2006-06-27  Bruno Haible  <bruno@clisp.org>
56282
56283         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
56284         result to 0, not to empty.
56285         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
56286
56287 2006-06-27  Bruno Haible  <bruno@clisp.org>
56288
56289         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
56290
56291 2006-06-26  Simon Josefsson  <jas@extundo.com>
56292
56293         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
56294         present.
56295
56296 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
56297
56298         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
56299         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
56300         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
56301
56302 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
56303
56304         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
56305
56306 2006-06-26  Bruno Haible  <bruno@clisp.org>
56307
56308         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
56309
56310 2006-06-26  Bruno Haible  <bruno@clisp.org>
56311
56312         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
56313
56314 2006-06-26  Bruno Haible  <bruno@clisp.org>
56315
56316         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
56317         SGI C compiler in pre-C99 mode.
56318         Suggested by Mark D. Baushke and Larry Jones.
56319
56320 2006-06-26  Bruno Haible  <bruno@clisp.org>
56321
56322         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
56323         WCHAR_MAX.
56324         Reported by Mark D. Baushke and Larry Jones.
56325
56326 2006-06-26  Bruno Haible  <bruno@clisp.org>
56327
56328         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
56329         in pre-C99 mode.
56330         Suggested by Mark D. Baushke and Larry Jones.
56331
56332 2006-06-23  Simon Josefsson  <jas@extundo.com>
56333             Bruno Haible  <bruno@clisp.org>
56334
56335         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
56336         Emit mostlyclean-local rule.
56337         (func_emit_tests_Makefile_am): Likewise.
56338         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
56339
56340 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
56341
56342         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
56343
56344 2006-06-23  Bruno Haible  <bruno@clisp.org>
56345
56346         * tests/test-stdint.c: Update to match ISO C 99 Technical
56347         Corrigendum 1.
56348
56349 2006-06-23  Bruno Haible  <bruno@clisp.org>
56350
56351         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
56352
56353 2006-06-23  Bruno Haible  <bruno@clisp.org>
56354
56355         * lib/stdint_.h: Treat IRIX like OpenBSD.
56356
56357 2006-06-23  Bruno Haible  <bruno@clisp.org>
56358
56359         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
56360         ISO C 99 Technical Corrigendum 1.
56361
56362 2006-06-22  Simon Josefsson  <jas@extundo.com>
56363
56364         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
56365         MinGW.
56366
56367 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56368
56369         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
56370         needed.  Some compiler complained about some of them.  Problem reported
56371         by Larry Jones in
56372         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
56373
56374 2006-06-21  Simon Josefsson  <jas@extundo.com>
56375
56376         * tests/test-getaddrinfo.c: New file.
56377
56378         * modules/getaddrinfo-tests: New file.
56379
56380         * MODULES.html.sh: Add inet_pton.
56381
56382         * modules/inet_pton: New file.
56383
56384 2006-06-21  Simon Josefsson  <jas@extundo.com>
56385
56386         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
56387         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
56388         of using the (limited) gnulib implementation on Windows XP.
56389
56390         * m4/inet_pton.m4: New file.
56391
56392 2006-06-21  Simon Josefsson  <jas@extundo.com>
56393
56394         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
56395         variable.
56396
56397         * lib/socket_.h: Don't define WINVER.
56398
56399         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
56400         slightly modified to work in gnulib.
56401
56402 2006-06-21  Simon Josefsson  <jas@extundo.com>
56403
56404         * doc/gnulib.texi (Windows sockets): Add.
56405
56406 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
56407
56408         * lib/read-file.c (fread_file): Start with buffer allocation of
56409         0 bytes rather than 1 byte; this simplifies the code.
56410         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
56411         code to free buffer and save/restore errno.
56412         (internal_read_file): Remove unused local.
56413
56414 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
56415
56416         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
56417         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
56418         Problem reported by Denis Excoffier in
56419         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
56420
56421 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56422
56423         * modules/sys_socket, modules/socklen: Include sys/types since
56424         FreeBSD 4.x's sys/socket.h needs it.
56425
56426 2006-06-19  Simon Josefsson  <jas@extundo.com>
56427
56428         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
56429
56430 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
56431
56432         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
56433
56434 2006-06-19  Bruno Haible  <bruno@clisp.org>
56435
56436         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
56437         and FULL_PATH_INTTYPES_H in angle brackets.
56438         Reported by Mark D. Baushke <mdb@gnu.org>.
56439
56440 2006-06-17  Eric Blake  <ebb9@byu.net>
56441
56442         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
56443         errno.
56444
56445 2006-06-17  Bruno Haible  <bruno@clisp.org>
56446
56447         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
56448         <sys/inttypes.h>.
56449
56450 2006-06-17  Bruno Haible  <bruno@clisp.org>
56451
56452         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
56453         whether errno is declared. Assume <errno.h> declares errno.
56454
56455 2006-06-17  Bruno Haible  <bruno@clisp.org>
56456
56457         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
56458
56459 2006-06-17  Bruno Haible  <bruno@clisp.org>
56460
56461         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
56462         problem on Solaris 2.5.1.
56463
56464 2006-06-16  Eric Blake  <ebb9@byu.net>
56465
56466         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
56467         * lib/unicodeio.c [!defined errno]: Likewise.
56468         * lib/strtol.c [!defined errno]: Likewise.
56469         * lib/strtod.c [!defined errno]: Likewise.
56470
56471 2006-06-15  Eric Blake  <ebb9@byu.net>
56472
56473         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
56474
56475 2006-06-15  Eric Blake  <ebb9@byu.net>
56476
56477         * config/srclist.txt (ssize_t.m4): Lose sync.
56478
56479 2006-06-15  Bruno Haible  <bruno@clisp.org>
56480
56481         * modules/stdint (Files): Include m4/full-header-path.m4,
56482         m4/size_max.m4, m4/wchar_t.m4.
56483         (Makefile.am): Many more substitutions.
56484         * modules/stdint-tests: New file.
56485         * tests/test-stdint.c: New file.
56486
56487 2006-06-15  Bruno Haible  <bruno@clisp.org>
56488
56489         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
56490         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
56491         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
56492         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
56493         gl_CHECK_TYPE_SAME): New macros.
56494
56495 2006-06-15  Bruno Haible  <bruno@clisp.org>
56496
56497         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
56498
56499 2006-06-15  Bruno Haible  <bruno@clisp.org>
56500
56501         * lib/stdint_.h: Rewritten to be fully auto-configured.
56502         Fixes bug on HP-UX/IA64.
56503
56504 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
56505
56506         * lib/getdate.y (__attribute__): Don't define if already defined.
56507         Problem reported by Larry Jones.
56508         * lib/utimens.c (__attribute__): Likewise.
56509
56510 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
56511
56512         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
56513         reported by Andreas Schwab.
56514
56515 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56516             Bruno Haible  <bruno@clisp.org>
56517
56518         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
56519         check for the declaration of strnlen and a run test that exposes the
56520         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
56521         rpl_strndup.
56522
56523 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56524             Bruno Haible  <bruno@clisp.org>
56525
56526         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
56527
56528 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56529
56530         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
56531         compile test, for Tru64 4.0D.
56532
56533 2006-05-28  Karl Berry  <karl@gnu.org>
56534
56535         * config/srclist.txt (printf-args.c): lose sync.
56536
56537 2006-05-26  Martin Lambers  <marlam@marlam.de>
56538
56539         * lib/getpass.c: Updates the test for the native W32 API, and adds
56540         missing includes, thus fixing compilation warnings.
56541
56542 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
56543
56544         * lib/exclude.c (exclude_fnmatch): New function.
56545         (excluded_file_name): Call exclude_fnmatch.
56546         * lib/exclude.h (excluded_file_name): New prototype
56547
56548 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
56549
56550         * lib/tempname.c (small_open, large_open): New macros.
56551         (__open, __open64) [!_LIBC]: Remove.
56552         (__gen_tempname): Use small_open and large_open instead of __open
56553         and __open64.  This fixes a portability bug on HP-UX 11.11i
56554         reported by Simon Wing-Tang in
56555         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
56556
56557 2006-05-24  Bruno Haible  <bruno@clisp.org>
56558
56559         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
56560         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
56561         Reported by Thorsten Maerz <torte@netztorte.de> via
56562         Aaron Stone <aaron@serendipity.cx>.
56563
56564 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56565
56566         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
56567         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
56568         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
56569         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
56570         not really conditional on the cache.
56571         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
56572
56573 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56574
56575         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
56576         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
56577         (my_usleep): Don't mishandle maximum value.
56578
56579 2006-05-19  Jim Meyering  <jim@meyering.net>
56580
56581         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
56582
56583 2006-05-17  Bruno Haible  <bruno@clisp.org>
56584
56585         Cygwin portability.
56586         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
56587
56588 2006-05-17  Bruno Haible  <bruno@clisp.org>
56589
56590         * lib/stdint_.h: Fix recognition of Cygwin.
56591
56592 2006-05-15  Bruno Haible  <bruno@clisp.org>
56593
56594         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
56595         on libtool patch by Ralf Wildenhues.
56596
56597 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56598
56599         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
56600         test for C99 conformance; (bool) 0.5 is an integer constant
56601         expression, but (bool) -0.5 is not.  Problem reported by Fedor
56602         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
56603
56604 2006-05-11  Simon Josefsson  <jas@extundo.com>
56605
56606         * m4/xvasprintf.m4: Fix obvious typo.
56607
56608 2006-05-11  Jim Meyering  <jim@meyering.net>
56609
56610         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
56611         James Lemley.
56612
56613 2006-05-10  Simon Josefsson  <jas@extundo.com>
56614
56615         * lib/md4.c: Typo fix, update copyright years.
56616         (K1, K2): Don't use L because it turn computations into 64-bit on
56617         64-bit platforms.
56618
56619 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
56620
56621         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
56622         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
56623         unwanted sign propagation, e.g., on hosts with 64-bit int.
56624         There still are some problems with reeelly weird theoretical hosts
56625         (e.g., 33-bit int) but it's not worth worrying about now.
56626         * lib/sha1.c (rol): Likewise.
56627         (K1, K2, K3, K4): Remove unnecessary L suffix.
56628
56629 2006-05-10  Bruno Haible  <bruno@clisp.org>
56630
56631         * lib/des.c: Cast to avoid warnings.
56632
56633 2006-05-09  Bruno Haible  <bruno@clisp.org>
56634
56635         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
56636         (Depends-on): Depend also on xsize, stdarg.
56637         (configure.ac): Add gl_XVASPRINTF.
56638
56639 2006-05-09  Bruno Haible  <bruno@clisp.org>
56640
56641         * m4/xvasprintf.m4: New file.
56642
56643 2006-05-09  Bruno Haible  <bruno@clisp.org>
56644
56645         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
56646         (EOVERFLOW): Define fallback value.
56647         (xstrcat): New function.
56648         (xvasprintf): Recognize the special case of a string concatenation.
56649
56650 2006-05-08  Eric Blake  <ebb9@byu.net>
56651
56652         * gnulib-tool (func_version): Base copyright year on CVS date.
56653         (func_emit_copyright_notice): New function.
56654         (func_emit_lib_Makefile_am): Use it.
56655         (func_emit_tests_Makefile_am): Likewise.
56656         (func_import): Likewise.
56657
56658 2006-05-08  Bruno Haible  <bruno@clisp.org>
56659
56660         * modules/stdarg: New file.
56661         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
56662
56663 2006-05-08  Bruno Haible  <bruno@clisp.org>
56664
56665         * m4/stdarg.m4: New file, from GNU gettext.
56666
56667 2006-05-08  Bruno Haible  <bruno@clisp.org>
56668
56669         * config/srclist.txt (build-aux/config.rpath): different from latest
56670         release.
56671
56672 2006-05-08  Bruno Haible  <bruno@clisp.org>
56673
56674         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
56675
56676 2006-05-05  Jim Meyering  <jim@meyering.net>
56677
56678         * m4/warning.m4: New file, derived from bison's file by the same name.
56679
56680 2006-05-03  Bruno Haible  <bruno@clisp.org>
56681
56682         * lib/stdint_.h: Shorter URL.
56683         * lib/inttypes.h: Likewise.
56684
56685 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
56686
56687         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
56688
56689 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
56690
56691         * lib/verify.h: Document the internals better.  Most of this change
56692         was written by Bruno Haible.
56693
56694 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
56695
56696         * doc/verify.texi: New file, partly based on a proposal by
56697         Bruno Haible.
56698
56699 2006-05-02  Bruno Haible  <bruno@clisp.org>
56700
56701         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
56702         test from here...
56703         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
56704
56705 2006-04-29  Bruno Haible  <bruno@clisp.org>
56706
56707         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
56708         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
56709
56710 2006-04-29  Bruno Haible  <bruno@clisp.org>
56711
56712         * gnulib-tool: Make --update option actually work.
56713
56714 2006-04-29  Bruno Haible  <bruno@clisp.org>
56715
56716         * doc/gcd.texi: New file.
56717         * doc/gnulib.texi: Include it.
56718
56719 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56720
56721         * lib/getdate.y (get_date): When adding relative date, start with the
56722         initial time, not with the result of the first mktime call.
56723
56724 2006-04-25  Bruno Haible  <bruno@clisp.org>
56725
56726         * gnulib-tool (func_import): Output the include directives in three
56727         blocks, sorted separately.
56728         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56729
56730 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56731
56732         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
56733         to define main with arguments, for C++.  Reported by Eric Blake.
56734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
56735         Prefer 'int main ()' to 'int main (void)', for C++.
56736         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
56737         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
56738         for 'main', for C99 and C++.
56739
56740 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56741
56742         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
56743         Don't assume that exit status -1 is valid.
56744         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56745         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56746         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
56747         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
56748         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
56749         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
56750         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
56751         functions can be used without declaring them, or that you can
56752         exit with status -1.
56753         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
56754
56755 2006-04-24  Karl Berry  <karl@gnu.org>
56756
56757         * config/srclist.txt (longdouble.m4): sync lost.
56758
56759 2006-04-24  Eric Blake  <ebb9@byu.net>
56760
56761         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
56762
56763 2006-04-24  Bruno Haible  <bruno@clisp.org>
56764
56765         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
56766         poll() implementation in AIX.
56767         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56768
56769 2006-04-24  Bruno Haible  <bruno@clisp.org>
56770
56771         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
56772         assigned exactly once.
56773
56774 2006-04-23  Claudio Fontana  <claudio@gnu.org>
56775             Bruno Haible  <bruno@clisp.org>
56776
56777         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
56778         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
56779         for AM_CPPFLAGS.
56780
56781 2006-04-23  Bruno Haible  <bruno@clisp.org>
56782
56783         * modules/copy-file: Depend on unistd.
56784         * modules/execute: Likewise.
56785         * modules/fatal-signal: Likewise.
56786         * modules/findprog: Likewise.
56787         * modules/mkdtemp : Likewise.
56788         * modules/pipe: Likewise.
56789         * modules/wait-process: Likewise.
56790
56791 2006-04-23  Bruno Haible  <bruno@clisp.org>
56792
56793         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
56794         condition was already detected.
56795         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56796
56797 2006-04-23  Bruno Haible  <bruno@clisp.org>
56798
56799         * lib/copy-file.c: Include <unistd.h> unconditionally.
56800         * lib/execute.c: Likewise.
56801         * lib/fatal-signal.c: Likewise.
56802         * lib/findprog.c: Likewise.
56803         * lib/mkdtemp.c: Likewise.
56804         * lib/pipe.h: Likewise.
56805         * lib/pipe.c: Likewise.
56806         * lib/wait-process.h: Likewise.
56807
56808 2006-04-23  Bruno Haible  <bruno@clisp.org>
56809
56810         * gnulib-tool (func_usage): Fix --import description. Document
56811         --update.
56812         (func_import): Create temporary file in a temporary directory, if
56813         --dry-run is specified. Silence errors from 'grep' when there are no
56814         m4 files in $m4dir.
56815         (func_create_testdir): Silence errors from 'grep' when there are no
56816         m4 files in $m4dir.
56817         Reported by Karl Berry <karl@freefriends.org>.
56818
56819 2006-04-20  Bruno Haible  <bruno@clisp.org>
56820
56821         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
56822         one argument, so that the code will be portable to Autoconf 2.60.
56823         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
56824         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
56825         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
56826
56827 2006-04-19  Derek Price  <derek@ximbiot.com>
56828             Eric Blake  <ebb9@byu.net>
56829
56830         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
56831         rather than "/full/path.h".  Update comment to match.  Shorten &
56832         generalize m4_translit call via AS_TR_CPP.
56833
56834 2006-04-19  Derek Price  <derek@ximbiot.com>
56835             Eric Blake  <ebb9@byu.net>
56836
56837         * lib/inttypes.h: Correct grammar in comment.
56838
56839 2006-04-18  Derek Price  <derek@ximbiot.com>
56840             Paul Eggert  <eggert@cs.ucla.edu>
56841
56842         * modules/inttypes: New file.
56843         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
56844
56845 2006-04-18  Derek Price  <derek@ximbiot.com>
56846             Paul Eggert  <eggert@cs.ucla.edu>
56847
56848         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
56849         New files.
56850
56851 2006-04-18  Derek Price  <derek@ximbiot.com>
56852             Paul Eggert  <eggert@cs.ucla.edu>
56853
56854         * lib/inttypes.h: New file.
56855         * lib/strtoimax.c: Assume <inttypes.h>.
56856
56857 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
56858
56859         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
56860         isn't mounted.  Problem reported by Kir Kolyshkin.
56861
56862 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56863
56864         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
56865         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
56866         Derek R. Price.
56867         * lib/regex.h (RE_DUP_MAX): Update comment to match current
56868         implementation.
56869
56870 2006-04-12  Eric Blake  <ebb9@byu.net>
56871
56872         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
56873         is now done automatically by the corresponding Autoconf macro.
56874
56875 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
56876
56877         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
56878         time_r.h.
56879
56880 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
56881
56882         Merge regex changes from libc, removing some of our
56883         POSIX-conformance changes that were rejected and redoing them in a
56884         less-intrusive way.
56885
56886         * lib/regcomp.c (re_compile_internal, init_dfa):
56887         Length arg is now size_t, not Idx.  All uses changed.
56888         (peek_token): Forward decl now says internal_function.
56889         (__re_error_msgid, __re_error_msgid_idx):
56890         Now static rather than extern with attribute_hidden.
56891         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
56892         For some reason libc prefers K&R style defns for external functions.
56893         (regerror) [!defined _LIBC]: Likewise.
56894         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
56895         (seek_collating_symbol_entry, lookup_collation_sequence_value):
56896         (build_range_exp, build_collating_symbol):
56897         Use K&R-style defn.
56898         (re_compile_fastmap): Use '\0' to memset, not 0.
56899         (utf8_sb_map): Make the calculations more obvious.
56900         (init_dfa, parse_bracket_exp, build_charclass_op):
56901         Call calloc and cast result, as glibc does.
56902         (init_word_char, fetch_token, peek_token, peek_token_bracket):
56903         (build_range_exp, build_collating_symbol):
56904         Now internal functions.
56905
56906         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
56907
56908         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
56909         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
56910         Don't depend on VMS; depend on __VMS instead, for POSIX
56911         namespace cleanness.
56912         (regoff_t): Define to ssize_t, not long int.
56913
56914         Remove the REG_ macros named below.  Instead, make the old names
56915         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
56916         __USE_GNU_REGEX.
56917         (REG_BACKSLASH_ESCAPE_IN_LISTS):
56918         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
56919         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
56920         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
56921         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
56922         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
56923         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
56924         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
56925         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
56926         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
56927         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
56928         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
56929         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
56930         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
56931         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
56932         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
56933         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
56934         (REG_NREGS):
56935         Remove.  All uses replaced by the old RE_* names.
56936         (RE_BACKSLASH_ESCAPE_IN_LISTS):
56937         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
56938         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
56939         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
56940         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
56941         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
56942         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
56943         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
56944         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
56945         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
56946         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
56947         Don't bother having these macros be independent of each others'
56948         values, since they no longer exist in the POSIX name space.
56949
56950         Rename the following member names back to their old names,
56951         unless !__USE_GNU_REGEX.  All uses changed back.
56952         (buffer): Renamed from re_buffer.
56953         (allocated): Renamed from re_allocated.
56954         (used): Renamed from re_used.
56955         (syntax): Renamed from re_syntax.
56956         (fastmap): Renamed from re_fastmap.
56957         (translate): Renamed from re_translate.
56958         (can_be_null): Renamed from re_can_be_null.
56959         (regs_allocated): Renamed from re_regs_allocated.
56960         (fastmap_accurate): Renamed from re_fastmap_accurate.
56961         (no_sub): Renamed from re_no_sub.
56962         (not_bol): Renamed from re_not_bol.
56963         (not_eol): Renamed from re_not_eol.
56964         (newline_anchor): Renamed from re_newline_anchor.
56965         (num_regs): Renamed from rm_num_regs.
56966         (start): Renamed from rm_start.
56967         (end): Renamed from rm_end.
56968
56969         (free_state): Move up a bit.
56970
56971         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
56972         #define to be empty.
56973         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
56974         when that is what is intended.
56975         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
56976         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
56977         (MAX): New macro.
56978         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
56979         All uses changed back to re_malloc, etc.  It's now the caller's
56980         responsibility to check for overflow; all callers changed.
56981         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
56982         (re_x2nrealloc): Remove.
56983         (free_state): Remove decl.
56984
56985         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
56986         (re_set_registers, re_exec):
56987         Use K&R-style defn.
56988
56989         2006-01-31  Roland McGrath  <roland@redhat.com>
56990
56991         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
56992         Reported by Mike Frysinger <vapier@gentoo.org>.
56993
56994         2006-01-15  Andreas Jaeger  <aj@suse.de>
56995
56996         [BZ #1950]
56997         * lib/regex_internal.c (re_string_reconstruct): Adjust for
56998         build_wcs_upper_buffer change.
56999         (build_wcs_upper_buffer): Change return type.
57000
57001         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
57002
57003         * lib/regex_internal.h: Include <stdint.h> if available.
57004
57005         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
57006
57007         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
57008
57009         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57010
57011         * lib/regcomp.c: Adjust for changed secondary hash function.
57012
57013         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
57014
57015         * lib/regex.h: Pretty printing.
57016         Clean up namespace a bit.
57017
57018         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
57019
57020         * lib/regexec.c (update_cur_sifted_state, check_arrival,
57021         check_arrival_add_next_nodes): Avoid using uninitialized variable.
57022
57023         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57024                     Ulrich Drepper  <drepper@redhat.com>
57025
57026         [BZ #1302]
57027         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
57028         changed.
57029         (bitset_word_t): Renamed from bitset_word.  All uses changed.
57030
57031         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
57032
57033         [BZ #281]
57034         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
57035         * lib/regcomp.c: Remove unnecessary uses of
57036         unsigned RE_TRANSLATE_TYPE.
57037         * lib/regex_internal.h: Likewise.
57038         * lib/regex_internal.c: Likewise.
57039         * lib/regexec.c: Likewise.
57040         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
57041
57042         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
57043
57044         * lib/regexec.c (find_recover_state): Remove unnecessary
57045         initialization.
57046         (transit_state_bkref): Make DFA a const pointer.
57047         (get_subexp): Likewise.
57048         (check_arrival): Likewise.
57049         (update_cur_sifted_state): Likewise.
57050         (re_search_internal): Likewise.
57051         (prune_impossible_nodes): Likewise.
57052         (acquire_init_state_context): Likewise.
57053         (proceed_next_node): Likewise.
57054         (set_regs): Likewise.
57055         (free_fail_stack_return): Likewise.
57056         (check_arrival_expand_ecl): Mark DFA parameter as const.
57057         (check_arrival_expand_ecl_sub): Likewise.
57058         (check_subexp_limits): Likewise.
57059         (sub_epsilon_src_nodes):  Likewise.
57060         (add_epsilon_src_nodes):  Likewise.
57061         (merge_state_array): Likewise.
57062         (update_regs): Likewise.
57063         (build_trtable): Likewise.
57064         (sift_states_backward): Mark MCTX parameter as const.
57065         (build_sifted_states): Likewise.
57066         (update_cur_sifted_state): Likewise.
57067         (sift_states_mkref): Likewise.
57068         (check_arrival_expand_ecl): Mark eclosure as const.
57069         (check_dst_limits_calc_pos_1): Likewise.
57070         * lib/regex_internal.h (re_match_context_t): Make dfa a const
57071         pointer.
57072
57073         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
57074
57075         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
57076         (transit_state_sb): Likewise.
57077         (transit_state_mb): Likewise.
57078         (sift_states_iter_mb): Likewise.
57079         (check_arrival_add_next_nodes): Likewise.
57080         (check_node_accept_bytes): Change first parameter to pointer-to-const.
57081         [_LIBC] (re_search_2_stub): Use mempcpy.
57082
57083         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
57084         mbrtowc for very simple UTF-8 case.
57085
57086         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
57087         a pointer-to-const.
57088         (re_acquire_state_context): Likewise.
57089         * lib/regex_internal.h: Adjust prototypes.
57090
57091         * lib/regex.c: Prevent using C++ compilers.
57092
57093         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
57094         (re_acquire_state_context): Likewise.
57095
57096 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57097
57098         * modules/regex (Depends-on): Add ssize_t.
57099
57100 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57101
57102         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
57103         translation table.
57104
57105 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57106
57107         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
57108
57109 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
57110             Bruno Haible  <bruno@clisp.org>
57111
57112         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
57113         <sys/types.h> and <inttypes.h>.
57114
57115 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57116
57117         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
57118         `__error_t_defined', so argp.h will not typedef the former.
57119
57120 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
57121
57122         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
57123         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
57124         glibc names.  Even if glibc is changed to conform to POSIX, the
57125         traditional names will be available anyway, since regex depends on
57126         the extensions module.  Also, fix a longstanding typo in the
57127         implementation of Spencer ERE test #75 from grep 2.3.  Problems
57128         reported by Emanuele Giaquinta.  Also, change sense of cached
57129         variable, so that the message makes sense.
57130
57131 2006-03-24  Simon Josefsson  <jas@extundo.com>
57132
57133         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
57134         including some doc fixes.
57135         (base64_encode_alloc): Fix +1 bug on allocation failures.
57136
57137 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57138
57139         * lib/base64.c (base64_encode): Do not read past end of array with
57140         unsanitized input on systems with CHAR_BIT > 8.
57141
57142 2006-03-24  Eric Blake  <ebb9@byu.net>
57143
57144         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
57145
57146 2006-03-22  Karl Berry  <karl@gnu.org>
57147
57148         * config/srclist.txt (*setenv.[ch]): get from coreutils.
57149         * config/srclistvars.sh (COREUTILS): new var.
57150
57151 2006-03-17  Jim Meyering  <jim@meyering.net>
57152
57153         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
57154         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
57155
57156 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
57157
57158         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
57159         no longer needs it.  Instead, check that regoff_t is as least
57160         as wide as ptrdiff_t.
57161
57162         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
57163         so that our regex.h stays compatible with the installed regex.
57164         This is helpful for installers who configure --without-included-regex.
57165         Problem reported by Emanuele Giaquinta.
57166
57167 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
57168
57169         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
57170         Typedef to long int, not to off_, as POSIX will likely change
57171         in that direction.
57172
57173 2006-03-15  Eric Blake  <ebb9@byu.net>
57174
57175         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
57176
57177 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
57178
57179         * lib/argp-help.c (validate_uparams): Fix typo
57180         * lib/argp-parse.c (argp_default_options): Consistently begin help
57181         messages with a lowercase letter.
57182
57183 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
57184
57185         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
57186         overrun buffers and shouldn't be used (much as gets shouldn't be
57187         used).
57188         * lib/time_r.c (asctime_r, ctime_r): Likewise.
57189
57190 2006-03-08  Simon Josefsson  <jas@extundo.com>
57191
57192         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
57193         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57194
57195 2006-03-08  Simon Josefsson  <jas@extundo.com>
57196
57197         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
57198         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57199
57200 2006-03-08  Simon Josefsson  <jas@extundo.com>
57201
57202         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
57203         signal that configure disabled the device.
57204
57205 2006-03-08  Simon Josefsson  <jas@extundo.com>
57206
57207         * build-aux/maint.mk: Fix refresh-po, to handle no translated
57208         languages.
57209
57210 2006-03-07  Simon Josefsson  <jas@extundo.com>
57211
57212         * modules/getopt (Depends-on): Add unistd.
57213
57214         * modules/unistd: New file.
57215
57216 2006-03-07  Simon Josefsson  <jas@extundo.com>
57217
57218         * modules/gc-random: New file.
57219
57220 2006-03-07  Simon Josefsson  <jas@extundo.com>
57221
57222         * m4/unistd_h.m4: New file.
57223
57224 2006-03-07  Simon Josefsson  <jas@extundo.com>
57225
57226         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
57227         test to be side-effect free by storing the result in the cache
57228         variable gl_cv_lib_readline, and moving the assignment of
57229         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
57230         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57231
57232 2006-03-07  Simon Josefsson  <jas@extundo.com>
57233
57234         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
57235         error on missing devices (the functions will return an error).
57236
57237         * m4/gc.m4: Move random stuff to gc-random.m4
57238
57239 2006-03-07  Simon Josefsson  <jas@extundo.com>
57240
57241         * lib/unistd_.h: New file.
57242
57243 2006-03-07  Simon Josefsson  <jas@extundo.com>
57244
57245         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
57246
57247 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57248
57249         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
57250         Problem reported by Juan Manuel Guerrero.
57251
57252 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57253
57254         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
57255         the unistd module.
57256         * lib/getlogin_r.c: Likewise.
57257         * lib/getlogin_r.h: Likewise.
57258         * lib/glob.c: Likewise.
57259         * lib/pagealign_alloc.c: Likewise.
57260         * lib/unistd_.h: Remove; no longer needed.
57261
57262 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57263
57264         * MODULES.html.sh (Support for systems lacking POSIX:2001):
57265         Add unistd.
57266         * modules/c-stack (Depends-on): Add unistd.
57267         * modules/getlogin_r: Likewise.
57268         * modules/glob: Likewise.
57269         * modules/pagealign_alloc: Likewise.
57270         * modules/unistd (Files): Remove lib/unistd_.h.
57271         (EXTRA_DIST): Remove.
57272         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
57273         need unistd_.h.
57274         (MOSTLYCLEANFILES): Remove unistd.h-t.
57275
57276 2006-03-03  Simon Josefsson  <jas@extundo.com>
57277
57278         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
57279
57280 2006-03-03  Simon Josefsson  <jas@extundo.com>
57281
57282         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
57283         libidn and bison.
57284
57285 2006-03-03  Simon Josefsson  <jas@extundo.com>
57286
57287         * build-aux/maint.mk: Add indent target.
57288
57289 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
57290
57291         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
57292         our replacement poll.h in any case, to avoid a differing
57293         declaration from a system header.  Seen on AIX.
57294
57295 2006-03-01  Simon Josefsson  <jas@extundo.com>
57296
57297         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
57298         <kasal@ucw.cz>.
57299
57300 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57301
57302         * modules/gettime (Depends-on): Add extensions module.
57303         * modules/nanosleep (Depends-on): Likewise.
57304         * modules/settime (Depends-on): Likewise.
57305
57306 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57307
57308         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
57309         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
57310         pedantically.
57311         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57312         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
57313
57314         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
57315         not "==".  Reported by Ralf Wildenhues.
57316
57317 2006-03-01  Karl Berry  <karl@gnu.org>
57318
57319         * doc/Copyright/request-*: new files, synced from gnuorg.
57320
57321 2006-03-01  Karl Berry  <karl@gnu.org>
57322
57323         * config/srclist.txt (Copyright/*): new entries.
57324
57325 2006-02-28  Simon Josefsson  <jas@extundo.com>
57326
57327         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
57328
57329 2006-02-27  Simon Josefsson  <jas@extundo.com>
57330
57331         * lib/base64.h: Indent #define's.  From Jim Meyering
57332         <jim@meyering.net>.
57333
57334 2006-02-27  Jim Meyering  <jim@meyering.net>
57335
57336         Revert the change of 2006-02-24, so these files can continue
57337         to be sync'd from gettext.
57338         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
57339         of `config.h'.
57340
57341 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
57342
57343         * modules/intprops: New file.
57344         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57345         Add intprops.
57346         * modules/getloadavg (Files): Remove lib/intprops.h.
57347         (Depends-on): Add intprops.
57348         * modules/human: Likewise.
57349         * modules/inttostr: Likewise.
57350         * modules/openat: Likewise.
57351         * modules/sig2str: Likewise.
57352         * modules/userspec: Likewise.
57353         * modules/utimecmp: Likewise.
57354         * modules/xnanosleep: Likewise.
57355         * modules/xstrtol: Likewise.
57356
57357 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
57358
57359         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
57360         * modules/lock-tests (TESTS): Use $(EXEEXT).
57361         * modules/tls-tests: Likewise.
57362         * modules/argp-tests: Likewise.
57363         (check_PROGRAMS): New var, replacing...
57364         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
57365
57366 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57367
57368         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
57369         `config.h'.
57370
57371 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57372
57373         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
57374
57375 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57376
57377         Sync from coreutils.
57378         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
57379         gl_CHDIR_SAFER.
57380
57381 2006-02-22  Jim Meyering  <jim@meyering.net>
57382
57383         Sync from coreutils.
57384         * m4/chdir-safer.m4: New file.
57385
57386 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
57387
57388         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
57389         AT_FDCWD exceeds INT_MAX.
57390         * lib/openat.h (AT_FDCWD): Likewise.
57391
57392 2006-02-17  Eric Blake  <address@hidden>
57393
57394         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
57395
57396 2006-02-16  Simon Josefsson  <jas@extundo.com>
57397
57398         * modules/getaddrinfo (Depends-on): Add sys_socket.
57399
57400 2006-02-15  Simon Josefsson  <jas@extundo.com>
57401
57402         * build-aux/maint.mk: Add dsyntax-check rule.
57403
57404 2006-02-15  Eric Blake  <ebb9@byu.net>
57405
57406         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
57407         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
57408         'present but cannot compile' warnings on cygwin.
57409         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
57410         use ws2tcpip.h if sys/socket.h works.
57411         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
57412         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
57413
57414 2006-02-14  Simon Josefsson  <jas@extundo.com>
57415
57416         * modules/maintainer-makefile (Files): Rename.
57417
57418         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
57419         and (the local) Makefile.cfg to maint-cfg.mk.
57420
57421         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
57422         to the latter.
57423
57424         * modules/maintainer-makefile: New module.
57425
57426         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
57427         severaly stripped to make it possible to build it up from scratch
57428         with reliable tests.
57429
57430         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
57431         fixes to permit overriding the default actions when configure and
57432         makefile are not available.
57433
57434 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
57435
57436         Sync from coreutils.
57437         * modules/lstat (Depends-on): Don't depend on xalloc.
57438         (License): Change from GPL to LGPL, since this is now simply a
57439         replacement for a libc function.
57440
57441 2006-02-14  Jim Meyering  <jim@meyering.net>
57442
57443         Sync from coreutils.
57444
57445         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
57446         failure on deficient systems, and simplify gnulib lgpl dependencies.
57447         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
57448         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
57449
57450         * lib/xalloc-die.c: Remove unused definition of N_.
57451
57452 2006-02-14  Jim Meyering  <jim@meyering.net>
57453
57454         Sync from coreutils.
57455         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
57456         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
57457         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
57458         double-quote uses of that variable, to accommodate the rare case in
57459         which getmntent is available in none of the libraries checked.  This
57460         happens at least on FreeBSD 5.0.
57461
57462 2006-02-13  Simon Josefsson  <jas@extundo.com>
57463
57464         * gnulib-tool (Usage): Fix --import, from
57465         karl@freefriends.org (Karl Berry).
57466
57467 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
57468
57469         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
57470
57471 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
57472
57473         * lib/argp-namefrob.h: Restore changes accidentally lost during the
57474         "autoupdate" on 2005-12-12.
57475
57476 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
57477
57478         * modules/closeout (Depends-on): Remove atexit.
57479
57480 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
57481
57482         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
57483         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
57484
57485 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
57486
57487         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
57488         __EXTENSIONS__ if this causes compilation to fail.  Problem
57489         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
57490         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
57491
57492 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
57493
57494         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
57495         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
57496         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
57497         All uses changed.
57498
57499 2006-01-26  Simon Josefsson  <jas@extundo.com>
57500
57501         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
57502         prototype is visible on mingw32.
57503
57504         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
57505         for mingw32.
57506
57507         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
57508         mingw32).
57509
57510 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
57513         attempt to open for write; this always fails, at least on POSIX
57514         hosts.  This reinstates the 2006-01-09 change, which was
57515         inadvertently removed.
57516
57517 2006-01-26  Bruno Haible  <bruno@clisp.org>
57518
57519         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
57520         Reported by Paul Eggert.
57521
57522 2006-01-26  Bruno Haible  <bruno@clisp.org>
57523             Paul Eggert  <eggert@cs.ucla.edu>
57524
57525         * lib/stdbool_.h (_Bool)
57526         [(! (defined __cplusplus || defined __BEOS__)
57527           && !defined __GNUC__
57528           && !(defined __HP_cc || defined __xlc__
57529                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
57530                || defined __sgi))]:
57531         #define to signed char in these cases too; this simplifies
57532         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
57533         etc., separately) and makes it more conservative.
57534
57535 2006-01-25  Simon Josefsson  <jas@extundo.com>
57536
57537         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
57538         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
57539         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
57540
57541 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
57542
57543         * lib/argp-namefrob.h: Bugfix. Remove stray #
57544
57545 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
57546
57547         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
57548         so that we test the test.
57549         Check for yet another HP-UX cc bug involving *bool |= bool.
57550
57551 2006-01-25  Karl Berry  <karl@gnu.org>
57552
57553         * config/srclist.txt (vasnprintf.c): sync lost.
57554
57555 2006-01-25  Jim Meyering  <jim@meyering.net>
57556
57557         Sync from the stable (b5) branch of coreutils:
57558
57559         * lib/fts.c (fts_children): Don't let close() clobber errno from
57560         failed fchdir().
57561
57562         * lib/fts.c (fts_stat): When following a symlink-to-directory,
57563         don't necessarily interpret stat-fails+lstat-succeeds as indicating
57564         a dangling symlink.  That can also happen at least for ELOOP.
57565         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
57566         FYI, this bug predates the inclusion of fts.c in coreutils.
57567
57568         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
57569         in their own block, so pre-c99 compilers don't object.
57570
57571         Avoid the double-free (first in fts_read, second in fts_close) that
57572         would occur when an `active' directory is made inaccessible (e.g.,
57573         via chmod a-x) during a traversal.
57574         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
57575         before returning.  Reproduce this failure by
57576         mkdir -p a/b; cd a; chmod a-x . b
57577         Reported by Stavros Passas.
57578
57579 2006-01-25  Jim Meyering  <jim@meyering.net>
57580
57581         * lib/fileblocks.c: Remove more useless parentheses.
57582         * lib/readutmp.h: Likewise.
57583
57584 2006-01-25  Bruno Haible  <bruno@clisp.org>
57585
57586         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
57587         warnings.
57588         Reported by Paul Eggert.
57589
57590 2006-01-25  Bruno Haible  <bruno@clisp.org>
57591
57592         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
57593         rid of a trap command. For Solaris sh.
57594         Reported by Mark D. Baushke <mdb@gnu.org>.
57595
57596 2006-01-24  Simon Josefsson  <jas@extundo.com>
57597
57598         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
57599         Bruno.
57600
57601 2006-01-24  Karl Berry  <karl@gnu.org>
57602
57603         * config/srclist.txt (argp-namefrob.h): sync lost.
57604
57605 2006-01-24  Jim Meyering  <jim@meyering.net>
57606
57607         * modules/openat (Files): Add lib/intprops.h.
57608         From Mark D. Baushke.
57609
57610 2006-01-24  Jim Meyering  <jim@meyering.net>
57611
57612         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
57613         Reported by Mark D. Baushke.
57614
57615 2006-01-24  Jim Meyering  <jim@meyering.net>
57616
57617         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
57618
57619 2006-01-24  Bruno Haible  <bruno@clisp.org>
57620
57621         * modules/strnlen (Maintainer): Change from glibc to all.
57622
57623 2006-01-24  Bruno Haible  <bruno@clisp.org>
57624
57625         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
57626         Patch by Paul Eggert.
57627
57628 2006-01-24  Bruno Haible  <bruno@clisp.org>
57629
57630         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
57631         already has it.
57632         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
57633         2005-11-26.
57634
57635         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
57636         'signed char' to avoid problems with the built-in _Bool type.
57637         Reported by Paul Eggert on 2005-11-26.
57638
57639 2006-01-24  Bruno Haible  <bruno@clisp.org>
57640
57641         * gnulib-tool (func_import): Avoid constructing complicated sed
57642         expressions inside backquote.
57643         Report and solution by Mark D. Baushke <mdb@gnu.org>.
57644
57645 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
57646
57647         These changes imported from libc.
57648         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
57649         test and two separate function calls.
57650         * lib/strndup.c (__strndup): Add libc_hidden_def.
57651
57652 2006-01-23  Simon Josefsson  <jas@extundo.com>
57653
57654         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
57655         Remove the test_*_SOURCES variable: automake infers it by default.
57656         * modules/tls-tests: Likewise.
57657
57658 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57659
57660         Work around porting bugs reported by Dieter in
57661         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
57662         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
57663         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
57664         Include "getopt.h" first, to check interface.
57665         (getenv): Declare only if defined HAVE_DECL_GETENV &&
57666         !HAVE_DECL_GETENV.
57667         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
57668         (__strndup): Revert to K&R-style function dfns, the glibc style.
57669         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
57670         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
57671         Include strnlen.h first, to get prototype properly.
57672         (strnlen): Renamed from __strnlen.
57673         Remove weak alias.
57674
57675 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57676
57677         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
57678
57679 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57680
57681         * config/srclist.txt: Adjust to reflect glibc reorganization.
57682         This affects only comments.
57683
57684 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57685
57686          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
57687          Reported by Bruce Korb <bkorb@gnu.org>.
57688
57689 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
57690
57691         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
57692         to pacify gcc -Wswitch-default.
57693
57694 2006-01-22  Bruno Haible  <bruno@clisp.org>
57695
57696         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
57697         temporary buffer for sprintf, take into account the precision also
57698         for 'd', 'i', 'u', 'o', 'x', 'X'.
57699
57700 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
57701
57702         * modules/argp-tests: New module
57703         * tests/test-argp.c: New file
57704         * tests/test-argp-2.sh: New file
57705
57706 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
57707
57708         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
57709         (__argp_base_name): Removed
57710         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
57711         typo.
57712         (__argp_base_name): Provide macro definition or extern declaration
57713         depending on the configuration
57714
57715 2006-01-20  Simon Josefsson  <jas@extundo.com>
57716
57717         * modules/inet_ntop (Depends-on): Depend on sys_socket.
57718
57719 2006-01-20  Simon Josefsson  <jas@extundo.com>
57720
57721         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
57722
57723 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57724
57725         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
57726         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
57727         Suggested by Bruno Haible.
57728
57729 2006-01-20  Karl Berry  <karl@gnu.org>
57730
57731         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
57732         until changes propagate, I guess.
57733
57734 2006-01-19  Simon Josefsson  <jas@extundo.com>
57735
57736         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
57737
57738 2006-01-19  Simon Josefsson  <jas@extundo.com>
57739
57740         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
57741
57742 2006-01-19  Simon Josefsson  <jas@extundo.com>
57743
57744         * gnulib-tool: Set check_PROGRAMS.
57745
57746         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
57747         modules/des-tests, modules/gc-arcfour-tests,
57748         modules/gc-arctwo-tests, modules/gc-des-tests,
57749         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
57750         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
57751         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
57752         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
57753         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
57754         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
57755         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
57756         test_*_SOURCES.
57757
57758 2006-01-18  Simon Josefsson  <jas@extundo.com>
57759
57760         * modules/socklen (Depends-on): Depend on sys_socket.
57761
57762 2006-01-18  Simon Josefsson  <jas@extundo.com>
57763
57764         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
57765         modules/des-tests, modules/gc-arcfour-tests,
57766         modules/gc-arctwo-tests, modules/gc-des-tests,
57767         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
57768         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
57769         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
57770         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
57771         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
57772         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
57773         $(EXEEXT) to automake TESTS variable, for mingw32.
57774
57775 2006-01-17  Simon Josefsson  <jas@extundo.com>
57776
57777         * modules/socklen (Include): Need sys/socket.h.
57778
57779 2006-01-17  Bruno Haible  <bruno@clisp.org>
57780
57781         * modules/ssize_t (Include): Add <sys/types.h>.
57782
57783 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
57784
57785         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
57786         it's not portable and it doesn't work with cross-compiles.
57787         Problem reported by Bruno Haible.  Fix missing-$ typo in
57788         'test "gl_cv_ignore_unused_libraries" ...' that prevented
57789         -zignore from being used with Sun's C compiler.
57790
57791 2006-01-12  Simon Josefsson  <jas@extundo.com>
57792
57793         * lib/base64.c: Fix warning, reported by Bruno Haible
57794         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
57795
57796 2006-01-12  Bruno Haible  <bruno@clisp.org>
57797
57798         * modules/ldd: New file.
57799         * build-aux/ldd.sh.in: New file.
57800         * MODULES.html.sh (Support for building libraries and executables): Add
57801         ldd.
57802
57803 2006-01-12  Bruno Haible  <bruno@clisp.org>
57804
57805         * m4/ldd.m4: New file.
57806
57807 2006-01-12  Bruno Haible  <bruno@clisp.org>
57808
57809         * gnulib-tool (func_import, func_create_testdir): Don't go into an
57810         endless loop while replacing $auxdir with build-aux.
57811
57812 2006-01-11  Simon Josefsson  <jas@extundo.com>
57813
57814         * lib/stdint_.h (SIZE_MAX): Add missing (.
57815
57816 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
57817
57818         Sync from coreutils.
57819         * lib/md5.c: Fix commentary typos.
57820         (alignof, UNALIGNED_P): No need for a GCC-specific version.
57821         * lib/md5.h (__attribute__): Remove; unused.
57822         * lib/sha1.c: Fix commentary to match md5 better.
57823         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
57824         so that we don't need to worry about alignment.  All uses changed.
57825         This merges the 2005-10-28 md5 change into sha1.
57826
57827 2006-01-11  Jim Meyering  <jim@meyering.net>
57828
57829         Sync from coreutils.
57830         * lib/md5.c (OP): Fix spacing.
57831
57832 2006-01-11  Bruno Haible  <bruno@clisp.org>
57833
57834         Ensure automatic ordering between gl_LOCK and gl_ARGP.
57835         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
57836         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
57837
57838 2006-01-11  Bruno Haible  <bruno@clisp.org>
57839
57840         Ensure automatic ordering between gl_LOCK and gl_ARGP.
57841         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
57842         the "early" section as well.
57843
57844 2006-01-11  Bruno Haible  <bruno@clisp.org>
57845
57846         Avoid "ar: no archive members specified" error on MacOS X.
57847         * gnulib-tool (func_modules_add_dummy): New function.
57848         (func_import, func_create_testdir): Invoke it.
57849
57850 2006-01-11  Bruno Haible  <bruno@clisp.org>
57851
57852         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
57853         with $auxdir in AC_CONFIG_FILES statements.
57854
57855 2006-01-11  Bruno Haible  <bruno@clisp.org>
57856
57857         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57858         Initialize also noinst_HEADERS to empty.
57859
57860 2006-01-11  Bruno Haible  <bruno@clisp.org>
57861
57862         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
57863         variables.
57864         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
57865         autoreconf.
57866
57867 2006-01-11  Bruno Haible  <bruno@clisp.org>
57868
57869         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
57870         overridable by the user.
57871         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57872
57873 2006-01-10  Simon Josefsson  <jas@extundo.com>
57874
57875         * modules/sys_socket: New file.
57876
57877 2006-01-10  Simon Josefsson  <jas@extundo.com>
57878
57879         * m4/sys_socket_h.m4: New file.
57880
57881 2006-01-10  Simon Josefsson  <jas@extundo.com>
57882
57883         * lib/socket_.h: New file.
57884
57885 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57886
57887         * modules/readutmp (Maintainer): Add myself.
57888
57889 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57890
57891         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
57892         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
57893         People who are still concerned with buggy memcmp implementations
57894         can invoke gl_FUNC_MEMCMP themselves.
57895
57896 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57897
57898         * lib/regex_internal.h (BITSET_WORD_BITS):
57899         Work around a bug in 64-bit PGC (before version 6.1-2), where the
57900         preprocessor mishandles large unsigned values as if they were signed.
57901         Problem reported by Claudio Fontana in
57902         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
57903
57904 2006-01-10  Jim Meyering  <jim@meyering.net>
57905
57906         Avoid the double-free (first in fts_read, second in fts_close) that
57907         would occur when an `active' directory is made inaccessible (e.g.,
57908         via chmod a-x) during a traversal.
57909         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
57910         before returning.  Reproduce this failure by
57911         mkdir -p a/b; cd a; chmod a-x . b
57912         Reported by Stavros Passas.
57913
57914         Sync from coreutils.
57915         * lib/sha1.c: Tweak grammar in a comment.
57916
57917 2006-01-10  Jim Meyering  <jim@meyering.net>
57918
57919         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
57920         Patch by Joerg Sonnenberger.
57921
57922 2006-01-10  Bruno Haible  <bruno@clisp.org>
57923
57924         * modules/readutmp: Depend on module free.
57925         * modules/strtok_r: Depend on module restrict.
57926
57927 2006-01-10  Bruno Haible  <bruno@clisp.org>
57928
57929         * modules/gettext (configure.ac): Add an invocation of
57930         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
57931
57932 2006-01-10  Bruno Haible  <bruno@clisp.org>
57933
57934         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
57935         Reported by Werner Lemberg <wl@gnu.org>.
57936
57937 2006-01-10  Bruno Haible  <bruno@clisp.org>
57938
57939         * lib/localcharset.c: Update from GNU gettext.
57940
57941 2006-01-10  Bruno Haible  <bruno@clisp.org>
57942
57943         * lib/argp.h (__const): Remove macro. Use const instead.
57944         * lib/argp-fmtstream.h (__const): Likewise.
57945         * lib/glob_.h (__const): Remove macro.
57946         * lib/glob-libc.h: Use const instead of __const.
57947
57948 2006-01-10  Bruno Haible  <bruno@clisp.org>
57949
57950         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
57951         variable.
57952         Needed to avoid an automake error regarding the 'gettext' module.
57953
57954 2006-01-09  Simon Josefsson  <jas@extundo.com>
57955
57956         * modules/inet_ntop (Depends-on): Add restrict.
57957
57958 2006-01-09  Simon Josefsson  <jas@extundo.com>
57959
57960         * modules/gc-rijndael-tests (License): Put under LGPL.
57961
57962         * modules/gc-des-tests (License): Likewise.
57963
57964         * modules/gc-arcfour-tests (License): Likewise.
57965
57966         * modules/gc-arctwo-tests (License): Likewise.
57967
57968         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
57969
57970         * modules/gc-hmac-sha1-tests (Files): Likewise.
57971
57972         * modules/gc-hmac-md5-tests (License): Likewise.
57973
57974         * modules/gc-sha1-tests (License): Likewise.
57975
57976         * modules/gc-md5-tests (License): Likewise.
57977
57978         * modules/gc-md4-tests (License): Likewise.
57979
57980         * modules/gc-md2-tests (License): Likewise.
57981
57982         * modules/gc-tests (License): Likewise.
57983
57984         * modules/des-tests (License): Likewise.
57985
57986         * modules/md4-tests (License): Likewise.
57987
57988         * modules/md2-tests (License): Likewise.
57989
57990 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
57991
57992         Sync from coreutils:
57993
57994         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
57995         * modules/lib-ignore: New file.
57996         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
57997         chdir-safer.m4, lchmod.m4.
57998         * modules/openat: Add mkdirat.c, openat-priv.h.
57999
58000 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58001
58002         Sync from coreutils.
58003         * m4/lib-ignore.m4: New file.
58004         * m4/lchmod.m4: New file.
58005
58006 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58007
58008         Sync from coreutils.
58009         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
58010         for write access: POSIX says that must fail.
58011         * lib/fts.c (diropen): Likewise.
58012         * lib/save-cwd.c (save_cwd): Likewise.
58013         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
58014         well, for minor improvements on hosts that lack O_DIRECTORY.
58015         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
58016         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
58017         Fall back on chown if open failed with EACCES.
58018
58019         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
58020         Report an error at compile-time if only a 1-second nominal clock
58021         resolution is found.
58022
58023         * lib/lchmod.h: New file.
58024         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
58025         (make_dir_parents): Use lchown rather than chown, and
58026         lchmod rather than chmod.
58027
58028         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
58029         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
58030         "proc" reported by n0dalus.
58031
58032         * lib/mountlist.c: Include <limits.h>.
58033         (dev_from_mount_options)
58034         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
58035         New function.  It no longer assumes "dev=" has the System V meaning
58036         on Linux (since it doesn't).  It also parses "dev=" more carefully.
58037         (read_file_system_list)
58038         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
58039         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
58040         dev= in that case.
58041
58042         * lib/posixtm.h (PDS_PRE_2000): New macro.
58043         * lib/posixtm.c (year): Arg is now syntax_bits rather than
58044         allow_century.  All usages changed.  Reject dates outside the range
58045         1969-1999 if PDS_PRE_2000 is used.
58046
58047 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58048
58049         Sync from coreutils.
58050         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
58051         (Time of day items): Mention the possibility of leap seconds.
58052         Problem reported by Dr. David Alan Gilbert.
58053
58054 2006-01-09  Jim Meyering  <jim@meyering.net>
58055
58056         Sync from coreutils.
58057
58058         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
58059
58060         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
58061
58062         * lib/modechange.c (mode_compile): Reject an invalid mode string
58063         that starts with an octal digit.  From Andreas Gruenbacher.
58064
58065         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
58066         and dup to open_safer and dup_safer, respectively.
58067         (openat_permissive): Fix typo in comment.
58068
58069         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
58070         "gettext.h"; either no longer needed or are guaranteed by openat.h.
58071         (_): Remove; no longer needed.
58072         (openat): Renamed from rpl_openat; no need for rpl_openat
58073         since openat.h renames openat for us.
58074         Replace most of the body with a call to openat_permissive,
58075         to avoid duplicate code.
58076         Port to (probably hypothetical) environments were mode_t is
58077         wider than int.
58078         (openat_permissive): Require mode arg, so that we can check
58079         types better.  Put it just after flags.  Change cwd failure
58080         indicator from pointer-to-bool to pointer-to-errno-value.
58081         All callers changed.
58082         Invoke openat_save_fail and/or openat_restore_fail if
58083         cwd_errno is null, so that openat can call us.
58084         (openat_permissive, fdopendir, fstatat, unlinkat):
58085         Simplify errno handling to avoid some duplicate code,
58086         as it's OK to set errno on success.
58087         * lib/openat.h: Revamp code so that function macros depend on
58088         __OPENAT_PREFIX only, not also on AT_FDCWD.
58089         (openat_ro): Remove.  Caller changed to use openat_permissive.
58090         (openat_permissive): Now a macro, if not a function.
58091         (openat_restore_fail, openat_save_fail): Now always functions,
58092         since mkdirat needs them even if __OPENAT_PREFIX is defined.
58093
58094         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
58095         and openat.c.
58096         * lib/mkdirat.c: Include openat-priv.h.
58097         Remove definitions of macros defined therein.
58098         * lib/openat.c: Likewise.
58099
58100         * lib/mkdirat.c (mkdirat): New file and function.
58101         * lib/openat.h (mkdirat): Declare.
58102
58103         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
58104
58105         * lib/openat.h (openat_permissive): Declare.
58106         (openat_ro): Define.
58107
58108         * lib/openat.c (EXPECTED_ERRNO): New macro.
58109         (openat_permissive): New function -- used in remove.c rewrite.
58110         (all functions): Set errno just before returning, only if there
58111         was an actual failure.
58112         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
58113
58114         Emulate openat-family functions using Linux's procfs, if possible.
58115         Idea and some code based on Ulrich Drepper's glibc changes.
58116
58117         * lib/openat.c: (BUILD_PROC_NAME): New macro.
58118         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
58119         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
58120         before falling back on save_cwd and restore_cwd.
58121         (fdopendir, fstatat, unlinkat): Likewise.
58122
58123         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
58124         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
58125
58126         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
58127         as second argument to va_arg.  Otherwise, some versions of gcc
58128         warn that `if this code is reached, the program will abort'.
58129
58130 2006-01-09  Jim Meyering  <jim@meyering.net>
58131
58132         Sync from coreutils.
58133         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
58134         Require openat-priv.h.
58135
58136 2006-01-09  Bruno Haible  <bruno@clisp.org>
58137
58138         * modules/strnlen (Include): Use strnlen.h.
58139
58140 2006-01-09  Bruno Haible  <bruno@clisp.org>
58141
58142         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
58143
58144 2006-01-09  Bruno Haible  <bruno@clisp.org>
58145
58146         * lib/sysexit_.h (EX_OK): New macro.
58147         Suggested by Martin Lambers <marlam@marlam.de>.
58148
58149 2006-01-09  Bruno Haible  <bruno@clisp.org>
58150
58151         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
58152         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
58153
58154 2006-01-09  Bruno Haible  <bruno@clisp.org>
58155
58156         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
58157         numbers.
58158
58159 2006-01-09  Bruno Haible  <bruno@clisp.org>
58160
58161         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
58162         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
58163         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
58164         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
58165
58166 2006-01-09  Bruno Haible  <bruno@clisp.org>
58167
58168         * build-aux/javacomp.sh.in: New file, moved from lib/.
58169         * modules/javacomp-script (Files): Update.
58170         (configure.ac): Add AC_CONFIG_FILES invocation.
58171         (EXTRA_DIST): Remove variable.
58172
58173         * build-aux/javaexec.sh.in: New file, moved from lib/.
58174         * modules/javaexec (Files): Update.
58175         (configure.ac): Add AC_CONFIG_FILES invocation.
58176         (EXTRA_DIST): Remove javaexec.sh.in.
58177
58178         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
58179         * modules/csharpcomp-script (Files): Update.
58180         (configure.ac): Add AC_CONFIG_FILES invocation.
58181         (EXTRA_DIST): Remove variable.
58182
58183         * build-aux/csharpexec.sh.in: New file, moved from lib/.
58184         * modules/csharpexec (Files): Update.
58185         (configure.ac): Add AC_CONFIG_FILES invocation.
58186         (EXTRA_DIST): Remove csharpexec.sh.in.
58187
58188 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
58189
58190         Sync from coreutils.
58191
58192         Add POSIX ACL support
58193         * lib/acl.h (copy_acl, set_acl): Add declarations.
58194         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
58195         systems other than Linux.
58196         (chmod_or_fchmod): New function: use fchmod when possible,
58197         and chmod otherwise.
58198         (file_has_acl): Add a POSIX ACL implementation, with a
58199         Linux-specific subcase.
58200         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
58201         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
58202         acls are unsupported.
58203         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
58204         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
58205         are unsupported.
58206
58207 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
58208
58209         Sync from coreutils.
58210         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
58211
58212 2006-01-07  Bruno Haible  <bruno@clisp.org>
58213
58214         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
58215         gl_EARLY.
58216
58217 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58218
58219         * lib/strftime.c (tzname): Don't declare if it is already #defined.
58220         Problem reported for Mingw by Mark Junker.
58221
58222 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58223
58224         * README: Gnulib normally doesn't generate a tarball.
58225
58226 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
58227
58228         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
58229         long int, not int, for nanosecond counts, so that people who are
58230         used to POSIX struct timespec won't be surprised.  Reported by Jim
58231         Meyering.
58232
58233 2005-12-28  Bruno Haible  <bruno@clisp.org>
58234
58235         * build-aux/config.rpath: Update from GNU gettext.
58236
58237 2005-12-16  Jim Meyering  <jim@meyering.net>
58238
58239         * modules/fprintftime: New module.
58240         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
58241
58242 2005-12-16  Jim Meyering  <jim@meyering.net>
58243
58244         * m4/fprintftime.m4: New file.
58245
58246 2005-12-16  Jim Meyering  <jim@meyering.net>
58247
58248         * lib/fprintftime.c, lib/fprintftime.h: New files.
58249
58250 2005-12-15  Simon Josefsson  <jas@extundo.com>
58251
58252         * modules/socklen (configure.ac): Fix M4 macro name, to align with
58253         new m4/socklen.m4.
58254
58255 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58256
58257         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
58258         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
58259
58260 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58261
58262         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
58263         * lib/argp-help.c (fill_in_uparams): Check if the constructed
58264         struct uparams is valid. Fall back to the default values if it is
58265         not.
58266
58267 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58268
58269         * modules/argp (Files): Add argp-pin.c
58270         (Depends-on): dirname
58271         (lib_SOURCES): Add argp-pin.c
58272
58273 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58274
58275         * m4/argp.m4:  Check if program_invocation_name and
58276         program_invocation_short_name are declared and define appropriate
58277         macros if they are not.
58278
58279 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58280
58281         * lib/argp-help.c (__argp_base_name): New function
58282         (__argp_short_program_name): Rewrite using __argp_base_name
58283         * lib/argp-namefrob.h: Define program_invocation_name and
58284         program_invocation_short_name if requested
58285         (__argp_base_name): Add prototype
58286         * lib/argp-parse.c (argp_def): Use gettext wrappers
58287         (argp_default_parser): Use __argp_base_name
58288         * lib/argp-pin.c: New file. Defines program_invocation_name and
58289         program_invocation_short_name on systems that lack them.
58290
58291 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
58292
58293         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
58294         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
58295         porting problem reported by Georg Schwarz in
58296         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
58297
58298 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
58299
58300         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
58301         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
58302         porting problem reported by Georg Schwarz in
58303         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
58304
58305 2005-12-05  Bruno Haible  <bruno@clisp.org>
58306
58307         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
58308         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
58309         Reported by Mark Junker <mjscod@gmx.de>.
58310
58311 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
58312
58313         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
58314         Use implementation from Albert Chin, with some
58315         comments/corrections by Stepan Kasal and myself.
58316
58317 2005-12-02  Bruno Haible  <bruno@clisp.org>
58318
58319         * gnulib-tool (func_import): Accept GPLed build tool modules when
58320         --lgpl is given.
58321         * modules/csharpcomp-script: New file.
58322         * modules/csharpcomp: Depend on it.
58323         * modules/javacomp-script: New file.
58324         * modules/javacomp: Depend on it.
58325         Suggested by Simon Josefsson.
58326
58327 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
58328
58329         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
58330         statement, to work around an HP-UX 10.20 compiler bug reported by
58331         Peter O'Gorman.
58332
58333 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
58334
58335         * modules/savedir (Depends-on): Add openat.
58336
58337 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
58338
58339         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
58340         (uintmax_t) [defined uintmax_t]: Do not declare.
58341         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
58342         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
58343         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
58344         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
58345         sake of portability to weird hosts that C allows (though we don't
58346         know of any practical examples).
58347
58348         * lib/savedir.h (fdsavedir): New decl.
58349         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
58350         contains most of the former guts of savedir.
58351         (savedir): Use savedirstream.
58352         Include "openat.h".
58353
58354 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
58355
58356         * modules/obstack (Files): Add m4/ulonglong.m4.
58357         Problem reported by Davide Angelocola.
58358
58359 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
58360
58361         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
58362         coreutils no longer futzes with rounding modes.
58363
58364 2005-11-14  Jim Meyering  <jim@meyering.net>
58365
58366         * lib/mkstemp-safer.c: Include <config.h>, required for possible
58367         replacement of mkstemp.
58368
58369 2005-11-10  Simon Josefsson  <jas@extundo.com>
58370
58371         * lib/readline.c: Remove EOL.
58372
58373 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58374
58375         * modules/gethrxtime (Depends-on): Add gettime.
58376
58377 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58378
58379         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
58380         or gettimeofday; no longer needed.
58381
58382 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58383
58384         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
58385         time business.
58386         (gethrxtime) [! (HAVE_NANOUPTIME
58387         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
58388         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
58389         our own approximation.
58390
58391 2005-11-08  Eric Blake  <ebb9@byu.net>
58392
58393         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
58394
58395 2005-11-08  Eric Blake  <ebb9@byu.net>
58396
58397         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
58398
58399 2005-11-04  Bruno Haible  <bruno@clisp.org>
58400
58401         * gnulib-tool: Implement --update mode.
58402
58403 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
58404
58405         Fix porting problem reported by Theodoros V. Kalamatianos.
58406         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
58407         Don't assume that futimes failing means we must fail.
58408
58409 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
58410
58411         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
58412         variables to suggest the intended function of the PATH_MAX check.
58413
58414 2005-10-30  Kean Johnston  <jkj@sco.com>
58415
58416         Trivial changes to support SCO systems.
58417         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
58418         as PATH_MAX.
58419         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
58420         where __ptr is null when no I/O is pending.
58421
58422 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58423
58424         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
58425         leave errno alone.  Problem reported by Dmitry V. Levin.
58426
58427 2005-10-28  Simon Josefsson  <jas@extundo.com>
58428
58429         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
58430         Test more.
58431
58432         * tests/test-gc-md2.c, tests/test-md2.c: New files.
58433
58434         * modules/md2, modules/md2-tests: New files.
58435
58436 2005-10-28  Simon Josefsson  <jas@extundo.com>
58437
58438         * m4/inet_ntop.m4: More tests.
58439
58440         * m4/gc-md2.m4, md2.m4: New file.
58441
58442 2005-10-28  Simon Josefsson  <jas@extundo.com>
58443
58444         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
58445         "restrict" keywords, as per POSIX.  Protect the function
58446         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
58447         Don't use K&R prototypes.  Check the sprintf return values.
58448         Re-define EAFNOSUPPORT if not present.  Indent.
58449
58450         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
58451         suggested by Bruno Haible <bruno@clisp.org>.
58452
58453         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
58454
58455         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
58456
58457         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
58458         libgcrypt).
58459
58460         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
58461
58462         * lib/md2.h, lib/md2.c: New files.
58463
58464 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
58465
58466         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
58467         errno alone.  Problem reported by Frederic Jolliton.
58468
58469 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
58470
58471         * modules/verify (License): Change from GPL to LGPL.  This is a
58472         tiny module and there are apparently near-equivalents that are
58473         under the BSD license.
58474
58475 2005-10-24  Simon Josefsson  <jas@extundo.com>
58476
58477         * modules/sha1: Relicense to LGPL.
58478
58479 2005-10-24  Simon Josefsson  <jas@extundo.com>
58480
58481         * lib/md4.h: Shrink buffer size, now that we changed the type.
58482
58483 2005-10-23  Simon Josefsson  <jas@extundo.com>
58484
58485         * gnulib-tool (func_import): Fix --tests-base.
58486
58487 2005-10-22  Simon Josefsson  <jas@extundo.com>
58488
58489         * modules/arcfour (Depends-on): Need stdint.
58490
58491 2005-10-22  Simon Josefsson  <jas@extundo.com>
58492
58493         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
58494         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
58495
58496 2005-10-22  Simon Josefsson  <jas@extundo.com>
58497
58498         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
58499         suggested by Bruno Haible <bruno@clisp.org>.
58500
58501 2005-10-22  Simon Josefsson  <jas@extundo.com>
58502
58503         * lib/crc.h: Include stddef.h, for size_t.
58504
58505 2005-10-22  Simon Josefsson  <jas@extundo.com>
58506
58507         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
58508         arcfour_context struct (simplify test vector testing in GNU
58509         Shishi).
58510
58511 2005-10-21  Simon Josefsson  <jas@extundo.com>
58512
58513         * modules/des, modules/des-tests: New files.
58514
58515         * modules/gc-des, modules/gc-des-tests: New files.
58516
58517         * tests/test-des.c, tests/test-gc-des.c: New file.
58518
58519 2005-10-21  Simon Josefsson  <jas@extundo.com>
58520
58521         * modules/arctwo, modules/arctwo-tests: New files.
58522
58523         * tests/test-arctwo.c: New file.
58524
58525         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
58526
58527         * tests/test-gc-arctwo.c: New file.
58528
58529 2005-10-21  Simon Josefsson  <jas@extundo.com>
58530
58531         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
58532         Bruno Haible <bruno@clisp.org>.
58533
58534         * m4/gc-des.m4: New file.
58535
58536 2005-10-21  Simon Josefsson  <jas@extundo.com>
58537
58538         * m4/arctwo.m4: New file.
58539
58540         * m4/gc-arctwo.m4: New file.
58541
58542 2005-10-21  Simon Josefsson  <jas@extundo.com>
58543
58544         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
58545         block.
58546
58547 2005-10-21  Simon Josefsson  <jas@extundo.com>
58548
58549         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
58550         <bruno@clisp.org>.
58551
58552         * lib/hmac-sha1.c (hmac_sha1): Likewise.
58553
58554         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
58555         Bruno Haible <bruno@clisp.org>.
58556
58557         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
58558         <bruno@clisp.org>.
58559
58560 2005-10-21  Simon Josefsson  <jas@extundo.com>
58561
58562         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
58563
58564 2005-10-21  Simon Josefsson  <jas@extundo.com>
58565
58566         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
58567
58568 2005-10-21  Simon Josefsson  <jas@extundo.com>
58569
58570         * lib/des.h, lib/des.c: New files.
58571
58572         * lib/gc-gnulib.c: Support DES.c
58573
58574 2005-10-21  Simon Josefsson  <jas@extundo.com>
58575
58576         * lib/arctwo.h, lib/arctwo.c: New files.
58577
58578         * lib/gc-gnulib.c: Support ARCTWO.
58579
58580 2005-10-21  Simon Josefsson  <jas@extundo.com>
58581
58582         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
58583         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58584
58585 2005-10-21  Simon Josefsson  <jas@extundo.com>
58586
58587         * gnulib-tool (func_import, func_create_testdir): Define automake
58588         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
58589         Makefile.am snippet),
58590         suggested by Bruno Haible <bruno@clisp.org>.
58591
58592         * modules/gc (Makefile.am): Use it.
58593
58594 2005-10-21  Bruno Haible  <bruno@clisp.org>
58595
58596         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
58597         patch.
58598
58599 2005-10-19  Simon Josefsson  <jas@extundo.com>
58600
58601         * tests/test-gc-rijndael.c: New file.
58602
58603         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
58604
58605 2005-10-19  Simon Josefsson  <jas@extundo.com>
58606
58607         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
58608         interface too.
58609
58610 2005-10-19  Simon Josefsson  <jas@extundo.com>
58611
58612         * tests/test-gc-arcfour.c: New file.
58613
58614         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
58615
58616 2005-10-19  Simon Josefsson  <jas@extundo.com>
58617
58618         * modules/gc-md4, modules/gc-md4-tests: New file.
58619
58620         * tests/test-gc-md4.c: New file.
58621
58622 2005-10-19  Simon Josefsson  <jas@extundo.com>
58623
58624         * m4/gc-md4.m4: New file.
58625
58626 2005-10-19  Simon Josefsson  <jas@extundo.com>
58627
58628         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
58629         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
58630         <kasal@ucw.cz>.
58631
58632 2005-10-19  Simon Josefsson  <jas@extundo.com>
58633
58634         * m4/gc-arcfour.m4: New file.
58635
58636         * m4/gc-rijndael.m4: New file.
58637
58638 2005-10-19  Simon Josefsson  <jas@extundo.com>
58639
58640         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
58641
58642 2005-10-19  Simon Josefsson  <jas@extundo.com>
58643
58644         * lib/gc-gnulib.c: Support ARCFOUR.
58645
58646 2005-10-19  Simon Josefsson  <jas@extundo.com>
58647
58648         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
58649         support.
58650
58651         * lib/gc.h: Add ECB enum type.
58652
58653         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
58654
58655 2005-10-18  Simon Josefsson  <jas@extundo.com>
58656
58657         * tests/test-md5.c: New file.
58658
58659         * modules/md5-tests: New file.
58660
58661 2005-10-18  Simon Josefsson  <jas@extundo.com>
58662
58663         * tests/test-md4.c: New file.
58664
58665         * modules/md4, modules/md4-tests: New files.
58666
58667 2005-10-18  Simon Josefsson  <jas@extundo.com>
58668
58669         * m4/md4.m4: New file.
58670
58671 2005-10-18  Simon Josefsson  <jas@extundo.com>
58672
58673         * lib/md4.h, lib/md4.c: New files, based on md5.?.
58674
58675 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
58676
58677         * gnulib-tool (func_create_testdir): Omit the second check whether
58678         BUILT_SOURCES in nonempty.
58679
58680 2005-10-17  Simon Josefsson  <jas@extundo.com>
58681
58682         * tests/test-rijndael.c: New file.
58683
58684 2005-10-17  Simon Josefsson  <jas@extundo.com>
58685
58686         * modules/sha1: Depend on stdint instead of md5.
58687
58688         * modules/md5: Depend on stdint, remove uint32_t.
58689
58690 2005-10-17  Simon Josefsson  <jas@extundo.com>
58691
58692         * modules/gc-sha1-tests: New file.
58693
58694         * tests/test-gc-sha1.c: New file.
58695
58696 2005-10-17  Simon Josefsson  <jas@extundo.com>
58697
58698         * m4/md5.m4: Remove call to uint32_t.m4.
58699
58700 2005-10-17  Simon Josefsson  <jas@extundo.com>
58701
58702         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
58703
58704         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
58705         md5.h.
58706
58707         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
58708
58709         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
58710
58711 2005-10-17  Simon Josefsson  <jas@extundo.com>
58712
58713         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
58714
58715 2005-10-17  Simon Josefsson  <jas@extundo.com>
58716
58717         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
58718
58719 2005-10-17  Simon Josefsson  <jas@extundo.com>
58720
58721         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
58722
58723         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
58724
58725 2005-10-17  Bruno Haible  <bruno@clisp.org>
58726
58727         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
58728         that it can also be used in a test.
58729
58730 2005-10-16  Bruno Haible  <bruno@clisp.org>
58731
58732         * gnulib-tool (func_emit_tests_Makefile_am): Also define
58733         TESTS_ENVIRONMENT, so that individual tests can augment it.
58734
58735         * gnulib-tool (func_create_testdir): Use an intermediate target for
58736         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
58737         macros, like $(ALLOCA_H), which cannot be passed through the command
58738         line.
58739
58740 2005-10-15  Simon Josefsson  <jas@extundo.com>
58741
58742         * modules/rijndael-tests: New file.
58743
58744         * modules/rijndael: New file.
58745
58746 2005-10-15  Simon Josefsson  <jas@extundo.com>
58747
58748         * m4/rijndael.m4: New file.
58749
58750 2005-10-15  Simon Josefsson  <jas@extundo.com>
58751
58752         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
58753
58754         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
58755
58756 2005-10-14  Simon Josefsson  <jas@extundo.com>
58757
58758         * tests/test-arcfour.c: New file.
58759
58760         * modules/arcfour, modules/arcfour-tests: New files.
58761
58762 2005-10-14  Simon Josefsson  <jas@extundo.com>
58763
58764         * m4/arcfour.m4: New file.
58765
58766 2005-10-14  Simon Josefsson  <jas@extundo.com>
58767
58768         * lib/arcfour.h, lib/arcfour.c: New files.
58769
58770 2005-10-14  Roland McGrath  <roland@redhat.com>
58771
58772         Import from libc.  [BZ #1331]
58773         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
58774         macro argument.
58775         Reported by Matej Vela <vela@debian.org>.
58776
58777 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
58778
58779         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
58780         include <wchar.h>; no longer needed.
58781
58782 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
58783
58784         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
58785
58786 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
58787         and  Ulrich Drepper  <drepper@redhat.com>
58788
58789         Import from libc.
58790         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
58791         instead of inline stream orientation test and two separate
58792         function calls.  Pay no attention to USE_IN_LIBIO.
58793
58794 2005-10-13  Simon Josefsson  <jas@extundo.com>
58795
58796         * modules/gc-hmac-md5-tests: New file.
58797
58798         * tests/test-gc-hmac-sha1.c: New file.
58799
58800         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
58801
58802         * modules/gc-hmac-md5-tests: New file.
58803
58804         * tests/test-gc-md5.c: New file.
58805
58806         * modules/gc-md5-tests: New file.
58807
58808 2005-10-13  Simon Josefsson  <jas@extundo.com>
58809
58810         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
58811         Move memory allocation outside of loop.
58812
58813 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
58814
58815         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
58816         intermediate directory is in a read-only file system.  Problem
58817         reported by Eric Blake.
58818
58819 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
58820
58821         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
58822
58823 2005-10-12  Simon Josefsson  <jas@extundo.com>
58824
58825         * tests/test-hmac-sha1.c: New file.
58826
58827         * modules/hmac-sha1-tests: New file.
58828
58829         * modules/hmac-sha1: New file.
58830
58831 2005-10-12  Simon Josefsson  <jas@extundo.com>
58832
58833         * modules/gc-sha1: New file.
58834
58835 2005-10-12  Simon Josefsson  <jas@extundo.com>
58836
58837         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
58838
58839         * tests/test-gc-pbkdf2-sha1.c: New file.
58840
58841 2005-10-12  Simon Josefsson  <jas@extundo.com>
58842
58843         * modules/gc-md5, modules/gc-hmac-md5: New files.
58844
58845         * modules/gc (Files): Remove md5, memxor and hmac files.
58846
58847 2005-10-12  Simon Josefsson  <jas@extundo.com>
58848
58849         * m4/gc-pbkdf2-sha1.m4: New file.
58850
58851         * m4/gc-hmac-sha1.m4: New file.
58852
58853         * m4/gc-sha1: New file.
58854
58855         * m4/hmac-sha1.m4: New file.
58856
58857 2005-10-12  Simon Josefsson  <jas@extundo.com>
58858
58859         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
58860
58861         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
58862
58863 2005-10-12  Simon Josefsson  <jas@extundo.com>
58864
58865         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
58866         suggested by Bruno Haible <bruno@clisp.org>.
58867
58868 2005-10-12  Simon Josefsson  <jas@extundo.com>
58869
58870         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
58871
58872 2005-10-12  Simon Josefsson  <jas@extundo.com>
58873
58874         * lib/gc-pbkdf2-sha1.c: New file.
58875
58876         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
58877
58878 2005-10-12  Simon Josefsson  <jas@extundo.com>
58879
58880         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
58881
58882         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
58883
58884 2005-10-12  Simon Josefsson  <jas@extundo.com>
58885
58886         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
58887         GC_USE_HMAC_MD5, respectively.
58888
58889         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
58890         (gc_md5): Fix typo.
58891
58892         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
58893
58894         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
58895
58896         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
58897
58898 2005-10-12  Bruno Haible  <bruno@clisp.org>
58899
58900         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
58901         Reported by Stepan Kasal <kasal@ucw.cz>.
58902
58903 2005-10-11  Simon Josefsson  <jas@extundo.com>
58904
58905         * tests/test-crc.c: New file.
58906
58907         * modules/crc, modules/crc-tests: New files.
58908
58909 2005-10-11  Simon Josefsson  <jas@extundo.com>
58910
58911         * m4/crc.m4: New file.
58912
58913 2005-10-11  Simon Josefsson  <jas@extundo.com>
58914
58915         * lib/gc.h: Add gc_hash and gc_hash_buffer.
58916
58917         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
58918
58919         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
58920
58921 2005-10-11  Simon Josefsson  <jas@extundo.com>
58922
58923         * lib/crc.h, lib/crc.c: New files.
58924
58925         * lib/gc.h (gc_hash_buffer): Add doc.
58926
58927 2005-10-11  Bruno Haible  <bruno@clisp.org>
58928
58929         * modules/c-strcasestr: New file.
58930         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
58931
58932 2005-10-11  Bruno Haible  <bruno@clisp.org>
58933
58934         * modules/c-strcase: New file.
58935         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
58936
58937 2005-10-11  Bruno Haible  <bruno@clisp.org>
58938
58939         * lib/strcasecmp.c: Include limits.h.
58940         (strcasecmp): Avoid integer overflow on exotic platforms.
58941         * lib/strncasecmp.c: Include limits.h.
58942         (strncasecmp): Avoid integer overflow on exotic platforms.
58943         Reported by Paul Eggert.
58944
58945 2005-10-11  Bruno Haible  <bruno@clisp.org>
58946
58947         * lib/c-strcasestr.h: New file, from GNU gettext.
58948         * lib/c-strcasestr.c: New file, from GNU gettext.
58949
58950 2005-10-11  Bruno Haible  <bruno@clisp.org>
58951
58952         * lib/c-strcase.h: New file, from GNU gettext.
58953         * lib/c-strcasecmp.c: New file, from GNU gettext.
58954         * lib/c-strncasecmp.c: New file, from GNU gettext.
58955
58956 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58957
58958         * modules/mempcpy (License): GPL -> LGPL.
58959         * modules/strchrnul (License): Likewise.
58960         * modules/sysexits (License): Likewise.
58961
58962 2005-10-08  Simon Josefsson  <jas@extundo.com>
58963
58964         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
58965
58966 2005-10-07  Simon Josefsson  <jas@extundo.com>
58967
58968         * m4/memxor.m4: Remove gl_C_RESTRICT call.
58969
58970 2005-10-06  Simon Josefsson  <jas@extundo.com>
58971
58972         * tests/test-hmac-md5.c: New file.
58973
58974         * modules/hmac-md5-tests: New file.
58975
58976         * modules/hmac-md5: New file.
58977
58978 2005-10-06  Simon Josefsson  <jas@extundo.com>
58979
58980         * m4/hmac-md5.m4: New file.
58981
58982         * m4/memxor.m4: Require gl_C_RESTRICT.
58983
58984 2005-10-06  Simon Josefsson  <jas@extundo.com>
58985
58986         * lib/memxor.c (memxor): Avoid casts and warnings.
58987
58988 2005-10-06  Simon Josefsson  <jas@extundo.com>
58989
58990         * lib/hmac-md5.c: New file.
58991
58992         * lib/hmac.h: New file.
58993
58994 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58995
58996         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
58997         promotes to int, not unsigned int, to catch the AIX 5.3
58998         compiler bug.
58999
59000 2005-10-05  Simon Josefsson  <jas@extundo.com>
59001
59002         * modules/memxor: New file.
59003
59004         * modules/iconv (Files): Move config.rpath to havelib, it is used
59005         there.
59006
59007         * modules/havelib (Files): Add config.rpath.
59008
59009 2005-10-05  Simon Josefsson  <jas@extundo.com>
59010
59011         * m4/memxor.m4: New file.
59012
59013 2005-10-05  Simon Josefsson  <jas@extundo.com>
59014
59015         * lib/memxor.c (memxor): Fix compiler error.
59016
59017         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
59018         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
59019
59020         * lib/memxor.h, lib/memxor.c: New files.
59021
59022         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
59023         we assume all systems have it, suggested by Jim Meyering
59024         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
59025         any systems lack sys/socket.h; mingw32 is known to lack it, but we
59026         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
59027         same reasons.
59028
59029 2005-10-05  Simon Josefsson  <jas@extundo.com>
59030
59031         * config/srclist.txt: Add glibc bug 1423 for md5.h.
59032
59033 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
59034
59035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
59036         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
59037         needed, since the source code now assumes these .h files.
59038
59039 2005-10-05  Derek Price  <derek@ximbiot.com>
59040
59041         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
59042
59043 2005-10-05  Bruno Haible  <bruno@clisp.org>
59044
59045         * modules/stdint (License): Change to LGPL.
59046
59047 2005-10-04  Simon Josefsson  <jas@extundo.com>
59048
59049         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
59050         D. Baushke" <mdb@gnu.org>.
59051
59052 2005-10-04  Bruno Haible  <bruno@clisp.org>
59053
59054         * lib/verify.h (verify_true): Provide alternative definition for C++.
59055
59056 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
59059         (SSIZE_MAX): New macro, if not already defined.
59060         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
59061         than 2 GiB.
59062
59063 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
59064
59065         Sync from coreutils.
59066         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
59067         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
59068         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
59069         ULLONG_MAX doesn't work with 2.7.2.1.
59070
59071 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
59072
59073         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
59074         From Ben Pfaff.
59075
59076         * modules/exclude (Depends-on): Depend on verify.
59077         * modules/strtoimax (Depends-on): Likewise.
59078         * modules/utimecmp (Depends-on): Likewise.
59079
59080 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
59081
59082         * lib/exclude.c: Include verify.h.
59083         (verify): Remove.  All callers changed to use verify.h's version.
59084         * lib/strtoimax.c: Likewise.
59085         * lib/utimecmp.c: Likewis.e
59086
59087         Sync from coreutils.
59088         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
59089         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
59090         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
59091         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
59092         bother returning ENOSYS if settimeofday or stime fails; just let
59093         them return whatever errno they want to return.
59094         * lib/utimens.c: Include unistd.h, for dup2.
59095         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
59096         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
59097
59098 2005-10-02  Jim Meyering  <jim@meyering.net>
59099
59100         Sync from coreutils.
59101         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
59102         from glibc-2.2.5 that fails for read-only files.
59103
59104 2005-10-02  Jim Meyering  <jim@meyering.net>
59105
59106         Sync from coreutils.
59107         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
59108         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
59109         `#if HAVE_CONFIG_H'.
59110         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
59111         Remove AT_FDCWD test.
59112         Do not consume the fd unless successful.
59113         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
59114         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
59115         block, so that we don't even try to compile it if settimeofday is
59116         available.  This works around a compilation failure on OSF1 V5.1,
59117         due to stime requiring a `long int*' while tv_sec is `int'.
59118
59119 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
59120
59121         Sync from coreutils.
59122         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
59123         against `yes', rather than just testing for nonempty.
59124
59125 2005-10-01  Simon Josefsson  <jas@extundo.com>
59126
59127         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
59128         and Darwin.
59129
59130         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
59131         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
59132         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
59133         freeaddrinfo and gai_strerror are declared by the POSIX headers.
59134         Check if struct addrinfo is declared.
59135
59136 2005-10-01  Simon Josefsson  <jas@extundo.com>
59137
59138         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
59139         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
59140         AI_* and EAI_* definitions.  Protect function declarations.
59141
59142 2005-10-01  Jim Meyering  <jim@meyering.net>
59143
59144         Sync from coreutils.
59145
59146         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
59147         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
59148         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
59149         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
59150         in the inet and nsl libraries.  Required on Solaris 5.7.
59151
59152 2005-10-01  Jim Meyering  <jim@meyering.net>
59153
59154         Sync from coreutils.
59155         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
59156         in the inet and nsl libraries.  Required on Solaris 5.7.
59157
59158 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
59159
59160         * lib/getdelim.c (getdelim): Remove unused variables.
59161
59162 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
59165         so that the code works even with ancient cpp.  Portability problem
59166         with GCC 2.7.2.1 reported by Thomas M.Ott.
59167
59168 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
59169
59170         * modules/regex (Depends-on): Add strcase.
59171
59172         * modules/gethostname (Licence): Change from GPL to LGPL, since
59173         gethostname.c is a trivial implementation of a standard library
59174         function.
59175         * modules/poll (License): Change from GPL to LGPL, since it's
59176         derived from LGPL code.
59177
59178 2005-09-27  Jim Meyering  <jim@meyering.net>
59179
59180         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
59181         HAVE_CONFIG_H.
59182
59183         * lib/intprops.h (signed_type_or_expr__): Define.
59184         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
59185         for unsigned types.
59186
59187 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
59188
59189         * lib/verify.h (verify_expr): Remove, replacing with:
59190         (verify_true): New macro that returns true instead of void.
59191         (verify_type__): Remove.
59192         (verify): Use verify_true rather than verify_type__.
59193
59194 2005-09-26  Bruno Haible  <bruno@clisp.org>
59195
59196         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
59197         is necessary.
59198         (lib_SOURCES): Remove mbchar.c.
59199         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
59200         (Files): Add m4/mbrtowc.m4.
59201         * modules/mbiter: Likewise.
59202         * modules/mbuiter: Likewise.
59203
59204 2005-09-26  Bruno Haible  <bruno@clisp.org>
59205
59206         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
59207         compile mbchar.c if they are not both present.
59208         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
59209         * m4/mbiter.m4 (gl_MBITER): Likewise.
59210         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
59211         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
59212         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
59213
59214 2005-09-25  Jim Meyering  <jim@meyering.net>
59215
59216         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
59217         also uses socklen_t.
59218
59219 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
59220
59221         * lib/utimens.c (ENOSYS): Define if not already defined.
59222         (futimens): Support having a null PATH if the file descriptor
59223         is nonnegative.
59224
59225         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
59226         Remove.
59227         (__attribute): Define to empty unless GCC 3.1 or later.
59228         This works around a core dump on OpenBSD 3.4, which has GCC
59229         2.95.3, which dumps core when given __attribute__(()).  It also
59230         simplifies other tests, since we really don't want to bother with
59231         worrying about which ancient version of GCC supported what.
59232         Original problem reported by Yoann Vandoorselaere, with part of
59233         the fix suggested by Derek Price.
59234
59235 2005-09-24  Jim Meyering  <jim@meyering.net>
59236
59237         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
59238         so we can once again use a positive bitfield width of 1 -- now we
59239         don't have to explain why we were using a bitfield width of 2.
59240
59241 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
59242
59243         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
59244         and similarly for the other external symbols.  Problem reported
59245         by James Gallager.
59246
59247         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
59248         bug reported by Jim Meyering.
59249
59250         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
59251         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
59252         not needed, since socklen is a prerequisite module.
59253
59254 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
59255
59256         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
59257         Problem reported by Eric Blake.
59258         (getaddrinfo): Initialize se so that it's not garbage.
59259         Redo internal storage allocation so that it doesn't make unportable
59260         assumptions about alignment.
59261         Fix a memory leak.
59262
59263         * lib/utimens.c (futimens): Use futimesat if available.
59264         Prefer it to futimes since it doesn't have the futimes bug.
59265
59266         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
59267         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
59268         Instead, declare a function that returns a pointer to an array,
59269         and use verify_type__ to declare the size of the array.
59270         Problem and germ of a solution reported by Bruno Haible.
59271         (verify_type__): Use 2, not 1, for bitfield size, to avoid
59272         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
59273
59274 2005-09-23  Jim Meyering  <jim@meyering.net>
59275
59276         Sync from coreutils.
59277         Correct build failure (socklen_t not defined) on at least
59278         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
59279         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
59280
59281 2005-09-23  Jim Meyering  <jim@meyering.net>
59282
59283         * modules/getaddrinfo (Depends-on): Add socklen.
59284
59285 2005-09-23  Bruno Haible  <bruno@clisp.org>
59286
59287         * tests/test-verify.c: New file.
59288
59289 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
59290
59291         Sync from coreutils.
59292
59293         * modules/argmatch (Depends-on): Add verify.
59294         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
59295         unistd-safer.
59296         * modules/save-cwd (Depends-on): Likewise.
59297
59298         * modules/openat (Files): Add lib/openat-die.c.
59299         (Depends-on): Remove error, exitfail.
59300         Add dirname.
59301
59302         * modules/verify: New file.
59303         * MODULES.html.sh (Diagnostics <assert.h>): New section,
59304         with "verify" module.
59305
59306 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
59307
59308         Sync from coreutils.
59309
59310         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
59311         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
59312         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
59313         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
59314         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
59315         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
59316         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
59317         Don't bother checking for string.h, stdlib.h, unistd.h.
59318         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
59319         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
59320         module's job.
59321         * m4/jm-macros.m4 (gl_MACROS): Likewise.
59322         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
59323
59324         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
59325         (gl_GETDATE): Use it.
59326
59327         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
59328
59329 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
59330
59331         Sync from coreutils.
59332
59333         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
59334         stat-time.h.
59335         * lib/argmatch.h: Include verify.h
59336         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
59337         (ARGMATCH_ASSERT): Remove; unused.
59338         * lib/canonicalize.c: Assume STDC_HEADERS.
59339         * lib/exclude.c: Include "strcase.h".
59340         * lib/regex_internal.h [!defined _LIBC]: Likewise.
59341         * lib/getusershell.c: Include stdio--.h rather than stdio.h
59342         and stdio-safer.h.
59343         (getusershell): Call fopen, not fopen_safer.
59344         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
59345         Do not include unistd-safer.h.
59346         (save_cwd): Don't call fd_safer; no longer needed
59347         now that we include fcntl--.h.
59348
59349         * lib/getdate.y (relative_time): New type.
59350         (RELATIVE_TIME_0): New constant.
59351         (parser_control): Use relative_time instead of doing it ourselves.
59352         (%union): Add new relative_time rel member.
59353         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
59354         Now typeless.
59355         (relunit, relunit_snumber): Now of type rel.
59356         (zone, rel, relunit, get_date): Adjust to above changes.
59357
59358         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
59359         Do not include unistd-safer.h.
59360         (getloadavg): Don't call fd_safer; no longer needed
59361         now that we include fcntl--.h.
59362
59363         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
59364         (make_dir_parents): Treat ENOSYS like EEXIST.
59365
59366         Improve quality of diagnostics on restore_cwd failure.
59367         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
59368         (make_dir_parents): Last arg is now int * (for errno), not bool *.
59369         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
59370         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
59371         each time through the loop.  Do not diagnose restore_cwd failure;
59372         that is the caller's job (and perhaps the caller does not care).
59373
59374         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
59375         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
59376         If the file already exists but is not a directory, don't bother
59377         to try to make its parents.
59378         Close potential file descriptor leak if we can't chdir("/") (!).
59379         Don't always return true if chdir($PWD) fails; return true only
59380         if the requested action was done successfully (except for the
59381         chdir($PWD)).
59382         Don't log final directory unless we actually made it.
59383         Refactor to avoid duplicate code to fix up permissions.
59384         Don't attempt to fix up parent permissions if chdir($PWD) fails.
59385
59386         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
59387         to make it a bit faster and (I hope) clearer.
59388         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
59389         Fix bug in formats like %2N.
59390
59391         * lib/verify.h: New file.
59392
59393 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
59394
59395         Sync from coreutils.
59396         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
59397
59398 2005-09-22  Jim Meyering  <jim@meyering.net>
59399
59400         Sync from coreutils.
59401
59402         * m4/lstat.m4 (gl_FUNC_LSTAT):
59403         Use AC_LIBSOURCES to require lstat.c and lstat.h.
59404         Remove obsolete comment.
59405         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
59406         * m4/xstrtod.m4: Likewise.
59407
59408         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
59409
59410 2005-09-22  Jim Meyering  <jim@meyering.net>
59411
59412         Sync from coreutils.
59413
59414         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
59415
59416         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
59417         the .tm_year member, since otherwise gcc-4.0 would now warn about
59418         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
59419
59420         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
59421         order to avoid an unsuppressible warning from gcc on 64-bit systems.
59422
59423         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
59424         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
59425         when run in a time zone for which daylight savings time is in effect
59426         for the starting date.
59427
59428         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
59429         stop us from restricting permissions of just-created absolute-named
59430         directories.
59431         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
59432         to restore initial working directory.
59433         * lib/mkdir-p.c (make_dir_parents): New parameter:
59434         different_working_dir, to tell caller if/when we change the working
59435         directory and are unable to return to the initial one.
59436         * lib/mkdir-p.h (make_dir_parents): Update prototype.
59437         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
59438         `return false'.  This fixes a bug introduced on 2004-07-30.
59439
59440         * lib/openat.c (fdopendir): Be sure to close the supplied
59441         file descriptor before returning.  This makes our replacement
59442         implementation a little closer to Solaris's, where fdopendir
59443         ties the file descriptor to the returned DIR* pointer.
59444         * lib/openat.c (unlinkat): New function.
59445         * lib/openat.h (unlinkat): Add prototype.
59446         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
59447         (openat_restore_fail): Rename from openat_restore_die.
59448         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
59449
59450         Provide an alternative to exiting immediately upon save_cwd or
59451         restore_cwd failure.  Now, an application can arrange e.g.,
59452         to perform a longjump in that case.
59453         * lib/openat.c: Include dirname.h.
59454         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
59455         (rpl_openat, fdopendir, fstatat): Call openat_save_die
59456         and openat_restore_die rather than calling error directly.
59457         Don't include "error.h" or "exitfail.h"; they're no longer needed.
59458
59459         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
59460         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
59461         define.
59462
59463         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
59464         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
59465                             int utc, int nanoseconds);
59466         Background:
59467         date should not have to allocate a megabyte of virtual memory to
59468         handle a format argument like +%1048575T.  When implemented with
59469         strftime, it must allocate such a buffer, use strftime to fill it
59470         in, print it, then free it.
59471         With fprintftime, it simply prints everything and exits.
59472         With no need for memory allocation, that's one fewer way to fail.
59473         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
59474         optional field width, not before, so we accept %9:z, not %:9z.
59475         (my_strftime): Be sure to use L_('x') for literals.
59476
59477         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
59478         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
59479         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
59480         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
59481         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
59482         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
59483         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
59484         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
59485         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
59486         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
59487         * lib/xgethostname.c, lib/xreadlink.c:
59488         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
59489
59490         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
59491         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
59492         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
59493         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
59494         and don't include <sys/file.h>).
59495
59496 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
59497
59498         Sync from coreutils.
59499
59500         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
59501         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
59502         [!LDAV_DONE]: Avoid unused variable warning.
59503
59504 2005-09-21  Bruno Haible  <bruno@clisp.org>
59505
59506         * lib/unicodeio.h (unicode_to_mb): New declaration.
59507
59508 2005-09-20  Derek Price  <derek@ximbiot.com>
59509
59510         * lib/getaddrinfo.c: Don't include <netdb.h> included from
59511         getaddrinfo.h.
59512
59513 2005-09-20  Bruno Haible  <bruno@clisp.org>
59514
59515         * gnulib-tool: Remove trailing slashes from the values specified for
59516         --source-base, --m4-base, --tests-base, --aux-dir.
59517         Suggested by Simon Josefsson <jas@extundo.com>.
59518
59519 2005-09-20  Bruno Haible  <bruno@clisp.org>
59520
59521         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
59522         func_modules_to_filelist, func_import, func_create_testdir): Make all
59523         sorting results locale-independent, so that gnulib-cache.m4 doesn't
59524         change when gnulib-tool is invoked in a different locale.
59525
59526 2005-09-19  Simon Josefsson  <jas@extundo.com>
59527
59528         * m4/socklen.m4: Fix typo.
59529
59530 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59531
59532         Use a consistent style for including <config.h>.
59533         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
59534         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
59535         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
59536         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
59537         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
59538         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
59539         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
59540         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
59541         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
59542         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
59543         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
59544         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
59545         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
59546         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
59547         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
59548         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
59549         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
59550         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
59551         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
59552         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
59553         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
59554         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
59555         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
59556         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
59557         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
59558         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
59559         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
59560         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
59561         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
59562         lib/xstrtoumax.c, lib/yesno.c:
59563         Standardize inclusion of config.h.
59564         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
59565         lib/inttostr.h:  Removed inclusion of config.h from header files.
59566         * lib/inttostr.c:  Adjusted in-tree users.
59567         * lib/timespec.h: Remove superfluous warning to include config.h.
59568         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
59569         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
59570         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
59571         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
59572         config.h with HAVE_CONFIG_H.
59573
59574 2005-09-19  Jim Meyering  <jim@meyering.net>
59575
59576         * modules/pathmax (License): Change to LGPL.
59577
59578 2005-09-19  Derek Price  <derek@ximbiot.com>
59579
59580         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
59581
59582 2005-09-19  Bruno Haible  <bruno@clisp.org>
59583
59584         * gnulib-tool (import): Provide default for --tests-base.
59585
59586 2005-09-19  Bruno Haible  <bruno@clisp.org>
59587
59588         * doc/quote.texi: New file, extracted from gnulib.texi.
59589         * doc/ctime.texi: New file, extracted from gnulib.texi.
59590         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
59591         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
59592         * doc/gnulib.texi: Include them.
59593
59594 2005-09-18  Bruno Haible  <bruno@clisp.org>
59595
59596         Portability fix.
59597         * gnulib-tool (func_readlink): New function.
59598         (func_ln_if_changed): Use it.
59599
59600 2005-09-18  Bruno Haible  <bruno@clisp.org>
59601
59602         * gnulib-tool: Support --with-tests also with --import.
59603         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
59604         (func_import): Use variables $testsbase and $inctests. Emit a
59605         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
59606         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
59607         SUBDIRS += $testsdir.
59608         (func_create_testdir): Update.
59609
59610 2005-09-18  Bruno Haible  <bruno@clisp.org>
59611
59612         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
59613         instead of $dry_run.
59614         (func_cp_if_changed, func_mv_if_changed): Remove functions.
59615         (func_ln_if_changed): Don't handle dry-run here.
59616         (func_import): In dry-run mode, detect more precisely which actions
59617         would be performed, and don't use "...ing" verbs.
59618
59619 2005-09-18  Bruno Haible  <bruno@clisp.org>
59620
59621         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
59622         (func_import): Use join on two temporary files instead of three nested
59623         loops, in order to determine which files are new or old.
59624
59625 2005-09-18  Bruno Haible  <bruno@clisp.org>
59626
59627         * gnulib-tool (func_import): Comment out code that spits out the
59628         new files with --dry-run.
59629
59630 2005-09-18  Bruno Haible  <bruno@clisp.org>
59631
59632         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
59633
59634 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
59635
59636         * lib/stat-time.h: New file.
59637         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
59638         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
59639         in a different way.
59640         (timespec_cmp): New function.
59641         * lib/utimecmp.c: Include stat-time.h.
59642         (SYSCALL_RESOLUTION): Depend on whether various struct stat
59643         members exist, not on the obsolescent ST_MTIM_NSEC.
59644         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
59645
59646 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
59647
59648         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
59649
59650 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
59651
59652         * MODULES.html.sh (File system functions): Add stat-time.
59653         * modules/stat-time: New file.
59654         * modules/timespec (Files): Remove m4/st_mtim.m4; this
59655         is now done in a different way, by the stat-time module.
59656         * modules/utimecmp (Depends-on): Add stat-time.
59657
59658 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59659
59660         * m4/st_mtim.m4: Remove.  Superseded by...
59661         * m4/stat-time.m4: New file.
59662         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
59663         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
59664
59665 2005-09-15  Derek Price  <derek@ximbiot.com>
59666
59667         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
59668
59669 2005-09-15  Derek Price  <derek@ximbiot.com>
59670
59671         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
59672         * lib/regex_internal.c: Ditto, using this...
59673         (__GNUC_PREREQ): ...new macro.
59674         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
59675         using...
59676         (__GNUC_PREREQ): ...this new macro.
59677
59678         * lib/strstr.h: Include string.h. Define strstr as a macro here.
59679
59680 2005-09-15  Derek Price  <derek@ximbiot.com>
59681             Paul Eggert  <eggert@cs.ucla.edu>
59682
59683         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
59684         changes, consolidating in...
59685         * lib/regex_internal.h: ...this file.
59686
59687 2005-09-13  Jim Meyering  <jim@meyering.net>
59688
59689         * lib/canon-host.c: Filter through gnu indent and reword comments
59690         slightly.
59691         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
59692
59693 2005-09-13  Derek Price  <derek@ximbiot.com>
59694
59695         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
59696         failure.
59697         Reported by Jim Meyering  <jim@meyering.net>.
59698
59699 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59700
59701         * lib/base64.c: Typo.
59702         (base64_encode): Put b64str in initialized data section.
59703
59704 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
59705
59706         Merge glibc and coreutils changes into gnulib, plus a few
59707         extra fixes.
59708         * lib/md5.c: Use #error rather than a string.
59709         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
59710         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
59711         (__attribute__): Define to empty for non recent-GCC.
59712         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
59713         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
59714         Renamed from their non-__ counterparts, with new macros replacing
59715         them if not _LIBC.  Add __THROW attribute.
59716         (rol): Remove.
59717         (struct md5_ctx): Align buffer if using GCC.
59718         * lib/sha1.h (struct sha1_ctx): Likewise.
59719         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
59720         The old name was backwards.
59721         (NOTSWAP): Remove; not used.
59722         (rol): New macro, moved here from md5.h.
59723         (sha1_process_block): Remove a FIXME that doesn't make sense.
59724
59725 2005-09-12  Derek Price  <derek@ximbiot.com>
59726
59727         Return usable errors from canon-host.
59728         * lib/canon-host.h: New file.
59729         * lib/canon-host.c (canon_host): Wrap...
59730         (canon_host_r): ...this new function, which now relies exclusively on
59731         getaddrinfo.
59732         (ch_strerror): New function.
59733         (last_cherror): New global.
59734         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
59735         interface.
59736         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
59737         void *.
59738         (freeaddrinfo): Free ai->ai_canonname when set.
59739
59740 2005-09-12  Derek Price  <derek@ximbiot.com>
59741
59742         Make canon-host require getaddrinfo.
59743         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
59744         AC_LIBSOURCE canon-host.h.  Call...
59745         (gl_PREREQ_CANON_HOST): ...this new function, which requires
59746         gl_GETADDRINFO.
59747         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
59748
59749 2005-09-12  Derek Price  <derek@ximbiot.com>
59750
59751         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
59752         LGPL.
59753         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
59754
59755 2005-09-12  Derek Price  <derek@ximbiot.com>
59756
59757         * lib/gai_strerror.c: Include config.h when available.  Include
59758         getaddrinfo.h before other headers to test interface.
59759         Reported by Larry Jones <lawrence.jones@ugs.com>.
59760
59761 2005-09-12  Derek Price  <derek@ximbiot.com>
59762             Paul Eggert  <eggert@cs.ucla.edu>
59763
59764         * modules/glob (Files): Add glob-libc.h.
59765
59766 2005-09-12  Derek Price  <derek@ximbiot.com>
59767             Paul Eggert  <eggert@cs.ucla.edu>
59768
59769         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
59770         glob_.h, glob-libc.h.
59771         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
59772
59773 2005-09-12  Derek Price  <derek@ximbiot.com>
59774             Paul Eggert  <eggert@cs.ucla.edu>
59775
59776         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
59777         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
59778         protecting things that should be done only in gnulib contexts.
59779         * lib/glob_.h: New file, containing only the glob things needed for
59780         gnulib.
59781         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
59782         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
59783         (glob, globfree, glob_pattern_p): Now defined simply in terms of
59784         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
59785         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
59786         and to respect the namespace rules better.
59787
59788 2005-09-08  Simon Josefsson  <jas@extundo.com>
59789
59790         * modules/socklen: New file.
59791
59792 2005-09-08  Simon Josefsson  <jas@extundo.com>
59793
59794         * m4/socklen.m4: New file.
59795
59796 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59797
59798         * modules/utimens (Files): Add m4/utimbuf.m4, since
59799         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
59800         Reported by Sergey Poznyakoff.
59801
59802 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59803
59804         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
59805         definitions, since that's the preferred style in glibc.
59806         Fix a minor spacing issue, and update copyright notice to match
59807         glibc's.
59808
59809 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59810
59811         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
59812
59813 2005-09-06  Simon Josefsson  <jas@extundo.com>
59814
59815         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
59816         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
59817
59818 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59819
59820         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
59821         warning.
59822
59823 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59824
59825         * config/srclist.txt: Add glibc bug 1302.
59826
59827 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
59828
59829         Change bitset word type from unsigned int to unsigned long int,
59830         as this has better performance on typical 64-bit hosts.
59831         Port bitset code to hosts with unusual word sizes.
59832         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
59833         (build_collating_symbol):
59834         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
59835         argument is a bitset.  This is merely a style issue, but it makes
59836         it clearer that an entire array is expected.
59837         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
59838         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
59839         Port to the case where bitset_word is not the same as unsigned int.
59840         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
59841         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
59842         Likewise.
59843         * lib/regexec.c (check_dst_limits_calc_pos_1,
59844         check_subexp_matching_top):
59845         (build_trtable, group_nodes_into_DFAstates):
59846         Likewise.
59847         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
59848         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
59849         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
59850         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
59851         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
59852         * lib/regcomp.c (optimize_subexps, lower_subexp):
59853         Work even if bitset_word has holes in its bitwise representation.
59854         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
59855         * lib/regexec.c (check_dst_limits_calc_pos_1,
59856         check_subexp_matching_top):
59857         Likewise.
59858         * lib/regex_internal.c (re_string_reconstruct):
59859         Don't assume UCHAR_MAX == 255.
59860         * lib/regex_internal.h (bitset_set_all): Likewise.
59861         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
59862         All uses changed.
59863         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
59864         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
59865         All uses changed.
59866         (BITSET_WORD_MAX): New macro.
59867         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
59868         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
59869         (bitset_empty, bitset_copy):
59870         Prefer sizeof (bitset) to multiplying it out ourselves.
59871         (bitset_not_merge): Remove; unused.
59872         (bitset_contain): Return bool, not unsigned int with one bit on.
59873         All callers changed.
59874         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
59875         alignment than re_node_set; do this by defining a new internal
59876         type struct dests_alloc and using it to allocate memory.
59877
59878 2005-09-05  Bruno Haible  <bruno@clisp.org>
59879
59880         * gnulib-tool (func_import): Fix comparison in handling of symbolic
59881         links.
59882
59883 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
59884
59885         * modules/size_max (Makefile.am): Add size_max.h
59886
59887 2005-09-04  Derek Price  <derek@ximbiot.com>
59888
59889         * gnulib-tool (func_import): Fix reversed $symbolic logic.
59890
59891 2005-09-03  Simon Josefsson  <jas@extundo.com>
59892
59893         * gnulib-tool: Fix typo.
59894
59895 2005-09-03  Simon Josefsson  <jas@extundo.com>
59896
59897         * config/srclist.txt: Add glibc bug 1293.
59898
59899 2005-09-03  Derek Price  <derek@ximbiot.com>
59900
59901         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
59902         From Larry Jones <lawrence.jones@ugs.com>.
59903
59904 2005-09-02  Simon Josefsson  <jas@extundo.com>
59905
59906         * modules/socklen: New file.
59907
59908 2005-09-02  Simon Josefsson  <jas@extundo.com>
59909
59910         * modules/havelib: New module.
59911
59912         * modules/gettext, modules/iconv, modules/lock, modules/readline:
59913         Use havelib.
59914
59915 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
59916
59917         Check for arithmetic overflow when calculating sizes, to prevent
59918         some buffer-overflow issues.  These patches are conservative, in the
59919         sense that when I couldn't determine whether an overflow was possible,
59920         I inserted a run-time check.
59921         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
59922         macros.
59923         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
59924         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
59925         (re_xnrealloc, re_x2nrealloc): New inline functions.
59926         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
59927         parse_bracket_exp):
59928         (build_equiv_class, build_charclass): Check for arithmetic overflow
59929         in size expression calculations.
59930         * lib/regex_internal.c (re_string_realloc_buffers):
59931         (build_wcs_upper_buffer, re_node_set_add_intersect):
59932         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
59933         (re_dfa_add_node, register_state): Likewise.
59934         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
59935         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
59936         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
59937         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
59938
59939 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
59940
59941         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
59942         m4/ulonglong.m4.  Problem reported by Martin Lambers.
59943
59944 2005-09-02  Bruno Haible  <bruno@clisp.org>
59945
59946         Support for lib vs. lib64 distinction on biarch platforms.
59947         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
59948         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
59949         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
59950
59951 2005-09-02  Bruno Haible  <bruno@clisp.org>
59952
59953         * gnulib-tool (import): In the other first-use case, provide defaults
59954         as well.
59955
59956 2005-09-02  Bruno Haible  <bruno@clisp.org>
59957
59958         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
59959         patches not yet found in the latest gettext release.
59960
59961 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59962
59963         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
59964         to avoid a collision with bits/local_lim.h in glibc.
59965         All uses changed.  Problem reported by Dmitry V. Levin in
59966         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
59967
59968         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
59969         bugs in int versus size_t comparisons.
59970         (re_string_context_at): Fix bug where the code assumed that
59971         Idx is signed.
59972
59973         Use bool where appropriate.
59974         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
59975         All callers changed.
59976         (calc_eclosure_iter): Likewise, for ROOT arg.
59977         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
59978         (build_charclass_op): Likewise, for NON_MATCH arg.
59979         * lib/regex_internal.c (re_string_allocate, re_string_construct):
59980         (re_string_construct_common): Likewise, for ICASE arg.
59981         * lib/regexec.c (re_search_2_stub, re_search_stub):
59982         Likewise, for RET_LEN arg.
59983         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
59984         (set_regs): Likewise, for FL_BACKTRACK arg.
59985         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
59986         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
59987         (calc_eclosure_iter, parse_bracket_exp):
59988         Use bool for internal variables that are booleans.
59989         * lib/regexec.c (re_search_internal, check_matching,
59990         proceed_next_node):
59991         (set_regs, build_sifted_states, sift_states_bkref):
59992         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
59993         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
59994         (find_collation_sequence_value):
59995         Likewise.
59996         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
59997         (re_node_set_compare):
59998         Return bool, not int. All callers changed.
59999         * lib/regexec.c (check_halt_node_context, check_dst_limits):
60000         (build_trtable, check_node_accept): Likewise.
60001         * lib/regex_internal.h: Include stdbool.h.
60002
60003         Fix bugs uncovered when converting to bool.
60004         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
60005         failure instead of charging ahead blindly.
60006         * lib/regex_internal.c (register_state): Likewise.
60007         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
60008         for freeing internal storage.
60009         (group_nodes_into_DFA_states): Use unsigned int, not int, for
60010         bitset pieces used as boolean, to avoid undefined behavior
60011         on hosts that do int overflow checking.
60012
60013 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60014
60015         * config/srclist.txt: Add glibc bugs 1285-1287.
60016
60017 2005-09-01  Jim Meyering  <jim@meyering.net>
60018
60019         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
60020         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
60021         Require gl_STAT_MACROS, too.
60022
60023 2005-09-01  Bruno Haible  <bruno@clisp.org>
60024
60025         * gnulib-tool (import): In the first-use case, provide defaults.
60026
60027 2005-09-01  Bruno Haible  <bruno@clisp.org>
60028
60029         * gnulib-tool (func_import): Remove the .tmp files.
60030
60031 2005-09-01  Bruno Haible  <bruno@clisp.org>
60032
60033         * gnulib-tool (func_import): Fix handling of symbolic links.
60034
60035 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60036
60037         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
60038         old glibc regex code mishandles strings longer than 2**31 bytes.
60039         This patch fixes this when the regex code is used in gnulib
60040         (i.e., outside glibc).
60041
60042         This patch should not affect the use of the regex code inside
60043         glibc.  No doubt this problem also needs to be handled for glibc
60044         as well, but the result will be an incompatible change to the
60045         glibc ABI, and the old ABI will have to be supported too.  That
60046         can be the the subject for another patch.
60047
60048         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
60049         governing whether the rest of this patch is active.  By default,
60050         the macro is disabled and the patch has no effect.
60051         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
60052         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
60053         (struct re_pattern_buffer, re_search, re_search_2, re_match):
60054         (re_match_2, re_set_registers): Use the new types.
60055         * lib/regex_internal.h (Idx, re_hashval_t): New types.
60056         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
60057         New macros.
60058         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
60059         (re_string_context_at, bin_tree_t, re_dfastate_t):
60060         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
60061         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
60062         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
60063         (re_string_char_size_at, re_string_wchar_at):
60064         (re_string_elem_size_at):
60065         Use the new types and macros to port to 64-bit hosts.
60066         Use unsigned types for internal values, so that the code
60067         mostly works even for arrays larger than SSIZE_MAX.
60068         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
60069         (search_duplicated_node, calc_eclosure_iter, fetch_number):
60070         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
60071         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
60072         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
60073         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
60074         (calc_inveclosure, parse_dup_op, build_range_exp):
60075         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
60076         (fetch_number, create_token_tree, mark_opt_subexp):
60077         Likewise.
60078         * lib/regex_internal.c (re_string_construct_common,
60079         create_ci_newstate):
60080         (create_cd_newstate, re_string_allocate, re_string_construct):
60081         (re_string_realloc_buffers, build_wcs_upper_buffer):
60082         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
60083         (re_string_reconstruct, re_string_peek_byte_case):
60084         (re_string_fetch_byte_case, re_string_context_at):
60085         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
60086         (re_node_set_init_copy, re_node_set_add_intersect):
60087         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
60088         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
60089         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
60090         (re_acquire_state, re_acquire_state_context, register_state):
60091         Likewise.
60092         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
60093         search_cur_bkref_entry):
60094         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
60095         (re_search_internal, re_search_2_stub, re_search_stub)
60096         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
60097         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
60098         (update_cur_sifted_state, check_dst_limits):
60099         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
60100         (check_subexp_limits, sift_states_bkref, merge_state_array):
60101         (check_subexp_matching_top, get_subexp, get_subexp_sub):
60102         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
60103         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
60104         (expand_bkref_cache, check_node_accept_bytes):
60105         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
60106         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
60107         (acquire_init_state_context, check_halt_node_context):
60108         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
60109         (sift_states_backward, clean_state_log_if_needed):
60110         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
60111         (find_recover_state, transit_state_sb, transit_state_mb):
60112         (transit_state_bkref, build_trtable, match_ctx_clean):
60113         Likewise.
60114         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
60115         to work around an assumption that REG_MISSING is negative.
60116
60117         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
60118         (seek_collating_symbol_entry) [defined _LIBC]:
60119         (lookup_collation_sequence_value) [defined _LIBC]:
60120         (build_range_exp, build_collating_symbol) [defined _LIBC]:
60121         Use prototypes rather than old-style function definitions.
60122         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
60123         (transit_state_sb) [0]:
60124         (find_collation_sequence_value) [defined _LIBC]: Likewise.
60125
60126         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
60127         rm_eo.
60128
60129         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
60130         (optimize_subexps, lower_subexp):
60131         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
60132         since the signed shift might overflow.  Use 1u<<31 instead.
60133         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
60134         Likewise.
60135         * lib/regexec.c (check_dst_limits_calc_pos_1,
60136         check_subexp_matching_top): Likewise.
60137
60138         * lib/regcomp.c (optimize_subexps, lower_subexp):
60139         Use CHAR_BIT rather than 8, for clarity.
60140         * lib/regexec.c (check_dst_limits_calc_pos_1):
60141         (check_subexp_matching_top): Likewise.
60142         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
60143         have to worry about portability issues when shifting it left.
60144         Remove no-longer-needed test for table_size > 0.
60145         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
60146         in a word, as the resulting behavior is undefined.
60147         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
60148         in one case, a <= should have been an <, and in another case the
60149         whole test was missing.
60150         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
60151         the standard name CHAR_BIT.
60152         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
60153         this is not true on one's complement and signed-magnitude hosts.
60154
60155         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
60156         next_last_offset.
60157         (struct re_dfa_t): Remove unused member states_alloc.
60158         * lib/regcomp.c (init_dfa): Don't initialize unused members.
60159
60160 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60161
60162         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
60163         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
60164         and large-file glibc and in 32-bit large-file Solaris.
60165
60166 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60167
60168         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
60169         lengths fit in regoff_t; this isn't true if regoff_t is the same
60170         width as size_t.
60171         * lib/regex.c (re_search_internal): 5th arg is LAST_START
60172         (= START + RANGE) instead of RANGE.  This avoids overflow
60173         problems when regoff_t is the same width as size_t.
60174         All callers changed.
60175         (re_search_2_stub): Check for overflow when adding the
60176         sizes of the two strings.
60177         (re_search_stub): Check for overflow when adding START
60178         to RANGE; if it occurs, substitute the extreme value.
60179
60180 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60181
60182         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
60183
60184 2005-08-31  Jim Meyering  <jim@meyering.net>
60185
60186         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
60187         a pointer-to-const.
60188         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
60189         (register_state): Likewise.
60190         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
60191         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
60192         (group_nodes_into_DFAstates): Likewise.
60193
60194 2005-08-31  Jim Meyering  <jim@meyering.net>
60195
60196         * check-module: Add a FIXME comment.
60197
60198 2005-08-31  Eric Blake  <ebb9@byu.net>
60199
60200         * modules/unistd-safer (Files): Add unistd--.h.
60201         * modules/stdio-safer (Files): Add stdio--.h.
60202
60203 2005-08-31  Derek Price  <derek@ximbiot.com>
60204
60205         * lib/getdelim.c (getdelim): Return EOF on EOF.
60206         Reported by Larry Jones <lawrence.jones@ugs.com>.
60207
60208 2005-08-31  Bruno Haible  <bruno@clisp.org>
60209
60210         Avoid unnecessary diffs in the generated lib/Makefile.am.
60211         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
60212         the generated files.
60213         (func_import): Don't set cmd.
60214
60215 2005-08-31  Bruno Haible  <bruno@clisp.org>
60216
60217         * lib/strstr.c: Include <stddef.h>, for NULL.
60218         * lib/strcasestr.c: Likewise.
60219         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60220
60221 2005-08-31  Bruno Haible  <bruno@clisp.org>
60222
60223         * gnulib-tool: New option --macro-prefix.
60224         (func_import): Use macro_prefix.
60225         (import): Handle option --macro-prefix.
60226
60227 2005-08-31  Bruno Haible  <bruno@clisp.org>
60228
60229         * gnulib-tool (import): Rename most ac_* variables to cached_*.
60230         Also use new variables cached_lgpl, cached_libtool.
60231
60232 2005-08-31  Bruno Haible  <bruno@clisp.org>
60233
60234         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
60235         always instantiating them.
60236
60237 2005-08-31  Bruno Haible  <bruno@clisp.org>
60238
60239         * gnulib-tool (func_import): Read the previous cached settings
60240         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
60241         earlier added by gnulib but are now dropped. Warn when a gnulib file
60242         overwrites a non-gnulib file.
60243
60244 2005-08-31  Bruno Haible  <bruno@clisp.org>
60245
60246         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
60247         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
60248         projects that don't keep autogenerated files in CVS. Put into
60249         actioncmd only the specified modules, not the transitive closure.
60250
60251 2005-08-31  Bruno Haible  <bruno@clisp.org>
60252
60253         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
60254         Create directories that shall be filled.
60255         (import): Don't look for gl_* macros in configure.ac. Recurse across
60256         all directories containing a gnulib-cache.m4 files, if meaningful.
60257
60258 2005-08-31  Bruno Haible  <bruno@clisp.org>
60259
60260         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
60261         (import): Set seen_libtool when we see gl_LIBTOOL.
60262
60263 2005-08-31  Bruno Haible  <bruno@clisp.org>
60264
60265         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
60266         declaration macro definitions from generated gnulib.m4.
60267
60268 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
60269
60270         * lib/iconvme.h: Add prototype for iconv_alloc.
60271
60272 2005-08-29  Simon Josefsson  <jas@extundo.com>
60273
60274         * lib/iconvme.c: Fix errno.
60275
60276 2005-08-29  Bruno Haible  <bruno@clisp.org>
60277
60278         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
60279         that it works when the directory contains spaces.
60280
60281 2005-08-29  Bruno Haible  <bruno@clisp.org>
60282
60283         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
60284
60285 2005-08-29  Bruno Haible  <bruno@clisp.org>
60286
60287         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
60288         Emit more advice.
60289
60290 2005-08-29  Bruno Haible  <bruno@clisp.org>
60291         and Stepan Kasal  <kasal@ucw.cz>
60292
60293         * check-module: If more parameters are given, check each of them
60294         separately; add more exceptions, as noted by Jim Meyering.
60295         (check_module): New procedure.
60296         (%exempt_header): Now contains all exceptions.
60297
60298 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
60299
60300         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
60301
60302 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
60303
60304         * lib/iconvme.c: Split iconv_string into iconv_alloc.
60305
60306 2005-08-28  Bruno Haible  <bruno@clisp.org>
60307
60308         * m4/gnulib-tool.m4: New file.
60309
60310 2005-08-27  Jim Meyering  <jim@meyering.net>
60311
60312         * modules/unistd-safer (Files): Add pipe-safer.c.
60313         * modules/fcntl-safer (Files): Add creat-safer.c.
60314
60315 2005-08-27  Jim Meyering  <jim@meyering.net>
60316
60317         * m4/stdlib-safer.m4: New file.  From coreutils.
60318         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
60319         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
60320         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
60321         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
60322         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
60323
60324 2005-08-27  Jim Meyering  <jim@meyering.net>
60325
60326         * lib/fopen-safer.c: Merge minor changes from coreutils.
60327         * lib/dup-safer.c: Likewise.
60328         * lib/fd-safer.c: Likewise.
60329
60330         Merge from coreutils.
60331         * lib/stdio--.h: New file.
60332         * lib/stdlib--.h: New file.
60333         * lib/mkstemp-safer.c: New file.
60334
60335         GNU tar needs these.
60336         * lib/pipe-safer.c: New file.
60337         * lib/creat-safer.c: New file.
60338         * lib/fcntl--.h (creat): Define to creat_safer.
60339         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
60340         * lib/unistd--.h (pipe): Define to pipe_safer.
60341         * lib/unistd-safer.h: Declare pipe_safer.
60342
60343 2005-08-26  Simon Josefsson  <jas@extundo.com>
60344
60345         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
60346         Haible <bruno@clisp.org>.
60347
60348 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
60349
60350         * lib/regex_internal.h: Remove all references to
60351         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
60352         or better.
60353         (bitset_not, bitset_merge, bitset_not_merge):
60354         (bitset_mask, re_string_allocate, re_string_construct):
60355         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
60356         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
60357         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
60358         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
60359         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
60360         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
60361         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
60362         (re_acquire_state_context):
60363         Remove unnecessary forward decls.
60364         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
60365         Put __attribute at function definition,
60366         now that the function decl has been removed.
60367         * lib/regex_internal.c (re_string_peek_byte_case):
60368         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
60369         Likewise.
60370
60371 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
60372
60373         * m4/regex.m4: Add AC_PREREQ(2.50).
60374         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
60375
60376 2005-08-25  Simon Josefsson  <jas@extundo.com>
60377
60378         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
60379         __fsetlocking.
60380
60381 2005-08-25  Simon Josefsson  <jas@extundo.com>
60382
60383         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
60384         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
60385         GLIBC specific code.
60386
60387 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60388
60389         Make regex safe for g++.  This fixes one real bug (an "err"
60390         that should have been "*err").  g++ problem reported by
60391         Sam Steingold.
60392         * lib/regex_internal.h (re_calloc): New macro, consistent with
60393         re_malloc etc.  All callers of calloc changed to use re_calloc.
60394         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
60395         not int.  All callers changed.
60396         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
60397         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
60398         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
60399         (find_recover_state): Change "err" to "*err"; this fixes what
60400         appears to be a real bug.
60401         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
60402         versus int.
60403
60404 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60405
60406         * modules/regex (Depends-on): Add malloc, since the code
60407         assumes that !malloc(0) means failure.
60408
60409 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60410
60411         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
60412
60413         alloca modernization/simplification for regex.
60414         * lib/regex.c: Remove portability cruft for alloca.  This no longer
60415         needs to be at the start of the file, and can be moved into
60416         regex_internal.h and simplified.
60417         * lib/regex_internal.h: Include <alloca.h>.
60418         (__libc_use_alloca) [!defined _LIBC]: New macro.
60419         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
60420         now works outside glibc.
60421
60422 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60423
60424         * config/srclist.txt: Add glibc bugs 1241, 1245.
60425
60426 2005-08-25  Jim Meyering  <jim@meyering.net>
60427
60428         * lib/open-safer.c: Include <config.h>.
60429         Otherwise, we'd lose LARGEFILE support in any file using
60430         e.g. "fcntl--.h"
60431
60432 2005-08-25  Bruno Haible  <bruno@clisp.org>
60433
60434         * m4/minmax.m4: Require autoconf 2.52.
60435         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
60436         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
60437         alternatives of translit over the alphabet.
60438         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
60439
60440 2005-08-24  Simon Josefsson  <jas@extundo.com>
60441
60442         * tests/test-getpass.c: New file.
60443
60444 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60445
60446         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
60447         for GNU regex features.
60448
60449 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60450
60451         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
60452         * lib/regex.h (regerror): Likewise.
60453
60454         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
60455         requires this.  (The code never needed it.)
60456
60457         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
60458         All uses of recently-renamed identifiers changed to use the new,
60459         POSIX-compliant names.  The code will build and run just fine
60460         without these changes, but it's better to eat our own dog food
60461         and use the standard-conforming names.
60462
60463         * lib/regex.h: Fix a multitude of POSIX name space violations.
60464         These changes have an effect only for programs that define
60465         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
60466         do not change anything for programs compiled in the normal way.
60467         Also, there is no effect on the ABI.
60468
60469         (_REGEX_SOURCE): New macro.
60470         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
60471         defined and _GNU_SOURCE is not; this fixes a name space violation.
60472
60473         Rename the following macros to obey POSIX requirements.
60474         The old names are still visible as macros if _REGEX_SOURCE is defined.
60475         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
60476         RE_BACKSLASH_ESCAPE_IN_LISTS.
60477         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
60478         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
60479         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
60480         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
60481         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
60482         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
60483         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
60484         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
60485         (REG_INTERVALS): renamed from RE_INTERVALS.
60486         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
60487         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
60488         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
60489         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
60490         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
60491         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
60492         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
60493         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
60494         RE_UNMATCHED_RIGHT_PAREN_ORD.
60495         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
60496         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
60497         (REG_DEBUG): renamed from RE_DEBUG.
60498         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
60499         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
60500         unusual, since we can't clash with the POSIX REG_ICASE.
60501         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
60502         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
60503         (REG_NO_SUB): renamed from RE_NO_SUB.
60504         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
60505         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
60506         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
60507         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
60508         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
60509         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
60510         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
60511         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
60512         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
60513         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
60514         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
60515         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
60516         RE_SYNTAX_POSIX_MINIMAL_BASIC.
60517         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
60518         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
60519         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
60520         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
60521         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
60522         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
60523         (REG_FIXED): Renamed from REGS_FIXED.
60524         (REG_NREGS): Renamed from RE_NREGS.
60525
60526         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
60527         of other REG_* macros, since POSIX says the user is allowed to
60528         #undef these macros selectively.
60529
60530         (reg_errcode_t): Update comment stating what other tables need
60531         to be consistent.
60532
60533         Rename the following enum values to obey POSIX requirements.
60534         The old names are still visible as macros.
60535         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
60536         is not defined, since GNU is supposed to be a superset of POSIX as
60537         much as possible, and since we want reg_errcode_t to be a signed
60538         type for implementation consistency.
60539         (_REG_NOERROR): Renamed from REG_NOERROR.
60540         (_REG_NOMATCH): Renamed from REG_NOMATCH.
60541         (_REG_BADPAT): Renamed from REG_BADPAT.
60542         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
60543         (_REG_ECTYPE): Renamed from REG_ECTYPE.
60544         (_REG_EESCAPE): Renamed from REG_EESCAPE.
60545         (_REG_ESUBREG): Renamed from REG_ESUBREG.
60546         (_REG_EBRACK): Renamed from REG_EBRACK.
60547         (_REG_EPAREN): Renamed from REG_EPAREN.
60548         (_REG_EBRACE): Renamed from REG_EBRACE.
60549         (_REG_BADBR): Renamed from REG_BADBR.
60550         (_REG_ERANGE): Renamed from REG_ERANGE.
60551         (_REG_ESPACE): Renamed from REG_ESPACE.
60552         (_REG_BADRPT): Renamed from REG_BADRPT.
60553         (_REG_EEND): Renamed from REG_EEND.
60554         (_REG_ESIZE): Renamed from REG_ESIZE.
60555         (_REG_ERPAREN): Renamed from REG_ERPAREN.
60556         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
60557         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
60558         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
60559         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
60560
60561         (_REG_RE_NAME, _REG_RM_NAME): New macros.
60562         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
60563         changed.  But support the old name if the new one is not defined
60564         and if _REGEX_SOURCE.
60565
60566         Change the following member names in struct re_pattern_buffer.
60567         The old names are still supported if !_REGEX_SOURCE.
60568         The new names are always supported, regardless of _REGEX_SOURCE.
60569         (re_buffer): Renamed from buffer.
60570         (re_allocated): Renamed from allocated.
60571         (re_used): Renamed from used.
60572         (re_syntax): Renamed from syntax.
60573         (re_fastmap): Renamed from fastmap.
60574         (re_translate): Renamed from translate.
60575         (re_can_be_null): Renamed from can_be_null.
60576         (re_regs_allocated): Renamed from regs_allocated.
60577         (re_fastmap_accurate): Renamed from fastmap_accurate.
60578         (re_no_sub): Renamed from no_sub.
60579         (re_not_bol): Renamed from not_bol.
60580         (re_not_eol): Renamed from not_eol.
60581         (re_newline_anchor): Renamed from newline_anchor.
60582
60583         Change the following member names in struct re_registers.
60584         The old names are still supported if !_REGEX_SOURCE.
60585         The new names are always supported, regardless of _REGEX_SOURCE.
60586         (rm_num_regs): Renamed from num_regs.
60587         (rm_start): Renamed from start.
60588         (rm_end): Renamed from end.
60589
60590         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
60591         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
60592         Prepend __ to parameter names.
60593
60594         Undo yesterday's changes.
60595
60596 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60597
60598         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
60599         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
60600         lib/regex.c.
60601
60602 2005-08-24  Jim Meyering  <jim@meyering.net>
60603
60604         Sync from coreutils.
60605         * m4/fcntl-safer.m4: New file.
60606
60607         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
60608         and object files for this module.
60609
60610 2005-08-24  Jim Meyering  <jim@meyering.net>
60611
60612         Sync from coreutils.
60613         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
60614
60615 2005-08-24  Jim Meyering  <jim@meyering.net>
60616
60617         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
60618         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
60619
60620 2005-08-24  Jim Meyering  <jim@meyering.net>
60621
60622         * modules/fcntl-safer: New module.
60623         * modules/fts (Depends-on): Add fcntl-safer.
60624         * MODULES.html.sh (File descriptor based Input/Output):
60625         Add fcntl-safer.
60626
60627 2005-08-24  Bruno Haible  <bruno@clisp.org>
60628
60629         Support for unit test modules.
60630         * modules/README: Mention tests modules.
60631         * modules/TEMPLATE-TESTS: New file.
60632         * gnulib-tool: New options --extract-tests-module, --with-tests and
60633         --tests-base (unused for the moment).
60634         (testsbase, inctests): New variables.
60635         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
60636         (func_verify_module): Exclude TEMPLATE-TESTS.
60637         (func_verify_nontests_module, func_verify_tests_module): New functions.
60638         (func_get_dependencies): Add implicit dependency for tests modules.
60639         (func_get_tests_module): New function.
60640         (func_modules_transitive_closure): When --with-tests was specified,
60641         include the unit tests as well, unless explicitly avoided.
60642         (func_emit_lib_Makefile_am): Ignore the tests modules here.
60643         (func_emit_tests_Makefile_am): New function.
60644         (func_create_testdir): When --with-tests was specified, emit a
60645         tests/ directory.
60646         * MODULES.html.sh (Future developments): Update.
60647
60648 2005-08-24  Bruno Haible  <bruno@clisp.org>
60649
60650         * modules/tls-tests: New file.
60651         * tests/test-tls.c: New file, from GNU gettext.
60652
60653 2005-08-24  Bruno Haible  <bruno@clisp.org>
60654
60655         * modules/lock-tests: New file.
60656         * tests/test-lock.c: New file, from GNU gettext.
60657
60658 2005-08-24  Bruno Haible  <bruno@clisp.org>
60659
60660         * lib/lock.h: Add multiple inclusion guard.
60661         * lib/tls.h: Add multiple inclusion guard.
60662
60663 2005-08-24  Bruno Haible  <bruno@clisp.org>
60664
60665         * gnulib-tool: Add support for the --aux-dir option to
60666         --create-testdir, --create-megatestdir, --test, --megatest.
60667         (func_create_testdir, func_create_megatestdir): Optionally emit a
60668         AC_CONFIG_AUX_DIR directive.
60669         (create-testdir, create-megatestdir, test, megatest): Provide a
60670         default value for $auxdir.
60671
60672 2005-08-24  Bruno Haible  <bruno@clisp.org>
60673
60674         * gnulib-tool (import): Use compound statement instead of subshell
60675         where possible.
60676
60677 2005-08-24  Bruno Haible  <bruno@clisp.org>
60678
60679         * gnulib-tool (import): Change --aux-dir default to "build-aux".
60680
60681 2005-08-24  Bruno Haible  <bruno@clisp.org>
60682
60683         * gnulib-tool (func_version): Update.
60684
60685 2005-08-24  Bruno Haible  <bruno@clisp.org>
60686
60687         * gnulib-tool (func_import, func_create_testdir,
60688         func_create_megatestdir): Quote all autoconf macro arguments.
60689
60690 2005-08-24  Bruno Haible  <bruno@clisp.org>
60691
60692         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
60693         option --force, because --force causes the aclocal.m4 of each
60694         subdirectory to be newer than the corresponding config.h.in.
60695
60696 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60697
60698         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
60699         All contents moved to gl_REGEX.
60700         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
60701         assume that it does.
60702
60703 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60704
60705         * lib/regex.h (REG_NOSYS)
60706         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
60707         Define, since POSIX requires it as of 2001.
60708         (_REG_ENOSYS)
60709         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
60710         New private symbol, used to keep the enum signed in all cases.
60711         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
60712         Youngman in
60713         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
60714
60715         * lib/regex_internal.c (re_string_skip_chars, register_state):
60716         (calc_state_hash):
60717         Remove forward decls; no longer needed now that we use prototypes.
60718         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
60719         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
60720         (clean_state_log_if_needed): Likewise.
60721
60722 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60723
60724         * config/srclist.txt: Add glibc bugs 1231-1233.
60725
60726 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60727
60728         Fix problems reported by Sam Steingold in
60729         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
60730         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
60731         assumed that reg_errcode_t is a signed type, which is not
60732         necessarily true if _XOPEN_SOURCE is not defined.
60733         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
60734         since some compilers warn about it otherwise.
60735
60736 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60737
60738         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
60739         (init_word_char, create_initial_state, duplicate_node_closure):
60740         (fetch_token, peek_token_bracket, build_range_exp):
60741         (build_collating_symbol): Remove forward decls; no longer needed
60742         now that we use prototypes.
60743
60744         * lib/regcomp.c:
60745         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
60746         (re_compile_fastmap_iter, regcomp, regerror, regfree):
60747         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
60748         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
60749         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
60750         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
60751         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
60752         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
60753         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
60754         (build_range_exp, build_collating_symbol, parse_bracket_exp):
60755         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
60756         (build_charclass, build_charclass_op, fetch_number, create_tree):
60757         (create_token_tree, mark_opt_subexp, duplicate_tree):
60758         Use prototypes rather than old-style definitions.
60759
60760         * lib/regex_internal.c:
60761         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
60762         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
60763         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
60764         (re_string_reconstruct, re_string_peek_byte_case):
60765         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
60766         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
60767         (re_node_set_init_copy, re_node_set_add_intersect):
60768         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
60769         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
60770         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
60771         (re_acquire_state, re_acquire_state_context, register_state):
60772         (create_ci_newstate, create_cd_newstate, free_state):
60773         Likewise.
60774         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
60775         re_search_2):
60776         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
60777         (re_search_internal, prune_impossible_nodes):
60778         (acquire_init_state_context, check_matching, static):
60779         (check_halt_node_context, check_halt_state_context, proceed_next_node):
60780         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
60781         (update_regs, sift_states_backward, build_sifted_states):
60782         (clean_state_log_if_needed, merge_state_array):
60783         (update_cur_sifted_state, add_epsilon_src_nodes):
60784         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
60785         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
60786         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
60787         (find_recover_state, check_subexp_matching_top, transit_state_mb):
60788         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
60789         (check_arrival, check_arrival_add_next_nodes):
60790         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
60791         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
60792         (check_node_accept_bytes, check_node_accept, extend_buffers):
60793         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
60794         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
60795         (sift_ctx_init):
60796         Likewise.
60797
60798         * lib/regex_internal.h:
60799         (re_string_allocate, re_string_construct, re_string_reconstruct):
60800         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
60801         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
60802         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
60803         (re_string_context_at, re_string_peek_byte_case):
60804         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
60805         is defined, since we now use prototypes always.
60806
60807         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
60808         C89 or better.  All uses removed.
60809
60810 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60811
60812         * config/srclist.txt: Add glibc bugs 1220-1227.
60813
60814 2005-08-20  Jim Meyering  <jim@meyering.net>
60815
60816         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
60817         of unused local, dfa.
60818
60819 2005-08-20  Bruno Haible  <bruno@clisp.org>
60820
60821         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
60822
60823 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60824
60825         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
60826         (re_node_set_insert_last, re_dfa_add_node):
60827         Rename local variables to avoid GCC shadowing warnings.
60828
60829 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60830
60831         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
60832         [defined lint]: Suppress bogus uninitialized-variable warnings.
60833
60834         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
60835         and let the caller return REG_ESPACE if out of space.  This
60836         removes an uninitialied-variable warning with GCC 4.0.1, and also
60837         avoids taking the address of a local variable.  All callers
60838         changed.
60839
60840 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60841
60842         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
60843         $LIBCSRC/posix/regexec.c.
60844         Add glibc bug 1217 for regcomp.c.
60845
60846 2005-08-19  Jim Meyering  <jim@meyering.net>
60847
60848         * lib/regexec.c (proceed_next_node): Redo local variables to
60849         avoid GCC shadowing warnings.
60850
60851 2005-08-18  Bruno Haible  <bruno@clisp.org>
60852
60853         * lib/strstr.c (strstr): Fix return value in multibyte case.
60854         * lib/strcasestr.c (strcasestr): Likewise.
60855
60856 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60857
60858         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
60859
60860 2005-08-17  Jim Meyering  <jim@meyering.net>
60861
60862         Make the %s format (seconds since the epoch) work for a negative
60863         number and when used with a zero-padded field width, e.g. %015s.
60864
60865         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
60866         label so that it precedes the code to set `digits'.  Otherwise,
60867         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
60868         print `00-22'.  Now, it prints `-0022', as it should.
60869
60870 2005-08-17  Bruno Haible  <bruno@clisp.org>
60871
60872         * modules/strstr (Files): Add m4/mbrtowc.m4.
60873         (Depends-on): Add mbuiter.
60874
60875 2005-08-17  Bruno Haible  <bruno@clisp.org>
60876
60877         * modules/strcasestr: New file.
60878         * MODULES.html.sh (String handling, based on ANSI C 89): Add
60879         strcasestr.
60880
60881 2005-08-17  Bruno Haible  <bruno@clisp.org>
60882
60883         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
60884
60885 2005-08-17  Bruno Haible  <bruno@clisp.org>
60886
60887         * modules/mbuiter: New file.
60888         * MODULES.html.sh (Extended multibyte and wide character utilities):
60889         Add mbuiter.
60890
60891 2005-08-17  Bruno Haible  <bruno@clisp.org>
60892
60893         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
60894         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
60895
60896 2005-08-17  Bruno Haible  <bruno@clisp.org>
60897
60898         * m4/strcasestr.m4: New file.
60899
60900 2005-08-17  Bruno Haible  <bruno@clisp.org>
60901
60902         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
60903         * lib/strstr.c: Completely rewritten, with multibyte locale support.
60904
60905 2005-08-17  Bruno Haible  <bruno@clisp.org>
60906
60907         * lib/strcasestr.h: New file.
60908         * lib/strcasestr.c: New file.
60909
60910 2005-08-17  Bruno Haible  <bruno@clisp.org>
60911
60912         * lib/strcasecmp.c: Use mbuiter.h.
60913
60914 2005-08-17  Bruno Haible  <bruno@clisp.org>
60915
60916         * lib/mbuiter.h: New file.
60917
60918 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60919
60920         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
60921         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
60922         and gl_GETOPT are both invoked via different paths (as happens
60923         with GNU tar CVS because it uses both argp and getopt), the former
60924         wins.
60925
60926 2005-08-16  Bruno Haible  <bruno@clisp.org>
60927
60928         * modules/tls: New file.
60929         * MODULES.html.sh (Multithreading): Add tls.
60930
60931 2005-08-16  Bruno Haible  <bruno@clisp.org>
60932
60933         * modules/strnlen1: New file.
60934         * MODULES.html.sh (String handling): Add strnlen1.
60935
60936 2005-08-16  Bruno Haible  <bruno@clisp.org>
60937
60938         * modules/strcase (Files): Add m4/mbrtowc.m4.
60939         (Depends-on): Add strnlen1, mbchar.
60940
60941 2005-08-16  Bruno Haible  <bruno@clisp.org>
60942
60943         * modules/mbiter: New file.
60944         * MODULES.html.sh (Extended multibyte and wide character utilities):
60945         Add mbiter.
60946
60947 2005-08-16  Bruno Haible  <bruno@clisp.org>
60948
60949         * modules/mbfile: New file.
60950         * MODULES.html.sh (Extended multibyte and wide character utilities):
60951         Add mbfile.
60952
60953 2005-08-16  Bruno Haible  <bruno@clisp.org>
60954
60955         * modules/mbchar: New file.
60956         * MODULES.html.sh (Extended multibyte and wide character utilities):
60957         New section.
60958
60959 2005-08-16  Bruno Haible  <bruno@clisp.org>
60960
60961         * m4/tls.m4: New file, from GNU gettext.
60962
60963 2005-08-16  Bruno Haible  <bruno@clisp.org>
60964
60965         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
60966         always.
60967         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
60968
60969 2005-08-16  Bruno Haible  <bruno@clisp.org>
60970
60971         * m4/mbiter.m4: New file.
60972
60973 2005-08-16  Bruno Haible  <bruno@clisp.org>
60974
60975         * m4/mbfile.m4: New file.
60976
60977 2005-08-16  Bruno Haible  <bruno@clisp.org>
60978
60979         * m4/mbchar.m4: New file.
60980
60981 2005-08-16  Bruno Haible  <bruno@clisp.org>
60982
60983         * lib/tls.h: New file, from GNU gettext.
60984         * lib/tls.c: New file, from GNU gettext.
60985
60986 2005-08-16  Bruno Haible  <bruno@clisp.org>
60987
60988         * lib/strnlen1.h: New file.
60989         * lib/strnlen1.c: New file.
60990
60991 2005-08-16  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
60994         (mbi_init): Update.
60995         (mbi_avail, mbi_advance): Let the iteration end before the terminating
60996         NUL byte, not after it.
60997
60998 2005-08-16  Bruno Haible  <bruno@clisp.org>
60999
61000         * lib/strcase.h (strcasecmp): Add note in comments.
61001         * lib/strncasecmp.c: Use code from strcasecmp.c.
61002         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
61003         (strcasecmp): Work correctly in multibyte locales.
61004
61005 2005-08-16  Bruno Haible  <bruno@clisp.org>
61006
61007         * lib/mbiter.h: New file.
61008
61009 2005-08-16  Bruno Haible  <bruno@clisp.org>
61010
61011         * lib/mbfile.h: New file.
61012
61013 2005-08-16  Bruno Haible  <bruno@clisp.org>
61014
61015         * lib/mbchar.h: New file.
61016         * lib/mbchar.c: New file.
61017
61018 2005-08-16  Bruno Haible  <bruno@clisp.org>
61019
61020         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
61021         the valid ones. Makes the comparison operations transitive:
61022         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
61023         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
61024
61025 2005-08-15  Simon Josefsson  <jas@extundo.com>
61026
61027         * modules/ssize_t (License): Change to 'unlimited'.
61028
61029         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
61030
61031 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61032
61033         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
61034         Add comments for each pending glibc patch.
61035
61036 2005-08-15  Bruno Haible  <bruno@clisp.org>
61037
61038         * lib/regex.h (__restrict_arr): Don't define to __restrict if
61039         __cplusplus is defined.
61040
61041 2005-08-14  Jim Meyering  <jim@meyering.net>
61042
61043         Sync from coreutils.
61044
61045         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
61046         Use the hash-table-based cycle-detection code not just when
61047         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
61048         Reported by James Youngman in
61049         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
61050         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
61051         FTS_TIGHT_CYCLE_CHECK.
61052         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
61053         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
61054         once again.
61055         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
61056         * lib/fts.c (fd_safer): Remove decl.
61057         Include fcntl--.h rather than unistd-safer.h
61058         (fts_safe_changedir): Don't call fd_safer; no longer needed
61059         now that we include fcntl--.h.
61060
61061 2005-08-12  Simon Josefsson  <jas@extundo.com>
61062
61063         * modules/getndelim2: Use ssize_t module.
61064         * modules/getnline: Likewise.
61065         * modules/safe-read: Likewise.
61066         * modules/xreadlink: Likewise.
61067
61068         * modules/ssize_t: New file.
61069
61070 2005-08-12  Simon Josefsson  <jas@extundo.com>
61071
61072         * m4/readline.m4: Look for termcap, curses or ncurses if required.
61073
61074 2005-08-12  Simon Josefsson  <jas@extundo.com>
61075
61076         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61077         ssize_t.
61078
61079 2005-08-12  Simon Josefsson  <jas@extundo.com>
61080
61081         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
61082         readline, getdelim and check_version.
61083         (Support for systems lacking ISO C 99: Sizes of integer types):
61084         Add size_max.
61085
61086 2005-08-12  Bruno Haible  <bruno@clisp.org>
61087
61088         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
61089
61090 2005-08-11  Simon Josefsson  <jas@extundo.com>
61091
61092         * modules/readline: New file.
61093
61094         * modules/strnlen (Files): Add strnlen.h.
61095
61096 2005-08-11  Simon Josefsson  <jas@extundo.com>
61097
61098         * m4/readline.m4: New file.
61099
61100 2005-08-11  Simon Josefsson  <jas@extundo.com>
61101
61102         * lib/readline.h, readline.c: New file.
61103
61104 2005-08-11  Simon Josefsson  <jas@extundo.com>
61105
61106         * doc/gnulib.texi (Initial import, Finishing touches): Mention
61107         gl_AVOID.
61108
61109 2005-08-11  Bruno Haible  <bruno@clisp.org>
61110
61111         * lib/strnlen.h (strnlen): Change parameter name to match comment.
61112
61113 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
61114
61115         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
61116
61117 2005-08-10  Simon Josefsson  <jas@extundo.com>
61118
61119         * tests/test-iconvme.c: New file.
61120
61121 2005-08-10  Simon Josefsson  <jas@extundo.com>
61122
61123         * m4/strnlen.m4: New file.
61124
61125         * m4/strndup.m4: Don't check for strnlen declaration, done in
61126         strnlen.m4.
61127
61128 2005-08-10  Simon Josefsson  <jas@extundo.com>
61129
61130         * lib/strndup.c: Use strnlen.h.
61131
61132         * lib/strnlen.h: New file.
61133
61134 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61135
61136         * README: Typos.
61137
61138 2005-08-02  Simon Josefsson  <jas@extundo.com>
61139
61140         * modules/readline: New file.
61141
61142 2005-08-02  Simon Josefsson  <jas@extundo.com>
61143
61144         * modules/getdelim: New file.
61145
61146         * modules/getline: Rewrite, don't use getndelim2.
61147
61148 2005-08-02  Simon Josefsson  <jas@extundo.com>
61149
61150         * m4/getline.m4: Separate out getdelim stuff into separate module.
61151
61152         * m4/getdelim.m4: New file.
61153
61154 2005-08-02  Simon Josefsson  <jas@extundo.com>
61155
61156         * lib/getline.h, getline.c: Rewrite.
61157
61158         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
61159
61160 2005-07-31  Bruno Haible  <bruno@clisp.org>
61161
61162         * lib/lock.h (gl_lock_initializer): New macro.
61163         (gl_lock_define_initialized): Use it.
61164         (gl_rwlock_initializer): New macro.
61165         (gl_rwlock_define_initialized): Use it.
61166         (gl_recursive_lock_initializer): New macro.
61167         (gl_recursive_lock_define_initialized): Use it.
61168
61169 2005-07-30  Karl Berry  <karl@gnu.org>
61170
61171         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
61172         Report from Ben Pfaff, regarding getopt.
61173
61174 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
61175
61176         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
61177         normal way.
61178         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
61179         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
61180         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
61181         (gl_GETOPT): Use the new macros.  Most of the implementation
61182         is moved to the new macros.  This is for programs like Emacs
61183         that don't want all the functionality of gl_GETOPT.
61184
61185 2005-07-26  Bruno Haible  <bruno@clisp.org>
61186
61187         * m4/lock.m4: Update from GNU gettext.
61188
61189 2005-07-26  Bruno Haible  <bruno@clisp.org>
61190
61191         * lib/lock.h: Update from GNU gettext.
61192         * lib/lock.c: Update from GNU gettext.
61193
61194 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
61195
61196         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
61197         obsolescent AC_TRY_RUN.  Include the default includes files, for
61198         'exit'.
61199
61200 2005-07-24  Bruno Haible  <bruno@clisp.org>
61201
61202         * modules/visibility: New file.
61203         * MODULES.html.sh (Misc): Add visibility.
61204
61205 2005-07-24  Bruno Haible  <bruno@clisp.org>
61206
61207         * m4/visibility.m4: New file.
61208
61209 2005-07-24  Bruno Haible  <bruno@clisp.org>
61210
61211         * doc/visibility.texi: New file.
61212
61213 2005-07-22  Bruno Haible  <bruno@clisp.org>
61214
61215         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
61216         $(ALLOCA_H), redundant through BUILT_SOURCES.
61217         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
61218         redundant through BUILT_SOURCES.
61219         * modules/byteswap (Makefile.am): Remove explicit dependency on
61220         $(BYTESWAP_H), redundant through BUILT_SOURCES.
61221         * modules/fnmatch (Makefile.am): Remove explicit dependency on
61222         $(FNMATCH_H), redundant through BUILT_SOURCES.
61223         * modules/getopt (Makefile.am): Remove explicit dependency on
61224         $(GETOPT_H), redundant through BUILT_SOURCES.
61225         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
61226         redundant through BUILT_SOURCES.
61227         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
61228         redundant through BUILT_SOURCES.
61229         * modules/stdbool (Makefile.am): Remove explicit dependency on
61230         $(STDBOOL_H), redundant through BUILT_SOURCES.
61231         * modules/stdint (Makefile.am): Remove explicit dependency on
61232         $(STDINT_H), redundant through BUILT_SOURCES.
61233         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
61234         Remove explicit dependency on $(SYSEXITS_H).
61235         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
61236
61237 2005-07-18  Simon Josefsson  <jas@extundo.com>
61238
61239         * lib/check-version.c (check_version): Accept identical versions too.
61240
61241 2005-07-18  Bruno Haible  <bruno@clisp.org>
61242
61243         * modules/lock: New file.
61244         * MODULES.html.sh (Multithreading): New section.
61245
61246 2005-07-18  Bruno Haible  <bruno@clisp.org>
61247
61248         * m4/lock.m4: New file, from GNU gettext.
61249
61250 2005-07-18  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/lock.h: New file, from GNU gettext.
61253         * lib/lock.c: New file, from GNU gettext.
61254
61255 2005-07-18  Bruno Haible  <bruno@clisp.org>
61256
61257         * lib/lock.h (gl_once_t): New type.
61258         (gl_once_define, gl_once): New macros.
61259         * lib/lock.c (fresh_once): New variable.
61260         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
61261         functions.
61262
61263 2005-07-16  Simon Josefsson  <jas@extundo.com>
61264
61265         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
61266         workaround, suggested by Bruno.
61267
61268 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
61269
61270         * modules/xalloc (Depends-on): Add xalloc-die.
61271         * modules/xvasprintf (Depends-on): Add xalloc-die.
61272
61273 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
61274
61275         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
61276         with a minor change.
61277
61278 2005-07-15  Bruno Haible  <bruno@clisp.org>
61279
61280         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
61281         When using lib/poll.c, define poll as rpl_poll.
61282
61283 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
61284
61285         * modules/argp (Depends-on): Remove unlocked-io.
61286
61287 2005-07-14  Derek Price  <derek@ximbiot.com>
61288
61289         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
61290         for glob symlink bug.
61291
61292 2005-07-14  Bruno Haible  <bruno@clisp.org>
61293
61294         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
61295         Instead, test for *_unlocked function declarations directly.
61296
61297 2005-07-11  Simon Josefsson  <jas@extundo.com>
61298
61299         * modules/size_max: New file.
61300
61301         * modules/xsize: Depend on size_max module for size_max.m4.
61302
61303 2005-07-11  Simon Josefsson  <jas@extundo.com>
61304
61305         * lib/size_max.h: New file.
61306
61307 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
61308
61309         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
61310         copyright symbol and the year.
61311         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
61312         (version_etc_va): Use parameterized copyright notice.
61313         Reword to conform to the current GNU coding standards.
61314
61315 2005-07-11  Karl Berry  <karl@gnu.org>
61316
61317         * doc/gnulib.texi (Quoting): new node.
61318         (Initial import): more info, from Patrice.
61319
61320 2005-07-11  Bruno Haible  <bruno@clisp.org>
61321
61322         * gnulib-tool (func_usage): Document option --avoid.
61323         (Command line options): Handle --avoid.
61324         (func_acceptable): New function.
61325         (func_modules_transitive_closure): Use it.
61326
61327 2005-07-11  Bruno Haible  <bruno@clisp.org>
61328
61329         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
61330         Reported by Jim Meyering.
61331
61332 2005-07-10  Bruno Haible  <bruno@clisp.org>
61333
61334         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
61335         Needed when size_t is smaller than 'unsigned int'.
61336         Reported by Paul Eggert.
61337
61338 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61339
61340         * modules/argp (Depends-on): Add unlocked-io
61341
61342 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61343
61344         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
61345         block of defines.
61346
61347 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61348
61349         * config/srclist.txt: Comment out regcomp.c, since we have a porting
61350         fix now.
61351
61352 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
61353         and Paul Eggert  <eggert@cs.ucla.edu>
61354
61355         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
61356         in wint_t, not wchar_t.  Remove now-unnecessary cast.
61357
61358 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
61359
61360         * modules/regex (Files): Add lib/regex_internal.c,
61361         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
61362         (Depends-on): Add extensions.
61363         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
61364
61365 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
61366
61367         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
61368         pathconf.
61369         * m4/same.m4 (gl_SAME): Likewise.
61370         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
61371
61372         * m4/regex.m4: Adjust to new libc regex implementation.
61373         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
61374         all the .c and .h parts of (the new) regex.
61375         Quote the m4 stuff better.
61376         Check for RE_ICASE bug of old gnulib.
61377         Check for REG_STARTEND of recent libc.
61378         Rename local variables from jm_* to gl_*.
61379         Quote operand of "test -f".
61380         Say "recent enough" version of libc, not "version 2".
61381         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
61382         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
61383         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
61384         Remove check for btowc, isascii.
61385         Require AM_LANGINFO_CODESET.
61386
61387 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
61388
61389         * lib/regex.c, regex.h: Sync from libc.
61390         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
61391         * lib/regexec.c:
61392         New files, synced from libc, except that regex_internal.h
61393         currently has a small porting fix.
61394
61395 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
61396
61397         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
61398         regex_internal.c, regexec.c.
61399         Add regex_internal.h too, but as a comment, since the libc version
61400         is currently broken in gnulib mode.
61401
61402 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61403
61404         Support programs like Emacs that use gnulib but not gettext.
61405         * MODULES.html.sh (Internationalization functions): Add gettext-h.
61406         * modules/gettext-h: New file.
61407         * modules/gettext (Files): Remove lib/gettext.h.
61408         (Depends-on): Add gettext-h.
61409         (Makefile.am): Remove lib_SOURCES.
61410         * modules/argmatch, modules/c-stack, modules/closeout:
61411         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
61412         * modules/execute, modules/file-type, modules/getaddrinfo:
61413         * modules/getopt, modules/human, modules/javacomp:
61414         * modules/javaexec, modules/mkdir-p, modules/obstack:
61415         * modules/openat, modules/pagealign_alloc, modules/pipe:
61416         * modules/quotearg, modules/regex, modules/rpmatch:
61417         * modules/unicodeio, modules/userspec, modules/version-etc:
61418         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
61419         * modules/xsetenv:
61420         Depend on gettext-h, not gettext.
61421
61422 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61423
61424         * gnulib-tool (func_import): Add support for 'public domain' license.
61425         * modules/alloca, modules/atexit, modules/memmove:
61426         Now public domain, not GPL.
61427         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
61428         * modules/realloc, modules/strerror, modules/strtod:
61429         Now LGPL, not GPL.
61430
61431 2005-07-05  Bruno Haible  <bruno@clisp.org>
61432
61433         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
61434         autoconf CVS. Needed for mingw.
61435
61436 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61437
61438         Remove the dependency of the strftime module on the tzset module.
61439         * modules/strftime (Depends-on): Remove dependency on tzset.
61440
61441 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61442
61443         Remove the dependency of the strftime module on the tzset module.
61444         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
61445         gl_FUNC_TZSET_CLOBBER.
61446
61447 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61448
61449         Remove the dependency of the strftime module on the tzset module.
61450         * lib/strftime.c (my_strftime)
61451         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
61452         Copy the input structure, to work around some of the bug with
61453         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
61454         Solaris releases, you should also use the tzset module, but we won't
61455         require it as a dependency any more since we don't want LGPLed code
61456         to depend on GPLed code.
61457
61458 2005-07-02  Jim Meyering  <jim@meyering.net>
61459
61460         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
61461         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
61462         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
61463         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
61464
61465 2005-07-02  Jim Meyering  <jim@meyering.net>
61466
61467         * lib/backupfile.c (backup_args): Change a `0' to NULL.
61468
61469 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61470
61471         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
61472         declares only 'struct timespec;' (!).
61473
61474 2005-07-01  Jim Meyering  <jim@meyering.net>
61475
61476         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
61477         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
61478         * lib/save-cwd.c, tempname.c:
61479         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
61480         and don't include <sys/file.h>).
61481
61482 2005-06-29  Jim Meyering  <jim@meyering.net>
61483
61484         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
61485         type name.  Use the variable name instead.
61486         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
61487         Likewise.
61488
61489 2005-06-28  Simon Josefsson  <jas@extundo.com>
61490
61491         * modules/check-version (Files): Add check-version.m4.
61492
61493 2005-06-28  Simon Josefsson  <jas@extundo.com>
61494
61495         * m4/check-version.m4: New file, suggested by Jim Meyering
61496         <jim@meyering.net>.
61497
61498 2005-06-28  Simon Josefsson  <jas@extundo.com>
61499
61500         * lib/check-version.h, lib/check-version.c: New files.
61501
61502 2005-06-28  Simon Josefsson  <jas@extundo.com>
61503
61504         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
61505         collision with global variable.  Better indentation.  Don't
61506         increment buffer pointer beyond buffer end.  Based on comments
61507         from Paul Eggert <eggert@cs.ucla.edu>.
61508
61509         * lib/base64.h: Indent.
61510
61511 2005-06-28  Simon Josefsson  <jas@extundo.com>
61512
61513         * doc/gnulib.texi (Library version handling): New section.
61514
61515 2005-06-28  Jim Meyering  <jim@meyering.net>
61516
61517         * check-module (find_included_lib_files): Hard-code another
61518         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
61519         but modules/fts-lgpl (correctly) does not list those files.
61520
61521         * modules/canonicalize (Files): Add lib/pathmax.h.
61522
61523 2005-06-25  Simon Josefsson  <jas@extundo.com>
61524
61525         * modules/check-version: New file.
61526
61527 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
61528
61529         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
61530         initializer of struct addrinfo, as an indication that we don't
61531         care how many members the structure has.
61532
61533 2005-06-24  Derek Price  <derek@ximbiot.com>
61534         and Bruno Haible  <bruno@clisp.org>
61535
61536         Remove stat module & update lstat.
61537         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
61538         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61539         * m4/stat.m4: Remove this file.
61540
61541 2005-06-24  Derek Price  <derek@ximbiot.com>
61542         and Bruno Haible  <bruno@clisp.org>
61543
61544         Remove stat module & update lstat.
61545         * lib/stat.c: Remove this file...
61546         (slash_aware_lstat): ...moving this content and its support...
61547         * lib/lstat.c (rpl_lstat): ...into here.
61548         * lib/lstat.h: New file.
61549
61550 2005-06-24  Derek Price  <derek@ximbiot.com>
61551         and Bruno Haible  <bruno@clisp.org>
61552
61553         Remove stat module & update lstat.
61554         * config/srclist.txt (libc sources): Remove stat.
61555
61556 2005-06-24  Derek Price  <derek@ximbiot.com>
61557         and Bruno Haible  <bruno@clisp.org>
61558
61559         Remove stat module & update lstat.
61560         * MODULES.html.sh (stat): Remove.
61561         * MODULES.html: Regenerated.
61562         * modules/lstat (Description): Correct function name.
61563         (Files): Add "lstat.h".
61564         (Depends-on): Remove stat, add xalloc, stat-macros.
61565         * modules/stat: Remove this file.
61566         (Include): Add "lstat.h", remove <sys/stat.h>.
61567
61568 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61569
61570         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
61571         (ranged_convert): Don't save conversion in a temporary struct.
61572         This causes a warning with GCC 4.0.0, and anyway in the typical
61573         case it's not worth the extra 100 bytes or so of code.
61574         (ranged_convert, __mktime_internal): When calling a function via a
61575         pointer P, use P () rather than (*P) (), as we now assume C89 or
61576         better.
61577
61578 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61579
61580         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
61581         "who -r" failed to give output.  Problem reported by Tim Waugh.
61582
61583         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
61584         (xcalloc): Use it to avoid needless tests.
61585         Problem reported by Jim Meyering.
61586
61587 2005-06-20  Derek Price  <derek@ximbiot.com>
61588
61589         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
61590         unnecessary for Autoconfs > 2.59c.
61591
61592 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61593
61594         * lib/argp.h (__option_is_short): Check upper limit of
61595         __key. Isprint() requires its argument to have the value
61596         of an unsigned char or EOF.
61597
61598 2005-06-16  Jim Meyering  <jim@meyering.net>
61599
61600         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
61601         when either N or S is zero.
61602
61603 2005-06-16  Derek Price  <derek@ximbiot.com>
61604
61605         * m4/bison.m4: Declare YACC & YFLAGS precious.
61606
61607 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
61608
61609         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
61610         multibyte string or pattern, fall back on unibyte matching.
61611         Problem reported by James Youngman.
61612
61613 2005-06-08  Bruno Haible  <bruno@clisp.org>
61614
61615         * modules/csharpcomp: New file.
61616         * MODULES.html.sh (C#): Add csharpcomp.
61617
61618 2005-06-08  Bruno Haible  <bruno@clisp.org>
61619
61620         * m4/csharpcomp.m4: New file, from GNU gettext.
61621
61622 2005-06-08  Bruno Haible  <bruno@clisp.org>
61623
61624         * lib/csharpcomp.h: New file, from GNU gettext.
61625         * lib/csharpcomp.c: New file, from GNU gettext.
61626         * lib/csharpcomp.sh.in: New file, from GNU gettext.
61627
61628 2005-06-08  Bruno Haible  <bruno@clisp.org>
61629
61630         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
61631         warning on mingw.
61632
61633 2005-06-07  Derek Price  <derek@ximbiot.com>
61634
61635         Sync from CVS.
61636         * lib/glob_.h: Indent nested #ifdef.
61637
61638 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
61639
61640         Sync from coreutils.
61641         Use "file name" when talking about file names, instead of "filename"
61642         or "path", as per the GNU coding standards.
61643         * lib/mkdir-p.c: Renamed from makepath.c.
61644         (make_dir_parents): Renamed from make_path.  All callers changed.
61645         * lib/mkdir-p.h: Likewise.  All includers changed.
61646         * lib/filenamecat.c: Renamed from path-concat.c.
61647         (file_name_concat): Renamed from path_concat.  All callers changed.
61648         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
61649         * lib/filenamecat.h: Likewise.  All includers changed.
61650         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
61651         in comments or local variable names.
61652         * lib/basename.c: Likewise.
61653         * lib/canonicalize.c, canonicalize.h: Likewise.
61654         * lib/dirname.c, dirname.h: Likewise.
61655         * lib/euidaccess.c: Likewise.
61656         * lib/exclude.c: Likewise
61657         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
61658         * lib/fsusage.c, fsuage.h: Likewise.
61659         * lib/fts.c, fts_.h: Likewise.
61660         * lib/getcwd.c: Likewise.
61661         * lib/getloadavg.c: Likewise.
61662         * lib/mkstemp.c: Likewise.
61663         * lib/mountlist.c, mountlist.h: Likewise.
61664         * lib/openat.c, openat.h: Likewise.
61665         * lib/readlink-stub.c: Likewise.
61666         * lib/readutmp.c, readutmp.h: Likewise.
61667         * lib/rename.c: Likewise.
61668         * lib/rmdir.c: Likewise.
61669         * lib/same.c: Likewise.
61670         * lib/savedir.c: Likewise.
61671         * lib/stripslash.c: Likewise.
61672         * lib/tempname.c: Likewise.
61673         * lib/xreadlink.c: Likewise.
61674         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
61675         All uses changed.
61676         * lib/exclude.h: Likewise.
61677
61678         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
61679         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
61680         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
61681         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
61682         * lib/pathmax.h: Include <limits.h> unconditionally, since other
61683         files have been getting away with it for years (MORE/BSD 4.3
61684         is extinct now).
61685         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
61686         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
61687
61688         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
61689         Define to 256, not 255, as per modern POSIX.
61690
61691 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
61692
61693         Sync from coreutils.
61694         Use "file name" when talking about file names, instead of "filename"
61695         or "path", as per the GNU coding standards.
61696         * MODULES.html.sh: mkdir-p renamed from makepath.
61697         filenamecat renamed from path-concat.
61698         * modules/filenamecat: Renamed from modules/path-concat.
61699         (Files): filenamecat.h and filenamecat.c renamed from
61700         path-concat.h and path-concat.c.
61701         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
61702         (Include): filenamecat.h, not path-concat.h.
61703         * modules/mkdir-p: Renamed from modules/makepath.
61704         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
61705         makepath.c.
61706         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
61707         (Include): mkdir-p.h, not makepath.h.
61708
61709 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
61710
61711         Sync from coreutils.
61712         * m4/mkdir-p.m4: Renamed from makepath.m4.
61713         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
61714         Rename files from makepath.c to mkdir-p.c, and from
61715         makepath.h to mkdir-p.h.
61716         * m4/filenamecat.m4: Renamed from path-concat.m4.
61717         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
61718         Rename files from path-concat.c to filenamecat.c,
61719         and from path-concat.h to filenamecat.h.
61720         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
61721         "file name" in local variables or comments.
61722         * m4/rename.m4: Likewise.
61723
61724 2005-06-01  Bruno Haible  <bruno@clisp.org>
61725
61726         * modules/csharpexec: New file.
61727         * MODULES.html.sh (C#): New section.
61728
61729 2005-06-01  Bruno Haible  <bruno@clisp.org>
61730
61731         * m4/csharp.m4: New file, from GNU gettext.
61732         * m4/csharpexec.m4: New file, from GNU gettext.
61733
61734 2005-06-01  Bruno Haible  <bruno@clisp.org>
61735
61736         * lib/csharpexec.h: New file, from GNU gettext.
61737         * lib/csharpexec.c: New file, from GNU gettext.
61738         * lib/csharpexec.sh.in: New file, from GNU gettext.
61739
61740 2005-05-31  Derek Price  <derek@ximbiot.com>
61741             Paul Eggert  <eggert@cs.ucla.edu>
61742
61743         Sync from cvs.
61744         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
61745
61746 2005-05-31  Derek Price  <derek@ximbiot.com>
61747             Paul Eggert  <eggert@cs.ucla.edu>
61748
61749         Sync from cvs.
61750         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
61751
61752 2005-05-29  Derek Price  <derek@ximbiot.com>
61753
61754         * config/srclist.txt (glob_.h, glob.c): Add these files.
61755
61756 2005-05-29  Derek Price  <derek@ximbiot.com>
61757
61758         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
61759         * modules/glob: New file.
61760         * modules/getlogin_r: Add link to POSIX spec in description.
61761
61762 2005-05-29  Derek Price  <derek@ximbiot.com>
61763             Paul Eggert  <eggert@cs.ucla.edu>
61764
61765         * m4/glob.m4: New file.
61766
61767 2005-05-29  Derek Price  <derek@ximbiot.com>
61768             Paul Eggert  <eggert@cs.ucla.edu>
61769
61770         * lib/glob_.h, lib/glob.c: New files.
61771
61772 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
61773
61774         * modules/fts (Files): Remove m4/inttypes-pri.m4.
61775         * modules/fts-lgpl (Depends-on): Remove gettext.
61776
61777 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
61778
61779         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
61780         and don't require gt_INTTYPES_PRI.
61781
61782 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
61783
61784         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
61785
61786         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
61787         the configuration hassle isn't worth it.
61788         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
61789         (LONGEST_MODIFIER, PRIuMAX): Remove.
61790
61791 2005-05-27  Bruno Haible  <bruno@clisp.org>
61792
61793         * lib/getlogin_r.h: Remove second include of <stddef.h>.
61794
61795 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
61796
61797         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
61798         _POSIX_PTHREAD_SEMANTICS for Solaris.
61799
61800 2005-05-25  Derek Price  <derek@ximbiot.com>
61801
61802         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
61803
61804 2005-05-25  Derek Price  <derek@ximbiot.com>
61805             Paul Eggert  <eggert@cs.ucla.edu>
61806
61807         * modules/getlogin_r, m4/getlogin_r.m4: New files.
61808         * lib/getlogin_r.c, getlogin_r.h: New files.
61809
61810 2005-05-25  Bruno Haible  <bruno@clisp.org>
61811             Derek Price  <derek@ximbiot.com>
61812
61813         * lib/getlogin_r.h: Simplify API documentation.
61814
61815 2005-05-23  Derek Price  <derek@ximbiot.com>
61816
61817         * modules/minmax (Files): Add m4/minmax.m4.
61818         (configure.ac): Add gl_MINMAX.
61819
61820 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61821
61822         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
61823         so that unistd-safer.h (GPL'ed code) need not be included.
61824
61825 2005-05-22  Bruno Haible  <bruno@clisp.org>
61826
61827         * m4/minmax.m4: New file.
61828         Based on a patch by Derek Price <derek@ximbiot.com>.
61829
61830 2005-05-22  Bruno Haible  <bruno@clisp.org>
61831
61832         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
61833         (INT64_MIN): Fix definition.
61834         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
61835
61836         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
61837         NEED_SIGNED_INT_TYPES.
61838
61839         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
61840         HAVE_SYSTEM_INTTYPES.
61841
61842 2005-05-22  Bruno Haible  <bruno@clisp.org>
61843
61844         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
61845         Also include <sys/param.h> if it defines MIN, MAX.
61846         Based on a patch by Derek Price <derek@ximbiot.com>.
61847
61848 2005-05-21  Jim Meyering  <jim@meyering.net>
61849
61850         * modules/fts (Files): Add m4/inttypes-pri.m4.
61851         (Depends-on): Add lstat and remove gettext.  Alphabetize.
61852
61853 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61854
61855         New fts module.
61856         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
61857         (setup_dir, free_dir): New functions.
61858         (enter_dir, leave_dir): Define trivial
61859         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
61860         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
61861         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
61862         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
61863         Move to fts-cycle.c.
61864         (fts_open): Use setup_dir.
61865         (fts_close): Use free_dir.
61866         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
61867         This adds a label and some gotos, but the alternatives were messier.
61868         Check for memory allocation failure when entering a dir.
61869         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
61870         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
61871         (FTS): New member fts_cycle, that is a union that contains the
61872         old active_dir_ht and cycle_state.  All uses changed to mention
61873         fts_cycle.ht and fts_cycle.state.
61874         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
61875         fts.c, with the following changes:
61876         (setup_dir, free_dir): New functions.
61877         (enter_dir): Now returns bool.  Return true if successful, false
61878         if memory exhausted.  All callers changed.
61879         Do not bother partly cleaning up on
61880         memory allocation failure; that is free_dir's job.
61881         However, free ad if hash_insert fails, to avoid memory leak.
61882         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
61883         fts->fts_options to see which union member to use.
61884
61885 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61886
61887         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
61888         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
61889
61890 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61891
61892         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
61893
61894 2005-05-20  Jim Meyering  <jim@meyering.net>
61895
61896         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
61897         Now a macro, to pacify GCC.
61898
61899 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
61900
61901         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
61902         of -1.
61903
61904 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
61905
61906         * lib/chown.c (rpl_chown): Return -1 on failure.
61907
61908 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
61909
61910         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
61911         Don't check for stddef.h.
61912         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
61913         don't use its results.
61914         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
61915         since we include them unconditionally.  Don't require
61916         AM_STDBOOL_H, since stdbool is a prerequisite.
61917         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
61918         since we assume C89 or better.
61919         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
61920         as we don't use their results.
61921         Don't check for fchdir, memmove, memset, strrchr, as we use
61922         them unconditionally.
61923         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
61924         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
61925
61926 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
61927
61928         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
61929         Include <stddef.h> unconditionally, since we assume C89 now.
61930         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
61931         * lib/fts.c: Include fts_.h first, to check interface.
61932         Do not include intprops.h; no longer needed.
61933         Include cycle-check.h and hash.h, since fts_.h no longer does.
61934         Remove unnecessary casts of closedir to void.
61935         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
61936         decide whether to decrement nlinks.
61937         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
61938         (FTS): Use struct hash_table * instead of Hash_table, so that
61939         we no longer need to include hash.h here.
61940
61941 2005-05-18  Jim Meyering  <jim@meyering.net>
61942
61943         * modules/dirfd (License): Change to LGPL.  Most of the code
61944         is already in the public domain.
61945
61946 2005-05-18  Jim Meyering  <jim@meyering.net>
61947
61948         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
61949         Reported by Yoann Vandoorselaere.
61950
61951 2005-05-17  Jim Meyering  <jim@meyering.net>
61952
61953         * m4/fts.m4: New file, from coreutils.
61954
61955 2005-05-17  Jim Meyering  <jim@meyering.net>
61956
61957         * lib/fts.c, lib/fts_.h: New files, from coreutils.
61958
61959 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61960
61961         Sync from coreutils.
61962         * m4/unlinkdir.m4: New file.
61963
61964 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61965
61966         Sync from coreutils.
61967         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
61968         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
61969         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
61970         White space changes only.
61971         * lib/makepath.c (make_path): Port to hosts where leading "//" is
61972         special.
61973         * lib/yesno.c: Include getline.h, not ctype.h.
61974         (yesno): Don't remove leading white space; POSIX doesn't allow it.
61975         Use getline to remove arbitrary restriction on response length.
61976
61977 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61978
61979         * config/srclist-update: Spell out "Street" in FSF postal
61980         mail address; this is the style the FSF seems to prefer.
61981
61982         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
61983         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
61984         this updates FSF postal mail address.
61985
61986         Sync from coreutils.
61987         * modules/unlinkdir: New file.
61988         * modules/yesno (Depends-on): Add getline.
61989         * MODULES.html.sh (File system functions): Add unlinkdir.
61990
61991 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61992
61993         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
61994         lib/strsep.h:
61995         Change the initial comment to refer to GPL, not LGPL.
61996         gnulib-tool will change it to LGPL as needed.
61997
61998         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
61999         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
62000         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
62001         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
62002         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
62003         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
62004         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
62005         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
62006         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
62007         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
62008         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
62009         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
62010         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
62011         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
62012         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
62013         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
62014         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
62015         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
62016         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
62017         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
62018         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
62019         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
62020         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
62021         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
62022         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
62023         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
62024         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
62025         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
62026         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
62027         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
62028         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
62029         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
62030         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
62031         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
62032         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
62033         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
62034         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
62035         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
62036         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
62037         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
62038         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
62039         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
62040         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
62041         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
62042         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
62043         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
62044         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
62045         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
62046         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
62047         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
62048         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
62049         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
62050         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
62051         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
62052         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
62053         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
62054         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
62055         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
62056         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
62057         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
62058         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
62059         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
62060         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
62061         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
62062         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
62063         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
62064         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
62065         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
62066         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
62067         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
62068         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
62069         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
62070         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
62071         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
62072         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
62073         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
62074         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
62075         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
62076         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
62077         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
62078         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
62079         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
62080         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
62081         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
62082         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
62083         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
62084         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
62085         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
62086         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
62087         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
62088         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
62089         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
62090         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
62091         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
62092         lib/yesno.c, lib/yesno.h:
62093         Update FSF postal mail address.
62094
62095 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
62096
62097         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
62098         tests/test-memmem.c, tests/test-stpncpy.c:
62099         Update FSF postal mail address.
62100
62101 2005-05-13  Bruno Haible  <bruno@clisp.org>
62102
62103         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
62104         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
62105         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
62106         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
62107         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
62108         Add support for 64-bit integers in the MSVC compiler.
62109
62110 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62111
62112         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
62113
62114 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
62115
62116         * gnulib-tool (func_import): Sort and uniquify recommended includes.
62117
62118 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
62119
62120         * doc/getdate.texi (General date syntax): Don't say that date
62121         date --iso-8601=ns generates acceptable dates; it doesn't yet.
62122         Problem reported by Nic Ferrier.
62123
62124 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62125
62126         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
62127         specified in ai_socktype. Fix invalid ai_protocol
62128         check. ai_protocol is usually set to 0 or depending on
62129         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
62130         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
62131         ai_socktype / ai_protocol in the returned addrinfo structure.
62132
62133 2005-05-10  Simon Josefsson  <jas@extundo.com>
62134
62135         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
62136         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62137
62138 2005-05-10  Karl Berry  <karl@gnu.org>
62139
62140         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
62141         (from http://www.gnu.org/licenses).
62142         * doc/COPYING.LIB: also rename to COPYING.LESSER.
62143         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
62144         fdl.texi suffices.
62145
62146 2005-05-10  Karl Berry  <karl@gnu.org>
62147
62148         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
62149         (COPYING.DOC): remove.
62150
62151         * config/srclist-update: new FSF address.
62152
62153 2005-05-10  Derek Price  <derek@ximbiot.com>
62154
62155         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
62156         possible.
62157
62158 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62159             Bruno Haible  <bruno@clisp.org>
62160
62161         * modules/inet_ntop: New file.
62162         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62163         inet_ntop.
62164
62165 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62166             Bruno Haible  <bruno@clisp.org>
62167
62168         * m4/inet_ntop.m4: New file.
62169
62170 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62171             Bruno Haible  <bruno@clisp.org>
62172
62173         * lib/inet_ntop.h: New file.
62174         * lib/inet_ntop.c: New file, from glibc with modifications.
62175
62176 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * modules/time_r (License): Change to LGPL.
62179         * modules/extensions (License): Change to LGPL.  Actually,
62180         the license is more permissive than that, but currently gnulib-tool
62181         doesn't know how to handle more-permissive licenses.
62182
62183         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
62184         Problem reported by Dave Love.
62185
62186 2005-05-08  Jim Meyering  <jim@meyering.net>
62187
62188         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
62189         blank.
62190
62191 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
62192
62193         * modules/argmatch (Depends-on): Add stdbool.
62194         * modules/backupfile (Depends-on): Likewise.
62195         * modules/chdir-long (Depends-on): Likewise.
62196         * modules/closeout (Depends-on): Likewise.
62197         * modules/cycle-check (Depends-on): Likewise.
62198         * modules/dirname (Depends-on): Likewise.
62199         * modules/fnmatch (Depends-on): Likewise.
62200         * modules/fsusage (Depends-on): Likewise.
62201         * modules/fwriteerror (Depends-on): Likewise.
62202         * modules/getcwd (Depends-on): Likewise.
62203         * modules/getloadavg (Depends-on): Likewise.
62204         * modules/hard-locale (Depends-on): Likewise.
62205         * modules/makepath (Depends-on): Likewise.
62206         * modules/mountlist (Depends-on): Likewise.
62207         * modules/nanosleep (Depends-on): Likewise.
62208         * modules/posixtm (Depends-on): Likewise.
62209         * modules/quotearg (Depends-on): Likewise.
62210         * modules/readtokens (Depends-on): Likewise.
62211         * modules/readtokens0 (Depends-on): Likewise.
62212         * modules/readutmp (Depends-on): Likewise.
62213         * modules/save-cwd (Depends-on): Likewise.
62214         * modules/strftime (Depends-on): Likewise.
62215         * modules/userspec (Depends-on): Likewise.
62216         * modules/utimecmp (Depends-on): Likewise.
62217         * modules/xgetcwd (Depends-on): Likewise.
62218         * modules/xnanosleep (Depends-on): Likewise.
62219         * modules/xstrtod (Depends-on): Likewise.
62220         * modules/yesno (Depends-on): Likewise.
62221
62222 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
62223
62224         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
62225         needless checks.
62226
62227 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
62228
62229         Merge from coreutils.  Among other things,
62230         add bulletproofing for cases where stdin, stdout, or stderr are closed.
62231         * lib/fd-safer.c: New file.
62232         * lib/fcntl-safer.h, open-safer.c: Remove.
62233         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
62234         * lib/dup-safer.c: Include unistd-safer.h first.
62235         Don't include errno.h.
62236         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
62237         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
62238         * lib/file-type.c: Rely on file-type.h change.
62239         * lib/getloadavg.c: Include unistd-safer.h.
62240         (getloadavg): Use safer open.
62241         * lib/getusershell.c: Include "stdio-safer.h".
62242         (getusershell): Use safer fopen.
62243         * lib/long-options.c (long_options): Use NULL rather than 0.
62244         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
62245         'free'.
62246         * lib/modechange.c: Likewise.
62247         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
62248         (MODE_DONE): New constant.
62249         (struct mode_change): Remove 'next' member.
62250         (make_node_op_equals): New function; like the old one of the
62251         same name, except it allocates an array.
62252         (mode_compile, mode_create_from_ref): Use it.
62253         (mode_compile): Allocate result as an array, not a linked list.
62254         Parse octal string ourself, so that we catch mistakes like "+0".
62255         (mode_adjust): Arg is an array, not a linked list.
62256         * lib/modechange.c: Include stat-macros.h, xalloc.h.
62257         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
62258         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
62259         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
62260         Remove.  This is now stat-macros.h's job.
62261         (talloc): Remove.  All callers replaced by xalloc, so that
62262         our invokers don't have to worry about reporting memory failures.
62263         (make_node_op_equals): Remove.
62264         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
62265         New constants.
62266         (struct mode_change): Moved here from modechange.h.
62267         (mode_append_entry): Remove.
62268         (mode_compile): Remove MASKED_OPS arg, since it encouraged
62269         apps to have incorrect behavior.  Use simpler algorithm for head
62270         and tail.  Don't futz with umask; that's now the job of mode_adjust.
62271         Detect more invalid usages rather than having somewhat-random behavior.
62272         Don't insert an "a=" action, as that leads to incorrect behavior.
62273         (mode_compile, mode_create_from_ref): Return NULL on error instead
62274         of an enum, since now there's only one way to have an error.  All
62275         callers changed.
62276         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
62277         at the correct time.  Simplify calculation of "+u" and its ilk.
62278         Don't mishandle "+X".
62279         (mode_free): Remove "register" and localize decls.
62280         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
62281         (struct mode_change): Move to modechange.c; callers don't
62282         need to see this stuff.
62283         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
62284         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
62285         (mode_change, mode_adjust): Reflect the new signatures noted above.
62286         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
62287         that might redefine system include files.
62288         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
62289         (my_usleep): Use NULL rather than (void *) 0.
62290         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
62291         Use siginterrupt to specify that system calls should be interrupted.
62292         (rpl_nanosleep): Move initialization of suspended closer to call of
62293         my_usleep.
62294         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
62295         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
62296         (desirable_utmp_entry): New function.
62297         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
62298         using x2nrealloc, to simplify logic.
62299         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
62300         size calculation.  Do not assume utmp file is a regular file.
62301         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
62302         (READ_UTMP_CHECK_PIDS): New constant.
62303         * lib/save-cwd.c: Include unistd-safer.h.
62304         (save_cwd): Use fd_safer.
62305         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
62306         [!_LIBC] Include "stat-macros.h" instead.
62307         * lib/unistd-safer.h (fd_safer): New decl.
62308
62309 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
62310
62311         * modules/getloadavg (Depends-on): Add unistd-safer.
62312         * modules/getusershell (Depends-on): Add stdio-safer.
62313         * modules/lstat (Depends-on): Remove xalloc.
62314         * modules/mkstemp (Depends-on): Add stat-macros.
62315         * modules/modechange (Depends-on): Remove xstrtol.
62316         Add stat-macros, xalloc.
62317         * modules/save-cwd (Depends-on): Add unistd-safer.
62318         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
62319         * modules/unistd-safer (Files): Add lib/fd-safer.c
62320         (Makefile.am): Remove lib_SOURCES.
62321
62322         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
62323         Remove fcntl-safer; unistd-safer supersedes it.
62324
62325 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
62326
62327         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
62328         AC_HEADER_STAT.
62329         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
62330         (gl_PREREQ_CHOWN): Remove.
62331         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
62332         it.  Don't require AC_HEADER_STAT.
62333         (gl_PREREQ_LSTAT): Remove.
62334         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
62335         Don't require AC_HEADER_STAT.
62336         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
62337         (gl_PREREQ_RMDIR): Remove.
62338         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
62339         mention stat-macros.h or AC_HEADER_STAT, since we'll make
62340         the stat-macros module a prerequisite.
62341         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
62342         * m4/filemode.m4 (gl_FILEMODE): Likewise.
62343         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
62344         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
62345         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
62346         variable names.
62347         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
62348         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
62349         variable prefixes.
62350         * m4/fcntl-safer.m4: Remove.
62351         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
62352         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
62353         Invoke gl_PREREQ_FD_SAFER.
62354         (gl_PREREQ_FD_SAFER): New macro.
62355         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
62356         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
62357         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
62358         Remove duplicate call to AC_LIBOBJ(readutmp).
62359         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
62360
62361         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
62362         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
62363
62364 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
62365
62366         * MODULES.html.sh (Misc): Add byteswap.
62367
62368 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
62369
62370         * modules/getcwd (Depends-on): Add extensions.
62371         * modules/openat (Depends-on): Likewise.
62372
62373 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
62374
62375         * modules/byteswap: New file.
62376
62377 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
62378
62379         * m4/byteswap.m4: New file.
62380
62381 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
62382
62383         * lib/byteswap_.h: New file.
62384
62385 2005-04-25  Karl Berry  <karl@gnu.org>
62386
62387         * m4/gettext.m4: Update from GNU gettext 0.14.4.
62388
62389 2005-04-25  Albert Chin  <china@thewrittenword.com>
62390
62391         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
62392         Toolkit C bug.
62393
62394 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
62395
62396         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
62397         (func_ln_if_changed) Remove forcibly for no error message
62398         in case file does not exist.
62399
62400 2005-04-19  Simon Josefsson  <jas@extundo.com>
62401
62402         * gnulib-tool (Options): Make --symlink mean --symbolic.
62403
62404 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
62405
62406         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
62407
62408 2005-04-16  Simon Josefsson  <jas@extundo.com>
62409
62410         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
62411
62412 2005-04-15  Simon Josefsson  <jas@extundo.com>
62413
62414         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
62415
62416 2005-04-15  Simon Josefsson  <jas@extundo.com>
62417
62418         * gnulib-tool: Rename --symlink to --symbolic.
62419
62420 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
62421
62422         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
62423         symbolic links to files instead of copying/moving.  Add --aux-dir,
62424         specifying directory relative --dir where auxiliary build tools
62425         are placed.
62426
62427 2005-04-14  Bruno Haible  <bruno@clisp.org>
62428
62429         * modules/allocsa (License): Change to LGPL.
62430         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
62431
62432 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62433
62434         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
62435         that "UTC +1 second" continues to work.  Problem reported
62436         by Dmitry V. Levin.
62437         (relunit_snumber): New rule.
62438         (relunit): Use it.
62439
62440 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
62441
62442         * lib/getdate.y (universal_time_zone_table): New constant.
62443         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
62444         universal_time_zone_table.
62445         (lookup_zone): Prefer universal_time_zone_table to
62446         local_time_zone_table, so that "GMT" time stamps are allowed in
62447         London during the summer.  Problem reported by Ian Abbott.
62448
62449 2005-04-12  Jim Meyering  <jim@meyering.net>
62450
62451         * lib/human.c (humblock): Set *options even when returning due to
62452         xstrtoumax conversion failure.  Thanks to a used-uninitialized
62453         warning from gcc-4.
62454
62455 2005-04-09  Jim Meyering  <jim@meyering.net>
62456
62457         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
62458         -Wuninitialized: initialize tm0.tm_year.
62459
62460 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62461
62462         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
62463         count, since there's no maximum.  All uses changed.
62464         Add member dsts_seen.
62465         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
62466         not being INT_MAX.
62467         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
62468         Use pc_rels_seen to decide whther a date is absolute.
62469
62470         * lib/getdate.y (number): Don't overwrite year.
62471         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
62472         check.
62473
62474 2005-04-02  Simon Josefsson  <jas@extundo.com>
62475
62476         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
62477         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
62478
62479 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
62480
62481         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
62482         where no absolute path name can be longer than PATH_MAX.
62483
62484 2005-03-27  Jim Meyering  <jim@meyering.net>
62485
62486         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
62487
62488 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
62489
62490         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
62491         "one's complement" -> "ones' complement" in comment, as per Knuth.
62492         "value of type" -> "type or expression" in comment.
62493         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
62494
62495 2005-03-26  Jim Meyering  <jim@meyering.net>
62496
62497         Comment nits.
62498         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
62499         Correct typos: s/or/of/.
62500
62501 2005-03-26  Jim Meyering  <jim@meyering.net>
62502
62503         * modules/check-include-files: Move to ../ and rename to...
62504         * check-module: ...this.
62505
62506 2005-03-25  Jim Meyering  <jim@meyering.net>
62507
62508         * modules/xvasprintf (Files): Add xalloc.h.
62509
62510 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
62511
62512         * modules/gettext (Files): config/config.rpath ->
62513         build-aux/config.rpath
62514         * modules/iconv (Files): Likewise.
62515         Problem reported by Oskar Liljeblad.
62516
62517 2005-03-23  Jim Meyering  <jim@meyering.net>
62518
62519         * modules/check-include-files: New script to check for
62520         missing dependencies, multiple includes, etc.
62521
62522         * modules/c-strtold (Depends-on): Add xalloc.
62523         * modules/c-strtod (Depends-on): Add xalloc.
62524         * modules/hash (Depends-on): Add xalloc.
62525         (Files): Remove lib/xalloc.h.
62526
62527         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
62528         * modules/userspec (Files): Add lib/inttostr.h.
62529
62530 2005-03-23  Jim Meyering  <jim@meyering.net>
62531
62532         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
62533
62534 2005-03-22  Jim Meyering  <jim@meyering.net>
62535
62536         * modules/stat-macros: New module.
62537         * modules/canonicalize, modules/euidaccess, modules/file-type,
62538         * modules/filemode, modules/lchown, modules/makepath,
62539         * modules/rmdir, modules/stat: Depend on new stat-macros module
62540         rather than listing lib/stat-macros.h manually.
62541         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
62542
62543 2005-03-22  Jim Meyering  <jim@meyering.net>
62544
62545         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
62546
62547 2005-03-22  Bruno Haible  <bruno@clisp.org>
62548
62549         * config/srclist.txt: Replace target directory 'config' with
62550         'build-aux'.
62551         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
62552         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
62553         ../build-aux/.
62554
62555 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
62556
62557         * modules/chdir-long (Depends-on): Add mempcpy.
62558
62559         * modules/acl, modules/backupfile, modules/c-strtod,
62560         modules/c-strtold, modules/canon-host, modules/canonicalize,
62561         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
62562         modules/exclude, modules/exitfail, modules/file-type,
62563         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
62564         modules/getdate, modules/getline, modules/getpagesize,
62565         modules/getpass, modules/getugroups, modules/group-member,
62566         modules/hard-locale, modules/hash, modules/human, modules/idcache,
62567         modules/inttostr, modules/long-options, modules/makepath,
62568         modules/md5, modules/memcasecmp, modules/memcoll,
62569         modules/modechange, modules/mountlist, modules/path-concat,
62570         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
62571         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
62572         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
62573         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
62574         modules/strftime, modules/strndup, modules/strverscmp,
62575         modules/timespec, modules/unlocked-io, modules/userspec,
62576         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
62577         modules/yesno:
62578         Remove lib_SOURCES line from Makefile.am section, as this is now
62579         done automatically by the corresponding Autoconf macro.
62580
62581 2005-03-21  Jim Meyering  <jim@meyering.net>
62582
62583         Changes imported from coreutils.
62584
62585         * lib/cycle-check.c: Don't include xalloc.h.
62586
62587         * lib/path-concat.c: Don't include assert.h.
62588         (path_concat): Remove assertion that would have triggered
62589         for ABASE starting with more than one slash.
62590         Reported by Andreas Schwab.
62591
62592         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
62593         properly when ABASE is an absolute file name.
62594         Correct the description of this function.
62595         Include <assert.h>.
62596         Add an assertion and a test driver.
62597         This fixes a bug introduced on 2004-07-02.
62598         Andreas Schwab reported the resulting failure of cp --parents:
62599         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
62600
62601 2005-03-21  Jim Meyering  <jim@meyering.net>
62602
62603         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
62604         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
62605
62606 2005-03-21  Jim Meyering  <jim@meyering.net>
62607         and  Paul Eggert  <eggert@cs.ucla.edu>
62608
62609         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
62610         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
62611         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
62612         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
62613         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
62614         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
62615         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
62616         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
62617         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
62618         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
62619         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
62620         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
62621         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
62622         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
62623         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
62624         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
62625         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
62626         for these modules.
62627
62628 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
62629
62630         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
62631         (which shouldn't happen), generate nothing instead of returning 0
62632         immediately, so that nstrftime (NULL, ...) doesn't return 0.
62633
62634 2005-03-16  Bruno Haible  <bruno@clisp.org>
62635
62636         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
62637         HAVE_LONGLONG_64BIT.
62638
62639 2005-03-16  Bruno Haible  <bruno@clisp.org>
62640
62641         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
62642         HAVE_LONGLONG_64BIT.
62643
62644 2005-03-16  Bruno Haible  <bruno@clisp.org>
62645
62646         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
62647         HAVE_LONGLONG_64BIT.
62648
62649 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
62650
62651         * lib/strftime.c (my_strftime): Prepend space to format so that we can
62652         reliably distinguish strftime failure from empty output on POSIX
62653         hosts.
62654
62655 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
62656
62657         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
62658         (iconv_string): Don't guess a size-zero buffer, as that might cause
62659         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
62660         result would be 'too large', where 'too large' is (heuristically)
62661         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
62662         overflow concerns.  This will prevent some unwanted malloc failures
62663         when the inputs are very large.
62664
62665 2005-03-15  Karl Berry  <karl@gnu.org>
62666
62667         * config/srclist.txt (config.rpath): from gettext.
62668         * config/config.rpath: update.
62669
62670 2005-03-15  Bruno Haible  <bruno@clisp.org>
62671
62672         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
62673         to 'negate'.
62674
62675         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
62676         variable.
62677
62678         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
62679         results.
62680
62681 2005-03-14  Simon Josefsson  <jas@extundo.com>
62682
62683         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
62684         <fx@gnu.org>.
62685
62686 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
62687
62688         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
62689         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
62690         intprops.h.
62691         * lib/strtol.c: Likewise.
62692
62693 2005-03-14  Jim Meyering  <jim@meyering.net>
62694
62695         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
62696         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
62697         to be nonzero so that we (and caller) can detect the difference
62698         between a valid zero-length expansion and an error return, even
62699         when the underlying strftime fails before writing anything into
62700         that location.
62701
62702 2005-03-14  Bruno Haible  <bruno@clisp.org>
62703
62704         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
62705         Update from GNU gettext 0.14.3.
62706
62707 2005-03-10  Jim Meyering  <jim@meyering.net>
62708
62709         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
62710
62711 2005-03-10  Jim Meyering  <jim@meyering.net>
62712
62713         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
62714         so that this module works on systems without fchdir.
62715
62716 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
62717
62718         Factor int-properties macros into a single file, except for
62719         glibc-related files.
62720         * lib/intprops.h: New file.
62721         * lib/getloadavg.c: Include it instead of limits.h.
62722         (INT_STRLEN_BOUND): Remove.
62723         * lib/human.c: Include intprops.h.
62724         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
62725         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
62726         302/1000.
62727         * lib/inttostr.h: Include intprops.h instead of limits.h.
62728         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
62729         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
62730         for consistency with intprops.h.
62731         (time_t_is_integer, twos_complement_arithmetic): Use them.
62732         * lib/sig2str.h: Include <signal.h>, intprops.h.
62733         (INT_STRLEN_BOUND): Remove.
62734         * lib/strftime.c (TYPE_SIGNED): Remove.
62735         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
62736         * lib/strtol.c: Adjust comments to match intprops.h.
62737         * lib/userspec.c: Include intprops.h.
62738         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
62739         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
62740         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
62741         instead of rolling our own expressions.
62742         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
62743
62744         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
62745         instead of int.
62746         (my_strftime): Do not mishandle years close to INT_MAX, by doing
62747         the right thing even if adding 1900 would overflow.  Similarly
62748         for tm_mon + 1 and tm_yday + 1.
62749         Make %Y always equivalent to %C%y, and similarly for %G and %g.
62750         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
62751         (DO_SIGNED_NUMBER): New macro.
62752         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
62753
62754 2005-03-07  Bruno Haible  <bruno@clisp.org>
62755
62756         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
62757
62758 2005-03-07  Bruno Haible  <bruno@clisp.org>
62759
62760         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
62761
62762 2005-03-04  Derek R. Price  <derek@ximbiot.com>
62763
62764         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
62765         (func_import): Only replace files via --import when they have actually
62766         changed.
62767
62768 2005-03-03  Derek R. Price  <derek@ximbiot.com>
62769
62770         * m4/mmap-anon.m4: New file.
62771         * m4/pagealign_alloc.m4: New file.
62772
62773 2005-03-03  Derek R. Price  <derek@ximbiot.com>
62774             Bruno Haible  <bruno@clisp.org>
62775
62776         * modules/pagealign_alloc: New file.
62777         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
62778
62779 2005-03-03  Derek R. Price  <derek@ximbiot.com>
62780             Bruno Haible  <bruno@clisp.org>
62781
62782         * lib/pagealign_alloc.h: New file.
62783         * lib/pagealign_alloc.c: New file.
62784
62785 2005-03-03  Bruno Haible  <bruno@clisp.org>
62786
62787         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
62788         Use an all-permissive copyright notice, recommended by RMS.
62789
62790 2005-03-02  Bruno Haible  <bruno@clisp.org>
62791
62792         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
62793         of AIX, the replacement has to be done only after <string.h> is
62794         included, therefore not in config.h. stpncpy.h does the replacement,
62795         and stpncpy.c uses it.
62796
62797 2005-03-02  Bruno Haible  <bruno@clisp.org>
62798
62799         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
62800         stpncpy.c uses it.
62801
62802 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62803
62804         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
62805         The workaround isn't strictly needed for POSIX conformance, and
62806         it's too much of a pain to configure and maintain.  We'll ask
62807         people to fix their kernels instead.
62808         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
62809         (NANOSLEEP_BUG_WORKAROUND): Remove.
62810         (xnanosleep): Remove the workaround.
62811
62812 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62813
62814         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
62815         Reported by Derek Price.
62816         (Include): Add "timespec.h".
62817
62818         * modules/xnanosleep (Depends-on): Remove gethrxtime.
62819
62820 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62821
62822         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
62823         to detect nanosleep bug.
62824
62825 2005-03-01  Bruno Haible  <bruno@clisp.org>
62826
62827         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
62828
62829 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
62830
62831         * modules/gethrxtime: New file.
62832         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
62833         (Depends-on): Add gethrxtime.
62834         (configure.ac): Add gl_XNANOSLEEP.
62835         (Makefile.am): Remove lib_SOURCES line.
62836
62837 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62838
62839         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
62840         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
62841
62842 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62843
62844         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
62845         * lib/timespec.h (gettime): Return void, since it always
62846         succeeds now.  All uses changed.
62847         * lib/gettime.c (gettime) Likewise.
62848         [HAVE_NANOTIME]: Prefer nanotime.
62849         Assume gettimeofday succeeds, as POSIX requires.
62850         Assime time () succeeds, since other code already does.
62851         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
62852         (timespec_subtract): Remove.
62853         (NANOSLEEP_BUG_WORKAROUND): New constant.
62854         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
62855         things considerably.  Use it only on GNU/Linux hosts, since the
62856         workaround shouldn't be needed elsewhere.
62857
62858 2005-02-24  Bruno Haible  <bruno@clisp.org>
62859
62860         * modules/gettext (Files): Add m4/glibc2.m4.
62861
62862 2005-02-24  Bruno Haible  <bruno@clisp.org>
62863
62864         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
62865         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
62866         * m4/progtest.m4:
62867         Update from GNU gettext 0.14.2.
62868         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
62869
62870 2005-02-24  Bruno Haible  <bruno@clisp.org>
62871
62872         * lib/localcharset.c: Update from GNU gettext 0.14.2.
62873         * lib/config.charset: Update from GNU gettext 0.14.2.
62874
62875 2005-02-24  Bruno Haible  <bruno@clisp.org>
62876
62877         * lib/gettext.h: Update from GNU gettext 0.14.2.
62878
62879 2005-02-23  Simon Josefsson  <jas@extundo.com>
62880
62881         * m4/iconvme.m4: New file.
62882
62883 2005-02-23  Jim Meyering  <jim@meyering.net>
62884
62885         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
62886         change.
62887         Thanks to Bruno Haible for catching it.
62888
62889 2005-02-22  Simon Josefsson  <jas@extundo.com>
62890
62891         * modules/iconvme: New file.
62892
62893         * MODULES.html.sh: Add iconvme.
62894
62895 2005-02-22  Simon Josefsson  <jas@extundo.com>
62896
62897         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
62898
62899 2005-02-22  Simon Josefsson  <jas@extundo.com>
62900
62901         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
62902
62903 2005-02-22  Jim Meyering  <jim@meyering.net>
62904
62905         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
62906         s/ifndef/ifdef/.
62907
62908 2005-02-20  Neil Conway  <neilc@samurai.com>
62909
62910         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
62911         returned by OSX/Darwin if the specified buffer is not large
62912         enough for the hostname.
62913
62914 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62915
62916         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
62917         pass it to _help, otherwise the latter coredumps trying to
62918         dereference state.root_argp.
62919
62920 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62921
62922         * modules/chdir-long (Depends-on): Add memrchr.
62923         * modules/memrchr (Files): Add lib/memrchr.h.
62924         (Include): "memrchr.h".
62925
62926 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62927
62928         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
62929
62930 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62931
62932         * lib/memrchr.h: New file.
62933         * lib/chdir-long.c: Include it.
62934         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
62935         Don't bother including stddef.h.
62936
62937 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
62938
62939         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
62940         inclusion.
62941         Include <sys/types.h>, for dev_t.
62942         (ME_DUMMY, ME_REMOTE): Move from here....
62943         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
62944         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
62945         Dmitry V. Levin.
62946         Include mountlist.h first, to test the interface.
62947
62948 2005-01-29  Bruno Haible  <bruno@clisp.org>
62949
62950         * lib/progname.c (program_name): Initialize.
62951         Needed when linking statically on MacOS X.
62952
62953 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
62954
62955         Sync from coreutils.
62956         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
62957         (Depends-on): Add c-strtod.
62958         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
62959
62960 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
62961
62962         Sync from coreutils.
62963         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
62964
62965         Remove files that are specific to coreutils.
62966         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
62967
62968 2005-01-28  Bruno Haible  <bruno@clisp.org>
62969
62970         * modules/javacomp: New file.
62971         * MODULES.html.sh (Java): Add javacomp.
62972
62973 2005-01-28  Bruno Haible  <bruno@clisp.org>
62974
62975         * m4/javacomp.m4: New file, from GNU gettext.
62976
62977 2005-01-28  Bruno Haible  <bruno@clisp.org>
62978
62979         * lib/javacomp.sh.in: New file, from GNU gettext.
62980         * lib/javacomp.h: New file, from GNU gettext.
62981         * lib/javacomp.c: New file, from GNU gettext.
62982
62983 2005-01-26  Simon Josefsson  <jas@extundo.com>
62984
62985         * lib/gai_strerror.c: Use GPL in header.
62986
62987 2005-01-26  Bruno Haible  <bruno@clisp.org>
62988
62989         * modules/javaexec: New file.
62990         * MODULES.html.sh (Java): Add javaexec.
62991
62992 2005-01-26  Bruno Haible  <bruno@clisp.org>
62993
62994         * m4/javaexec.m4: New file, from GNU gettext.
62995
62996 2005-01-26  Bruno Haible  <bruno@clisp.org>
62997
62998         * lib/javaexec.sh.in: New file, from GNU gettext.
62999         * lib/javaexec.h: New file, from GNU gettext.
63000         * lib/javaexec.c: New file, from GNU gettext.
63001
63002 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63003
63004         * modules/lchown (Depends-on): Remove lchown.h
63005
63006 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63007
63008         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
63009         must be defined if the header file was not found, in order
63010         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
63011
63012 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63013
63014         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
63015         initializers for struct pentry_state.
63016         (__argp_error): Check return value of __asprintf
63017         (__argp_failure): Translate error message
63018
63019         * lib/argp-parse.c: Removed braces around the expansion of N_()
63020
63021 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63022
63023         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
63024         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
63025         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
63026         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
63027         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
63028         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
63029         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
63030         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
63031         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
63032         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
63033         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
63034         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
63035         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
63036         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
63037         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
63038         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
63039         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
63040         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
63041         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
63042         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
63043         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
63044         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
63045         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
63046         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
63047         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
63048         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
63049         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
63050         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
63051         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
63052         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
63053         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
63054         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
63055         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
63056         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
63057         xstrtol.m4, xstrtoumax.m4, yesno.m4:
63058         Use an all-permissive copyright notice, recommended by RMS.
63059
63060 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
63061
63062         * modules/chdir-long (Depends-on): Remove mempcpy.
63063
63064 2005-01-21  Jim Meyering  <jim@meyering.net>
63065
63066         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
63067         same value as for Solaris 9.
63068
63069         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
63070         component length.  This included changing the parameter to be
63071         of type `char *' rather than `char const *'.
63072         * lib/chdir-long.h (chdir_long): Update prototype.
63073
63074         * lib/openat.c (fdopendir, fstatat): New functions.
63075         * lib/openat.h: Include headers required for use of DIR and struct
63076         stat.
63077         [AT_SYMLINK_NOFOLLOW]: Define.
63078         (fdopendir, fstatat): Add prototypes.
63079
63080 2005-01-21  Bruno Haible  <bruno@clisp.org>
63081
63082         * modules/classpath: New file.
63083         * MODULES.html.sh (Java): Add classpath.
63084
63085 2005-01-21  Bruno Haible  <bruno@clisp.org>
63086
63087         * lib/classpath.h: New file, from GNU gettext.
63088         * lib/classpath.c: New file, from GNU gettext.
63089
63090 2005-01-20  Simon Josefsson  <jas@extundo.com>
63091
63092         * modules/version-etc-fsf: New file.
63093
63094 2005-01-20  Simon Josefsson  <jas@extundo.com>
63095
63096         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
63097         * lib/version-etc.c: Remove version_etc_copyright.
63098         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
63099         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
63100
63101 2005-01-20  Simon Josefsson  <jas@extundo.com>
63102
63103         * lib/base64.h (isbase64): Add.
63104
63105         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
63106         using a unsigned prototype, don't inline.
63107         (base64_decode): Use it.
63108
63109 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63110
63111         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
63112         it.
63113
63114 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63115
63116         * lib/save-cwd.c (save_cwd): Remove code to support the case
63117         where fchdir is missing or flaky.
63118
63119 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63120
63121         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
63122
63123 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63124
63125         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
63126         AC_LIBSOURCES now does this.
63127         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
63128         with new ullong_max module.
63129
63130 2005-01-19  Bruno Haible  <bruno@clisp.org>
63131
63132         * modules/sh-quote: New file.
63133         * MODULES.html.sh (Executing programs): Add sh-quote.
63134
63135 2005-01-19  Bruno Haible  <bruno@clisp.org>
63136
63137         * lib/sh-quote.h: New file, from GNU gettext.
63138         * lib/sh-quote.c: New file, from GNU gettext.
63139
63140 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
63141
63142         Merge from coreutils.
63143         * m4/ullong_max.m4: New file.
63144         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
63145         (gl_MACROS): Assume localeconv exists.
63146
63147 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
63148
63149         Merge changes from coreutils, as described below in several
63150         changelogs dated today.
63151
63152         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
63153         (O_DIRECTORY): Remove; not needed here, since "." must be
63154         a directory.  All uses removed.
63155         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
63156         universal on Suns, and we also need to test for IRIX.
63157         Revamp code to use 'if' rather than '#if'.
63158         Avoid unnecessary comparison of cwd->desc to 0.
63159
63160         * lib/utimens.c (futimens): Robustify the previous patch, by checking
63161         for known valid error numbers rather than observed invalid ones.
63162
63163 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
63164
63165         * modules/ullong_max: New file.
63166
63167         * modules/chdir-long, modules/openat: New files.
63168         * modules/save-cwd (Depends-on): Depend on chdir-long.
63169         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
63170
63171 2005-01-18  Jim Meyering  <jim@meyering.net>
63172
63173         Merge from coreutils.
63174         * m4/chdir-long.m4, m4/openat.m4: New files.
63175         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
63176         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
63177         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
63178         is sane and DOES follow symlinks.  Besides, testing 20 different
63179         systems found no broken chown implementations.
63180         Prompted by a change in rsync's copy of this macro.
63181         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
63182
63183         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
63184
63185         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
63186         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
63187         NULL-means-set-to-current-time semantics.
63188         Remove temporary file immediately, rather than waiting
63189         for configure's at-exit trap code to do it.
63190
63191 2005-01-18  Jim Meyering  <jim@meyering.net>
63192
63193         * lib/version-etc.c (version_etc_copyright): Update copyright date.
63194
63195         * lib/utimens.c (futimens): Account for the fact that futimes
63196         can also fail with errno == ENOSYS or errno == ENOENT.
63197         Patch from Dmitry V. Levin.
63198
63199         Change the name of the robust chdir function from chdir to chdir_long.
63200         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
63201         (restore_cwd): Use chdir_long, not chdir.
63202         * lib/chdir-long.c: Renamed from chdir.c.
63203         * lib/chdir-long.h: Renamed from chdir.h.
63204         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
63205         Hurd.
63206
63207 2005-01-18  Bruno Haible  <bruno@clisp.org>
63208
63209         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
63210         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
63211         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
63212         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
63213         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
63214         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
63215         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
63216         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
63217         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
63218         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
63219         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
63220         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
63221         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
63222         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
63223         Use an all-permissive copyright notice, recommended by RMS.
63224
63225 2005-01-18  Bob Proulx  <bob@proulx.com>
63226
63227         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
63228         simplify offsetof() macro construct to avoid compile failure with
63229         native HP-UX 11.0 ANSI C compiler.
63230
63231 2005-01-17  Bruno Haible  <bruno@clisp.org>
63232
63233         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
63234         redundant because stpncpy.m4 takes care of it.
63235
63236 2005-01-17  Bruno Haible  <bruno@clisp.org>
63237
63238         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
63239
63240 2005-01-17  Bruno Haible  <bruno@clisp.org>
63241
63242         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
63243         used.
63244
63245 2005-01-17  Bruno Haible  <bruno@clisp.org>
63246
63247         * lib/fwriteerror.h (fwriteerror): Change specification to include
63248         fclose.
63249         * lib/fwriteerror.c: Include <stdbool.h>.
63250         (fwriteerror): At the end, close the file stream. Record whether
63251         stdout was already closed.
63252
63253 2005-01-17  Bruno Haible  <bruno@clisp.org>
63254
63255         * lib/execute.c (environ): Declare if needed.
63256         * lib/pipe.c (environ): Likewise.
63257         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
63258
63259 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63260
63261         * modules/argp: Depend on vsnprintf
63262
63263 2005-01-10  Jim Meyering  <jim@meyering.net>
63264
63265         * modules/closeout (Depends-on): Add atexit.
63266
63267 2005-01-06  Bruno Haible  <bruno@clisp.org>
63268
63269         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
63270
63271 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63272
63273         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
63274         definitions to be after all include files, to avoid collisions.
63275         Problem reported by Bob Proulx.
63276
63277 2005-01-04  Jim Meyering  <jim@meyering.net>
63278
63279         Changes imported from coreutils.
63280         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
63281         as the mkstemp template, use a temporary directory and an
63282         8.3-friendly template to avoid trouble on systems like DJGPP.
63283         Reported by Juan M. Guerrero via Stepan Kasal.
63284         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
63285         close. Remove the temporary directory right away, rather than waiting
63286         for configure's at-exit trap code to do it.
63287         Suggestion from Stepan Kasal.
63288
63289 2005-01-01  Simon Josefsson  <jas@extundo.com>
63290
63291         * gnulib-tool: Print #include directives when --import'ing.
63292
63293 2004-12-28  Simon Josefsson  <jas@extundo.com>
63294
63295         * tests/test-base64.c: Include required header files.  Remove
63296         unused variables.
63297
63298 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * modules/error (Depends-on): Remove gettext.
63301
63302 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
63303
63304         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
63305         not needed.  This removes a dependency on the gettext module.
63306         [defined _LIBC]: Do not include <libintl.h>; not needed.
63307
63308 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
63309
63310         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
63311         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
63312
63313 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
63314
63315         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
63316         HAVE_DECL_STRTOLD.
63317
63318 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63319
63320         * modules/getdate (Depends-on): Remove alloca-opt.
63321
63322 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
63325
63326 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63327
63328         * lib/argp-parse.c: Include <stddef.h>.
63329         (alignof, alignto): New macros.
63330         (parser_init): Don't assume that void * is aligned sufficiently
63331         for struct option.
63332
63333         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
63334         need to extend the stack.
63335         (YYINITDEPTH): New macro, so that the initial stack isn't overly
63336         large.
63337
63338 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63339
63340         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
63341
63342 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63343
63344         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
63345         (2004-10-24) change.  Apparently this was a false alarm.
63346
63347         * modules/getdate: Depend on alloca-opt, not alloca.
63348
63349 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63350
63351         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
63352         Remove now-obsolete comment about AIX.
63353         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
63354         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
63355         (YYMAXDEPTH): New macro.
63356
63357 2004-12-18  Simon Josefsson  <jas@extundo.com>
63358
63359         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
63360
63361 2004-12-18  Bruno Haible  <bruno@clisp.org>
63362
63363         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
63364
63365 2004-12-18  Bruno Haible  <bruno@clisp.org>
63366
63367         * lib/fatal-signal.c (fatal_signals): Make non-const.
63368         (init_fatal_signals): New function.
63369         (uninstall_handlers, install_handlers): Ignore signals that were set to
63370         SIG_IGN.
63371         (at_fatal_signal): Call init_fatal_signals.
63372         (init_fatal_signal_set): Likewise. Ignore signals that were set to
63373         SIG_IGN.
63374         Reported by Paul Eggert.
63375
63376 2004-12-18  Bruno Haible  <bruno@clisp.org>
63377
63378         * doc/alloca.texi: New file.
63379         * doc/alloca-opt.texi: New file.
63380
63381 2004-12-17  Jim Meyering  <jim@meyering.net>
63382
63383         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
63384         Otherwise, install-sh could exit with improper exit status when
63385         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
63386
63387 2004-12-16  Simon Josefsson  <jas@extundo.com>
63388
63389         * tests/test-base64.c: Add license.
63390
63391 2004-12-15  Stepan Kasal  <address@hidden>
63392
63393         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
63394
63395 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
63396
63397         * modules/getcwd (Files): Add m4/d-ino.m4.
63398         Suggested by Mark D. Baushke.
63399
63400 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
63401
63402         * lib/getdate.y (textint): New member "negative".
63403         (time_zone_hhmm): New function.
63404         Expect 14 shift-reduce conflicts, not 13.
63405         (o_colon_minutes): New rule.
63406         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
63407         (yylex): Set the "negative" member of signed numbers.
63408
63409 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
63410
63411         * doc/getdate.texi (Time of day items, Time zone items):
63412         Describe new formats +00:00, UTC+00:00.
63413
63414 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63415
63416         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
63417         spurious "-l"s.  Problem reported by Stepan Kasal.
63418
63419 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
63420
63421         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
63422         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
63423
63424 2004-12-04  Simon Josefsson  <jas@extundo.com>
63425
63426         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
63427         Vandoorselaere <yoann@prelude-ids.org>.
63428
63429 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
63430
63431         Changes imported from coreutils.
63432         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
63433         exist.
63434         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
63435
63436 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
63437
63438         Changes imported from coreutils.
63439         * lib/hard-locale.c: Assume <locale.h> exists.
63440         Include "strdup.h".
63441         (GLIBC_VERSION): New macro.
63442         (hard_locale): Assume setlocale exists.
63443         Rewrite to avoid #ifdef.
63444         Use strdup rather than malloc + strcpy.
63445         * lib/human.c: Assume <locale.h> exists.
63446         (human_readable): Assume localeconv exists.
63447
63448 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
63449
63450         * modules/hard-locale (Depends-on): Add strdup.
63451
63452 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63453
63454         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
63455         convert T2, not T.  (Imported from libc.)
63456
63457 2004-11-30  Simon Josefsson  <jas@extundo.com>
63458
63459         * modules/restrict (License): Change to LGPL.
63460
63461 2004-11-30  Simon Josefsson  <jas@extundo.com>
63462
63463         * m4/restrict.m4: Add copyright and copying conditions.
63464
63465 2004-11-30  Simon Josefsson  <jas@extundo.com>
63466
63467         * m4/base64.m4: New file.
63468
63469 2004-11-30  Simon Josefsson  <jas@extundo.com>
63470
63471         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
63472         base64.
63473
63474         * tests/test-base64.c: New file.
63475
63476         * modules/base64: New file.
63477
63478 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
63479
63480         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
63481         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
63482
63483         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
63484
63485 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
63486
63487         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
63488         (__getcwd.c): Don't restore errno; glibc doesn't.
63489         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
63490         first, falling back to our code only if its results look suspicious.
63491         Ensure that the resulting buffer is only as large as necessary.
63492
63493         * lib/readutmp.c: Include readutmp.h first.
63494         Include <errno.h>, since readutmp.h no longer does that.
63495         * lib/readutmp.h: Don't include <errno.h>,
63496         <sys/param.h>, <time.h>; not needed to establish interface.
63497         (errno): Remove decl.
63498         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
63499         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
63500         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
63501
63502 2004-11-28  Simon Josefsson  <jas@extundo.com>
63503
63504         * lib/base64.h, base64.c: New file.
63505
63506 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
63507
63508         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
63509
63510 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
63511
63512         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
63513         (Depends-on): Remove pathmax, same.  Add mempcpy.
63514         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
63515         (Makefile.am): Append getcwd.h to lib_SOURCES.
63516         (Include): Add getcwd.h.
63517         (Maintainer): Change from Jim Meyering to "all, glibc",
63518         since getdate now uses intended-for-glibc code.
63519         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
63520         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
63521
63522 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63523
63524         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
63525         HP's ANSI C compiler.
63526         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
63527         Declaring int functions causes warnings on some modern systems and
63528         shouldn't be needed to compile on ancient ones.
63529         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
63530         defined.
63531
63532         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
63533         with the following changes.
63534         (__set_errno): Parenthesize properly.
63535         Include <stdbool.h>.
63536         (MIN, MAX, MATCHING_INO): New macros.
63537         (__getcwd): Define with prototype, not K&R form.
63538         Use heuristics to allocate default buffer on stack if possible.
63539         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
63540         behavior, and to avoid the PATH_MAX limit when computing
63541         ../../../../...
63542         Use MATCHING_INO to compare inode number to file.
63543         Check for arithmetic overflow in size calculations.
63544         Fix bug in reallocation of dot array that caused getcwd to fail
63545         on directories nested deeper than 75.
63546         Be more careful about saving errno on error.
63547         Do not use realloc; use only free+malloc, as this is a bit
63548         more flexible and avoids a needless copy operation.
63549         Do not inspect st_dev and st_ino for symbolic links; POSIX
63550         doesn't specify the latter.
63551         Check for closedir errors.
63552         Avoid needless casts.
63553         Use "#ifdef weak_alias" around weak_alias, to be like other
63554         glibc code.
63555         The following changes to getcwd.c have effect only when used in
63556         gnulib; they have no effect inside glibc proper.
63557         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
63558         as alloca isn't used.
63559         (alloca, __alloca): Likewise.
63560         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
63561         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
63562         unconditionally, as gnulib assumes C89 or better.
63563         Do not include <sys/param.h>.
63564         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
63565         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
63566         better.
63567         (NULL) [!defined NULL]: Remove; we assume C89 or better.
63568         Include <dirent.h> in a way that is compatible with modern Autoconf.
63569         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
63570         New macros, if not already defined.
63571         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
63572         Use "_LIBC", not "defined _LIBC", for consistency.
63573         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
63574         a mempcpy module.
63575         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
63576         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
63577         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
63578         credit only to Jim Meyering and adjust the copyright dates.
63579         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
63580         <stdlib.h>, <unistd.h>, "pathmax.h".
63581         Instead, include "xgetcwd.h" (first) and "getcwd.h".
63582         (INITIAL_BUFFER_SIZE): Remove.
63583         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
63584
63585 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63586
63587         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
63588         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
63589         Use the _ONCE methods, for efficiency.
63590         Check for fcntl.h.  In test program, include <errno.h>
63591         and <fcntl.h> if available.  Remove old K&R cruft from
63592         test program.  Check for common errors in GNU/Linux,
63593         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
63594         don't do AC_LIBOBJ, as that's getcwd.m4's job.
63595         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
63596         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
63597         name accordingly.
63598         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
63599         accommodate new getcwd.c.
63600         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
63601         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
63602         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
63603         that's all we need now.
63604
63605 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63606
63607         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
63608         argp-parse.c depends on getopt internals, that means we should
63609         always use our getopt, to be on the safe side.
63610         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
63611         order not to spoil the result of an eventual previous invocation
63612         of gl_GETOPT_SUBSTITUTE.
63613
63614 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63615
63616         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
63617         redefinition warnings. To avoid them, include the defines
63618         in `#if !defined __need_getopt ... #endif'. The only place
63619         where __getopt_argv_const is used is in definitions
63620         of getopt_long and getopt_long_only below, which are as well
63621         protected by `#ifndef __need_getopt'.
63622         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
63623         __need_getopt after including <stdio.h> and <unistd.h> These
63624         headers might have defined it.
63625
63626 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
63627
63628         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
63629
63630 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
63633         (futimens): New function, which uses futimes if available.
63634         (futimens, utimens): Support timespec==NULL, with same semantics
63635         as utime and utimens.
63636         * lib/utimens.h (futimens): New decl.
63637
63638 2004-11-23  Jim Meyering  <jim@meyering.net>
63639
63640         * lib/getopt_.h: Remove trailing blanks.
63641
63642 2004-11-23  Jim Meyering  <jim@meyering.net>
63643
63644         * lib/__fpending.c: Add comment.
63645
63646 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
63647
63648         * modules/canonicalize (Depends-on): Add xreadlink.
63649         Problem reported by James Youngman.
63650
63651 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
63652
63653         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
63654         New macros.
63655         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
63656         optopt): Use them instead of invoking ## directly; otherwise, the
63657         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
63658
63659 2004-11-19  Bruno Haible  <bruno@clisp.org>
63660
63661         * lib/strtok_r.c: Move comments from here...
63662         * lib/strtok_r.h: ... to here.
63663
63664 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63665
63666         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
63667         implementations that mishandle size_t overflow.
63668
63669 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63670
63671         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
63672         might fail.  Problem reported by Yoann Vandoorselaere.
63673         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
63674         implementations that mishandle size_t overflow.
63675
63676 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63677
63678         * modules/canon-host (Depends-on): Add strdup.
63679
63680 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63681
63682         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
63683
63684 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63685
63686         * lib/canon-host.c: Include "strdup.h".
63687         (canon_host): Use getaddrinfo if available, so that IPv6 works.
63688         Use strdup instead of malloc/strcpy to duplicate strings.
63689
63690         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
63691         (human_space_before_unit): New constant.
63692         * lib/human.c (human_readable): Support it.
63693
63694         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
63695         (xgetcwd): Set errno correctly when failing.
63696         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
63697         the failure is actually due to a PATH_MAX problem.
63698
63699         Further getopt changes to make it more likely that glibc will
63700         buy the changes back.
63701         * lib/getopt.c (POSIXLY_CORRECT): New constant.
63702         (getopt): Use it, so to preserve glibc semantic
63703         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
63704         when compiling for libc.
63705         * lib/getopt_.h (__getopt_argv_const): Bring it back.
63706         (getopt_long, getopt_long_only): Use it.
63707
63708         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
63709         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
63710         (getopt): Argv is now char * const *, as per standard.
63711         (_getopt_internal_r, _getopt_internal): Argv is now char **,
63712         not char *__getopt_argv_const *.
63713         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
63714         _getopt_long_only_r): Likewise.
63715         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
63716         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
63717         _getopt_long_r, _getopt_long_only_r): Likewise.
63718         * lib/getopt_.h (__getopt_argv_const): Remove.
63719         (getopt): Argv is now char * const *, as per standard.
63720
63721         * lib/getdate.y (tORDINAL): New token.
63722         (day, relunit): Allow it for relative times.
63723         (relative_time_table): Use tORDINAL for ordinals.
63724
63725 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63726
63727         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
63728         Document that "second" isn't allowed as an ordinal number.
63729
63730 2004-11-16  Jim Meyering  <jim@meyering.net>
63731
63732         * modules/closeout (Depends-on): Add fpending.
63733
63734 2004-11-15  Jim Meyering  <jim@meyering.net>
63735
63736         * lib/closeout.c: Include "__fpending.h" once again.
63737         Include <stdbool.h>.
63738         (close_stdout): Don't fail just because stdout was closed initially,
63739         since some programs don't write to stdout in the normal course of
63740         operation (other than --version and --help), and we don't want this
63741         function to make e.g. `touch file >&-' fail.
63742         But do fail if it was closed and someone has tried to write to it.
63743         E.g., `printf foo >&-' must fail.
63744
63745 2004-11-13  Jim Meyering  <jim@meyering.net>
63746
63747         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
63748
63749 2004-11-12  Simon Josefsson  <jas@extundo.com>
63750
63751         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
63752         small doc fix is still pending.
63753
63754 2004-11-11  Simon Josefsson  <jas@extundo.com>
63755
63756         * modules/strtok_r: New file.
63757
63758         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63759         strtok_r.
63760
63761 2004-11-11  Simon Josefsson  <jas@extundo.com>
63762
63763         * m4/strtok_r.m4: New file.
63764
63765         * m4/getopt.m4: Replace opterr.
63766
63767 2004-11-11  Simon Josefsson  <jas@extundo.com>
63768
63769         * lib/strtok_r.h, strtok_r.c: New file.
63770
63771 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63772
63773         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
63774         of replacing opterr, getopt, etc.  This should handle the
63775         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
63776
63777 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63778
63779         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
63780         we can stop lying to compilers about the constness of argv when we
63781         are compiled outside glibc.
63782         (getopt, getopt_long, getopt_long_only): Use it.
63783         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
63784         _getopt_internal, getopt): Likewise.
63785         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
63786         _getopt_long_only_r): Likewise.
63787         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
63788         _getopt_long_r, _getopt_long_only_r): Likewise.
63789
63790         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
63791         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
63792         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
63793         the other external symbols.
63794         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
63795         declaration, since the above renaming now works around collisions.
63796
63797 2004-11-11  Jim Meyering  <jim@meyering.net>
63798
63799         * lib/linebreak.c: Remove trailing blanks.
63800         * lib/alloca_.h: Likewise.
63801         * lib/acosl.c: Likewise.
63802         * lib/euidaccess.c: Likewise.
63803         * lib/allocsa.h: Likewise.
63804
63805 2004-11-10  Simon Josefsson  <jas@extundo.com>
63806
63807         * m4/getaddrinfo.m4: New file.
63808
63809 2004-11-10  Simon Josefsson  <jas@extundo.com>
63810
63811         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
63812
63813 2004-11-10  Simon Josefsson  <jas@extundo.com>
63814
63815         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63816         getaddrinfo.
63817
63818         * modules/getaddrinfo: New file.
63819
63820 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63821
63822         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
63823
63824 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63825
63826         * lib/mktime.c (SHR): New macro, which is a portable
63827         substitute for >> that should work even on Crays.
63828         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
63829         Problem reported by Mark D. Baushke in
63830         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
63831         * lib/getdate.y (SHR): Likewise.
63832         (tm_diff): Use it.
63833         * lib/strftime.c (SHR): Likewise.
63834         (tm_diff): Use it.
63835         * lib/quotearg.c (struct quoting_options): Use unsigned int for
63836         quote_these_too, so that right shifts are well defined.  All uses
63837         changed.
63838
63839 2004-11-10  Jim Meyering  <jim@meyering.net>
63840
63841         Ensure that no close failure goes unreported.
63842         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
63843         return early when it seems there's nothing to flush.
63844         Don't include __fpending.h.
63845
63846 2004-11-10  Jim Meyering  <jim@meyering.net>
63847
63848         * modules/closeout (Depends-on): Remove fpending.
63849
63850 2004-11-10  Jim Meyering  <jim@meyering.net>
63851
63852         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
63853
63854 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63855
63856         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
63857         gl_FUNC_STRFTIME.
63858         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
63859         and AC_REQUIRE when possible, to avoid duplicate checks.
63860         Check for <wchar.h>.
63861
63862 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63863
63864         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
63865
63866 2004-11-09  Bruno Haible  <bruno@clisp.org>
63867
63868         * m4/sockpfaf.m4: New file.
63869
63870 2004-11-05  Bruno Haible  <bruno@clisp.org>
63871
63872         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
63873         Reported by Mark D. Baushke <mdb@cvshome.org>.
63874
63875 2004-11-04  Bruno Haible  <bruno@clisp.org>
63876
63877         2004-09-11  Bruno Haible  <bruno@clisp.org>
63878                 * allocsa.valgrind: New file.
63879         2004-02-06  Bruno Haible  <bruno@clisp.org>
63880                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
63881                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
63882                 Reported by Christopher Seip <chris.seip@hp.com>.
63883
63884 2004-11-04  Bruno Haible  <bruno@clisp.org>
63885
63886         * modules/allocsa (Files): Add lib/allocsa.valgrind.
63887         (Makefile.am): Distribute it.
63888
63889 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
63890
63891         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
63892         with errno == ERANGE if the buffer is too small.
63893         Problem reported by Mark D. Baushke.
63894
63895 2004-11-03  Albert Chin  <china@thewrittenword.com>
63896             Paul Eggert  <eggert@cs.ucla.edu>
63897
63898         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
63899         equivalent, substitute $ac_type for equivalent type rather than
63900         blindly using uint32_t *always* which won't work if uint32_t is not
63901         available.  Define _UINT32_T to work around typedef of uint32_t if
63902         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
63903         2.5.1.
63904
63905 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
63906
63907         * m4/jm-macros.m4: Sync from coreutils.
63908         (gl_MACROS): Check for mbrlen, for pathchk.
63909         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
63910
63911 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
63912
63913         * lib/xreadlink.c (MAXSIZE): New macro.
63914         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
63915         size does not exceed MAXSIZE.  Avoid cast.
63916         As suggested by Mark D. Baushke in
63917         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
63918         if readlink fails with buffer size just under MAXSIZE, try again
63919         with MAXSIZE.
63920
63921 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
63922
63923         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
63924
63925 2004-11-02  Derek R. Price  <derek@ximbiot.com>
63926         and  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
63929         (get_date): Overparenthesize to avoid GCC warning.
63930
63931 2004-11-02  Bruno Haible  <bruno@clisp.org>
63932
63933         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
63934         returns void.
63935
63936 2004-11-02  Bruno Haible  <bruno@clisp.org>
63937
63938         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
63939         function returns void.
63940
63941 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
63942
63943         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
63944         fflush_unlocked, flockfile, funlockfile, funlockfile,
63945         fputs_unlocked, putc_unlocked.
63946
63947 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
63948
63949         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
63950         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
63951         already declared.
63952
63953 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63954
63955         * modules/getdate (Files): Add doc/getdate.texi.
63956         (Depends-on): Add setenv, xalloc.
63957
63958 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63959
63960         * lib/getdate.y: Add support for TZ="foo" within a date string.
63961         Fix some bugs near time_t boundaries.  Reject dates with
63962         out-of-range components, e.g., "Sept 31".
63963         Include <stdlib.h>, "setenv.h", "xalloc.h".
63964         (ISDIGIT_LOCALE): Remove; unused.
63965         Note that the TZ and time functions used here are not reentrant.
63966         (mktime_ok, get_tz): New functions.
63967         (TZBUFSIZE): New constant.
63968         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
63969         This requires that we sometimes generate our own TZ="XXX..." setting.
63970
63971 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63972
63973         * doc/getdate.texi: New file, from coreutils with modifications for
63974         the new TZ parsing.
63975
63976 2004-10-27  Derek R. Price  <derek@ximbiot.com>
63977
63978         * lib/mktime.c (not_equal_tm): Remove redundant check.
63979
63980 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63981
63982         * modules/regex (lib_SOURCES): Add regex.c.
63983         Reported by James Youngman in
63984         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
63985
63986 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63987
63988         * lib/getdate.y: Use Bison 1.875 features, and some minor
63989         code cleanups.  This change does not affect semantics.
63990         Don't include <stdlib.h>; no longer needed.
63991         Don't include unlocked-io.h; only the "#if TEST" code uses
63992         stdio, and performance isn't crucial there.
63993         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
63994         Bison 1.875 features as described below.
63995         All uses of "PC." replaced by "pc->".
63996         (YYSTYPE): Add a forward declaration.
63997         (yylex, yyerror): Use full prototypes in forward decls.
63998         Use "%pure-parser" rather than obsolescent "%pure_parser".
63999         Use %parse-param and %lex-param instead of obsolescent
64000         YYPARSE_PARAM and YYLEX_PARAM.
64001         (meridian_table, month_and_day_table, time_units_table,
64002         relative_time_table, time_zone_table, military_table,
64003         lookup_zone, lookup_word, get_date):
64004         Use NULL instead of 0 where appropriate.
64005         (to_hour): Avoid abort (), to avoid a dependency on
64006         stdlib.h.
64007         (yyerror, yylex): Now accepts parser_control * arg.
64008         (main) [TEST]: Use '\0' rather than 0 for char.
64009
64010 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64011
64012         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
64013
64014 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64015
64016         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
64017         It's now the caller's responsibility to handle the case where
64018         !HAVE_GETPAGESIZE && !defined getpagesize.
64019
64020         * lib/mktime.c (leapyear): Arg is long int, not int.
64021
64022 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
64023
64024         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
64025
64026 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64027
64028         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
64029         missing.  Problem reported by James Youngman.
64030
64031 2004-10-16  Simon Josefsson  <jas@extundo.com>
64032
64033         * gnulib-tool: Fix comments.  Fix parse problem.
64034         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
64035
64036 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
64037
64038         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
64039         implementation of getopt_long.  Problem reported by Alexander Taler in:
64040         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
64041
64042 2004-10-15  Bruno Haible  <bruno@clisp.org>
64043
64044         * gnulib-tool: Untabify. Initialize supplied_libname.
64045         (func_usage): More homogenous output.
64046         (func_modules_transitive_closure, func_modules_to_filelist,
64047         func_emit_lib_Makefile_am): New functions.
64048         (func_import): New function, extracted from big case statement. Use
64049         func_get_license, func_modules_transitive_closure,
64050         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
64051         opt_lgpl. Don't use test -a, as it's not portable.
64052         (func_create_testdir): Use func_modules_transitive_closure,
64053         func_modules_to_filelist, func_emit_lib_Makefile_am.
64054
64055 2004-10-15  Bruno Haible  <bruno@clisp.org>
64056
64057         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
64058
64059 2004-10-15  Bruno Haible  <bruno@clisp.org>
64060
64061         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
64062         the portions belonging to each module.
64063         Suggested by Derek Robert Price <derek@ximbiot.com>.
64064
64065 2004-10-12  Simon Josefsson  <jas@extundo.com>
64066
64067         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
64068         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
64069         to real functions.
64070
64071 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64072
64073         * modules/vsnprintf: New file.
64074
64075 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64076
64077         * m4/vsnprintf.m4: New file.
64078
64079 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64080
64081         * lib/vsnprintf.h: New file.
64082         * lib/vsnprintf.c: New file.
64083
64084 2004-10-11  Bruno Haible  <bruno@clisp.org>
64085
64086         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
64087         vsnprintf.
64088
64089 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64090
64091         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
64092
64093 2004-10-07  Bruno Haible  <bruno@clisp.org>
64094
64095         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
64096         fits into the provided buffer.
64097
64098 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64099
64100         * lib/diacrit.c, diacrit.h: Add GPL notice.
64101
64102         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
64103         notice.
64104         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
64105         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
64106         This avoids a potential constant-folding bug.
64107
64108 2004-10-05  Bruno Haible  <bruno@clisp.org>
64109
64110         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
64111         for the declaration of strsep.
64112
64113 2004-10-05  Bruno Haible  <bruno@clisp.org>
64114
64115         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
64116
64117 2004-10-04  Simon Josefsson  <jas@extundo.com>
64118
64119         * modules/memmem: New file.
64120         * tests/test-memmem.c: New file.
64121         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
64122
64123 2004-10-04  Simon Josefsson  <jas@extundo.com>
64124
64125         * m4/memmem.m4: New file.
64126
64127 2004-10-04  Simon Josefsson  <jas@extundo.com>
64128
64129         * lib/memmem.h: New file.
64130         * lib/memmem.c: New file, taken from glibc.
64131
64132 2004-10-04  Simon Josefsson  <jas@extundo.com>
64133
64134         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
64135         '#ifdef USE_UNLOCKED_IO'.
64136
64137 2004-10-04  Simon Josefsson  <jas@extundo.com>
64138
64139         * config/srclist.txt: Add memmem from glibc.
64140
64141 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
64142
64143         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
64144
64145         * modules/argmatch, modules/argp, modules/closeout, modules/error,
64146         modules/exclude, modules/getdate, modules/getline,
64147         modules/getndelim2, modules/getpass, modules/getpass-gnu,
64148         modules/getusershell, modules/linebuffer, modules/md5,
64149         modules/mountlist, modules/posixtm, modules/readtokens,
64150         modules/readutmp, modules/regex, modules/sha1,
64151         modules/version-etc, modules/yesno:
64152         Remove dependency on unlocked-io.
64153
64154 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
64155
64156         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
64157
64158         * m4/unlocked-io.m4: Add copyright notice.
64159         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
64160
64161 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
64162
64163         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
64164         * lib/xmalloc.c (xmemdup): Likewise.
64165         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
64166         XFREE): Remove these long-obsolescent macros.
64167         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
64168         * lib/xstrdup.c: Remove.
64169
64170         * lib/regex.c (re_comp): Cast gettext return value to char *,
64171         Problem reported by Martin Neitzel via Mark D. Baushke.
64172
64173 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
64174
64175         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
64176         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
64177         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
64178         regex.c, sha1.c, version-etc.c, yesno.c:
64179         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
64180         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
64181         the includer's responsibility.
64182
64183         Sync from coreutils.
64184
64185         * lib/modechange.c (mode_compile): Don't decrement a pointer that
64186         points to the start of a string, as the C Standard says the
64187         resulting behavior is undefined.
64188
64189         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
64190         simple -> simple_backups, numbered_existing ->
64191         numbered_existing_backups, numbered -> numbered_backups
64192         to avoid shadowing problems.  All uses changed.
64193         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
64194         * lib/backupfile.c (check_extension, numbered_backup):
64195         Rename locals to avoid shadowing 'basename'.
64196         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
64197         once.
64198
64199         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
64200         * lib/.cvsignore: Add getopt.h.
64201
64202 2004-10-04  Bruno Haible  <bruno@clisp.org>
64203
64204         * modules/README: New file.
64205         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
64206         not a module.
64207
64208 2004-10-02  Jim Meyering  <jim@meyering.net>
64209
64210         * lib/dirfd.h, getpagesize.h: Add copyright notice.
64211
64212 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64213
64214         * modules/strsep: New file.
64215
64216 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64217
64218         * m4/strsep.m4: New file.
64219
64220 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
64221
64222         * lib/strsep.h: New file.
64223         * lib/strsep.c: New file.
64224
64225 2004-10-01  Simon Josefsson  <jas@extundo.com>
64226
64227         * lib/snprintf.c (snprintf): Handle size==0.
64228
64229 2004-10-01  Simon Josefsson  <jas@extundo.com>
64230             Bruno Haible  <bruno@clisp.org>
64231
64232         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
64233         (snprintf): Declare 'args'.
64234
64235 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
64236
64237         * lib/snprintf.c: Remove comments as to why each header is needed.
64238
64239 2004-10-01  Bruno Haible  <bruno@clisp.org>
64240
64241         * MODULES.html.sh: Add strsep.
64242
64243 2004-09-30  Simon Josefsson  <jas@extundo.com>
64244
64245         * modules/snprintf: New file.
64246
64247 2004-09-30  Simon Josefsson  <jas@extundo.com>
64248
64249         * m4/snprintf.m4: New file.
64250
64251 2004-09-30  Simon Josefsson  <jas@extundo.com>
64252
64253         * lib/snprintf.h, lib/snprintf.c: New files.
64254
64255 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64256
64257         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
64258         (hol_entry_help): Never translate an empty string.
64259         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
64260         * lib/argp.h (OPTION_NO_TRANS): New option.
64261
64262 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
64263
64264         * modules/argp (Maintainer): Replace Simon Josefsson
64265         by Sergey Poznyakoff.
64266
64267 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
64268
64269         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
64270         changes merged back into glibc.
64271
64272 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
64273
64274         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
64275
64276 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
64277
64278         * lib/xvasprintf.c: Include xalloc.h.
64279         (xvasprintf): Use xalloc_die, not xmalloc_die.
64280
64281 2004-09-29  Bruno Haible  <bruno@clisp.org>
64282
64283         * modules/alloca-opt: New file, derived from modules/alloca.
64284         * modules/allocsa: Depend on alloca-opt instead of alloca.
64285         * modules/setenv: Likewise.
64286         * modules/vasnprintf: Likewise.
64287         * MODULES.html.sh: Add alloca-opt.
64288
64289 2004-09-28  Simon Josefsson  <jas@extundo.com>
64290
64291         * gnulib-tool: New parameter --lgpl, to asseert that modules are
64292         LGPL, and to replace license template from GPL to LGPL.
64293
64294 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
64295
64296         * modules/dummy: Change license to LGPL.
64297
64298 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
64299
64300         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
64301
64302 2004-09-24  Simon Josefsson  <jas@extundo.com>
64303
64304         * modules/minmax (License): Change from GPL to LGPL.
64305
64306 2004-09-23  Simon Josefsson  <jas@extundo.com>
64307
64308         * gnulib-tool (--import): Typo.
64309
64310 2004-09-23  Simon Josefsson  <jas@extundo.com>
64311
64312         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
64313
64314 2004-09-22  Bruno Haible  <bruno@clisp.org>
64315
64316         * modules/*: Add 'License' field.
64317         * gnulib-tool: Accept --extract-license option.
64318         (func_get_license): New function.
64319
64320 2004-09-21  Bruno Haible  <bruno@clisp.org>
64321
64322         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
64323         Reported by Simon Josefsson.
64324
64325 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64326
64327         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
64328         gl_AC_TYPE_LONG_LONG.
64329
64330 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64331
64332         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
64333
64334 2004-09-18  Simon Josefsson  <jas@extundo.com>
64335         and  Paul Eggert  <eggert@cs.ucla.edu>
64336
64337         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
64338         calls with autoreconf.  Define GL_LIB.
64339
64340 2004-09-14  Karl Berry  <karl@gnu.org>
64341
64342         * config/srclist.txt: unsync setenv.c, sigh.
64343
64344 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64345
64346         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
64347         Problem reported by Bruno Haible in:
64348         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
64349
64350 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64351
64352         * config/srclist.txt: Comment out argp-pvh.c.
64353
64354 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
64355
64356         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
64357         in case some system header has #define'd it.  Problem reported by
64358         Soeren D. Schulze in
64359         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
64360
64361 2004-09-09  Karl Berry  <karl@gnu.org>
64362
64363         * regex.[ch]: delete from the root.  These were supposed to be
64364                 synced with emacs cvs, but this has not happened for about
64365                 a year, and anyway nothing else uses emacs regex.[ch].
64366                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
64367                 lib/regex[.ch] is untouched.
64368
64369 2004-09-09  Bruno Haible  <bruno@clisp.org>
64370
64371         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
64372
64373 2004-09-09  Bruno Haible  <bruno@clisp.org>
64374
64375         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
64376         modifications.
64377         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
64378
64379 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
64380
64381         * modules/xvasprintf: New file.
64382         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
64383
64384 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
64385
64386         * lib/xvasprintf.h: New file.
64387         * lib/xvasprintf.c: New file.
64388         * lib/xasprintf.c: New file.
64389
64390 2004-09-08  Bruno Haible  <bruno@clisp.org>
64391
64392         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
64393
64394 2004-09-08  Bruno Haible  <bruno@clisp.org>
64395
64396         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
64397         length is > INT_MAX.
64398         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
64399         more.
64400
64401 2004-09-08  Bruno Haible  <bruno@clisp.org>
64402
64403         * lib/stdint_.h: New file, taken from GNU clisp.
64404
64405 2004-09-08  Bruno Haible  <bruno@clisp.org>
64406             Oskar Liljeblad  <oskar@osk.mine.nu>
64407
64408         * modules/stdint: New file.
64409         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
64410
64411 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64412
64413         Import from coreutils.
64414         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
64415         strings on unbounded length.  alloca's performance benefits aren't
64416         that important here.
64417         (V_STRDUP): Remove.
64418         (parse_with_separator): New function, with most of the internals
64419         of the old parse_user_spec.  Allow user to omit both user and group,
64420         for compatibility with FreeBSD.
64421         Clone only the user name, not the entire spec.
64422         Do not set *uid, *gid unless entirely successful.
64423         Avoid memory leak in some failing cases.
64424         Fix regression for USER.GROUP reported by Dmitry V. Levin in
64425         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
64426         (parse_user_spec): Rewrite to use parse_with_separator.
64427
64428 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64429
64430         * modules/userspec: Don't depend on alloca.
64431
64432 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64433
64434         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
64435
64436 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64437
64438         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
64439         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
64440         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
64441
64442 2004-08-16  Simon Josefsson  <jas@extundo.com>
64443
64444         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
64445         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
64446         Add --dry-run for --import.
64447         Let user provided command line parameters override configure.ac
64448         settings.
64449
64450 2004-08-12  Simon Josefsson  <jas@extundo.com>
64451
64452         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
64453         as discussed with Paul Eggert in threads rooted at
64454         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
64455         and
64456         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
64457         Before, the test was empty, and relied on ELIDE_CODE in source
64458         code.)
64459         (gl_PREREQ_GETOPT): New macro.
64460         (gl_GETOPT): Use them.
64461
64462 2004-08-12  Simon Josefsson  <jas@extundo.com>
64463
64464         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
64465         * lib/getopt_.h: Renamed from getopt.h.
64466
64467 2004-08-12  Simon Josefsson  <jas@extundo.com>
64468
64469         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
64470         Change default library name from libfoo to libgnu.
64471         Now, if you have a configure.ac that says:
64472                 gl_SOURCE_BASE(gl)
64473                 gl_M4_BASE(gl/m4)
64474                 gl_MODULES(error getopt etcetera)
64475                 gl_INIT
64476         you can import all you need by running:
64477                 ../gnulib/gnulib-tool --import
64478
64479         * modules/getopt (Files): Rename getopt.h to getopt_.h.
64480         (Makefile.am): Rewrite, use logic from argz.
64481         (Include): Use <getopt.h> instead of "getopt.h".
64482
64483 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
64484
64485         * modules/argp (Files): Add m4/unlocked-io.m4.
64486         (Depends-on): Add extensions.
64487
64488 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
64489
64490         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
64491         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
64492         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
64493         Check for program_invocation_name, program_invocation_short_name,
64494         flockfile, funlockfile, features.h, _getopt_long_only_r.
64495
64496 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
64497
64498         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
64499         its complicated substitute.
64500         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
64501         and program_invocation_name.
64502         (__argp_basename) [!_LIBC]: Remove; the only use was
64503         replaced by its body.
64504         (__argp_short_program_name): Change condition from
64505         !defined __argp_short_program_name to
64506         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
64507         to match argp-namefrob.h.
64508         (__argp_failure): Don't assume strerror_r returns char *.
64509         * lib/argp-parse.c (N_): Define unconditionally.
64510         (argp_default_options): Fill out initializers with 0 to avoid
64511         gcc warnings.
64512
64513 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
64514
64515         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
64516         getopt1.c.
64517
64518 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64519
64520         Merge from coreutils.
64521
64522         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
64523
64524         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
64525         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
64526
64527 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64528
64529         Merge from coreutils.
64530
64531         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
64532         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
64533         for Reliant Unix 5.43.
64534
64535         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
64536         (union fooround): Use uintmax_t, not long int.
64537         The rest is a merge from libc:
64538         [defined _LIBC]: Include <shlib-compat.h>.
64539         (_obstack) [defined _LIBC]: Remove after 2.3.4.
64540
64541         * lib/settime.c (settime): Recode to avoid warning with
64542         Sun Forte C 6U2.
64543
64544         * lib/strverscmp.c: Convert to UTF-8.
64545
64546 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64547
64548         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64549         m4/uintmax_t.m4.
64550
64551 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64552
64553         * modules/xalloc-die: New file.
64554         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
64555
64556         * modules/md5 (Files): Add m4/uint32_t.m4.
64557         * modules/sha1: Renamed from modules/sha.
64558         (Files):
64559         Rename lib/sha.h to lib/sha1.h.
64560         Rename lib/sha.c to lib/sha1.c.
64561         Rename m4/sha.m4 to m4/sha1.m4.
64562         (lib_SOURCES): Likewise.
64563         (configure.ac): Rename gl_SHA to gl_SHA1.
64564         (Include): sha.h -> sha1.h.
64565
64566 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64567
64568         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
64569         * m4/sha1.m4: Renamed from sha.m4.
64570         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
64571
64572 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64573
64574         * lib/obstack.h (obstack_empty_p):
64575         Don't assume that chunk->contents is suitably aligned.
64576         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
64577         Likewise. Problem reported by Benno in
64578         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
64579
64580         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
64581         readable.  This could be improved further but it'd take some work.
64582
64583 2004-08-08  Simon Josefsson  <jas@extundo.com>
64584
64585         * modules/xgethostname (Depends-on): Remove exit and error (not
64586         used).
64587
64588         * modules/getpass-gnu: Add getpass.h.
64589         (Depends-on): Add stdbool.
64590         * modules/getpass: Add getpass.h.
64591
64592 2004-08-08  Simon Josefsson  <jas@extundo.com>
64593
64594         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
64595         Check getpass declaration.
64596
64597 2004-08-08  Simon Josefsson  <jas@extundo.com>
64598
64599         * lib/xgethostname.c: Don't include error.h (not used).
64600
64601         * lib/getpass.h: Add.
64602         * lib/getpass.c: Include getpass.h first.
64603
64604 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
64605
64606         * lib/xalloc-die.c: New file.
64607         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
64608         All uses removed.
64609         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
64610         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
64611         xalloc-die.c.
64612         (_, N_, xalloc_die): Move to xalloc-die.c.
64613         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
64614         so that we needn't mess with xalloc_msg_memory_exhausted.
64615
64616         * lib/sha1.h: Renamed from sha.h.
64617         (SHA1_H): Renamed from _SHA_H.
64618         (sha1_ctx): Renamed from sha_ctx.
64619         (sha1_init_ctx): Renamed from sha_init_ctx.
64620         (sha1_process_block): Renamed from sha_process_block.
64621         (sha1_process_bytes): Renamed from sha_process_bytes.
64622         (sha1_finish_ctx): Renamed from sha_finish_ctx.
64623         (sha1_read_ctx): Renamed from sha_read_ctx.
64624         (sha1_stream): Renamed from sha_stream.
64625         (sha1_buffer): Renamed from sha_buffer.
64626         * lib/sha1.c: Likewise; renamed from sha.c.
64627         Do not include <sys/types.h>.
64628         Include <stddef.h> rather than <stdlib.h>.
64629
64630 2004-08-08  Bruno Haible  <bruno@clisp.org>
64631
64632         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
64633         FILESYSTEM_PREFIX_LEN.
64634         * lib/progreloc.c: Likewise.
64635         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
64636
64637 2004-08-06  Simon Josefsson  <jas@extundo.com>
64638
64639         * modules/progname (Depends-on): Don't depend on stdbool.
64640
64641 2004-08-06  Simon Josefsson  <jas@extundo.com>
64642
64643         * modules/getsubopt: New file.
64644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64645         getsubopt.
64646
64647 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64648
64649         More merge from coreutils.
64650
64651         * m4/utimens.m4, m4/utimecmp.m4: New files.
64652         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
64653         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
64654         prereq.m4, sha.m4: Import changes from coreutils.
64655
64656 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64657
64658         More merge from coreutils.
64659         * modules/raise, modules/readtokens0, modules/utimens:
64660         * modules/utimecmp, module/xnanosleep: New files.
64661         * modules/strftime: Add lib/strftime.h.
64662         Change include from <time.h> to "strftime.h".
64663         * modules/yesno: Add lib/yesno.h.
64664         * modules/backupfile: Remove lib/addext.c.
64665         * modules/euidaccess: Add stat-macros.h.
64666         * modules/canonicalize, modules/euidaccess,
64667         modules/filemode, modules/lchown, modules/makepath,
64668         modules/rmdir, modules/stat: Likewise.
64669
64670 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64671
64672         Merge from tar.
64673         * lib/argp-help.c (make_hol, hol_append): Don't assume that
64674         SIZE_MAX is a valid preprocessor constant.
64675         (__argp_basename): Change from "#ifndef _LIBC"
64676         to "#ifndef __argp_short_program_name", so that
64677         we don't compile these functions for tar.
64678
64679         More merges from coreutils.
64680         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
64681         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
64682         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
64683         * lib/addext.c: Remove; no longer needed.
64684         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
64685         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
64686         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
64687         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
64688         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
64689         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
64690         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
64691         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
64692         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
64693         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
64694         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
64695         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
64696         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
64697         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
64698         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
64699         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
64700         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
64701         Import changes from coreutils.
64702
64703 2004-08-05  Simon Josefsson  <jas@extundo.com>
64704
64705         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
64706
64707 2004-08-05  Simon Josefsson  <jas@extundo.com>
64708
64709         * m4/getsubopt.m4: New file.
64710
64711 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
64712
64713         Merge from coreutils.
64714
64715         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
64716         * m4/getcwd-path-max.m4: New files.
64717
64718         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
64719         FILESYSTEM_PREFIX_LEN ->
64720         FILE_SYSTEM_PREFIX_LEN.
64721         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
64722         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
64723         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
64724         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
64725
64726         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
64727         prerequisite modules now handle the DOS stuff.
64728         Don't check for unistd.h.
64729
64730 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
64731
64732         Merge from coreutils.
64733
64734         * lib/.gdb-history: Remove; this doesn't belong here.
64735
64736         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
64737         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
64738         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
64739         * lib/getcwd.c: New files.
64740
64741         * lib/dirname.h: Include <stdbool.h>.
64742         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
64743         for consistency with POSIX terminology.  All uses changed.
64744         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
64745         (strip_trailing_slashes): Use bool for booleans.
64746         * lib/stripslash.c (strip_trailing_slashes): Likewise.
64747
64748         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
64749         sometimes returns a positive errno value even when it succeeds.
64750         (print_errno_message) [!LIBC]: Fall back on strerror if
64751         __strerror_r fails.
64752
64753         * lib/path-concat.c (mempcpy): Don't define if a system header defines
64754         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
64755         (longest_relative_suffix): New function.
64756         (path_concat): Use it.  Assume first argument is not NULL.
64757         Port to DOS.  Omit redundant separators.
64758         Report an error instead of returning NULL.
64759         Use mempcpy instead of memcpy.
64760         (xpath_concat): Remove: not declared or used.
64761
64762         * lib/same.h: Include <stdbool.h>
64763         (same_name): Return bool, not int.
64764         * lib/same.c (same_name): Likewise.
64765         (errno): Don't declare; we assume C89 or better now.
64766
64767         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
64768         if not already defined.
64769
64770         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
64771         * lib/dup-safer.c (errno): Likewise.
64772
64773 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
64774
64775         Merge from coreutils.
64776         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
64777         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
64778         * modules/path-concat: Don't depend on strdup.
64779
64780 2004-08-03  Simon Josefsson  <jas@extundo.com>
64781
64782         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
64783         * lib/progname.h: Don't include stdbool.h.
64784
64785 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
64786
64787         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
64788         * MODULES.html.sh (func_all_modules): Remove fatal.
64789
64790 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
64791
64792         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
64793
64794 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
64795
64796         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
64797         working.
64798
64799 2004-08-02  Simon Josefsson  <jas@extundo.com>
64800
64801         * lib/getsubopt.h: New file, with comments from Bruno Haible.
64802         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
64803         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
64804
64805 2004-08-01  Simon Josefsson  <jas@extundo.com>
64806
64807         * lib/xgetdomainname.c: Include stdlib.h, for free().
64808
64809 2004-07-19  Bruno Haible  <bruno@clisp.org>
64810
64811         * MODULES.html.sh (func_all_modules): Add dummy.
64812
64813 2004-07-16  Simon Josefsson  <jas@extundo.com>
64814
64815         * modules/dummy: New file.
64816
64817 2004-07-16  Simon Josefsson  <jas@extundo.com>
64818
64819         * lib/dummy.c: New file.
64820
64821 2004-07-16  Bruno Haible  <bruno@clisp.org>
64822
64823         * lib/backupfile.h: Add extern "C" for C++.
64824         * lib/closeout.h: Likewise.
64825         * lib/copy-file.h: Likewise.
64826         * lib/findprog.h: Likewise.
64827         * lib/full-write.h: Likewise.
64828         * lib/pathname.h: Likewise.
64829         * lib/progname.h: Likewise.
64830         * lib/stpcpy.h: Likewise.
64831         * lib/stpncpy.h: Likewise.
64832         * lib/strcase.h: Likewise.
64833         * lib/strstr.h: Likewise.
64834         * lib/xalloc.h: Likewise.
64835
64836         * lib/mbswidth.h: Add extern "C" for C++.
64837         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
64838
64839 2004-07-13  Robert Millan  <robertmh@gnu.org>
64840
64841         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
64842
64843 2004-07-09  Simon Josefsson  <jas@extundo.com>
64844
64845         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
64846         failed without this.)
64847
64848 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64849
64850         * modules/chown (Files): Add lib/fchown-stub.c, since
64851         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
64852
64853 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64854
64855         * lib/fchown-stub.c: New file.
64856
64857 2004-06-24  Jim Meyering  <jim@meyering.net>
64858
64859         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
64860
64861 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64862
64863         * modules/argz: Omit "#include".
64864
64865         * MODULES.html.sh (func_all_modules): Add calloc, to match
64866         2004-06-01 addition of calloc module.
64867
64868 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64869
64870         * m4/argz.m4: New file, which is autoupdated from libtool.
64871
64872 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64873
64874         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
64875         libtool.
64876
64877 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64878
64879         * config/srclist-update: Don't insist on "USA." before the
64880         close-comment, as libtool omits the period and puts the */ on a
64881         separate line.
64882         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
64883         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
64884
64885 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
64886
64887         * modules/argz: New file.
64888         * MODULES.html.sh (func_all_modules): Add argz.
64889
64890 2004-06-12  Jim Meyering  <jim@meyering.net>
64891         and  Paul Eggert  <eggert@cs.ucla.edu>
64892
64893         * modules/hash (Files): Add lib/xalloc.h.
64894         * modules/pipe (Depends-on): Add wait-process.
64895         * modules/stat (Depends-on): Add xalloc.
64896         * modules/userspec (Files): Add lib/userspec.h.
64897         * modules/xstrto
64898
64899         Upgrade from gettext-0.13.
64900         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
64901         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
64902         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
64903
64904 2004-06-10  Jim Meyering  <jim@meyering.net>
64905
64906         * lib/calloc.c: New file.
64907
64908 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64909
64910         * lib/getdate.y (yylex): Allow space between sign and number.
64911         Problem reported by Dan Jacobson.
64912
64913 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
64914
64915         Merge from coreutils CVS.
64916
64917         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
64918         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
64919         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
64920         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
64921         xstrtol.m4: Fix copyright date and/or serial number.
64922
64923         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
64924         See if we need an fchown replacement.
64925         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
64926         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
64927         and use the replacement function if we detect either defect.
64928
64929         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
64930         gl_UTIMECMP.
64931
64932 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
64933         and  Jim Meyering  <jim@meyering.net>
64934
64935         Merge from coreutils CVS.
64936
64937         * lib/stat-macros.h: New file, with contents from file-type.h
64938         and coreutils' system.h.
64939         * lib/file-type.c: Include "stat-macros.h".
64940         * lib/file-type.h (file_type): Move all macro definitions to new file,
64941         stat-macros.h.
64942
64943         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
64944         Wrap old code with this conditional.
64945         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
64946         function that does not dereference symlinks.
64947         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
64948
64949         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
64950         dependency problems.
64951         (xreadlink): Accept new arg SIZE, for efficiency.
64952         All decls and uses changed.
64953         * lib/xreadlink.h: Include <stddef.h>, for size_t.
64954
64955         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
64956         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
64957
64958         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
64959         sysexits.h.
64960
64961 2004-06-01  Jim Meyering  <jim@meyering.net>
64962
64963         * m4/calloc.m4: New file.
64964
64965 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
64966
64967         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
64968         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
64969         Also, fix a typo in a diagnostic.
64970
64971 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
64972
64973         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
64974         or AC_FUNC_REALLOC.
64975
64976 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
64977
64978         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
64979         macros to be defined.
64980         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
64981         the allocator returns NULL because the requested size is zero.
64982
64983 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64984
64985         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
64986         var.  Add comment explaining why libc still defines it.  This
64987         merges the following patch from glibc:
64988         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
64989
64990 2004-05-20  Andreas Schwab  <schwab@suse.de>
64991
64992         * m4/free.m4: Replace free if it not known to work, not the other
64993         way round.
64994
64995 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64996
64997         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
64998         present in glibc since revision 1.1 of this file.
64999         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
65000         obstack_alignment_mask, obstack_alloc, obstack_base,
65001         obstack_blank, obstack_blank_fast, obstack_chunk_size,
65002         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
65003         obstack_grow0, obstack_init, obstack_int_grow,
65004         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
65005         obstack_next_free, obstack_object_size, obstack_ptr_grow,
65006         obstack_ptr_grow_fast, obstack_room): Remove declarations of
65007         nonexistent functions.
65008
65009 2004-05-18  Karl Berry  <karl@gnu.org>
65010
65011         * config/srclist.txt: break link for vasnprintf.c.
65012
65013 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65014
65015         Port obstack to the AS/400, where pointers are 16 bytes wide and
65016         you cannot cast an integer to a valid pointer.  This patch is
65017         currently waiting to be integrated into glibc; see
65018         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
65019
65020         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
65021         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
65022         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
65023         (struct obstack): temp member is now a union of a pointer and
65024         an integer, instead of an integer.  All integer uses changed.
65025         This does not affect the physical layout of struct obstack,
65026         except on hosts (like the AS/400) where the size or alignment of
65027         void * is greater than that of ptrdiff_t.
65028         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
65029         __STDC__)]: Store temporary in pointer member of union, not
65030         integer member.
65031         * lib/obstack.c: Include <stddef.h>, for offsetof.
65032         (struct fooalign): Remove; it doesn't need a name.
65033         (union fooround): Change double to long double, and add void *.
65034         (DEFAULT_ALIGNMENT): Use offsetof to compute.
65035         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
65036         not a macro.  Hence the values are always int; so remove all
65037         casts-to-int in uses.
65038
65039 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65040
65041         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
65042         we can get this patch merged into glibc.
65043
65044 2004-05-17  Derek R. Price  <derek@ximbiot.com>
65045             Paul Eggert  <eggert@cs.ucla.edu>
65046
65047         * m4/argp: Depend on alloca.
65048
65049 2004-05-17  Derek R. Price  <derek@ximbiot.com>
65050             Paul Eggert  <eggert@cs.ucla.edu>
65051
65052         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
65053         freecoding.
65054
65055 2004-05-17  Bruno Haible  <bruno@clisp.org>
65056
65057         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
65058         precision that consists of a '.' followed by an empty digit string.
65059         Patch by Tor Lillqvist <tml@iki.fi>.
65060
65061 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65062
65063         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
65064         for backward compatibility with older code.  We need our own
65065         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
65066         it under some other name, and our alloca.h will define it.
65067
65068 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65069             Derek Price  <derek@ximbiot.com>
65070
65071         * lib/alloca.c: Include <alloca.h>, to get our interface.
65072         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
65073         include <alloca.h> first.  Use C89 prototype for alloca; this
65074         requires including <stddef.h> for size_t.  Use extern "C" if C++.
65075         Use #elif for simplicity, since we can assume C89 now.
65076         Don't try to source the system alloca.h since it will not be found
65077         and to prevent recursively including its replacement.
65078         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
65079         * lib/regex.c: Likewise.
65080
65081 2004-05-16  Derek Price  <derek@ximbiot.com>
65082             Paul Eggert  <eggert@cs.ucla.edu>
65083
65084         getline cleanup.  This changes the getndelim2 API: both order of
65085         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
65086         no delimiter).
65087
65088         * lib/getline.c: Don't include stddef.h or stdio.h, since our
65089         interface does that.
65090         (getline): Always use getdelim, so that we don't have two
65091         copies of this code.
65092         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
65093         if available.
65094         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
65095         (GETNDELIM2_MAXIMUM): New macro.
65096         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
65097         instead of the old practice of delim2==0.  All callers changed.
65098         Return -1 on overflow, instead of returning junk.
65099         Do not set *linesize unless allocation succeeds.
65100         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
65101         that we include sys/types.h.
65102         * lib/getnline.h: Likewise.
65103         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
65104         (getndelim2): Reorder arguments.
65105         * lib/getnline.c (getnline, getndelim):
65106         Don't discard the NMAX argument.
65107         (getnline): Invoke getndelim, to avoid code duplication.
65108         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
65109         of (size_t) -1 by callers of the getnline family.
65110
65111 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65112
65113         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
65114         Check for gettimeofday.
65115         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
65116         Check for settimeofday, stime.
65117
65118 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65119
65120         * lib/nanosleep.c (suspended): Change its type from int to
65121         sig_atomic_t volatile.
65122         (first_call): Make it private to rpl_nanosleep, and have it
65123         be zero initially as that's a bit faster.
65124         (my_usleep): Round up fractional times instead of truncating them,
65125         as this is the usual meaning for 'sleep'.
65126
65127         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
65128         doesn't work.
65129         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
65130         (ENOSYS): Define if not defined.
65131         (settime): Fall back on stime if it exists and settimeofday fails.
65132         But don't bother with fallbacks if a method fails with errno == EPERM.
65133
65134 2004-05-11  Jim Meyering  <jim@meyering.net>
65135
65136         Prior to this change, the save_cwd caller required read access to the
65137         current directory on most systems (ones with the fchdir function).
65138
65139         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
65140         fails, try write-only, and finally, resort to using xgetcwd.
65141
65142 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65143
65144         * lib/obstack.c, obstack.h: Import changes from libc.
65145
65146 2004-04-28  Bruno Haible  <bruno@clisp.org>
65147
65148         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
65149         also implicitly appends .exe to executables.
65150         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
65151         accepts Windows pathnames.
65152         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
65153         Treat Cygwin like Windows, since it now accepts Windows pathnames.
65154         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
65155         Treat Cygwin like Windows, since it now accepts Windows pathnames.
65156         Reported by Derek Robert Price <derek@ximbiot.com>.
65157
65158 2004-04-21  Karl Berry  <karl@gnu.org>
65159
65160         * config/srclist.txt (localcharset.c): break sync.
65161
65162 2004-04-20  Paul Eggert  <eggert@twinsun.com>
65163
65164         * m4/host-os.m4: Add a copyright notice.
65165
65166 2004-04-20  Jim Meyering  <jim@meyering.net>
65167
65168         Change UTILS_ to gl_ in AC_DEFINE'd names.
65169         Change utils_- and jm_-prefixed variables, too.
65170         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
65171         UTILS_FUNC_MKDIR_TRAILING_SLASH.
65172         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
65173
65174         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
65175         Don't emit trailing blanks.
65176         Also rename jm_-prefixed variables to have gl_ prefix.
65177
65178         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
65179         Also rename jm_-prefixed variables to have gl_ prefix.
65180
65181         * m4/jm-macros.m4: Reflect the renamings.
65182         * m4/prereq.m4: Likewise.
65183
65184 2004-04-20  Jim Meyering  <jim@meyering.net>
65185
65186         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
65187         memory.
65188
65189 2004-04-20  Jim Meyering  <jim@meyering.net>
65190             Bruno Haible  <bruno@clisp.org>
65191
65192         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
65193         memory when realloc fails.
65194
65195 2004-04-19  Jim Meyering  <jim@meyering.net>
65196
65197         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
65198         now that readutmp.c may call `free (0)'.
65199
65200 2004-04-19  Bruno Haible  <bruno@clisp.org>
65201
65202         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
65203         * m4/inttypes_h.m4: Likewise.
65204         * m4/stdint_h.m4: Likewise.
65205         * m4/intmax_t.m4: Likewise.
65206         * m4/uintmax_t.m4: Likewise.
65207
65208 2004-04-18  Jim Meyering  <jim@meyering.net>
65209
65210         * m4/prereq.m4: Don't forbid jm_ prefix.
65211
65212         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
65213         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
65214         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
65215         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
65216         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
65217         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
65218         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
65219         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
65220         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
65221         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
65222         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
65223         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
65224         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
65225         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
65226         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
65227         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
65228         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
65229         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
65230         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
65231
65232 2004-04-18  Jim Meyering  <jim@meyering.net>
65233
65234         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
65235         failure, don't leak memory and do call END_UTMP_ENT.
65236
65237 2004-04-16  Jim Meyering  <jim@meyering.net>
65238
65239         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
65240         coreutils' stat program.
65241         (gl_PREREQ): Don't require jm_PREREQ_STAT.
65242
65243 2004-04-11  Paul Eggert  <eggert@twinsun.com>
65244
65245         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
65246         C89.
65247         (CHAR_BIT): Remove, since we assume C89.
65248         Include <stdint.h> if available, as per current Autoconf CVS advice.
65249
65250 2004-03-31  Jim Meyering  <jim@meyering.net>
65251
65252         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
65253         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
65254         * m4/xalloc.m4: Likewise.
65255
65256 2004-03-30  Paul Eggert  <eggert@twinsun.com>
65257
65258         Merge from coreutils.
65259
65260         * m4/inttostr.m4: New file.
65261         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
65262         Require AM_STDBOOL_H and gl_TIMESPEC instead.
65263         Require gl_CLOCK_TIME.
65264         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
65265
65266 2004-03-30  Paul Eggert  <eggert@twinsun.com>
65267
65268         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
65269         not bool, to be more consistent with Unix conventions.
65270         Suggested by Bruno Haible.
65271
65272         Merge from coreutils.
65273
65274         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
65275         * lib/umaxtostr.c: New files.
65276
65277         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
65278         the usual <time.h> dance.
65279         (get_date): Change signature to support fractional time stamps.
65280         All callers changed.
65281         * lib/getdate.y: Include "getdate.h" first, as we can now
65282         assume C89 and don't need to worry about 'const'.
65283         Similarly, include "unlocked-io.h" near start, not in middle.
65284         Include <limits.h>.
65285         (textint.value): Use long int rather than int.
65286         (textint.digits): Use size_t rather than int.
65287         (BILLION, LOG10_BILLION): New constants.
65288         (parser_control): New member rel_ns.  Members day_ordinal,
65289         time_zone, month, day, hour, minutes, rel_year, rel_month,
65290         rel_day, rel_hour, rel_minutes, rel_seconds
65291         are now long int, not int.  Member seconds is now struct timespec,
65292         not int.  New member timespec_seen.  Members dates_seen, days_seen,
65293         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
65294         not int.
65295         (%union.intval): Now long int, not int.
65296         New member timespec.
65297         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
65298         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
65299         (spec): Now is a timespec or an item list.
65300         (timespec, items): New nonterminals.
65301         (time, rel, relunit, number, get_date):
65302         Add support for fractional seconds.
65303         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
65304         (gmtime, localtime, mktime): Remove decls; not needed with C89.
65305         (to_hour): First arg is now long int, not int.
65306         (to_year): Returns long int, not int.
65307         Don't treat year -70 like 70.
65308         (tm_diff): Returns long int, not int.
65309         (lookup_word): Use bool instead of int when appropriate.
65310         (yylex): Use size_t for count, not int.
65311         Detect overflow when parsing large integer constants.
65312         Add support for fractions.
65313         (get_date): Make pointers 'const' if possible.
65314         Use more-portable code to detect integer overflow.
65315         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
65316         Don't use ctime; it's not reliable if the year has >4 digits.
65317
65318         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
65319         This is for compatibility with BSD.
65320
65321         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
65322         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
65323         From coreutils' system.h.
65324
65325         * lib/userspec.c: Don't include "posixver.h".
65326         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
65327         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
65328         compatible extension.  Simplify code by removing a boolean int
65329         that was always nonzero if a string was nonnull.
65330
65331 2004-03-30  Jim Meyering  <jim@meyering.net>
65332
65333         Merge from coreutils.
65334
65335         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
65336         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
65337         on some systems one must include <grp.h> before it.
65338         Reported by Christian Krackowizer.
65339
65340 2004-03-30  Jim Meyering  <jim@meyering.net>
65341
65342         Merge from coreutils.
65343
65344         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
65345
65346         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
65347         an empty input stream.
65348
65349         * lib/readtokens.c: Include <stdbool.h>.
65350         (readtoken): Use `size_t' rather than int/long.
65351         All callers adjusted.
65352         Use `bool' rather than `int' where appropriate.
65353         Use memset rather than an explicit loop.
65354         Use x2nrealloc rather than xrealloc.
65355         Allow the use of `\0' as a delimiter.
65356         (readtokens): Likewise.
65357         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
65358
65359 2004-03-30  Jim Meyering  <jim@meyering.net>
65360
65361         * m4/realloc.m4: Remove file, since now it does no more than
65362         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
65363         the `configure.ac' section of module/realloc.
65364         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
65365
65366 2004-03-30  Bruno Haible  <bruno@clisp.org>
65367
65368         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
65369         nonnull.
65370
65371 2004-03-29  Paul Eggert  <eggert@twinsun.com>
65372
65373         Merge changes to getloadavg.c from coreutils and Emacs.
65374
65375         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
65376         Define to an expression, not to the empty string.
65377         Include cloexec.h and xalloc.h.
65378         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
65379         Use set_cloexec_flag rather than rolling our own.
65380         * lib/cloexec.c, lib/cloexec.h: New files.
65381
65382 2004-03-29  Paul Eggert  <eggert@twinsun.com>
65383
65384         * m4/cloexec.m4: New file.
65385
65386 2004-03-18  Paul Eggert  <eggert@twinsun.com>
65387
65388         * lib/getopt.h: Sync with libc CVS.
65389
65390 2004-03-18  Paul Eggert  <eggert@twinsun.com>
65391             Bruno Haible  <bruno@clisp.org>
65392
65393         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
65394         mbswidth.
65395
65396 2004-03-18  Paul Eggert  <eggert@twinsun.com>
65397             Bruno Haible  <bruno@clisp.org>
65398
65399         * lib/mbswidth.h: Include <wchar.h> only if
65400         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
65401         <wchar.h>.
65402         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
65403
65404 2004-03-09  Paul Eggert  <eggert@twinsun.com>
65405
65406         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
65407         Sync with libc CVS.
65408         * lib/getopt_int.h: New file, also synced from libc.
65409
65410 2004-03-09  Paul Eggert  <eggert@twinsun.com>
65411
65412         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
65413         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
65414         Bring back getopt.c, getopt.h, getopt1.c.
65415
65416 2004-03-07  Paul Eggert  <eggert@twinsun.com>
65417
65418         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
65419         All uses changed.  Check for sa_sigaction member; this fixes
65420         a bug first reported by Jason Andrade in
65421         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
65422
65423 2004-03-07  Paul Eggert  <eggert@twinsun.com>
65424
65425         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
65426         '#if' expressions.  Unlike the code it replaces, it does not
65427         depend on (defined _SC_PAGESIZE).  However, it does depend on
65428         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
65429         first reported by Jason Andrade in
65430         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
65431
65432 2004-02-25  Simon Josefsson  <jas@extundo.com>
65433
65434         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
65435
65436 2004-02-25  Simon Josefsson  <jas@extundo.com>
65437
65438         * lib/strdup.h: New file.
65439         * lib/strdup.c: Include it.
65440         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
65441         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
65442
65443 2004-02-23  Karl Berry  <karl@gnu.org>
65444
65445         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
65446         (from fencepost.gnu.org:/gd/gnuorg).
65447
65448 2004-02-23  Karl Berry  <karl@gnu.org>
65449
65450         * config/srclistvars.sh (GNUORG) [karl]: redefine.
65451         * config/srclist.txt: add maintain/standards documents.
65452
65453 2004-02-18  Bruno Haible  <bruno@clisp.org>
65454
65455         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
65456         Reported by Derek Robert Price <derek@ximbiot.com>.
65457
65458 2004-02-16  Karl Berry  <karl@gnu.org>
65459
65460         * config/mkinstalldirs, install-sh: update from automake.
65461
65462 2004-02-06  Karl Berry  <karl@gnu.org>
65463
65464         * m4/po.m4: update from gettext 0.14.1.
65465
65466 2004-02-06  Karl Berry  <karl@gnu.org>
65467
65468         * lib/config.charset: update from gettext 0.14.1.
65469
65470 2004-02-05  Paul Eggert  <eggert@twinsun.com>
65471
65472         Add comments and code, prompted by suggestions from Bruno Haible
65473         for sh-quote.
65474         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
65475         describing the enum quoting_style values.
65476         * lib/quotearg.c (quotearg_alloc): New function.
65477         (quotearg_buffer_restyled): Treat lone { and } as special.
65478         Treat = as special.  Work around bug with older shells
65479         that "see" a '\' that is really the 2nd byte of a multibyte char.
65480         Quote empty string with shell_quoting_style.
65481
65482 2004-02-03  Bruno Haible  <bruno@clisp.org>
65483
65484         * m4/pipe.m4: New file, from GNU gettext.
65485
65486 2004-02-03  Bruno Haible  <bruno@clisp.org>
65487
65488         * lib/pipe.h: New file, from GNU gettext.
65489         * lib/pipe.c: New file, from GNU gettext.
65490
65491 2004-01-27  Bruno Haible  <bruno@clisp.org>
65492
65493         * m4/execute.m4: New file, from GNU gettext.
65494
65495 2004-01-27  Bruno Haible  <bruno@clisp.org>
65496
65497         * lib/execute.h: New file, from GNU gettext.
65498         * lib/execute.c: New file, from GNU gettext.
65499         * lib/w32spawn.h: New file, from GNU gettext.
65500
65501 2004-01-24  Paul Eggert  <eggert@twinsun.com>
65502
65503         Merge from diffutils.
65504
65505         * lib/file-type.c (file_type): Add typed memory objects.
65506         * lib/file-type.h (S_TYPEISTMO): New macro.
65507
65508         * lib/c-stack.h (c_stack_action): Remove argv argument.
65509         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
65510         (die): Don't calculate message unless segv_action returns.
65511         (get_stack_location, min_address_from_argv, max_address_from_argv,
65512         volatile stack_base, volatile_stack_size): Remove.
65513         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
65514         that every segmentation violation is a stack overflow.  (Ouch!)
65515         See Debian bug 136249 (still outstanding) for more info about why
65516         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
65517
65518 2004-01-24  Paul Eggert  <eggert@twinsun.com>
65519
65520         Exit-status fix from coreutils.
65521
65522         Use exit_failure consistently in place of EXIT_FAILURE,
65523         so that program exit statuses are consistent on failure.
65524
65525         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
65526         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
65527         * lib/argmatch.h: Comment fix to match the above.
65528         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
65529         Now a macro referring to exit_failure, instead of a separate
65530         variable.  Include "exitfail.h" to get it.
65531         * lib/xstrtol.h: Include "exitfail.h".
65532         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
65533
65534         * lib/long-options.c (parse_long_options): Use prototype
65535         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
65536         for clarity.
65537
65538 2004-01-21  Jim Meyering  <jim@meyering.net>
65539
65540         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
65541         so as not to conflict with a different-sized __mktime_internal
65542         function in GNU libc.
65543         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
65544         Problem building statically-linked `ls' reported by Michael Brunnbauer.
65545
65546 2004-01-20  Karl Berry  <karl@gnu.org>
65547
65548         * config/config.guess: update from config.
65549
65550         * config/srclistvars.sh: GNUWWWLICENSES for karl.
65551
65552 2004-01-20  Bruno Haible  <bruno@clisp.org>
65553
65554         Safer stack allocation.
65555         * lib/setenv.c: Include allocsa.h.
65556         (alloca): Remove fallback definition.
65557         (freea): Remove macro.
65558         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
65559         instead of freea.
65560
65561 2004-01-20  Bruno Haible  <bruno@clisp.org>
65562
65563         * m4/eealloc.m4: New file, from GNU gettext.
65564
65565 2004-01-20  Bruno Haible  <bruno@clisp.org>
65566
65567         * m4/allocsa.m4: New file, from GNU gettext.
65568
65569 2004-01-20  Bruno Haible  <bruno@clisp.org>
65570
65571         * lib/xallocsa.h: New file, from GNU gettext.
65572         * lib/xallocsa.c: New file, from GNU gettext.
65573
65574 2004-01-20  Bruno Haible  <bruno@clisp.org>
65575
65576         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
65577
65578 2004-01-20  Bruno Haible  <bruno@clisp.org>
65579
65580         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
65581         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
65582         specially.
65583
65584 2004-01-20  Bruno Haible  <bruno@clisp.org>
65585
65586         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
65587         patch.
65588
65589 2004-01-20  Bruno Haible  <bruno@clisp.org>
65590
65591         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
65592
65593 2004-01-20  Bruno Haible  <bruno@clisp.org>
65594
65595         * lib/eealloc.h: New file.
65596
65597 2004-01-20  Bruno Haible  <bruno@clisp.org>
65598
65599         * lib/binary-io.h: Avoid warnings on Cygwin.
65600
65601 2004-01-20  Bruno Haible  <bruno@clisp.org>
65602
65603         * lib/allocsa.h: New file, from GNU gettext.
65604         * lib/allocsa.c: New file, from GNU gettext.
65605
65606 2004-01-18  Karl Berry  <karl@gnu.org>
65607
65608         * doc/gpl.texi, doc/lgpl.texi: new files.
65609
65610 2004-01-18  Karl Berry  <karl@gnu.org>
65611
65612         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
65613         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
65614
65615 2004-01-15  Paul Eggert  <eggert@twinsun.com>
65616
65617         Merge from coreutils.
65618
65619         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
65620         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
65621         (gl_DEFAULT_POSIX2_VERSION): Move
65622         the documentation from 'configure' into 'config.hin',
65623         so that 'configure --help' isn't burdened by it and
65624         we don't have to worry about its formatting there.
65625         Reword the documentation so that it's more succinct
65626         and can be run together into a single paragraph.
65627         * m4/same.m4 (gl_SAME): Check for pathconf.
65628
65629 2004-01-15  Paul Eggert  <eggert@twinsun.com>
65630
65631         Merge from coreutils.
65632
65633         * lib/posixver.c: Include posixver.h.
65634
65635         * lib/same.c: Include <stdbool.h>, <limits.h>.
65636         (_POSIX_NAME_MAX): Define if not defined.
65637         (MIN): New macro.
65638         (same_name): If file names are silently truncated, report
65639         that the file names are the same if they are the same after
65640         the silent truncation.
65641
65642         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
65643         conversion function.
65644         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
65645         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
65646         longer needed.
65647
65648 2004-01-15  Jim Meyering  <jim@meyering.net>
65649
65650         Merge from coreutils.
65651
65652         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
65653         if no library is required.
65654         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
65655         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
65656         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
65657         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
65658         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
65659         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
65660         value, $ac_cv_search_crypt, if it's "none required".
65661         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
65662         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
65663         not gl_FUNC_GETLOADAVG.
65664         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
65665         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
65666
65667 2004-01-15  Jim Meyering  <jim@meyering.net>
65668
65669         Merge from coreutils.
65670
65671         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
65672         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
65673         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
65674
65675         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
65676         optional configure-time default.
65677
65678         * lib/version-etc.c (version_etc_copyright): Update copyright date.
65679
65680         * lib/xreadlink.c (xreadlink): Correct outdated comment.
65681
65682 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
65683
65684         Merge from coreutils.
65685
65686         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
65687         value, $ac_cv_search_nanosleep, if it's "none required".
65688
65689 2004-01-14  Paul Eggert  <eggert@twinsun.com>
65690
65691         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
65692         with like-named macro in fnmatch.c.
65693         (EXT): Use an internal constant instead.
65694
65695         Merge fnmatch patches from glibc.
65696         * lib/fnmatch.c (mbsinit): Remove define.
65697         Add libc_hidden_ver (__fnmatch, fnmatch).
65698         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
65699         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
65700
65701 2004-01-14  Karl Berry  <karl@gnu.org>
65702
65703         * config/install-sh: update from automake.
65704
65705 2004-01-13  Karl Berry  <karl@gnu.org>
65706
65707         * config/install-sh: update from automake.
65708
65709 2004-01-09  Karl Berry  <karl@gnu.org>
65710
65711         * config/install-sh: update from automake.
65712
65713 2004-01-05  Karl Berry  <karl@gnu.org>
65714
65715         * config/config.{sub,guess}: update from config.
65716
65717 2003-12-31  Karl Berry  <karl@gnu.org>
65718
65719         * config/depcomp: update from automake.
65720
65721 2003-12-14  Karl Berry  <karl@gnu.org>
65722
65723         * lib/config.charset: update from gettext-runtime.
65724
65725 2003-12-03  Paul Eggert  <eggert@twinsun.com>
65726
65727         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
65728         Bug reported by Alfred M. Szmidt.
65729
65730 2003-12-03  Bruno Haible  <bruno@clisp.org>
65731
65732         * m4/gettext.m4: Upgrade from gettext-0.13.
65733         * m4/po.m4: Upgrade from gettext-0.13.
65734         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
65735         * m4/intmax.m4: New file, from gettext-0.13.
65736         * m4/printf-posix.m4: New file, from gettext-0.13.
65737
65738 2003-11-29  Karl Berry  <karl@gnu.org>
65739
65740         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
65741
65742 2003-11-25  Paul Eggert  <eggert@twinsun.com>
65743             Bruno Haible  <bruno@clisp.org>
65744
65745         * lib/printf-parse.h: Don't include sys/types.h.
65746         (ARG_NONE): New macro.
65747         (char_directive): Change type of *arg_index fields to size_t.
65748         * lib/printf-parse.c: Don't include sys/types.h.
65749         (SSIZE_MAX): Remove macro.
65750         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
65751         Remove unnecessary overflow check.
65752         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
65753         fields.
65754
65755 2003-11-25  Bruno Haible  <bruno@clisp.org>
65756
65757         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
65758
65759 2003-11-25  Bruno Haible  <bruno@clisp.org>
65760
65761         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
65762         gt_TYPE_SSIZE_T.
65763
65764 2003-11-24  Paul Eggert  <eggert@twinsun.com>
65765
65766         * modules/alloca: Remove dependency on xalloc.
65767
65768 2003-11-24  Paul Eggert  <eggert@twinsun.com>
65769
65770         * lib/alloca.c: Remove dependency on xalloc module.
65771         (xalloc_die): Remove.
65772         (memory_full) [!defined emacs]: New macro.
65773         [!defined emacs]: Don't include xalloc.h.
65774         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
65775         address arithmetic overflows.  Change datatypes a bit to avoid
65776         unnecessary casts.
65777
65778 2003-11-22  Jim Meyering  <jim@meyering.net>
65779
65780         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
65781         s/size/size_t/.
65782
65783 2003-11-21  Karl Berry  <karl@gnu.org>
65784
65785         * config/config.{sub,guess}: update from config.
65786
65787 2003-11-18  Karl Berry  <karl@gnu.org>
65788
65789         * config/config.{sub,guess}: update from config.
65790
65791         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
65792
65793 2003-11-17  Paul Eggert  <eggert@twinsun.com>
65794
65795         * README: Mention that S+T cannot overflow if S is the size of
65796         an existing object and T is sufficiently small.
65797
65798 2003-11-17  Jim Meyering  <jim@meyering.net>
65799
65800         On systems without utime and without a utimes function capable of
65801         dealing with a NULL struct utimbuf* argument, this utime replacement
65802         could -- in unusual circumstances -- leak a file descriptor.
65803         * lib/utime.c: Include <unistd.h> and <errno.h>.
65804         (utime_null): Be sure to close `fd' and to preserve errno.
65805         Reported by Geoff Collyer via Arnold Robbins.
65806
65807 2003-11-17  Bruno Haible  <bruno@clisp.org>
65808
65809         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
65810         (Depends-on): Add xsize.
65811
65812 2003-11-17  Bruno Haible  <bruno@clisp.org>
65813
65814         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
65815
65816 2003-11-17  Bruno Haible  <bruno@clisp.org>
65817
65818         * lib/vasnprintf.c (alloca): Remove fallback definition.
65819         (freea): Remove definition.
65820         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
65821         Reported by Paul Eggert.
65822
65823 2003-11-16  Paul Eggert  <eggert@twinsun.com>
65824             Bruno Haible  <bruno@clisp.org>
65825
65826         Protect against address arithmetic overflow.
65827         * lib/printf-args.h: Include stddef.h.
65828         (arguments): Change type of field 'count' to size_t.
65829         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
65830         'unsigned int' where appropriate.
65831         * lib/printf-parse.h: Include sys/types.h.
65832         (char_directive): Change type of *arg_index fields to ssize_t.
65833         (char_directives): Change type of fields 'count', max_*_length to
65834         size_t.
65835         * lib/printf-parse.c: Include sys/types.h and xsize.h.
65836         (SSIZE_MAX): Define fallback value.
65837         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
65838         instead of 'int' where appropriate. Check a_allocated, d_allocated
65839         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
65840         * lib/vasnprintf.c: Include xsize.h.
65841         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
65842         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
65843         overflow. Avoid wraparound when converting a width or precision from
65844         decimal to binary.
65845
65846 2003-11-16  Bruno Haible  <bruno@clisp.org>
65847
65848         Update from GNU gettext.
65849         * lib/printf-parse.c: Generalize to it can be compiled for wide
65850         strings.
65851         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
65852         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
65853         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
65854         SNPRINTF): New macros.
65855         Don't include <alloca.h> if the file is used inside libintl.
65856         (local_wcslen): New function, for Solaris 2.5.1.
65857         (VASNPRINTF): Use it instead of wcslen.
65858
65859 2003-11-16  Bruno Haible  <bruno@clisp.org>
65860
65861         * lib/xsize.h (xmax): New function.
65862         (xsum, xsum3, xsum4): Declare as "pure" functions.
65863
65864 2003-11-12  Paul Eggert  <eggert@twinsun.com>
65865
65866         * modules/xalloc (Files): Undo latest change, since xalloc.h
65867         no longer needs SIZE_MAX or PTRDIFF_MAX.
65868
65869 2003-11-12  Paul Eggert  <eggert@twinsun.com>
65870
65871         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
65872         gl_PTRDIFF_MAX.
65873
65874 2003-11-12  Paul Eggert  <eggert@twinsun.com>
65875
65876         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
65877         "return", to pacify some unknown compiler.  Problem reported
65878         by Joerg Schilling.
65879
65880 2003-11-12  Paul Eggert  <eggert@twinsun.com>
65881
65882         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
65883         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
65884         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
65885         heuristic is just as accurate as far as we know, and it removes a
65886         dependency on size_max.m4 and ptrdiff_max.m4.
65887
65888 2003-11-11  Bruno Haible  <bruno@clisp.org>
65889
65890         * modules/xsize (Files): Add m4/size_max.m4.
65891         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
65892
65893 2003-11-11  Bruno Haible  <bruno@clisp.org>
65894
65895         * m4/size_max.m4: New file.
65896         * m4/ptrdiff_max.m4: New file.
65897         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
65898         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
65899         (gl_XALLOC): Invoke it.
65900
65901 2003-11-11  Bruno Haible  <bruno@clisp.org>
65902
65903         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
65904         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
65905         defined.
65906
65907 2003-11-10  Paul Eggert  <eggert@twinsun.com>
65908
65909         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
65910         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
65911         rejected some allocations of exactly SIZE_MAX - 2 bytes.
65912         From Bruno Haible.
65913         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
65914         not (size_t) -1, since it's defined here.
65915
65916 2003-11-09  Karl Berry  <karl@gnu.org>
65917
65918         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
65919
65920 2003-11-06  Paul Eggert  <eggert@twinsun.com>
65921
65922         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
65923         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
65924         Reject sizes of exactly SIZE_MAX bytes.
65925         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
65926         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
65927
65928 2003-11-05  Bruno Haible  <bruno@clisp.org>
65929
65930         * lib/xsize.h: Include limits.h, to avoid a possible collision with
65931         SIZE_MAX defined in <limits.h> on Solaris.
65932
65933 2003-11-04  Jim Meyering  <jim@meyering.net>
65934
65935         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
65936         variable names, rather than @VAR@.
65937         * modules/poll: Likewise.
65938
65939 2003-11-04  Bruno Haible  <bruno@clisp.org>
65940
65941         * modules/xsize: New file.
65942         * modules/linebreak: Depend on xsize.
65943         * MODULES.html.sh (func_all_modules): Add xsize.
65944
65945 2003-11-04  Bruno Haible  <bruno@clisp.org>
65946
65947         * m4/xsize.m4: New file.
65948
65949 2003-11-04  Bruno Haible  <bruno@clisp.org>
65950
65951         * lib/xsize.h: New file.
65952         * lib/linebreak.c: Include xsize.h.
65953         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
65954         argument for overflow.
65955         Suggested by Paul Eggert.
65956
65957 2003-11-03  Karl Berry  <karl@gnu.org>
65958
65959         * config/config.{guess,sub}: update from config.
65960
65961 2003-11-03  Jim Meyering  <jim@meyering.net>
65962
65963         * modules/userspec (lib_SOURCES): Add userspec.h.
65964         (Include): Add "userspec.h".
65965         Improve description.
65966
65967 2003-11-03  Jim Meyering  <jim@meyering.net>
65968
65969         * lib/userspec.c: Include "userspec.h".
65970         * lib/userspec.h: New file.
65971
65972 2003-11-03  Bruno Haible  <bruno@clisp.org>
65973
65974         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
65975
65976 2003-11-03  Bruno Haible  <bruno@clisp.org>
65977
65978         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
65979         available, to avoid (extremely rare) race condition.
65980         Suggested by Paul Eggert.
65981
65982 2003-11-02  Karl Berry  <karl@gnu.org>
65983
65984         * config/srclist.txt (vasprintf.c): sync broken, sigh.
65985
65986 2003-10-31  Paul Eggert  <eggert@twinsun.com>
65987
65988         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
65989         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
65990         (read_filesystem_list): Set and use me_type_malloced.
65991         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
65992         whatever the type happens to be), for brevity and consistency.
65993         Check for size calculation overflow on Alphas running OSF/1.
65994
65995 2003-10-31  Jim Meyering  <jim@meyering.net>
65996
65997         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
65998
65999         * lib/linebuffer.c: Include <string.h> for declaration of memset.
66000
66001 2003-10-30  Paul Eggert  <eggert@twinsun.com>
66002             Bruno Haible  <bruno@clisp.org>
66003
66004         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
66005         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
66006
66007 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66008
66009         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
66010         netbsd*-gnu*.  Suggested by Robert Millan.
66011
66012 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66013
66014         * modules/group-member: Depend on stdbool.
66015
66016 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66017
66018         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
66019
66020 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66021
66022         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
66023         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
66024         after the 'gnu' in these cases.  This fixes some bugs in the
66025         previous change, and is based on suggestions by Robert Millan.
66026
66027 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66028
66029         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
66030         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
66031         no longer needed.
66032         * lib/quotearg.c (quotearg_n_options): Use it.
66033         * lib/group-member.c: Include <stdbool.h>.
66034         (free_group_info): Arg is now const *; don't free arg.
66035         (get_group_info): Now returns bool and accepts struct group_info *,
66036         rather than returning a malloc'ed struct group_info *.
66037         All uses changed.  Check for overflow in internal size calculation.
66038
66039         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
66040         rather than xmalloc/xrealloc.
66041         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
66042         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
66043         conformance bug: the old code used a pointer after freeing the
66044         storage that it addressed.
66045         * lib/hash.c (hash_initialize): Simplify the code by using
66046         xalloc_oversized rather than doing it by hand.
66047         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
66048         the buffer preserved.  Use free and xmalloc instead.
66049         * lib/quotearg.c (quotearg_n_options): Likewise.
66050         Use a simpler test for size overflow.  Don't use xalloc_oversized
66051         because unsigned int might be wider than size_t (!); this suggests
66052         that we should switch from unsigned int to size_t for slot numbers.
66053
66054 2003-10-28  Paul Eggert  <eggert@twinsun.com>
66055
66056         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
66057         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
66058         NetBSD kernels.  Requested by Richard Stallman.
66059
66060 2003-10-27  Paul Eggert  <eggert@twinsun.com>
66061
66062         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
66063         to allocate the returned structure.  Do not allocate a subarray,
66064         as x2nrealloc will do that.
66065         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
66066         instead of xnrealloc.
66067         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
66068
66069 2003-10-27  Bruno Haible  <bruno@clisp.org>
66070
66071         * lib/stdbool_.h: Better support for BeOS.
66072
66073 2003-10-26  Paul Eggert  <eggert@twinsun.com>
66074
66075         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
66076         now uses inline.
66077
66078 2003-10-26  Paul Eggert  <eggert@twinsun.com>
66079
66080         * lib/xalloc.h (xalloc_oversized): New static inline function, for
66081         callers that want to do their own size-overflow checking.  Include
66082         <stdbool.h>, since xalloc_oversized returns bool.
66083         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
66084         to use xalloc_oversized.
66085
66086         Add two functions x2realloc, x2nrealloc, for programs that grow
66087         arrays dynamically by doubling their sizes.
66088         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
66089         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
66090         New functions.
66091
66092         Port to C99 semantics for 'inline' of external functions.
66093         Bug reported by Bruno Haible.
66094         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
66095         with the old contents of xnmalloc.
66096         (xnmalloc, xmalloc): Use it.
66097         (xnrealloc_inline): New static inline function,
66098         with the old contents of xnrealloc.
66099         (xnrealloc, xrealloc): Use it.
66100
66101         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
66102         that.
66103
66104 2003-10-26  Karl Berry  <karl@gnu.org>
66105
66106         * config/srclist.txt (COPYING.DOC): no longer available from
66107         /gd/gnuorg; don't know where the ultimate source is.
66108
66109 2003-10-25  Paul Eggert  <eggert@twinsun.com>
66110
66111         Fix several address-calculation bugs in the hash modules,
66112         plus some minor code cleanup.
66113
66114         * lib/hash.h: Include <stdbool.h>, for bool.
66115         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
66116         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
66117         hash_get_n_entries, hash_get_max_bucket_length,
66118         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
66119         hash_rehash): Use size_t rather than unsigned.
66120         * lib/hash.c (struct hash_table, hash_get_n_buckets,
66121         hash_get_n_buckets_used, hash_get_n_entries,
66122         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
66123         hash_get_entries, hash_do_for_each, hash_string, is_prime,
66124         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
66125         Likewise.
66126         (SIZE_MAX): Define if not defined.
66127         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
66128         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
66129         hash_print):
66130         Use const * when possible.
66131         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
66132         (check_tuning): Fix bug: if tuning parameters were very close to
66133         0 or 1, rounding errors could have caused subscript violations.
66134         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
66135         (hash_initialize): Add 'fail:' label
66136         to free table and return NULL, and use it to simplify code.
66137         Use calloc rather than clearing the storage ourself.
66138         (hash_initialize, hash_rehash): Check for arithmetic overflow in
66139         buffer size calculations.
66140         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
66141         Include <stddef.h>, for size_t.
66142         * lib/hash-pjw.c (hash_pjw): Likewise.
66143         Switch to method described by Bruno Haible.
66144         Include <limits.h>, for CHAR_BIT.
66145         (SIZE_BITS): New macro.
66146
66147 2003-10-23  Paul Eggert  <eggert@twinsun.com>
66148
66149         * m4/getline.m4 (AM_FUNC_GETLINE):
66150         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
66151         hosts.  Problem reported by Derek Robert Price in
66152         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
66153         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
66154         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
66155
66156 2003-10-21  Paul Eggert  <eggert@twinsun.com>
66157
66158         * lib/getndelim2.c (getndelim2): When size calculation overflows,
66159         ceiling the allocation at NMAX bytes rather than silently
66160         discarding input bytes before NMAX is reached.  This makes
66161         a difference only if NMAX exceeds SIZE_MAX / 2.
66162
66163         * lib/obstack.c: Merge from glibc.
66164         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
66165         Add libc_hidden_def (_obstack_newchunk).
66166         (_obstack_free) [! defined _LIBC]: Remove.
66167         [defined _LIBC]: Make a strong alias from obstack_free, rather than
66168         a clone of the function body.
66169         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
66170         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
66171
66172         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
66173         glibc.
66174         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
66175         arg to memcpy.
66176
66177         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
66178         (obstack_ptr_grow_fast, obstack_int_grow_fast):
66179         Don't use lvalue casts, as GCC plans to remove support for them
66180         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
66181         was also present in the non-GCC version, indicating that this
66182         code had always been buggy and had never been widely used.
66183         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
66184         Use the fast variant of each macro, rather than copying the
66185         definiens of the fast variant; that way, we'll be more likely to
66186         catch future bugs in the fast variants.
66187
66188 2003-10-20  Bruno Haible  <bruno@clisp.org>
66189
66190         * modules/wait-process: New file.
66191         * MODULES.html.sh (func_all_modules): Add wait-process.
66192
66193 2003-10-20  Bruno Haible  <bruno@clisp.org>
66194
66195         * m4/wait-process.m4: New file.
66196
66197 2003-10-20  Bruno Haible  <bruno@clisp.org>
66198
66199         * lib/wait-process.h: New file, from GNU gettext.
66200         * lib/wait-process.c: New file, from GNU gettext.
66201
66202 2003-10-19  Jim Meyering  <jim@meyering.net>
66203
66204         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
66205         HPUX 10.20.
66206
66207 2003-10-18  Karl Berry  <karl@gnu.org>
66208
66209         * config/config.guess: update from config.
66210
66211 2003-10-16  Paul Eggert  <eggert@twinsun.com>
66212
66213         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
66214         (getgroups): First arg is int, not size_t.
66215         Don't let 'free' mangle errno.
66216
66217 2003-10-16  Paul Eggert  <eggert@twinsun.com>
66218
66219         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
66220
66221 2003-10-16  Karl Berry  <karl@gnu.org>
66222
66223         * config/config.{guess,sub}: update from config.
66224
66225 2003-10-16  Jim Meyering  <jim@meyering.net>
66226
66227         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
66228         memcpy.
66229
66230 2003-10-15  Paul Eggert  <eggert@twinsun.com>
66231
66232         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
66233         (SIZE_MAX): Remove.
66234         (new_exclude, add_exclude_file): Initial size no longer needs to
66235         be a power of 2.
66236         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
66237         our own address arithmetic overflow checking.
66238
66239         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
66240         (fnmatch): Do not alloca more than 2000 wide characters;
66241         instead, use malloc for large buffers.
66242         Check for address arithmetic overflow, and return -1
66243         with errno set to ENOMEM in that case.
66244         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
66245         (NEW_PATTERN): Do not alloca more than 8000 bytes;
66246         instead, return -1.  Check for address arithmetic overflow.
66247
66248 2003-10-14  Paul Eggert  <eggert@twinsun.com>
66249
66250         Handle invalid suffixes and overflow independently, so that
66251         callers can treat them independently as needed.  Fix some bugs in
66252         suffix handling, e.g., "100k@" was not diagnosed as an invalid
66253         suffix for a human-readable blocksize.  The major caller-visible
66254         change is the addition of a new
66255         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
66256         that both overflow and suffix chars were found.
66257
66258         * lib/human.c (humblock): Don't check separately for invalid suffix
66259         char; that is xstrtoumax's job (now that its bug is fixed).
66260         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
66261         INTMAX_MAX]: New macros.
66262         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
66263         TYPE_MAXIMUM): New macros.
66264         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
66265         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
66266         if overflow occurs, as it's what __strtol does and it's more useful
66267         in practice.
66268         (__xstrtol): If __strtol reports some error other than ERANGE,
66269         reflect it to the caller as LONGINT_INVALID.  If it reports
66270         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
66271         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
66272         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
66273         value.
66274         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
66275         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
66276         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
66277         [defined UINTMAX_MAX]: New macros.
66278
66279 2003-10-14  Bruno Haible  <bruno@clisp.org>
66280
66281         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
66282
66283 2003-10-14  Bruno Haible  <bruno@clisp.org>
66284
66285         * m4/sig_atomic_t: New file, from GNU gettext.
66286         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
66287
66288 2003-10-14  Bruno Haible  <bruno@clisp.org>
66289
66290         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
66291         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
66292         Also use volatile where needed.
66293
66294 2003-10-12  Paul Eggert  <eggert@twinsun.com>
66295
66296         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
66297         Change maintainer from Bruno Haible to 'all'.
66298
66299 2003-10-12  Paul Eggert  <eggert@twinsun.com>
66300
66301         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
66302
66303 2003-10-12  Paul Eggert  <eggert@twinsun.com>
66304
66305         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
66306         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
66307         and define in terms of the other primitives.
66308         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
66309         (SIZE_MAX): Define if not already defined.
66310         (array_size_overflow): New function.
66311         (xalloc_die): Abort instead of exiting if 'error' returns.
66312         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
66313         (xmalloc, xrealloc): Use them.
66314         (xcalloc): Check for address arithmetic overflow.
66315         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
66316         a bit faster than strcpy.
66317
66318 2003-10-10  Simon Josefsson  <jas@extundo.com>
66319
66320         * modules/argp (Depends-on): Add restrict and strcase.
66321
66322 2003-10-10  Simon Josefsson  <jas@extundo.com>
66323
66324         * m4/argp.m4: Add AC_C_INLINE.
66325
66326 2003-10-08  Paul Eggert  <eggert@twinsun.com>
66327
66328         Merge getpass from libc, plus a few fixes.
66329
66330         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
66331         Include <stdbool.h>.
66332         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
66333         __fsetlocking to empty.
66334         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
66335         do include <bits/libc-lock.h>.
66336         Do not include <fcntl.h>; not needed.
66337         [_LIBC]: Include <wchar.h>.
66338         (NOTCANCEL_MODE): New macro.
66339         (flockfile, funlockfile) [_LIBC]: New macros.
66340         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
66341         [!_LIBC]: New macros.
66342         (call_fclose): New function.
66343         (getpass): Use it.  Save tty stream separately; this simplifies the
66344         code and makes it more reliable if stdin happens to equal stdout.
66345         Invoke __fsetlocking on tty.
66346         Handle thread cancellation if needed.
66347         Namespace cleanup (use __tcgetattr, __getline).
66348         Use bool for Booleans.
66349         [USE_IN_LIBIO]: Handle wide streams.
66350         [!_LIBC]: Unconditionally do the fseek, since we don't know what
66351         stream might go where.
66352
66353         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
66354         doesn't have to include <stdio.h> before us.
66355         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
66356         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
66357         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
66358         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
66359         if not declared, so that we can use getpass.c code from libc without
66360         rewriting it.
66361         (flockfile, ftrylockfile, funlockfile): New macros.
66362
66363 2003-10-08  Paul Eggert  <eggert@twinsun.com>
66364
66365         * modules/getpass: Depend on stdbool.
66366
66367 2003-10-08  Paul Eggert  <eggert@twinsun.com>
66368
66369         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
66370
66371 2003-10-07  Karl Berry  <karl@gnu.org>
66372
66373         * config/config.{guess,sub}: update from config.
66374
66375 2003-10-06  Jim Meyering  <jim@meyering.net>
66376             Bruno Haible  <bruno@clisp.org>
66377
66378         This lets translators provide better translations for the
66379         "Written by ..." part of --version output.
66380         * lib/version-etc.h: Include stdarg.h.
66381         (version_etc_copyright): Declare as readonly.
66382         (version_etc): Make this function variadic with a NULL-terminated list
66383         of author name strings.
66384         (version_etc_va): New declaration.
66385         * lib/version-etc.c: Include stdarg.h, stdlib.h.
66386         (version_etc_copyright): Declare as readonly.
66387         (version_etc_va): New function. Provide a different translatable string
66388         for each possible number of authors < 10. Abbreviate when there are 10
66389         authors or more.
66390         (version_etc): Make this function variadic. Call version_etc_va.
66391         Suggestion from Gary V. Vaughan.
66392
66393         * lib/long-options.h (parse_long_options): Change prototype: the
66394         authors string is moved to the end and becomes variadic.
66395         * lib/long-options.c: Include stdarg.h.
66396         (parse_long_options): Make this function variadic, too.
66397         Call version_etc_va, not version_etc.
66398
66399 2003-10-06  Bruno Haible  <bruno@clisp.org>
66400
66401         * modules/version-etc-2: Remove file.
66402         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
66403
66404 2003-10-06  Bruno Haible  <bruno@clisp.org>
66405
66406         * modules/fatal-signal: New file.
66407         * MODULES.html.sh (func_all_modules): Add fatal-signal.
66408
66409 2003-10-06  Bruno Haible  <bruno@clisp.org>
66410
66411         * m4/fatal-signal.m4: New file.
66412         * m4/signalblocking.m4: New file, from GNU gettext.
66413
66414 2003-10-06  Bruno Haible  <bruno@clisp.org>
66415
66416         * lib/version-etc-2.h: Remove file.
66417         * lib/version-etc-2.c: Remove file.
66418
66419 2003-10-06  Bruno Haible  <bruno@clisp.org>
66420
66421         * lib/fatal-signal.h: New file, from GNU gettext.
66422         * lib/fatal-signal.c: New file, from GNU gettext.
66423
66424 2003-10-05  Paul Eggert  <eggert@twinsun.com>
66425
66426         * README: Rework advice for preventing empty .o files.
66427         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
66428         not <sys/types.h>.
66429
66430 2003-10-04  Karl Berry  <karl@gnu.org>
66431
66432         * lib/argp*: update from libc.
66433
66434 2003-10-04  Karl Berry  <karl@gnu.org>
66435
66436         * config/config.{guess,sub}: update from config.
66437
66438 2003-10-02  Bruno Haible  <bruno@clisp.org>
66439
66440         * modules/lchown (Include): Add lchown.h.
66441         * modules/time_r (Include): Use "..." syntax.
66442         * modules/xgetdomainname (Include): Add xgetdomainname.h.
66443
66444 2003-10-01  Simon Josefsson  <jas@extundo.com>
66445
66446         * MODULES.html.sh (func_all_modules): Move gethostname from section
66447         'based on' to section 'lacking' POSIX:2001.
66448
66449 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
66450
66451         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
66452         to output mode on the same stream.
66453
66454 2003-09-29  Paul Eggert  <eggert@twinsun.com>
66455
66456         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
66457         Fix arg typo in previous patch.
66458
66459 2003-09-28  Jim Meyering  <jim@meyering.net>
66460
66461         * lib/error.c: Correct cpp indentation.
66462
66463 2003-09-27  Paul Eggert  <eggert@twinsun.com>
66464
66465         * modules/free: New file.
66466
66467 2003-09-27  Paul Eggert  <eggert@twinsun.com>
66468
66469         * m4/free.m4: New file.
66470
66471 2003-09-27  Paul Eggert  <eggert@twinsun.com>
66472
66473         * lib/minmax.h (MIN, MAX)
66474         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
66475         Omit the special code that used __typeof__, since we worry that
66476         it could be more trouble than it's worth.  See:
66477         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
66478         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
66479
66480         * lib/free.c: New file.
66481
66482 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
66483
66484         Trivial fixes to Makefile.am parts of module listings.
66485         * modules/strstr: Append strstr.h to lib_SOURCES.
66486         * modules/strcase: Likewise, for strcase.h.
66487
66488 2003-09-27  Karl Berry  <karl@gnu.org>
66489
66490         * config/mkinstalldirs: update from automake.
66491
66492 2003-09-26  Paul Eggert  <eggert@twinsun.com>
66493
66494         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
66495         (error_tail): Do not loop, reallocating temporary buffer, since
66496         the output cannot contain more wide characters than the input
66497         contains bytes, the size must be big enough already.  This avoids
66498         one potential size overflow calculation.  Check for size overflow
66499         when calculating temporary buffer size.  Free temporary buffer
66500         when done, if it was allocated with malloc; this plugs a memory
66501         leak.  Remove casts from void * to pointers, that are no longer
66502         needed now that we're assuming C89 or better.
66503
66504         Merge error changes from glibc.
66505
66506         * lib/error.c, error.h: Update copyright notice header to match glibc.
66507         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
66508         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
66509         Disable cancellation while printing error.
66510         * lib/error.h: Prepend __ to parameter names.
66511
66512 2003-09-26  Jim Meyering  <jim@meyering.net>
66513
66514         * lib/error.c (error_tail): Move some declarations
66515         into inner scope where the local variables are used.
66516
66517 2003-09-26  Bruno Haible  <bruno@clisp.org>
66518
66519         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
66520         stpncpy().
66521         Don't define stpncpy through config.h; it's now done through stpncpy.h.
66522
66523 2003-09-26  Bruno Haible  <bruno@clisp.org>
66524
66525         * lib/stpncpy.h (gnu_stpncpy): New declaration.
66526         (stpncpy): Define as alias for gnu_stpncpy.
66527         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
66528
66529 2003-09-25  Simon Josefsson  <jas@extundo.com>
66530
66531         * lib/xgetdomainname.h: New file.
66532         * lib/xgetdomainname.c: New file.
66533
66534 2003-09-25  Simon Josefsson  <jas@extundo.com>
66535             Bruno Haible  <bruno@clisp.org>
66536
66537         * modules/getdomainname: New file.
66538         * modules/xgetdomainname: New file.
66539         * MODULES.html.sh (func_all_modules): Add getdomainname,
66540         xgetdomainname.
66541
66542 2003-09-25  Simon Josefsson  <jas@extundo.com>
66543             Bruno Haible  <bruno@clisp.org>
66544
66545         * m4/getdomainname.m4: New file.
66546
66547 2003-09-25  Simon Josefsson  <jas@extundo.com>
66548             Bruno Haible  <bruno@clisp.org>
66549
66550         * lib/getdomainname.h: New file.
66551         * lib/getdomainname.c: New file.
66552
66553 2003-09-25  Karl Berry  <karl@gnu.org>
66554
66555         * lib/argp-fmtstream.c, argp-help.c: update from libc.
66556
66557 2003-09-25  Karl Berry  <karl@gnu.org>
66558
66559         * config/install-sh: update from automake.
66560
66561 2003-09-25  Bruno Haible  <bruno@clisp.org>
66562
66563         * modules/version-etc-2: New file, from modules/version-etc with
66564         modifications.
66565         * MODULES.html.sh (func_all_modules): Add version-etc-2.
66566
66567 2003-09-25  Bruno Haible  <bruno@clisp.org>
66568
66569         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
66570         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
66571
66572 2003-09-24  Simon Josefsson  <jas@extundo.com>
66573
66574         * modules/xgethostname: Add xgethostname.h.
66575
66576 2003-09-24  Paul Eggert  <eggert@twinsun.com>
66577
66578         * lib/linebuffer.c (freebuffer): Don't free the argument, just
66579         the buffer associated with the argument.  Bug reported by
66580         Simon Josefsson.
66581
66582 2003-09-24  Paul Eggert  <eggert@twinsun.com>
66583
66584         * README: Document assumptions that 'int' is at least 32 bits
66585         wide, that integer arithmetic is 2's complement without overflow,
66586         that there are no holes in integer values, that adding sizes of
66587         two nonoverlapping objects can't overflow, and that all-bits-zero
66588         yields scalar zero.  Fix spelling and capitalization typos.
66589
66590 2003-09-19  Karl Berry  <karl@gnu.org>
66591
66592         * lib/argp.h: update from libc.
66593
66594 2003-09-17  Paul Eggert  <eggert@twinsun.com>
66595
66596         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
66597         to avoid spurious warnings like "AC_RUN_IFELSE was called before
66598         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
66599
66600 2003-09-17  Paul Eggert  <eggert@twinsun.com>
66601
66602         * gnulib-tool: Use "test -h", not "test -L", for portability
66603         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
66604         (tags_regexp): Remove, since \| doesn't conform to POSIX.
66605         (sed_extract_prog): Issue s commands one-by-one, rather than
66606         using \| in one s command.
66607
66608 2003-09-16  Paul Eggert  <eggert@twinsun.com>
66609
66610         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
66611         input error, instead of returning NULL the next time we are called
66612         (and therefore losing track of errno).
66613
66614 2003-09-16  Bruno Haible  <bruno@clisp.org>
66615
66616         * gnulib-tool (func_create_testdir): Warn about duplicated
66617         dependencies.
66618
66619 2003-09-15  Paul Eggert  <eggert@twinsun.com>
66620
66621         * modules/argmatch, modules/fatal, modules/obstack,
66622         modules/xalloc, modules/xgethostname: Sort dependencies by
66623         importance, not alphabetically.
66624
66625 2003-09-15  Paul Eggert  <eggert@twinsun.com>
66626
66627         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
66628         fails, so that the caller gets the proper errno.
66629
66630         * lib/readutmp.c (read_utmp): Likewise.
66631         Check for fstat error.  Close stream and free storage
66632         when failing.
66633
66634 2003-09-14  Karl Berry  <karl@gnu.org>
66635
66636         * config/srclist.txt (strdup.c): disable for c89 changes.
66637
66638 2003-09-14  Jim Meyering  <jim@meyering.net>
66639
66640         * lib/getloadavg.c: Correct cpp indentation.
66641         * lib/strdup.c: Likewise.
66642         * lib/vasnprintf.c: Likewise.
66643
66644 2003-09-14  Bruno Haible  <bruno@clisp.org>
66645
66646         * modules/fwriteerror: New file.
66647         * MODULES.html.sh (func_all_modules): Add fwriteerror.
66648
66649 2003-09-14  Bruno Haible  <bruno@clisp.org>
66650
66651         * lib/fwriteerror.h: New file.
66652         * lib/fwriteerror.c: New file.
66653
66654 2003-09-12  Paul Eggert  <eggert@twinsun.com>
66655
66656         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
66657         modules/xgethostname, modules/xalloc: Depend on exit.
66658
66659 2003-09-12  Paul Eggert  <eggert@twinsun.com>
66660
66661         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
66662
66663         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
66664         and AC_MINIX, too, so that their extensions are available.
66665
66666         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
66667         This macro has been superseded by gl_BACKUPFILE.
66668
66669         More patches to assume C89 or better.
66670
66671         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
66672
66673         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
66674         unconditionally.
66675         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
66676         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
66677         Include <string.h>, <stdlib.h> unconditionally.
66678         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
66679         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
66680         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
66681         headers or for string.h.
66682         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
66683         or strtoul.
66684
66685         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
66686         headers.
66687         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
66688         * m4/userspec.m4 (gl_USERSPEC): Likewise.
66689         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
66690         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
66691         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66692         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
66693         memcpy, memset.
66694         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
66695         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
66696         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
66697         strtol.
66698         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
66699         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
66700         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
66701         strtoul.
66702
66703 2003-09-12  Paul Eggert  <eggert@twinsun.com>
66704
66705         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
66706         * lib/obstack.c [!defined _LIBC]: Likewise.
66707         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
66708         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
66709         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
66710
66711         More changes to assume C89 or better.
66712
66713         * lib/error.c (error_tail): Assume vprintf.
66714
66715         * lib/argmatch.c (getenv): Remove decl.
66716         * lib/progreloc.c (get_full_program_name): Define via prototype.
66717         * lib/setenv.c (clearenv): Likewise.
66718         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
66719         needed.
66720         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
66721         (malloc, memcpy): Remove decls.
66722         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
66723         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
66724         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
66725         (memcpy): Remove macro.
66726         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
66727         (__P): Remove.  All uses removed.
66728         (PTR): Remove.  All uses changed to void *.
66729         (CHAR_BIT, NULL): Remove.
66730         (spaces, zeros, memset_space, memset_zero)
66731         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
66732         Remove.
66733         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
66734         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
66735         Define with prototype.
66736         Remove now-unnecessary prototype decl.
66737         (extra_args_spec): Assume ANSI C.  All uses changed.
66738         (extra_args_spec_iso): Remove.
66739         (my_strftime, emacs_strftimeu): Define via prototype.
66740         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
66741         unconditionally.
66742         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
66743         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
66744         (strtoul, strtol): Remove decls.
66745         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
66746         LONG_MAX): Remove.
66747         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
66748         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
66749         (LOCALE_PARAM_PROTO): New macro.
66750         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
66751         (INTERNAL (strtol), strtol): Define with a prototype.
66752         (PARAMS): Remove.  All uses removed.
66753         * lib/tempname.c: Include <string.h> unconditionally.
66754         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
66755         * lib/xgethostname.c (main): Define with a prototype.
66756         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
66757         Include <stdlib.h> unconditionally.
66758         (calloc, malloc, realloc, free): Remove decls.
66759         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
66760         Include <stdlib.h> unconditionally.  Sort include file names.
66761         (strtod): Remove.
66762         (xstrtod): Define with a prototype.
66763         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
66764         (strtol, strtoul): Remove decls.
66765
66766 2003-09-11  Paul Eggert  <eggert@twinsun.com>
66767
66768         More patches to assume C89 or better.
66769         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
66770         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
66771         string.h, memchr, STDC_HEADERS.
66772
66773 2003-09-11  Paul Eggert  <eggert@twinsun.com>
66774
66775         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
66776         Include <stdlib.h>, <string.h> unconditionally.
66777         Remove now-unnecessary cast to char *.
66778         * lib/strnlen.c: Include <string.h> unconditionally.
66779         * lib/yesno.c (yesno): Define with a prototype.
66780
66781 2003-09-11  Bruno Haible  <bruno@clisp.org>
66782
66783         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
66784
66785 2003-09-10  Jim Meyering  <jim@meyering.net>
66786
66787         * lib/error.c: Correct indentation of cpp directives.
66788
66789 2003-09-10  Bruno Haible  <bruno@clisp.org>
66790
66791         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
66792         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
66793         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
66794         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
66795         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
66796         <stdlib.h> and <string.h> checks.
66797         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
66798         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
66799
66800 2003-09-10  Bruno Haible  <bruno@clisp.org>
66801
66802         * lib/strcspn.c: Include <string.h> unconditionally.
66803         * lib/strpbrk.c: Include <string.h> unconditionally.
66804         * lib/strstr.c: Include <string.h> unconditionally.
66805         * lib/unicodeio.c: Include <string.h> unconditionally.
66806         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
66807         * lib/unsetenv.c: Likewise.
66808         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
66809         * lib/yesno.c: Include <stdlib.h> unconditionally.
66810         (rpmatch): Add prototype.
66811
66812 2003-09-09  Paul Eggert  <eggert@twinsun.com>
66813
66814         More patches to assume C89 or better.
66815         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
66816         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
66817         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
66818         or for string.h.
66819         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
66820         stdlib.h.
66821         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
66822         C headers.
66823         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
66824         string.h.
66825         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
66826         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
66827         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
66828         or for string.h.
66829         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
66830         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
66831         C headers.
66832         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
66833         memcpy.
66834         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
66835         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
66836         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
66837         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
66838         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
66839         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
66840         string.h, free.
66841         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
66842         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
66843         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
66844         C headers, or for string.h.
66845         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
66846         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
66847         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
66848         headers, memory.h, stdlib.h, string.h, strings.h.
66849         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
66850         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
66851         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
66852         strchr.
66853         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
66854         headers, memory.h, string.h.
66855         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
66856         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
66857         free.
66858         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
66859         headers.
66860         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
66861         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
66862         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
66863         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
66864         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
66865
66866 2003-09-09  Paul Eggert  <eggert@twinsun.com>
66867
66868         More K&R removal.
66869
66870         * lib/acosl.c (main): Use a prototype.
66871         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
66872         tanl.c: Likewise.
66873
66874         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
66875
66876         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
66877         (getopt, etopt_long, getopt_long_only, _getopt_internal)
66878         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
66879         with a prototype.
66880         * lib/getopt.c (const): Remove macro.
66881         Include <string.h> unconditionally.
66882         (my_index): Remove; all uses changed to strchr.
66883         (strlen): Remove decl.
66884         (exchange): Remove forward decl; no longer needed.
66885         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
66886         Define with prototype.
66887         * lib/getopt1.c (const): Remove macro.
66888         (getopt_long, getopt_long_only, main): Define with prototype.
66889
66890         * lib/getugroups.c: Include <string.h> unconditionally.
66891
66892         * lib/getusershell.c: Include <stdlib.h> unconditionally.
66893         (getusershell, setusershell, endusershell, readname, main):
66894         Define with prototypes.
66895
66896         * lib/group-member.c: Include group-member.h first.
66897         Include <stdlib.h> unconditionally.
66898
66899         * lib/hard-locale.c: Include hard-locale.h first.
66900         Include <stdlib.h>, <string.h> unconditionally.
66901
66902         * lib/hash.c (free, malloc): Remove decls.
66903         Include <stdlib.h> unconditionally.
66904
66905         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
66906         (getenv): Do not declare.
66907
66908         * lib/idcache.c: Include <string.h> unconditionally.
66909
66910         * lib/long-options.c: Include long-options.h first, to test interface.
66911         Include <stdlib.h> unconditionally.
66912
66913         * lib/makepath.c: Include makepath.h first, to test interface.
66914         Include <stdlib.h> and <string.h> unconditionally.
66915
66916         * lib/linebuffer.c: Include <stdlib.h>.
66917         (free): Remove decl.
66918
66919         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
66920         stddef.h. rpl_malloc returns void *, not char *.
66921         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
66922         prototype.
66923
66924         * lib/md5.h: Include <limits.h> unconditionally.
66925         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
66926         (__P): Remove; all uses removed.
66927         * lib/md5.c: Include "md5.h" first.
66928         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
66929         md5_buffer, md5_process_bytes, md5_process_block):
66930         Define with prototypes.
66931         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
66932         * lib/sha.c: Include "sha.h" first.
66933         Include <stdlib.h>, <string.h> unconditionally.
66934
66935         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
66936         * lib/memcmp.c (__ptr_t): Likewise.
66937         * lib/memrchr.c (__ptr_t): Likewise.
66938         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
66939         Include <string.h> unconditionally.
66940         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
66941         * lib/memchr.c: Include <stdlib.h> unconditionally.
66942         * lib/memchr.c (LONG_MAX): Remove.
66943         * lib/memrchr.c (LONG_MAX): Likewise.
66944         * lib/memchr.c (__memchr): Define via a prototype.
66945         * lib/memrchr.c (__memrchr): Likewise.
66946         * lib/memcmp.c (__P): Remove, and remove all uses.
66947         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
66948         Remove forward decls; no longer needed.
66949         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
66950         Use types required by C89 in prototype.
66951
66952         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
66953         * lib/savedir.c: Likewise.
66954         * lib/mkdir.c (free): Remove decl.
66955         * lib/rmdir.c (rmdir): Define with a prototype.
66956         * lib/savedir.c: Include savedir.h first, to test interface.
66957
66958         * lib/mktime.c (STDC_HEADERS): Remove.
66959         Include <stdlib.h>, <string.h> unconditionally.
66960
66961         * lib/modechange.c: Include <stdlib.h> unconditionally.
66962         (malloc): Remove decl.
66963
66964         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
66965         (free): Remove decl.
66966
66967         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
66968         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
66969         (This type really should be intptr_t, but that's a C99ism.)
66970         (_obstack_memcpy): Remove: all uses changed to memcpy.
66971         Include <string.h> unconditionally.
66972         (struct obstack): Assume __STDC__ for types of members
66973         chunkfun, freefun, extra_arg.
66974         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
66975         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
66976         obstack_begin, obstack_specify_allocation,
66977         obstack_specify_allocation_with_arg, obstack_chunkfun,
66978         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
66979         Remove unprototyped decls and the macros that use them.
66980         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
66981         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
66982         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
66983         (defined __STDC__ && __STDC__)]:
66984         Remove nonprototyped code.
66985         Include <stdlib.h> unconditionally.
66986         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
66987         _obstack_allocated_p, _obstack_free, obstack_free,
66988         _obstack_memory_used, print_and_abort):
66989         Define using prototypes.
66990         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
66991         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
66992         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
66993         obstack_next_free, obstack_object_size, obstack_room) [0]:
66994         Remove unused, unprototyped code.
66995
66996         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
66997
66998         * lib/physmem.c (physmem_total, physmem_available, main): Define
66999         with prototypes.
67000
67001         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
67002         (main): Define with a prototype.
67003
67004         * lib/posixver.c (getenv): Remove decl.
67005
67006         * lib/putenv.c (malloc): Returns void *, not char *.
67007         Include <string.h> unconditionally.
67008         (strchr, memcpy, NULL): Do not define.
67009
67010         * lib/readtokens.c: Include readtokens.h first, to test interface.
67011         Include <stdlib.h>, <string.h> unconditionally.
67012         (init_tokenbuffer): Define with a prototype.
67013
67014         * lib/regex.c (PARAMS): Remove.  All uses removed.
67015         All uses of _RE_ARGS removed, too.
67016         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67017         unconditionally.
67018         (bzero): Assume memset exists.
67019         (memcmp, memcpy, NULL): Remove.
67020         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
67021         char, or assignments to local vars of type signed char.
67022         (init_syntax_once, PREFIX(extract_number_and_incr),
67023         PREFIX(print_partial_compiled_pattern),
67024         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
67025         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
67026         PREFIX(regex_grow_registers), PREFIX(regex_compile),
67027         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
67028         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
67029         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
67030         wcs_compile_range, byte_compile_range, truncate_wchar,
67031         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
67032         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
67033         count_mbs_length, wcs_re_match_2_internal,
67034         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
67035         PREFIX(alt_match_null_string_p),
67036         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
67037         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
67038         regfree, PREFIX(extract_number)): Define with prototype.  Remove
67039         now-unnecessary declaration, if any.
67040         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
67041         regcomp, regexec):
67042         Remove now-unnecessary casts among pointer types.
67043         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
67044
67045         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
67046         (free): Remove decl.
67047
67048         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
67049
67050         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
67051         (free): Remove decl.
67052
67053         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
67054         * lib/xgetcwd.c: Likewise.
67055
67056         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
67057         (free): Remove decl.
67058
67059         * lib/strchrnul.c (strchrnul): Define with a prototype.
67060         Fix bug: c_in was not converted to char before searching.
67061
67062         The following changes are not K&R related:
67063
67064         * lib/group-member.h: Include <sys/types.h>, so that this file is
67065         self-contained.
67066         * lib/makepath.h: Likewise.
67067
67068         * lib/getusershell.c (readname, default_index, line_size, readname):
67069         Use size_t, not int, for sizes.
67070         (readname): If the size overflows, report an error instead of
67071         looping forever.
67072
67073 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67074
67075         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
67076         libc.
67077
67078 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67079
67080         * README: New section: portability guidelines.
67081
67082 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
67083
67084         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
67085         C89 spec.
67086
67087 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
67088
67089         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
67090
67091 2003-09-08  Paul Eggert  <eggert@twinsun.com>
67092
67093         Assume C89 or better; remove K&R cruft.
67094         A few of these changes were first proposed by Derek Robert Price
67095         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
67096
67097         * lib/addext.c: Include <string.h> unconditionally.
67098         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
67099         Don't declare getenv or malloc.
67100
67101         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
67102         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
67103         (NULL): Remove.
67104         (find_stack_direction, alloca): Use prototypes.
67105
67106         * lib/atexit.c (atexit): Define using a prototype.
67107
67108         * lib/basename.c, dirname.c, stripslash.c:
67109         Include <string.h> unconditionally.
67110
67111         * lib/bcopy.c: Include <stddef.h>.
67112         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
67113
67114         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
67115
67116         * lib/error.h (error, error_at_line, error_print_progname)
67117         [! (defined (__STDC__) && __STDC__)]: Remove decls.
67118         * lib/error.c: Include error.h first, to check interface.
67119         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
67120         (VA_START): Remove; all uses changeed to va_start.
67121         (exit, strerror): Remove decls.
67122         (error_print_progname): Prototype uncondionally.
67123         Don't include <errno.h>; no longer needed.
67124         (private_strerror): Remove.
67125         (error_tail): Always define.
67126         (error, error_at_line): Assume C89 or better; always use prototypes.
67127         * lib/fatal.c: Include "fatal.h" first, to test interface.
67128         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
67129         (VA_START): Remove; all uses changed to va_start.
67130         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
67131         this case.
67132         (exit): Remove decl.
67133         (fatal): Prototype unconditionally.  Assume va_start works.
67134         Abort at end, to pacify gcc.
67135
67136         * lib/euidaccess.c (main): Define with a prototype.
67137
67138         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
67139
67140         * lib/exitfail.c: Include <stdlib.h> unconditionally.
67141
67142         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
67143         prototypes.
67144         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
67145         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
67146         (getenv): Remove decl.
67147         (fnmatch): Define using a prototype.
67148         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
67149         (FCT): Define using a prototype.
67150
67151         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
67152
67153         * lib/gethostname.c: Include <stddef.h>.
67154         (gethostname): Define with prototype.  Length is size_t, not int.
67155
67156 2003-09-08  Paul Eggert  <eggert@twinsun.com>
67157
67158         Assume C89 or better; remove K&R cruft.
67159         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
67160         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
67161         string.h, getenv, malloc.
67162         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
67163         headers.
67164         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
67165         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
67166         do not check for strerror.
67167         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
67168         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
67169         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
67170         do not check for doprnt or vprintf.
67171         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
67172         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
67173
67174 2003-09-08  Paul Eggert  <eggert@twinsun.com>
67175
67176         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
67177         getversion.c should have been removed then, but was accidentally
67178         preserved.
67179
67180         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
67181         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
67182
67183 2003-09-08  Karl Berry  <karl@gnu.org>
67184
67185         * config/config.sub, config.guess, srclistvars.sh: update from savannah
67186                 config, forget about prep.
67187
67188         * config/depcomp, missing: update from automake.
67189
67190 2003-09-07  Paul Eggert  <eggert@twinsun.com>
67191
67192         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
67193         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
67194
67195 2003-09-07  Paul Eggert  <eggert@twinsun.com>
67196
67197         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
67198         copy_tm_result.  Bug reported by Simon Josefsson in
67199         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
67200
67201 2003-09-06  Paul Eggert  <eggert@twinsun.com>
67202
67203         * m4/time_r.m4: New file.
67204         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
67205         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
67206         is. Check for timegm declaration.
67207         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
67208         Do not check for gmtime_r.
67209         Replace mktime if __mktime_internal does not exist and if mktime
67210         hasn't been replaced already.
67211
67212 2003-09-06  Paul Eggert  <eggert@twinsun.com>
67213
67214         * lib/time_r.c, lib/time_r.h: New files.
67215
67216         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
67217         __localtime_r.
67218         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
67219         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
67220
67221         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
67222         __gmtime_r.
67223         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
67224         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
67225         Include <time_r.h>.
67226
67227         * lib/timegm.c: Switch to glibc implementation, with the following
67228         changes:
67229         [defined HAVE_CONFIG_H]: Include <config.h>.
67230         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
67231         (__mktime_internal) [!defined _LIBC]: New decl.
67232         (__gmtime_r) [!defined _LIBC]: New macro and function.
67233         (timegm): Use a prototype, since gnulib assumes C89.
67234         Do not bother declaring tmp to be const, as it's not really usefu.
67235         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
67236         (timegm): Declare only if HAVE_DECL_TIMEGM.
67237
67238 2003-09-06  Paul Eggert  <eggert@twinsun.com>
67239
67240         * MODULES.html.sh (func_all_modules): Add time_r.
67241         * modules/time_r: New file.
67242         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
67243         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
67244
67245 2003-09-03  Paul Eggert  <eggert@twinsun.com>
67246
67247         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
67248         Bug reported by Lute Kamstra in
67249         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
67250
67251         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
67252         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
67253         course with correspondingly smaller numbers for tomorrow and
67254         yesterday.  From Tadayoshi Funaba.  Originally installed into
67255         sh-utils on 1999-08-07, but the patch got lost (I guess during the
67256         coreutils merge?).
67257
67258 2003-08-31  Simon Josefsson  <jas@extundo.com>
67259
67260         * modules/timegm: New file.
67261         * MODULES.html.sh (func_all_modules): Add timegm.
67262
67263 2003-08-31  Simon Josefsson  <jas@extundo.com>
67264
67265         * m4/timegm.m4: New file.
67266
67267 2003-08-31  Simon Josefsson  <jas@extundo.com>
67268
67269         * lib/timegm.h: New file.
67270         * lib/timegm.c: New file.  Based on
67271         wget-1.8.2/src/http.c:mktime_from_utc.
67272
67273 2003-08-31  Karl Berry  <karl@gnu.org>
67274
67275         * lib/argp.h: update from libc.
67276
67277 2003-08-28  Bruno Haible  <bruno@clisp.org>
67278
67279         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
67280         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
67281         followed by '#define fnmatch fnmatch_posix' gives an error.
67282
67283 2003-08-28  Bruno Haible  <bruno@clisp.org>
67284
67285         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
67286         warning on QNX, which defines O_BINARY to 000000.
67287
67288 2003-08-27  Jim Meyering  <jim@meyering.net>
67289
67290         * m4/mkstemp.m4: Require that the system mkstemp be able to create
67291         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
67292         would fail after 32.  Reported by Danny Levinson.  Details here:
67293         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
67294
67295 2003-08-24  Bruno Haible  <bruno@clisp.org>
67296
67297         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
67298         MSVC7 <stdio.h> is included later.
67299
67300 2003-08-22  Simon Josefsson  <jas@extundo.com>
67301
67302         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
67303
67304 2003-08-20  Karl Berry  <karl@gnu.org>
67305
67306         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
67307
67308 2003-08-20  Bruno Haible  <bruno@clisp.org>
67309
67310         * modules/progname: New file.
67311         * MODULES.html.sh (func_all_modules): Add progname.
67312
67313 2003-08-20  Bruno Haible  <bruno@clisp.org>
67314
67315         * lib/progname.h: New file, from GNU gettext.
67316         * lib/progname.c: New file, from GNU gettext.
67317         * lib/progreloc.c: New file, from GNU gettext.
67318
67319 2003-08-19  Jim Meyering  <jim@meyering.net>
67320
67321         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
67322         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
67323
67324 2003-08-19  Bruno Haible  <bruno@clisp.org>
67325
67326         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
67327         more.
67328
67329 2003-08-19  Bruno Haible  <bruno@clisp.org>
67330
67331         * lib/xstrdup.c: Assume <string.h> exists.
67332
67333 2003-08-18  Paul Eggert  <eggert@twinsun.com>
67334
67335         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
67336         in makefile rules.
67337
67338 2003-08-18  Jim Meyering  <jim@meyering.net>
67339
67340         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
67341         * m4/lib-ld.m4: Likewise.
67342
67343 2003-08-18  Jim Meyering  <jim@meyering.net>
67344
67345         * lib/setenv.h: Indent nested cpp directive.
67346         * lib/vasnprintf.c: Remove trailing blanks.
67347
67348 2003-08-17  Simon Josefsson  <jas@extundo.com>
67349
67350         * modules/xstrndup: New file.
67351         * MODULES.html.sh (func_all_modules): Add xstrndup.
67352
67353 2003-08-17  Simon Josefsson  <jas@extundo.com>
67354
67355         * modules/argp: Fix autoconf macro name. Add more dependencies.
67356
67357 2003-08-17  Simon Josefsson  <jas@extundo.com>
67358
67359         * m4/xstrndup.m4: New file.
67360
67361 2003-08-17  Simon Josefsson  <jas@extundo.com>
67362
67363         * m4/argp.m4: New file.
67364
67365 2003-08-17  Simon Josefsson  <jas@extundo.com>
67366             Bruno Haible  <bruno@clisp.org>
67367
67368         * lib/xstrndup.h: New file.
67369         * lib/xstrndup.c: New file.
67370
67371 2003-08-17  Bruno Haible  <bruno@clisp.org>
67372
67373         * modules/strndup (Files, Include): Add lib/strndup.h.
67374
67375 2003-08-17  Bruno Haible  <bruno@clisp.org>
67376
67377         * modules/euidaccess (Files): Add lib/euidaccess.h.
67378
67379 2003-08-17  Bruno Haible  <bruno@clisp.org>
67380
67381         * lib/strndup.h: New file.
67382
67383 2003-08-17  Bruno Haible  <bruno@clisp.org>
67384
67385         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
67386         like AC_GNU_SOURCE.
67387         * modules/extensions (configure.ac): Comment out the invocation of
67388         gl_USE_SYSTEM_EXTENSIONS.
67389
67390 2003-08-16  Paul Eggert  <eggert@twinsun.com>
67391
67392         Merges from coreutils, etc.
67393         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
67394         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
67395         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
67396         fixing a typo.
67397         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
67398         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
67399
67400 2003-08-16  Paul Eggert  <eggert@twinsun.com>
67401
67402         Document merge from coreutils.
67403         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
67404         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
67405         * modules/utime: Add m4/utimes-null.m4.
67406
67407 2003-08-16  Paul Eggert  <eggert@twinsun.com>
67408
67409         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
67410         space, undoing this 2003-08-12 change:
67411         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
67412
67413 2003-08-16  Paul Eggert  <eggert@twinsun.com>
67414
67415         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
67416         strtoul.c from libc, undoing this 2003-08-12 change:
67417         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
67418
67419 2003-08-16  Jim Meyering  <jim@meyering.net>
67420
67421         Merges from coreutils.
67422         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
67423         prefix.  Adjust cache variables similarly.  Create 500 rather than
67424         just 300 files, to exercise bug on Darwin6.5, too.
67425         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
67426         $missing_dir.
67427         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
67428         AM_SYS_POSIX_TERMIOS.
67429         Reported by mkc@mathdogs.com.
67430         Also change use of $am_cv_sys_posix_termios
67431         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
67432         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
67433         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
67434         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
67435         in /proc/mounts until it finds one with matching device number.  This
67436         is unnecessary when the FILE argument *is* a mount point.  No stat call
67437         is necessary in that case.  So, disable the statvfs-testing code on
67438         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
67439         as RedHat bug# 84846.
67440         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
67441         to 1MB, so as not to render systems with no stack size limit (e.g.,
67442         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
67443         Include <unistd.h>.  On some systems,
67444         it is required for the definition of _SC_PAGESIZE.
67445
67446 2003-08-16  Jim Meyering  <jim@meyering.net>
67447
67448         Merge from coreutils.
67449         * lib/xstrtoimax.c: #else #if -> #elif.
67450         * lib/xstrtoumax.c: Likewise.
67451
67452 2003-08-16  Jim Meyering  <jim@meyering.net>
67453
67454         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
67455         * m4/utimes.m4: Removed.
67456         * m4/utimes-null.m4: Renamed from utimes.m4.
67457
67458         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
67459         to 1MB, so as not to render systems with no stack size limit (e.g.,
67460         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
67461         Include <unistd.h>.  On some systems,
67462         it is required for the definition of _SC_PAGESIZE.
67463
67464 2003-08-16  Jim Meyering  <jim@meyering.net>
67465         and Paul Eggert  <eggert@cs.ucla.edu>
67466
67467         Merges from coreutils, etc.
67468
67469         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
67470         using the latest version from cvs.  This avoids problems with #line
67471         directives using a vendor (Sun) compiler.
67472         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
67473         Don't set GETGROUPS_LIB here; now it's
67474         done via getgroups.m4's wrapper function.
67475         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
67476         rather than just in sh-util/configure.in, so that the
67477         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
67478         same.
67479         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
67480         AC_FUNC_GETLOADAVG where to find getloadavg.c.
67481         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
67482         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
67483         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
67484         Remove code that is now done by the newly-required macros.
67485         Append $(EXEEXT) to DF_PROG.
67486         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
67487         Do not invoke or require the following here,
67488         since prereq.m4 or some gnulib .m4 now does this for us:
67489         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
67490         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
67491         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
67492         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
67493         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
67494         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
67495         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
67496         AC_FUNC_OBSTACK.
67497         Do not replace the following functions, as this is now the job
67498         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
67499         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
67500         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
67501         atexit getpass, strdup, getpagesize.
67502         Replace 'raise'.
67503         Do not check for the following functions, as this is now the job
67504         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
67505         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
67506         setregid.
67507         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
67508         Check for sys/sysctl.h.
67509         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
67510         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
67511         of checking for ssize_t ourselves.
67512
67513         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
67514         Require every macro that gnulib/modules/* suggests for us.
67515         (jm_PREREQ_ADDEXT): New macro.
67516         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
67517         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
67518
67519         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
67520         (gl_PHYSMEM): Use it.
67521         Also check for `table' function.
67522         Check for new headers and functions.
67523         Add check for sys/sysmp.h.
67524         With suggestions from Kaveh Ghazi.
67525         Ignore headers that are present but cannot be compiled.  This
67526         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
67527         C 5.4.
67528
67529 2003-08-15  Paul Eggert  <eggert@twinsun.com>
67530
67531         Document merge from coreutils.
67532         * modules/userspec: Depend on posixver.
67533         * modules/strftime: Depend on tzset.
67534
67535 2003-08-15  Paul Eggert  <eggert@twinsun.com>
67536
67537         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
67538         rather than tab, after '#' in shell-script copyright notices.
67539         Suggested by Bruno Haible.
67540
67541 2003-08-15  Paul Eggert  <eggert@twinsun.com>
67542
67543         * config/srclist-update: Use three spaces, rather than tab, after '#'
67544         in shell-script copyright notices.  Suggested by Bruno Haible.
67545         Remove unnecessary parenthesization in regular expression.
67546
67547 2003-08-15  Jim Meyering  <jim@meyering.net>
67548
67549         Merge from coreutils.
67550         * lib/xgethostname.c: Include <stdlib.h>.
67551         (xghostname): Don't exit for anything other than memory-related
67552         failure; just return NULL.
67553         * lib/userspec.c: Include "posixver.h".
67554         (parse_user_spec): Accept `.' as a separator only
67555         in pre-POSIX-200112 mode.
67556         * lib/strtoimax.c: Use #elif rather than #else #if.
67557         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
67558         Remove function, now that we can rely on a working tzset function.
67559         [!_LIBC]: Ensure that the required autoconf test has been run.
67560         [!defined _NL_CURRENT && HAVE_STRFTIME]:
67561         Use underlying_strftime for %r.
67562         * lib/sha.c: Merge in some clean-up and optimization changes from
67563         glibc.
67564         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
67565         Ensure that it is a multiple of 64.
67566         Rearrange loop exit tests so as to avoid performing an
67567         additional fread after encountering an error or EOF.
67568         * lib/realloc.c: Update copyright date.
67569
67570 2003-08-15  Jim Meyering  <jim@meyering.net>
67571         and Paul Eggert  <eggert@twinsun.com>
67572
67573         Merge from coreutils.
67574         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
67575         member but strut utmpx does not.  Needed for AIX 4.3.3.
67576         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
67577
67578 2003-08-15  Jim Meyering  <jim@meyering.net>
67579         and Paul Eggert  <eggert@cs.ucla.edu>
67580
67581         Merges from coreutils, etc.
67582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
67583         Require gl_FUNC_TZSET_CLOBBER.
67584         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
67585         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
67586         members.
67587
67588 2003-08-14  Paul Eggert  <eggert@twinsun.com>
67589
67590         Help the merge from coreutils.
67591         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
67592         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
67593         * m4/tzset.m4: Use it too.
67594
67595 2003-08-14  Paul Eggert  <eggert@twinsun.com>
67596
67597         * modules/tzset: New file.
67598
67599 2003-08-14  Jim Meyering  <jim@meyering.net>
67600
67601         Merges from coreutils.
67602         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
67603         variable names, rather than @FNMATCH_H@.
67604         * modules/alloca: Likewise for $(ALLOCA_H).
67605
67606         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
67607         the three copies of the literal target, `fnmatch.h'.
67608         * modules/alloca (alloca.h): Likewise.
67609
67610 2003-08-14  Jim Meyering  <jim@meyering.net>
67611
67612         Merge from coreutils.
67613         * m4/tzset.m4: New file.
67614         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
67615         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
67616         otherwise, AIX 5.1 systems would end up using the latter.
67617         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
67618         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
67619         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
67620         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
67621
67622 2003-08-14  Jim Meyering  <jim@meyering.net>
67623
67624         Merge from coreutils.
67625         * lib/obstack.h: Whitespace changes.
67626         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
67627         and xcalloc return values.
67628         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
67629         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
67630         hang on OSF/1 5.1 for DIR on both local and remote file systems.
67631         Reported by (and fix confirmed by) Nelson H. F. Beebe.
67632         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
67633         error from mntctl.
67634         Use mntctl's return value to drive the entry-processing loop, since
67635         we can't rely on the value of the vmt_length member in the last
67636         entry.  On some systems doing so could result in exhausting
67637         virtual memory.  Based in part on a patch from Mike Jetzer.
67638
67639 2003-08-14  Jim Meyering  <jim@meyering.net>
67640         and Paul Eggert  <eggert@twinsun.com>
67641
67642         Merges from coreutils, plus other fixes.
67643         * lib/physmem.c: Merge in portability changes from gcc/libiberty
67644         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
67645         for credits and details.  Thanks to Kaveh Ghazi for helping
67646         to keep these files in sync.
67647         (ARRAY_SIZE): Define it.
67648         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
67649         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
67650         (memcasecmp): Don't assume size_t fits in unsigned int.
67651         Remove casts and duplicate code.
67652         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
67653         (memcpy): Remove definition.
67654         Merge in some clean-up and optimization changes from glibc.
67655         [BLOCKSIZE]: Move definition to top of file.
67656         Ensure that it is a multiple of 64.
67657         Rearrange loop exit tests so as to avoid performing an
67658         additional fread after encountering an error or EOF.
67659         * lib/md5.h (md5_uintptr): Define.
67660         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
67661         return to the initial working directory.  Preserve errno
67662         for caller.
67663         * lib/idcache.c: Include "xalloc.h".
67664         (xmalloc, xrealloc): Remove decls.
67665         (getuser): Remove casts no longer required in C89.
67666         * lib/human.c: Include stdio.h, for sprintf.
67667         * lib/group-member.c: Include "xalloc.h".
67668         (xmalloc, xrealloc): Remove decls.
67669         (get_group_info): Remove casts no longer required in C89.
67670         * lib/getusershell.c (readname): Remove casts no longer required in
67671         C89.
67672         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
67673         * lib/getline.c: Whitespace fix, from coreutils.
67674
67675 2003-08-13  Paul Eggert  <eggert@twinsun.com>
67676
67677         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
67678         Check for isascii.
67679
67680         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
67681         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
67682         Undo previous (whitespace-only) change.
67683
67684 2003-08-13  Paul Eggert  <eggert@twinsun.com>
67685
67686         * lib/exclude.c: Include <ctype.h>
67687         (IN_CTYPE_DOMAIN): New macro.
67688         (is_space): New fn.
67689         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
67690         and empty lines.
67691
67692         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
67693         Undo previous (whitespace-only) change.
67694
67695 2003-08-13  Paul Eggert  <eggert@twinsun.com>
67696
67697         * config/srclist-update: Change update back to the old behavior,
67698         leaving whitespace alone.  Use one 'sed' command rather than a
67699         pipeline.
67700         (fixlicense): Now a variable, not a function.
67701         (remove_trailing_blanks): Remove.
67702         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
67703         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
67704         Undo previous (whitespace-only) change.
67705
67706 2003-08-12  Paul Eggert  <eggert@twinsun.com>
67707
67708         Merge from coreutils.
67709         * modules/euidaccess: Add lib_SOURCES, include for new
67710         file euidaccess.h
67711
67712 2003-08-12  Paul Eggert  <eggert@twinsun.com>
67713
67714         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
67715         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
67716         Normalize leading white space and remove trailing white space.
67717
67718         Merge from coreutils
67719         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
67720
67721         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
67722         0.12.1.  These files are now being upgraded automatically by
67723         ../config/srclist-update.
67724
67725 2003-08-12  Paul Eggert  <eggert@twinsun.com>
67726
67727         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
67728         Normalize leading white space and remove trailing white space.
67729         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
67730         notice, as per ../config/srclist-update.
67731
67732         Merge from coreutils.
67733         * lib/euidaccess.h: New file.
67734         * lib/euidaccess.c: Include it.
67735         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
67736         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
67737         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
67738
67739 2003-08-12  Paul Eggert  <eggert@twinsun.com>
67740
67741         * config/srclist-update: Add copyright notice.
67742         (remove_id_lines, remove_trailing_blanks): New constants.
67743         (fixfile): Use them to normalize spacing a bit in copied files.
67744         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
67745         Normalize leading white space and remove trailing white space.
67746
67747         * config/texinfo.tex: Sync with texinfo.
67748
67749         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
67750         strtoul.c from libc, to merge coreutils whitespace changes.
67751
67752         * config/srclist.txt: Get the following m4 files from gettext:
67753         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
67754         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
67755         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
67756         wint_t.m4.
67757
67758 2003-08-12  Karl Berry  <karl@gnu.org>
67759
67760         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
67761         been made.
67762
67763 2003-08-11  Paul Eggert  <eggert@twinsun.com>
67764
67765         * modules/gnu-source, m4/gnu-source.m4:
67766         Remove; we're assuming Autoconf 2.54 or later now.
67767         Suggested by Bruno Haible.
67768         * MODULES.html.sh (func_all_modules): Remove gnu-source.
67769
67770 2003-08-11  Bruno Haible  <bruno@clisp.org>
67771
67772         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
67773
67774 2003-08-11  Bruno Haible  <bruno@clisp.org>
67775
67776         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
67777         (vasnprintf): Use it instead of wcslen.
67778
67779 2003-08-11  Bruno Haible  <bruno@clisp.org>
67780
67781         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
67782         value to ensure that _Bool promotes to int. Use #define for _Bool when
67783         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
67784
67785 2003-08-10  Karl Berry  <karl@gnu.org>
67786
67787         * lib/regex.h: update from libc (whitespace fix).
67788
67789 2003-08-09  Paul Eggert  <eggert@twinsun.com>
67790
67791         Merge some files from coreutils.  These changes were
67792         originally made by Jim Meyering.
67793         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
67794         many older Unixes require this.
67795         * lib/alloca.c (alloca): Remove cast to argument of free;
67796         no longer needed in C89.
67797         * lib/alloca_.h, regex.h: Fix white space to match
67798         what GNU indent does.
67799
67800 2003-08-09  Paul Eggert  <eggert@twinsun.com>
67801
67802         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
67803         apparently Emacs's Unicode mode got confused before my 2003-08-05
67804         checkin.
67805
67806 2003-08-08  Paul Eggert  <eggert@twinsun.com>
67807
67808         * m4/extensions.m4: New file.
67809         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
67810         Require gl_USE_SYSTEM_EXTENSIONS.
67811         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
67812         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
67813
67814 2003-08-08  Paul Eggert  <eggert@twinsun.com>
67815
67816         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
67817         * modules/extensions, modules/gnu-source: New files.
67818         * modules/timespec, modules/unlocked-io: Depend on extensions.
67819
67820 2003-08-07  Paul Eggert  <eggert@twinsun.com>
67821
67822         * modules/restrict: New file.
67823         * MODULES.html.sh (func_all_modules): Add restrict.
67824         * modules/regex: Depend on restrict.
67825
67826 2003-08-07  Paul Eggert  <eggert@twinsun.com>
67827
67828         * m4/restrict.m4: New file.
67829         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
67830
67831 2003-08-07  Bruno Haible  <bruno@clisp.org>
67832
67833         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
67834         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
67835
67836 2003-08-07  Bruno Haible  <bruno@clisp.org>
67837
67838         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
67839         makes the module 'getndelim2' compatible with the module 'getline'.
67840
67841 2003-08-05  Paul Eggert  <eggert@twinsun.com>
67842
67843         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
67844         byte with "\201" to avoid glitches when editing that source file
67845         with multi-gnome-terminal.
67846
67847 2003-08-05  Paul Eggert  <eggert@twinsun.com>
67848
67849         * lib/bumpalloc.h: Remove.
67850
67851 2003-08-05  Paul Eggert  <eggert@twinsun.com>
67852
67853         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
67854         * modules/bumpalloc: Remove.
67855
67856 2003-08-04  Paul Eggert  <eggert@twinsun.com>
67857
67858         * lib/getloadavg.c: Change copyright notice and spacing to conform to
67859         GNU coding style.
67860
67861         Merge from coreutils.
67862         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
67863         1. From glibc.
67864         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
67865         from Karl Berry, implemented by Jim Meyering.
67866         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
67867         from Dmitry V. Levin.
67868         Remove anachronistic cast of xrealloc.
67869         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
67870         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
67871         type. Otherwise, it wouldn't compile with at least /bin/cc on
67872         ymp-cray-unicos9.0.2.X.
67873         Combine two mostly-identical uses of alloca into one.
67874         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
67875
67876 2003-08-04  Dave Love  <d.love@dl.ac.uk>
67877
67878         [From Emacs.]
67879
67880         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
67881         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
67882         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
67883         obsolete NLIST_NAME_UNION.
67884         [__GNU__]: Undef BSD and FSCALE.
67885         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
67886
67887 2003-08-03  Paul Eggert  <eggert@twinsun.com>
67888
67889         * lib/stdbool_.h (_Bool): Make it signed char, instead of
67890         an enum type, so that it's guaranteed to promote to int.  See:
67891         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
67892
67893 2003-08-03  Karl Berry  <karl@gnu.org>
67894
67895         * config/depcomp: update from automake.
67896
67897 2003-07-31  Paul Eggert  <eggert@twinsun.com>
67898
67899         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
67900         (strerror): Don't assume that a printable int fits in 14 bytes.
67901
67902 2003-07-31  Bruno Haible  <bruno@clisp.org>
67903
67904         * modules/getpass-gnu: New file.
67905         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
67906
67907 2003-07-31  Bruno Haible  <bruno@clisp.org>
67908
67909         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
67910
67911 2003-07-24  Karl Berry  <karl@gnu.org>
67912
67913         * config/missing: update from automake.
67914
67915 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
67916             Bruno Haible  <bruno@clisp.org>
67917
67918         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
67919         * lib/getline.c (getline, getdelim): Likewise.
67920         Remove _GNU_SOURCE define; now it's defined in config.h through
67921         m4/getline.m4.
67922
67923 2003-07-23  Karl Berry  <karl@gnu.org>
67924
67925         * config/config.sub: update from prep.
67926
67927 2003-07-22  Paul Eggert  <eggert@twinsun.com>
67928
67929         * modules/xalloc (Depends-on): Add exitfail.
67930         * modules/xmemcoll: Likewise.
67931
67932 2003-07-22  Paul Eggert  <eggert@twinsun.com>
67933
67934         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
67935         over-parenthesization in macros.
67936
67937         Sync with coreutils.
67938
67939         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
67940         required by C99.
67941
67942         Use `exit_failure' for xalloc and xmemcoll instead of their own
67943         private exit-failure variables.
67944         * lib/xalloc.h (xalloc_exit_failure): Remove.
67945         * lib/xmalloc.c: Likewise.  Include exitfail.h.
67946         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
67947         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
67948         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
67949         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
67950
67951 2003-07-20  Jim Meyering  <jim@meyering.net>
67952
67953         * modules/closeout (Depends-on): Add exitfail.
67954         Suggestion from Bruno Haible.
67955
67956 2003-07-19  Karl Berry  <karl@gnu.org>
67957
67958         * config/config.sub: update from prep.
67959
67960 2003-07-18  Paul Eggert  <eggert@twinsun.com>
67961
67962         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
67963         Remove.
67964         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
67965         to test that it can stand by itself.  Include "exitfail.h".
67966         Clients should set exit_failure instead.
67967         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
67968
67969 2003-07-18  Bruno Haible  <bruno@clisp.org>
67970
67971         * modules/getndelim2: New file.
67972         * modules/getline: Share files with module getndelim2.
67973         * modules/getnline: Depend on getndelim2 instead of sharing files with
67974         it. Add getnline.c to lib_SOURCES.
67975         * MODULES.html.sh (func_all_modules): Add getndelim2.
67976
67977 2003-07-18  Bruno Haible  <bruno@clisp.org>
67978
67979         * m4/getndelim2.m4: New file.
67980         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
67981         invoke gl_PREREQ_GETNDELIM2.
67982         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
67983         gl_PREREQ_GETNDELIM2.
67984         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
67985         gl_GETNDELIM2.
67986
67987 2003-07-18  Bruno Haible  <bruno@clisp.org>
67988
67989         * lib/getndelim2.h: New file.
67990         * lib/getndelim2.c: Make into a module of its own. Include config.h,
67991         getndelim2.h.
67992         (getndelim2): Make non-static. Change return type to ssize_t.
67993         * lib/getline.h: Change argument names.
67994         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
67995         * lib/getnline.c: Include getndelim2.h.
67996
67997 2003-07-18  Andreas Schwab  <schwab@suse.de>
67998
67999         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
68000
68001 2003-07-17  Karl Berry  <karl@gnu.org>
68002
68003         * config/config.sub: update from prep.
68004
68005 2003-07-17  Bruno Haible  <bruno@clisp.org>
68006
68007         * modules/getnline: New file.
68008         * modules/getline: Add lib/getndelim2.c to source file list.
68009         * MODULES.html.sh (func_all_modules): Add getnline.
68010
68011 2003-07-17  Bruno Haible  <bruno@clisp.org>
68012
68013         * m4/getnline.m4: New file.
68014
68015 2003-07-17  Bruno Haible  <bruno@clisp.org>
68016
68017         * m4/Makefile.am.in: Remove file.
68018         * m4/Makefile.am: Remove file.
68019         * m4/Makefile.in: Remove file.
68020
68021 2003-07-17  Bruno Haible  <bruno@clisp.org>
68022
68023         * lib/getnline.h: New file.
68024         * lib/getnline.c: New file.
68025         * lib/getndelim2.c: New file, extracted from getline.c.
68026         (getndelim2): Renamed from getdelim2, with added nmax argument.
68027         * lib/getline.c: Include getndelim2.c.
68028         (getdelim2): Moved out to getndelim2.c.
68029         (getline, getdelim): Update.
68030
68031 2003-07-17  Bruno Haible  <bruno@clisp.org>
68032
68033         * lib/Makefile.am: Remove file.
68034         * lib/Makefile.in: Remove file.
68035
68036 2003-07-17  Bruno Haible  <bruno@clisp.org>
68037
68038         * configure.in: Remove file.
68039         * Makefile.in: Remove file.
68040
68041 2003-07-17  Bruno Haible  <bruno@clisp.org>
68042
68043         * MODULES.html.sh: Put the </BODY> right before </HTML>.
68044
68045 2003-07-16  Karl Berry  <karl@gnu.org>
68046
68047         * config/srclist-update: was running fixlicense twice, which caused
68048                 texinfo.tex to be nullified for some reason.  Simplify,
68049                 $gplsrc is no longer needed as far as I can see?
68050
68051 2003-07-16  Jim Meyering  <jim@meyering.net>
68052
68053         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
68054
68055 2003-07-15  Paul Eggert  <eggert@twinsun.com>
68056
68057         * config/srclist.txt: Get the following files from gettext-runtime/intl
68058         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
68059         ref-del.sin.  From Bruno Haible.
68060         * config/srclist-update (fixfile): Change grep pattern again, since the
68061         previous fix didn't work (there was another trailing $).  Use
68062         '[$]' to escape the $s.
68063
68064 2003-07-15  Karl Berry  <karl@gnu.org>
68065
68066         * lib/vasnprintf.c: update from gettext.
68067
68068 2003-07-15  Karl Berry  <karl@gnu.org>
68069
68070         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
68071         gets expanded when surrounded by '$'.
68072
68073 2003-07-15  Jim Meyering  <jim@meyering.net>
68074
68075         * modules/save-cwd: Don't depend on error.  From Derek Price.
68076
68077 2003-07-15  Jim Meyering  <jim@meyering.net>
68078
68079         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
68080
68081 2003-07-14  Simon Josefsson  <jas@extundo.com>
68082
68083         * modules/mempcpy: New file.
68084         * MODULES.html.sh (func_all_modules): Add mempcpy.
68085
68086 2003-07-14  Simon Josefsson  <jas@extundo.com>
68087
68088         * m4/mempcpy.m4: New file.
68089
68090 2003-07-14  Simon Josefsson  <jas@extundo.com>
68091
68092         * lib/mempcpy.h: New file.
68093         * lib/mempcpy.c: New file.
68094
68095 2003-07-14  Paul Eggert  <eggert@twinsun.com>
68096
68097         * modules/getdate, modules/posixtm: Depend on mktime.
68098
68099 2003-07-14  Paul Eggert  <eggert@twinsun.com>
68100
68101         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
68102         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
68103         unicodeio.c, unicodeio.h, unlocked-io.h:
68104         Switch from LGPL to GPL.
68105
68106 2003-07-14  Paul Eggert  <eggert@twinsun.com>
68107
68108         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
68109         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
68110         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
68111         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
68112         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
68113         updated automatically by ../config/srclist-update.  This changes
68114         their license from LPGL to GPL.
68115
68116 2003-07-14  Paul Eggert  <eggert@twinsun.com>
68117
68118         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
68119         assumed to refer to the root of the most recent stable gettext version.
68120         * config/srclistvars.sh: Add defaults for eggert.
68121         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
68122         Match "This program" as well as "The program".  This is needed
68123         for gettext.
68124
68125 2003-07-14  Jim Meyering  <jim@meyering.net>
68126
68127         Don't emit diagnostics.  Let callers do that.
68128         * lib/save-cwd.c: Don't include "error.h".
68129         (save_cwd): Don't call error.  Ensure that errno is valid
68130         when returning nonzero.
68131
68132         * lib/save-cwd.h (restore_cwd): Update prototype.
68133         * lib/save-cwd.c (restore_cwd): Remove two parameters.
68134         Simplify.  Don't call error upon failure.  Let callers do that.
68135         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
68136         when auditing is enabled.  But don't bother updating the #if.
68137
68138 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
68139
68140         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
68141         it breaks C++ compilation.
68142         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
68143
68144 2003-07-10  Simon Josefsson  <jas@extundo.com>
68145
68146         * modules/strchrnul (Makefile.am): Add strchrnul.h.
68147
68148 2003-07-10  Jim Meyering  <jim@meyering.net>
68149
68150         * m4/clock_time.m4: Remove trailing blank.
68151         * m4/intmax_t.m4: Likewise.
68152
68153 2003-07-10  Jim Meyering  <jim@meyering.net>
68154
68155         * lib/vasnprintf.c: Remove trailing blanks.
68156         Make cpp indentation consistent.
68157
68158 2003-07-09  Paul Eggert  <eggert@twinsun.com>
68159
68160         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
68161         posixver.c, strftime.c, strnlen.c, strverscmp.c:
68162         Switch from LGPL to GPL.
68163
68164 2003-07-09  Paul Eggert  <eggert@twinsun.com>
68165
68166         * config/srclist.txt: Sort sublists.  Add
68167         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
68168         that differ from gnulib for one reason or another; we'd like this list
68169         to be smaller but for now let's document what we have.
68170
68171 2003-07-08  Paul Eggert  <eggert@twinsun.com>
68172
68173         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
68174         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
68175         and sweeter "eval x=$x".
68176         * config/srclist.txt: Get lib/argp* from glibc.
68177
68178 2003-07-07  Paul Eggert  <eggert@twinsun.com>
68179
68180         * lib/mktime.c: Fix some boundary cases and remove need for floating
68181         point.
68182
68183         Issue a compile-time diagnostic if time_t is floating point, or if
68184         two's complement arithmetic is not in effect, or if arithmetic
68185         right shift does not propagate the sign.  These assumptions were
68186         all in the original code but they weren't checked.
68187
68188         (TIME_T_MIDPOINT, verify): New macros.
68189         (__isleap): Remove; it has integer overflow problems.
68190         (leapyear): New function, without those problems.
68191         (ydhms_tm_diff): Remove; splitting into two parts.
68192         (ydhms_diff): New function, containing the arithmetic part of
68193         the old ydhms_tm_diff function.  Issue a compile-time
68194         diagnostic if we are not using C99 integer division.
68195         Avoid casts when possible.
68196         (guess_time_tm): New function, containing the checking part of
68197         the old ydhms_tm_diff function.  Return the new value, rather than
68198         the difference between it and the old.  Accept a new argument T
68199         so that *T specifies the old value.  Check for overflow in the result.
68200
68201         (__mktime_internal): Use a time_t offset, not a long int offset.
68202         This undoes the 2003-06-04 change, which is no longer needed now
68203         that we have better overflow checking.
68204         (localtime_offset): Likewise.
68205
68206         (__mktime_internal): Avoid harmful overflow on hosts where time_t
68207         and long are 64-bit but int is only 32-bit.
68208         (ydhms_diff): Use long int to store year1 and yday1.
68209         Issue a compile-time diagnostic if long int is not wide enough.
68210
68211         (__mktime_internal): Use long int to store adjusted year and yday.
68212         Use plain C rather than preprocessor commands, if that doesn't
68213         affect efficiency.
68214         Check for overflow (and try to repair) after each probe
68215         rather than checking only at the very end.  This avoids some bugs
68216         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
68217         does not equal GMT offset at maximum time).
68218         Use integer to check for overflow rather than floating point; this
68219         is more portable to non-IEEE hosts, and is a tad faster.
68220         When we detect that we are oscillating between two values,
68221         don't check whether tm_isdst has the requested value, since
68222         we already know the answer.  When tm_isdst has the wrong value,
68223         use a different heuristic to find the right one, based on the
68224         extreme values actually observed in practice in tz2003a,
68225         rather than the (overly optimistic) "previous 3 calendar quarters".
68226
68227         (not_equal_tm, print_tm, check_result): Use "const T" rather than
68228         "T const" to accommodate glibc style.
68229         (check_result): Use less-confusing report format.  "long" -> "long int.
68230         (main): Likewise.
68231         Don't loop if the iteration overflows time_t.
68232         Allow a negative step in the iteration.
68233
68234 2003-07-06  Karl Berry  <karl@gnu.org>
68235
68236         * config/depcomp: update from automake.
68237         * config/config.sub: update from prep.
68238
68239 2003-07-03  Karl Berry  <karl@gnu.org>
68240
68241         * config/config.guess: update from prep.
68242
68243 2003-07-01  Paul Eggert  <eggert@twinsun.com>
68244
68245         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
68246         xreadlink.c now includes it unconditionally.
68247
68248 2003-07-01  Paul Eggert  <eggert@twinsun.com>
68249
68250         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
68251         having it depend on HAVE_SYS_TYPES_H.
68252
68253 2003-07-01  Bruno Haible  <bruno@clisp.org>
68254
68255         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
68256         <sys/types.h> should be sufficient.
68257         Reported by Paul Eggert.
68258
68259 2003-06-26  Karl Berry  <karl@gnu.org>
68260
68261         * config/depcomp: update from automake.
68262
68263 2003-06-26  Bruno Haible  <bruno@clisp.org>
68264
68265         * modules/human: Depend on module stdbool.
68266
68267 2003-06-25  Bruno Haible  <bruno@clisp.org>
68268
68269         * modules/readlink: New file.
68270         * modules/xreadlink: Depend on it.
68271         * MODULES.html.sh (func_all_modules): Add readlink.
68272
68273 2003-06-25  Bruno Haible  <bruno@clisp.org>
68274
68275         * m4/readlink.m4: New file.
68276
68277 2003-06-25  Bruno Haible  <bruno@clisp.org>
68278
68279         * lib/readlink.c: New file.
68280
68281 2003-06-22  Karl Berry  <karl@gnu.org>
68282
68283         * config/srclist.txt: update mkinstalldirs from automake.
68284         * config/mkinstalldirs: update.
68285
68286 2003-06-22  Bruno Haible  <bruno@clisp.org>
68287
68288         Portability to mingw32.
68289         * m4/ssize_t.m4: New file, from GNU gettext.
68290         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
68291         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
68292
68293 2003-06-22  Bruno Haible  <bruno@clisp.org>
68294
68295         * modules/safe-read: Add m4/ssize_t.m4.
68296         * modules/xreadlink: Add m4/ssize_t.m4.
68297
68298 2003-06-20  Bruno Haible  <bruno@clisp.org>
68299
68300         Assume C89, so PARAMS isn't needed.
68301         * lib/unicodeio.h (PARAMS): Remove.
68302         * lib/unicodeio.c: Don't use PARAMS.
68303
68304 2003-06-18  Karl Berry  <karl@gnu.org>
68305
68306         * config/config.{guess,sub}: update from prep.
68307
68308 2003-06-18  Jim Meyering  <jim@meyering.net>
68309
68310         Merge changes from coreutils.
68311         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
68312         Remove explicit declarations of xmalloc and realloc.
68313         Include xalloc.h.
68314         (read_utmp): Remove anachronistic cast of xmalloc.
68315
68316 2003-06-17  Paul Eggert  <eggert@twinsun.com>
68317
68318         Assume C89, so PARAMS isn't needed.
68319         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
68320         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
68321         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
68322         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
68323         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
68324         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
68325         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
68326         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
68327         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
68328         lib/xstrtod.h, lib/xstrtol.h: Likewise.
68329         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
68330         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
68331         no longer needed. Anyway, config.h should always be included before any
68332         other file.
68333
68334 2003-06-11  Simon Josefsson  <jas@extundo.com>
68335
68336         * modules/sysexits: New file.
68337         * MODULES.html.sh (func_all_modules): Add sysexits.
68338
68339 2003-06-11  Simon Josefsson  <jas@extundo.com>
68340
68341         * lib/sysexit_.h: New file.
68342
68343 2003-06-11  Derek Price  <derek@ximbiot.com>
68344
68345         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
68346         necessary.
68347
68348 2003-06-11  Bruno Haible  <bruno@clisp.org>
68349
68350         * m4/sysexits.m4: New file.
68351
68352 2003-06-10  Simon Josefsson  <jas@extundo.com>
68353
68354         * lib/argp.h: New file, from glibc.
68355         * lib/argp-ba.c: New file, from glibc.
68356         * lib/argp-eexst.c: New file, from glibc.
68357         * lib/argp-fmtstream.c: New file, from glibc.
68358         * lib/argp-fmtstream.h: New file, from glibc.
68359         * lib/argp-fs-xinl.c: New file, from glibc.
68360         * lib/argp-help.c: New file, from glibc.
68361         * lib/argp-namefrob.h: New file, from glibc.
68362         * lib/argp-parse.c: New file, from glibc.
68363         * lib/argp-pv.c: New file, from glibc.
68364         * lib/argp-pvh.c: New file, from glibc.
68365         * lib/argp-xinl.c: New file, from glibc.
68366
68367 2003-06-10  Simon Josefsson  <jas@extundo.com>
68368
68369         * modules/strchrnul: New file.
68370
68371 2003-06-10  Simon Josefsson  <jas@extundo.com>
68372
68373         * modules/argp: New file.
68374
68375 2003-06-10  Simon Josefsson  <jas@extundo.com>
68376
68377         * m4/strchrnul.m4: New file.
68378
68379 2003-06-10  Simon Josefsson  <jas@extundo.com>
68380
68381         * lib/strchrnul.h: New file.
68382         * lib/strchrnul.c: New file.
68383
68384 2003-06-10  Bruno Haible  <bruno@clisp.org>
68385
68386         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
68387
68388 2003-06-07  Karl Berry  <karl@gnu.org>
68389
68390         * config/config.{guess,sub}: update from prep.
68391
68392 2003-06-07  Jim Meyering  <jim@meyering.net>
68393
68394         * modules/strtod: Use $(...) notation, not @...@ for
68395         AC_REPLACE'd variables.
68396         * modules/localcharset: Likewise.
68397
68398 2003-06-07  Jim Meyering  <jim@meyering.net>
68399
68400         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
68401         in place of my name in the copyright comment.
68402         Remove definition and uses of __P.
68403
68404         From coreutils.
68405         * lib/stat.c: Don't declare xmalloc explicitly.
68406         Instead, include "xalloc.h".
68407         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
68408         xrealloc, and xcalloc return values.
68409         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
68410         Improve comment.
68411         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
68412
68413 2003-06-07  Bruno Haible  <bruno@clisp.org>
68414
68415         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
68416         avoid AC_CONFIG_LINKS.
68417         * modules/fnmatch (Makefile.am): Use explicit creation rule for
68418         fnmatch.h, to avoid AC_CONFIG_LINKS.
68419         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
68420
68421 2003-06-07  Bruno Haible  <bruno@clisp.org>
68422
68423         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
68424         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
68425         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
68426         directory.
68427         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
68428         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
68429         directory.
68430
68431 2003-06-06  Jim Meyering  <jim@meyering.net>
68432
68433         Merge from coreutils.
68434         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
68435         Consolidate declarations and initializations of *_base* locals.
68436
68437         Merge from coreutils.
68438         This avoids a core dump on systems without GNU putenv,
68439         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
68440         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
68441         (unsetenv): New static function, from GNU libc.
68442         (rpl_putenv): Use it.
68443
68444         * lib/modechange.c: Remove trailing blanks.
68445
68446         Merge from coreutils.
68447         * lib/fsusage.c: Remove declaration of statfs.
68448         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
68449
68450         * lib/posixtm.c: Include <stdbool.h> unconditionally.
68451
68452 2003-06-06  Jim Meyering  <jim@meyering.net>
68453
68454         * lib/stdbool_.h: Renamed from stdbool.h.in.
68455
68456 2003-06-06  Jim Meyering  <jim@meyering.net>
68457             Bruno Haible  <bruno@clisp.org>
68458
68459         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
68460         Adjust Makefile.am snippet not to redirect directly to target.
68461         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
68462
68463 2003-06-05  Paul Eggert  <eggert@twinsun.com>
68464
68465         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
68466         mismatch, look in future quarters as well as past.  This fixes a
68467         bug when processing fall-backwards gaps immediately after a long
68468         period of daylight-saving time.
68469
68470         * lib/mktime.c: Assume freestanding C89 or better.
68471         (HAVE_LIMITS_H): Remove.  Assume it's 1.
68472         (__P): Remove; not used.
68473         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
68474         (mktime, not_equal_tm, print_tm, check_result,
68475         main): Use prototypes.  Use const * where appropriate.
68476         (main): Fix typo in testing code that uncovered by above changes.
68477         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
68478
68479 2003-06-04  Paul Eggert  <eggert@twinsun.com>
68480
68481         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
68482         locale.h, localeconv.  This merges changes from coreutils.
68483
68484         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
68485         It can be removed after the next Autoconf is released.
68486         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
68487         needed.
68488
68489 2003-06-04  Paul Eggert  <eggert@twinsun.com>
68490
68491         * lib/mktime.c: Fix Debian bug 177940
68492         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
68493         (localtime_offset): Now long int, not time_t, because we want it
68494         to be guaranteed to be signed.  All uses changed.
68495         (__mktime_internal): If overflow would occur when adding offset,
68496         don't add it.
68497
68498         Merge 'human' changes from coreutils.  Rewrite to support
68499         locale-specific notations like thousands separators.
68500         * lib/human.c: Simplify authorship notice.
68501         Include human.h immediately after config.h.
68502         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
68503         <limits.h>: Do not include, since human.h does.
68504         (SIZE_MAX, UINTMAX_MAX): New macros.
68505         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
68506         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
68507         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
68508         (power_letter): Renamed from suffixes.
68509         (generate_suffix_backwards): Remove.
68510         (adjust_value): Now takes int style (because of human.h changes)
68511         and long double value (for greater precision on some platforms).
68512         (group_number): New function.
68513         (human_readable): Use it.  Use integer options, not enum.
68514         Put the options before the sizes in the arg list.
68515         Support all the new options.
68516         The old human_readable function has been removed;
68517         use inttostr.h instead.
68518         (human_readable, default_block_size, humblock):
68519         Use uintmax_t, not int, for block sizes.
68520         (human_readable_inexact, block_size_types): Remove.
68521         (block_size_opts): New constant.
68522         (human_options): Renamed from human_block_size, with new signature
68523         that allows block sizes up to UINTMAX_MAX.  All callers changed.
68524         * lib/human.h: Add copyright and authorship notice.
68525         Include <limits.h> and <stdbool.h> unconditionally.
68526         (PARAMS): Remove.  All uses removed.
68527         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
68528         (enum human_inexact_style): Remove tag; now a nameless enum.
68529         (human_floor, human_ceiling, human_round_to_even): Now have
68530         values 2, 0, 1 rather than -1, 1, 0.
68531         (human_group_digits, human_suppress_point_zero, human_autoscale,
68532         human_base_1024, human_SI, human_B): New constants.
68533         (human_readable_inexact, human_block_size): Remove.
68534         (human_readable): Size args are now uintmax_t, not int.
68535         (human_options): New decl.
68536
68537         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
68538         unnecessary now that we assume C89 or better.  This change
68539         imported from coreutils.
68540
68541         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
68542         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
68543         in the 2003-05-30 sync from glibc.
68544
68545         .h files should stand alone, but we shouldn't include <sys/types.h>
68546         if we can get away with just <stddef.h>.
68547
68548         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
68549         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
68550         rather than <sys/types.h>, as we merely need size_t.
68551         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
68552         to get size_t.
68553         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
68554         Include <stdio.h>, to get FILE.
68555         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
68556         memcasecmp.h has included <stddef.h> and all we need is size_t.
68557         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
68558         our interface, instead of including <sys/types.h>
68559
68560 2003-06-04  Paul Eggert  <eggert@twinsun.com>
68561
68562         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
68563         now, as glibc mktime is buggy on non-glibc systems.
68564
68565 2003-06-03  Karl Berry  <karl@gnu.org>
68566
68567         * config/config.sub: update from prep.
68568
68569 2003-06-02  Paul Eggert  <eggert@twinsun.com>
68570
68571         [from coreutils]
68572         Fix some minor time-related bugs with POSIX time arguments.
68573         Some valid time stamps were being rejected (notably -1, and
68574         time stamps before 1900 on 64-bit hosts).  And some invalid
68575         time stamps were being accepted, e.g. September 31.
68576
68577         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
68578         that we can return (time_t) -1 successfully.
68579         * lib/posixtm.c: Likewise.
68580         [HAVE_STDBOOL_H]: Include <stdbool.h>.
68581         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
68582         (t): Remove static var.
68583         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
68584         of static var.  All uses changed.
68585         (year): Do not reject years before 1900; they can occur with
68586         64-bit time_t.
68587         (posix_time_parse): Do not check for out-of-range components;
68588         that is now the caller's responsibility, since our checks were
68589         only approximations.
68590         (posixtime): Use mktime to check for out-of-range components,
68591         since it knows them exactly.
68592         If mktime returns (time_t) -1, check whether an error actually occurred
68593         by invoking localtime on -1.
68594         (main) [TEST_POSIXTIME]: Check for input data errors, and report
68595         posixtime failures better.
68596         Improve the test data (in comments only).
68597
68598 2003-06-02  Karl Berry  <karl@gnu.org>
68599
68600         * config/mkinstalldirs (version): new variable.
68601         (--version): new option.
68602         (usage): improve message.
68603
68604 2003-05-30  Karl Berry  <karl@gnu.org>
68605
68606         * lib/mktime.c: update from libc.
68607
68608 2003-05-30  Bruno Haible  <bruno@clisp.org>
68609
68610         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
68611         * config/config.rpath: Upgrade to gettext-0.12.1.
68612
68613 2003-05-30  Bruno Haible  <bruno@clisp.org>
68614
68615         * m4/gettext.m4: Upgrade to gettext-0.12.1.
68616         * m4/nls.m4: New file, from gettext-0.12.1.
68617         * m4/po.m4: New file, from gettext-0.12.1.
68618         * m4/progtest.m4: Upgrade to gettext-0.12.1.
68619
68620 2003-05-30  Bruno Haible  <bruno@clisp.org>
68621
68622         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
68623         * lib/localcharset.h: Likewise.
68624         * lib/localcharset.c: Likewise.
68625
68626 2003-05-29  Karl Berry  <karl@gnu.org>
68627
68628         * config/config.rpath: update from gettext.
68629
68630 2003-05-28  Paul Eggert  <eggert@twinsun.com>
68631
68632         Assume the headers required for C89 freestanding compilers.
68633         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
68634         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
68635         * m4/human.m4 (gl_HUMAN): Likewise.
68636         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
68637         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
68638         * m4/userspec.m4 (gl_USERSPEC): Likewise.
68639         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
68640         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
68641         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
68642
68643 2003-05-28  Paul Eggert  <eggert@twinsun.com>
68644
68645         Assume the headers required for C89 freestanding compilers.
68646         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
68647         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
68648         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
68649         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
68650         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
68651         define, since <limits.h> is guaranteed to do that.
68652         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
68653         * lib/exclude.c: Include <stdbool.h> unconditionally.
68654         * lib/tempname.c: Include <stddef.h> unconditionally.
68655         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
68656         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
68657         <stddef.h> does that.
68658         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
68659         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
68660         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
68661         needed.
68662         * lib/xstrtol.c: Likewise.
68663         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
68664         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
68665
68666         * lib/addext.c (addext): Use assignment rather than cast, to avoid
68667         warnings on some platforms.
68668
68669         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
68670         arbitrarily.
68671
68672 2003-05-26  Jim Meyering  <jim@meyering.net>
68673
68674         Merge in a change from coreutils:
68675         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
68676         that is guaranteed to be `no'.  Use `no_such_member' to indicate
68677         that condition, rather than `-1' which is slightly misleading.
68678         Change the name of the cache variable to have the gl_ prefix.
68679         Prompted by a patch from Richard Dawe for DJGPP.
68680
68681 2003-05-24  Karl Berry  <karl@gnu.org>
68682
68683         * config/config.guess: update from prep.
68684
68685 2003-05-22  Karl Berry  <karl@gnu.org>
68686
68687         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
68688
68689 2003-05-20  Karl Berry  <karl@gnu.org>
68690
68691         * config/config.guess: update from prep.
68692
68693 2003-05-18  Karl Berry  <karl@gnu.org>
68694
68695         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
68696         might actually be set by the user.
68697
68698         * config/depcomp, install-sh, mdate-sh: update from automake.
68699
68700 2003-05-17  Bruno Haible  <bruno@clisp.org>
68701
68702         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
68703         invalid expansion for AC_EGREP_CPP.
68704         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
68705         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
68706         Suggested by Akim Demaille <akim@epita.fr> in
68707         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
68708
68709 2003-05-12  Jim Meyering  <jim@meyering.net>
68710
68711         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
68712         the space-padded-by-default conversion specifiers, %e, %k, %l.
68713
68714 2003-05-12  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
68717         the string is longer than 4 KB.
68718
68719 2003-05-11  Karl Berry  <karl@gnu.org>
68720
68721         * config/config.{guess,sub}: update from prep.
68722
68723 2003-05-09  Bruno Haible  <bruno@clisp.org>
68724
68725         * modules/error: Add m4/strerror_r.m4 to file list.
68726
68727 2003-05-03  Bruno Haible  <bruno@clisp.org>
68728
68729         Upgrade to Unicode-4.0.
68730         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
68731         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
68732         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
68733         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
68734         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
68735         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
68736         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
68737         Change width of U+E0100..U+E01EF from 1 to 0.
68738
68739 2003-04-25  Jim Meyering  <jim@meyering.net>
68740
68741         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
68742         of type size_t, not int.
68743
68744 2003-04-25  Bruno Haible  <bruno@clisp.org>
68745
68746         * lib/copy-file.c: Include <stddef.h>, for size_t.
68747
68748 2003-04-21  Paul Eggert  <eggert@twinsun.com>
68749
68750         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
68751         code which expansion is under static control.  Patch imported from
68752         Akim Demaille's patch to Bison; see
68753         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
68754
68755 2003-04-14  Bruno Haible  <bruno@clisp.org>
68756
68757         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
68758
68759 2003-04-11  Jim Meyering  <jim@meyering.net>
68760
68761         Merge changes from Coreutils.
68762
68763         2003-03-22  Jim Meyering  <jim@meyering.net>
68764
68765         * lib/strftime.c (widen): Cast alloca return value to proper type.
68766
68767         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
68768
68769         From GNU libc.
68770         * lib/strftime.c (my_strftime): Handle very large width
68771         specifications for numeric values correctly.  Improve checks for
68772         overflow.
68773
68774         2003-01-19  Jim Meyering  <jim@meyering.net>
68775
68776         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
68777         definitions.
68778         (nl_get_alt_digit) [! defined my_strftime]: Define.
68779         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
68780         _nl_get_alt_digit and _nl_get_walt_digit.
68781
68782         * lib/strftime.c (my_strftime): Merge in locale-related changes from
68783         libc. These changes have no effect outside of _LIBC.
68784
68785 2003-04-10  Bruno Haible  <bruno@clisp.org>
68786
68787         * modules/findprog: New file.
68788         * MODULES.html.sh (func_all_modules): Add it.
68789
68790 2003-04-10  Bruno Haible  <bruno@clisp.org>
68791
68792         * m4/findprog.m4: New file.
68793         * m4/eaccess.m4: New file.
68794
68795 2003-04-10  Bruno Haible  <bruno@clisp.org>
68796
68797         * lib/findprog.h: New file, from GNU gettext.
68798         * lib/findprog.c: New file, from GNU gettext.
68799
68800 2003-04-05  Jim Meyering  <jim@meyering.net>
68801
68802         Merge changes from Coreutils.
68803
68804         * lib/exclude.h (PARAMS): Remove definition and uses.
68805         * lib/exclude.c: Remove uses of `PARAMS'.
68806
68807         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
68808         Add test-cases for DOS filenames. Declare program_name.
68809         (main): Set up program_name.  Patch by Rich Dawe.
68810
68811         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
68812         error from mntctl.
68813         Use mntctl's return value to drive the entry-processing loop, since
68814         we can't rely on the value of the vmt_length member in the last
68815         entry.  On some systems doing so could result in exhausting
68816         virtual memory.  Based in part on a patch from Mike Jetzer.
68817
68818 2003-04-04  Bruno Haible  <bruno@clisp.org>
68819
68820         * modules/linebreak: New file.
68821         * MODULES.html.sh (func_all_modules): Add it.
68822
68823 2003-04-04  Bruno Haible  <bruno@clisp.org>
68824
68825         * m4/linebreak.m4: New file.
68826
68827 2003-04-04  Bruno Haible  <bruno@clisp.org>
68828
68829         * lib/linebreak.h: New file, from GNU gettext.
68830         * lib/linebreak.c: New file, from GNU gettext with slight
68831         modifications.
68832         * lib/lbrkprop.h: New file, from GNU gettext.
68833
68834 2003-04-03  Bruno Haible  <bruno@clisp.org>
68835
68836         * modules/utf8-ucs4: New file.
68837         * modules/utf16-ucs4: New file.
68838         * modules/ucs4-utf8: New file.
68839         * modules/ucs4-utf16: New file.
68840         * MODULES.html.sh (func_all_modules): Add them.
68841
68842 2003-04-03  Bruno Haible  <bruno@clisp.org>
68843
68844         * m4/utf-ucs4.m4: New file.
68845         * m4/ucs4-utf.m4: New file.
68846
68847 2003-04-03  Bruno Haible  <bruno@clisp.org>
68848
68849         * lib/utf8-ucs4.h: New file, from GNU gettext.
68850         * lib/utf16-ucs4.h: New file, from GNU gettext.
68851         * lib/ucs4-utf8.h: New file, from GNU gettext.
68852         * lib/ucs4-utf16.h: New file, from GNU gettext.
68853
68854 2003-04-02  Bruno Haible  <bruno@clisp.org>
68855
68856         * modules/binary-io: New file.
68857         * MODULES.html.sh (func_all_modules): Add it.
68858
68859 2003-04-02  Bruno Haible  <bruno@clisp.org>
68860
68861         * lib/binary-io.h: New file, from GNU gettext.
68862
68863 2003-04-01  Bruno Haible  <bruno@clisp.org>
68864
68865         * modules/pathname: New file.
68866         * MODULES.html.sh (func_all_modules): Add it.
68867
68868 2003-04-01  Bruno Haible  <bruno@clisp.org>
68869
68870         * lib/pathname.h: New file, from GNU gettext.
68871         * lib/concatpath.c: New file, from GNU gettext.
68872
68873 2003-03-30  Bruno Haible  <bruno@clisp.org>
68874
68875         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
68876
68877 2003-03-30  Bruno Haible  <bruno@clisp.org>
68878
68879         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
68880         function chown() doesn't exist.
68881
68882 2003-03-28  Bruno Haible  <bruno@clisp.org>
68883
68884         * modules/copy-file: New file.
68885         * MODULES.html.sh (func_all_modules): Add it.
68886
68887 2003-03-28  Bruno Haible  <bruno@clisp.org>
68888
68889         * m4/copy-file.m4: New file.
68890
68891 2003-03-28  Bruno Haible  <bruno@clisp.org>
68892
68893         * lib/copy-file.h: New file, from GNU gettext.
68894         * lib/copy-file.c: New file, from GNU gettext.
68895
68896 2003-03-18  Jim Meyering  <jim@meyering.net>
68897
68898         * lib/quote.c (quote_n): Fix typo in comment.
68899
68900 2003-03-18  Bruno Haible  <bruno@clisp.org>
68901
68902         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
68903         checking.
68904         * m4/onceonly_2_57.m4: Likewise.
68905
68906 2003-03-17  Bruno Haible  <bruno@clisp.org>
68907
68908         * m4/onceonly.m4: Require autoconf 2.54 or newer.
68909         (m4_quote): Remove macro.
68910         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
68911
68912 2003-03-14  Jim Meyering  <jim@meyering.net>
68913
68914         Merge changes from Coreutils.
68915         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
68916         to be const, in order to avoid warnings.
68917         (obstack_room): Likewise.
68918         (obstack_empty_p): Likewise.
68919
68920 2003-03-14  Bruno Haible  <bruno@clisp.org>
68921
68922         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
68923         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
68924
68925 2003-03-13  Paul Eggert  <eggert@twinsun.com>
68926
68927         Merge changes from Bison.
68928         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
68929         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
68930         when compiling Bison 1.875's `bitset bset = obstack_alloc
68931         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
68932         * lib/hash.c: Include <stdbool.h> unconditionally.
68933
68934 2003-03-13  Paul Eggert  <eggert@twinsun.com>
68935
68936         * m4/onceonly.m4 (m4_quote): New macro.
68937         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
68938         Quote AC_FOREACH variable-expansions properly.
68939
68940 2003-03-13  Paul Eggert  <eggert@twinsun.com>
68941
68942         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
68943
68944 2003-03-09  Paul Eggert  <eggert@twinsun.com>
68945
68946         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
68947         Reported by Bruce Becker; see:
68948         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
68949
68950 2003-03-03  Paul Eggert  <eggert@twinsun.com>
68951             Bruno Haible  <bruno@clisp.org>
68952
68953         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
68954         Reported by John Hughes, see
68955         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
68956
68957 2003-02-20  Bruno Haible  <bruno@clisp.org>
68958
68959         * MODULES.html.sh (func_all_modules): Add poll.
68960
68961 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
68962
68963         * modules/poll: New file.
68964
68965 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
68966
68967         * lib/poll_.h: New file.
68968         * lib/poll.c: New file.
68969
68970 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
68971
68972         * m4/poll.m4: New file.
68973
68974 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
68975
68976         * modules/mathl: New file.
68977
68978 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
68979
68980         * lib/mathl.h: New file.
68981         * lib/acosl.c: New file.
68982         * lib/asinl.c: New file.
68983         * lib/atanl.c: New file.
68984         * lib/ceill.c: New file.
68985         * lib/cosl.c: New file.
68986         * lib/expl.c: New file.
68987         * lib/floorl.c: New file.
68988         * lib/frexpl.c: New file.
68989         * lib/ldexpl.c: New file.
68990         * lib/logl.c: New file.
68991         * lib/sincosl.c: New file.
68992         * lib/sinl.c: New file.
68993         * lib/sqrtl.c: New file.
68994         * lib/tanl.c: New file.
68995         * lib/trigl.c: New file.
68996         * lib/trigl.h: New file.
68997
68998 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
68999
69000         * m4/mathl.m4: New file.
69001
69002 2003-02-18  Bruno Haible  <bruno@clisp.org>
69003
69004         * MODULES.html.sh (func_all_modules): Add mathl.
69005
69006 2003-02-17  Bruno Haible  <bruno@clisp.org>
69007
69008         * modules/mkdtemp: New module.
69009         * MODULES.html.sh (func_all_modules): Add it.
69010
69011 2003-02-17  Bruno Haible  <bruno@clisp.org>
69012
69013         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
69014
69015 2003-02-17  Bruno Haible  <bruno@clisp.org>
69016
69017         * lib/mkdtemp.h: New file, from GNU gettext.
69018         * lib/mkdtemp.c: New file, from GNU gettext.
69019
69020 2003-02-02  Jim Meyering  <jim@meyering.net>
69021
69022         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
69023         e.g. glibc-2.2.93.
69024
69025 2003-01-31  Bruno Haible  <bruno@clisp.org>
69026
69027         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
69028         'rpl_rename'.
69029         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
69030         'rpl_strnlen'.
69031         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
69032         'rpl_strtod'.
69033         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
69034         'rpl_utime'.
69035
69036 2003-01-31  Bruno Haible  <bruno@clisp.org>
69037
69038         * lib/rename.c: #undef rename before defining rpl_rename.
69039         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
69040
69041 2003-01-30  Bruno Haible  <bruno@clisp.org>
69042
69043         * modules/vasnprintf, modules/vasprintf: New modules.
69044         * MODULES.html.sh (func_all_modules): Add them.
69045
69046 2003-01-30  Bruno Haible  <bruno@clisp.org>
69047
69048         * m4/signed.m4: New file, from GNU gettext.
69049         * m4/longdouble.m4: New file, from GNU gettext.
69050         * m4/wchar_t.m4: New file, from GNU gettext.
69051         * m4/wint_t.m4: New file, from GNU gettext.
69052         * m4/vasnprintf.m4: New file.
69053         * m4/vasprintf.m4: New file.
69054
69055 2003-01-30  Bruno Haible  <bruno@clisp.org>
69056
69057         * lib/printf-args.h: New file, from GNU gettext.
69058         * lib/printf-args.c: New file, from GNU gettext.
69059         * lib/printf-parse.h: New file, from GNU gettext.
69060         * lib/printf-parse.c: New file, from GNU gettext.
69061         * lib/vasnprintf.h: New file, from GNU gettext.
69062         * lib/vasnprintf.c: New file, from GNU gettext.
69063         * lib/asnprintf.c: New file, from GNU gettext.
69064         * lib/vasprintf.h: New file, from GNU gettext with modifications.
69065         * lib/vasprintf.c: New file, from GNU gettext.
69066         * lib/asprintf.c: New file, from GNU gettext.
69067
69068 2003-01-29  Bruno Haible  <bruno@clisp.org>
69069
69070         * modules/stpncpy: New module.
69071         * MODULES.html.sh (func_all_modules): Add it.
69072
69073 2003-01-29  Bruno Haible  <bruno@clisp.org>
69074
69075         * m4/stpncpy.m4: New file.
69076
69077 2003-01-29  Bruno Haible  <bruno@clisp.org>
69078
69079         * lib/stpncpy.h: New file, from GNU gettext with modifications.
69080         * lib/stpncpy.c: New file, from GNU gettext with modifications.
69081
69082 2003-01-28  Bruno Haible  <bruno@clisp.org>
69083
69084         * modules/c-ctype: New module.
69085         * MODULES.html.sh (func_all_modules): Add it.
69086
69087 2003-01-28  Bruno Haible  <bruno@clisp.org>
69088
69089         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
69090         Paul Eggert.
69091         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
69092         Paul Eggert.
69093
69094 2003-01-27  Bruno Haible  <bruno@clisp.org>
69095
69096         * modules/xsetenv: New module.
69097         * MODULES.html.sh (func_all_modules): Add it.
69098
69099 2003-01-27  Bruno Haible  <bruno@clisp.org>
69100
69101         * lib/xsetenv.h: New file, from GNU gettext.
69102         * lib/xsetenv.c: New file, from GNU gettext.
69103
69104 2003-01-23  Jim Meyering  <jim@meyering.net>
69105
69106         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
69107         from working on systems without dirfd (at least Irix and OSF1/Tru64).
69108
69109 2003-01-23  Bruno Haible  <bruno@clisp.org>
69110
69111         * modules/minmax: New module.
69112         * MODULES.html.sh (func_all_modules): Add it.
69113
69114 2003-01-23  Bruno Haible  <bruno@clisp.org>
69115
69116         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
69117         Eggert.
69118
69119 2003-01-22  Bruno Haible  <bruno@clisp.org>
69120
69121         * modules/exit: New module.
69122         * MODULES.html.sh (func_all_modules): Add it.
69123
69124 2003-01-22  Bruno Haible  <bruno@clisp.org>
69125
69126         * lib/exit.h: New file, from GNU gettext.
69127
69128 2003-01-19  Bruno Haible  <bruno@clisp.org>
69129
69130         * gnulib-tool: Recognize option --extract-maintainer.
69131         (func_get_maintainer): New function.
69132         * modules/*: Add Maintainer entry.
69133
69134 2003-01-16  Jim Meyering  <jim@meyering.net>
69135
69136         * m4/regex.m4: The `regex' struct is both input and output.
69137         Initialize it before each use.  Patch by Tim Waugh.
69138
69139 2003-01-16  Bruno Haible  <bruno@clisp.org>
69140
69141         * MODULES.html.sh: Add a table of contents. Add the module name as
69142         leftmost column. Add hyperlinks.
69143
69144 2003-01-15  Bruno Haible  <bruno@clisp.org>
69145
69146         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
69147
69148 2003-01-15  Bruno Haible  <bruno@clisp.org>
69149
69150         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
69151         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
69152         suffix.
69153
69154 2003-01-15  Bruno Haible  <bruno@clisp.org>
69155
69156         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
69157
69158 2003-01-15  Bruno Haible  <bruno@clisp.org>
69159
69160         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
69161         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
69162
69163 2003-01-14  Jim Meyering  <jim@meyering.net>
69164
69165         * lib/same.c (same_name): Tweak a comment.
69166
69167 2003-01-14  Bruno Haible  <bruno@clisp.org>
69168
69169         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
69170         when a string comparison is sufficient.
69171
69172 2003-01-14  Bruno Haible  <bruno@clisp.org>
69173
69174         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
69175         'unsigned int'.
69176
69177 2003-01-14  Bruno Haible  <bruno@clisp.org>
69178
69179         * lib/hash-pjw.c: Add comment about low quality of this function.
69180
69181 2003-01-13  Bruno Haible  <bruno@clisp.org>
69182
69183         * modules/stpcpy: Distribute lib/stpcpy.h.
69184         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
69185
69186 2003-01-13  Bruno Haible  <bruno@clisp.org>
69187
69188         * modules/*: Add a description.
69189         * modules/strpbrk: Fix Makefile.am snippet.
69190         * modules/strtoimax: Fix dependencies.
69191         * modules/strtoumax: Likewise.
69192
69193 2003-01-13  Bruno Haible  <bruno@clisp.org>
69194
69195         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
69196         * modules/alloca (Makefile.am): All object files depend on alloca.h.
69197         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
69198
69199 2003-01-13  Bruno Haible  <bruno@clisp.org>
69200
69201         * gnulib-tool (func_create_testdir): Store config/* files in the main
69202         directory.
69203         * config.rpath: Move to ...
69204         * config/config.rpath: ... here.
69205         * modules/gettext: Contains config/config.rpath, not config.rpath.
69206         * modules/iconv: Likewise.
69207
69208 2003-01-12  Paul Eggert  <eggert@twinsun.com>
69209
69210         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
69211         to avoid collisions with libcurses and libreadline.
69212
69213         * m4/getstr.m4: Remove.
69214         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
69215
69216 2003-01-12  Paul Eggert  <eggert@twinsun.com>
69217
69218         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
69219         to avoid collisions with libcurses and libreadline.
69220
69221         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
69222         * lib/getstr.h, getstr.c: Remove.
69223         * lib/getline.c: Include "getline.h", to check interface.
69224         Move body of old getstr.c here: this defines MIN_CHUNK and
69225         declares getdelim2, which is renamed from getstr.
69226         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
69227
69228         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
69229         All uses changed.
69230         * lib/linebuffer.h: Likewise.
69231         (readline): Remove backward-compatibility macro.
69232
69233 2003-01-12  Paul Eggert  <eggert@twinsun.com>
69234
69235         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
69236         to avoid collisions with libcurses and libreadline.
69237         * getstr: Remove.
69238         * MODULES.html.sh: Remove getstr.
69239         * modules/getline: Depend on unlocked-io, not getstr.
69240
69241 2003-01-12  Jim Meyering  <jim@meyering.net>
69242
69243         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
69244
69245 2003-01-10  Bruno Haible  <bruno@clisp.org>
69246
69247         * modules/alloca: Change Makefile.am requirements. Simplify Include
69248         requirements. Add lib/alloca_.h to file list.
69249
69250 2003-01-10  Bruno Haible  <bruno@clisp.org>
69251
69252         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
69253
69254 2003-01-10  Bruno Haible  <bruno@clisp.org>
69255
69256         * lib/alloca_.h: New file.
69257         * lib/getdate.y: Unconditionally include alloca.h.
69258         * lib/makepath.c: Likewise.
69259         * lib/setenv.c: Likewise.
69260         * lib/userspec.c: Likewise.
69261
69262 2003-01-09  Karl Berry  <karl@gnu.org>
69263
69264         * MODULES.html.sh: include `dirname $0` in PATH, to find
69265         gnulib-tool.
69266
69267 2003-01-09  Bruno Haible  <bruno@clisp.org>
69268
69269         * modules/stdbool: Change configure.ac, Makefile.am requirements.
69270         Simplify Include requirements. Add lib/stdbool.h.in to file list.
69271
69272 2003-01-09  Bruno Haible  <bruno@clisp.org>
69273
69274         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
69275
69276 2003-01-09  Bruno Haible  <bruno@clisp.org>
69277
69278         * lib/stdbool.h.in: New file.
69279
69280 2003-01-09  Bruno Haible  <bruno@clisp.org>
69281
69282         * gnulib-tool (func_all_modules): Ignore files ending in ~.
69283         * MODULES.html.sh: Likewise.
69284
69285 2003-01-08  Jim Meyering  <jim@meyering.net>
69286
69287         * lib/full-write.c: Undefine and define-away `const' after inclusion
69288         of errno.h, not before.  Suggestion from Bruno Haible.
69289
69290 2003-01-08  Bruno Haible  <bruno@clisp.org>
69291
69292         * modules/full-read: Depend on full-write.
69293
69294 2003-01-08  Bruno Haible  <bruno@clisp.org>
69295
69296         * lib/safe-read.c: Include specification header first, to ensure its
69297         selfcontainedness.
69298         * lib/full-write.c: Likewise.
69299
69300 2003-01-07  Jim Meyering  <jim@meyering.net>
69301
69302         * lib/full-write.c: Rework so that it may serve to define full_read,
69303         too.
69304         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
69305
69306 2003-01-07  Bruno Haible  <bruno@clisp.org>
69307
69308         * lib/strtoimax.c: Include <stdint.h> as an alternative to
69309         <inttypes.h>.
69310         * lib/xstrtol.h: Likewise.
69311         * lib/xstrtoimax.c: Likewise.
69312         * lib/xstrtoumax.c: Likewise.
69313         * lib/human.h: Likewise.
69314
69315         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
69316         on systems that have <inttypes.h> but not <stdint.h>.
69317
69318 2003-01-07  Bruno Haible  <bruno@clisp.org>
69319
69320         * MODULES.html.sh: Add copyright notice.
69321         (missed_files): Omit CVS directory entries.
69322         (func_module): Make it work with sed-3.02.
69323         * MODULES.txt: Remove file.
69324
69325 2003-01-06  Jim Meyering  <jim@meyering.net>
69326
69327         * lib/version-etc.c: Update year in translatable copyright string.
69328
69329 2003-01-03  Karl Berry  <karl@gnu.org>
69330
69331         * config/config.{guess,sub}: update from prep.
69332
69333 2003-01-02  Karl Berry  <karl@gnu.org>
69334
69335         * doc/COPYING.DOC: belatedly updated to 1.2.
69336
69337 2003-01-01  Karl Berry  <karl@gnu.org>
69338
69339         * gnulib-tool (func_verify_module): report module name $module in
69340         error message, not $1.
69341         * gnulib-tool (create-testdir): don't complain if destdir couldn't
69342         be created, only if it doesn't exist.
69343         * gnulib-tool (last_checkin_date): don't expand the $Date here.
69344
69345 2002-12-31  Paul Eggert  <eggert@twinsun.com>
69346
69347         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
69348
69349 2002-12-31  Paul Eggert  <eggert@twinsun.com>
69350
69351         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
69352         memcmp if strcoll doesn't work.
69353
69354 2002-12-31  Bruno Haible  <bruno@clisp.org>
69355
69356         * lib/utime.c (utime_null): No need to call ftruncate if the file was
69357         nonempty.
69358
69359 2002-12-31  Bruno Haible  <bruno@clisp.org>
69360
69361         * lib/memcoll.c (STRCOLL): New macro.
69362         (memcoll): Use it.
69363
69364 2002-12-31  Bruno Haible  <bruno@clisp.org>
69365
69366         * lib/localcharset.h: New file.
69367         * lib/localcharset.c: Include it.
69368         * lib/unicodeio.c: Likewise.
69369
69370 2002-12-31  Bruno Haible  <bruno@clisp.org>
69371
69372         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
69373         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
69374
69375 2002-12-31  Bruno Haible  <bruno@clisp.org>
69376
69377         * lib/getline.h: Include <stddef.h>, for size_t.
69378
69379         * lib/unicodeio.h: Include <stddef.h>, for size_t.
69380         * lib/unicodeio.c: Don't include <stddef.h>.
69381
69382 2002-12-31  Bruno Haible  <bruno@clisp.org>
69383
69384         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
69385         HAVE_TM_ZONE.
69386
69387 2002-12-24  Karl Berry  <karl@gnu.org>
69388
69389         * config/config.guess: update from prep.
69390
69391 2002-12-24  Bruno Haible  <bruno@clisp.org>
69392
69393         General infrasructure.
69394         * m4/README: Rewritten.
69395         * m4/onceonly.m4: New file.
69396         * m4/onceonly_2_57.m4: New file.
69397
69398         Module atexit.
69399         * m4/atexit.m4: New file.
69400
69401         Module strtod.
69402         * m4/strtod.m4: New file.
69403
69404         Module strtol.
69405         * m4/strtol.m4: New file.
69406
69407         Module strtoul.
69408         * m4/strtoul.m4: New file.
69409
69410         Module memchr.
69411         * m4/memchr.m4: New file.
69412
69413         Module memcmp.
69414         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
69415         (jm_FUNC_MEMCMP): Invoke it.
69416
69417         Module memcpy.
69418         * m4/memcpy.m4: New file.
69419
69420         Module memmove.
69421         * m4/memmove.m4: New file.
69422
69423         Module memset.
69424         * m4/memset.m4: New file.
69425
69426         Module strcspn.
69427         * m4/strcspn.m4: New file.
69428
69429         Module strpbrk.
69430         * m4/strpbrk.m4: New file.
69431
69432         Module strstr.
69433         * m4/strstr.m4: New file.
69434
69435         Module strerror.
69436         * m4/strerror.m4: New file.
69437
69438         Module mktime.
69439         * m4/mktime.m4: Renamed from jm-mktime.m4.
69440         (gl_PREREQ_MKTIME): New macro.
69441         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
69442
69443         Module malloc.
69444         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
69445         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
69446         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
69447
69448         Module realloc.
69449         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
69450         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
69451         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
69452
69453         Module strftime.
69454         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
69455         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
69456         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
69457         gl_TM_GMTOFF.
69458         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
69459
69460         Module xalloc.
69461         * m4/xalloc.m4: New file.
69462
69463         Module alloca.
69464         * m4/alloca.m4: New file.
69465
69466         Module putenv.
69467         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
69468         (jm_FUNC_PUTENV): Invoke it.
69469
69470         Module setenv.
69471         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
69472         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
69473         when invoked twice.
69474         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
69475         gt_FUNC_SETENV.
69476
69477         Module memrchr.
69478         * m4/memrchr.m4: New file.
69479
69480         Module stpcpy.
69481         * m4/stpcpy.m4: New file.
69482
69483         Module strcase.
69484         * m4/strcase.m4: New file.
69485
69486         Module strdup.
69487         * m4/strdup.m4: New file.
69488
69489         Module strnlen.
69490         * m4/strnlen.m4: New file.
69491
69492         Module strndup.
69493         * m4/strndup.m4: New file.
69494
69495         Module xstrtod.
69496         * m4/xstrtod.m4: New file.
69497
69498         Module xstrtol.
69499         * m4/xstrtol.m4: New file.
69500
69501         Module getdate.
69502         * m4/getdate.m4: New file.
69503
69504         Module unlocked-io.
69505         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
69506         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
69507         * m4/jm-glibc-io.m4n: Remove file.
69508
69509         Module long-options.
69510         * m4/long-options.m4: New file.
69511
69512         Module md5.
69513         * m4/md5.m4: New file.
69514
69515         Module sha.
69516         * m4/sha.m4: New file.
69517
69518         Module getstr.
69519         * m4/getstr.m4: New file.
69520
69521         Module getline.
69522         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
69523         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
69524         <sys/types.h>, for size_t. Use the function name gnu_getline, not
69525         simply getline. Infoke gl_PREREQ_GETLINE.
69526
69527         Module obstack.
69528         * m4/obstack.m4: New file.
69529
69530         Module hash.
69531         * m4/hash.m4: New file.
69532
69533         Module readtokens.
69534         * m4/readtokens.m4: New file.
69535
69536         Module strverscmp.
69537         * m4/strverscmp.m4: New file.
69538
69539         Module stdbool.
69540         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
69541         OSF/1.
69542
69543         Module strtoll.
69544         * m4/strtoll.m4: New file.
69545
69546         Module strtoull.
69547         * m4/strtoull.m4: New file.
69548
69549         Module strtoimax.
69550         * m4/strtoimax.m4: New file.
69551
69552         Module strtoumax.
69553         * m4/strtoumax.m4: New file.
69554
69555         Module xstrtoimax.
69556         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
69557         jm_AC_PREREQ_XSTRTOIMAX.
69558         Moved the strtol prerequisites to strtol.m4.
69559         Moved the strtoll prerequisites to strtoll.m4.
69560         Moved the strtoimax prerequisites to strtoimax.m4.
69561
69562         Module xstrtoumax.
69563         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
69564         jm_AC_PREREQ_XSTRTOUMAX.
69565         Moved the strtoul prerequisites to strtoul.m4.
69566         Moved the strtoull prerequisites to strtoull.m4.
69567         Moved the strtoumax prerequisites to strtoumax.m4.
69568
69569         Module chown.
69570         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
69571         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
69572
69573         Module dup2.
69574         * m4/dup2.m4: New file.
69575
69576         Module ftruncate.
69577         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
69578         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
69579
69580         Module getgroups.
69581         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
69582         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
69583
69584         Module gettimeofday.
69585         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
69586         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
69587         gl_PREREQ_GETTIMEOFDAY.
69588
69589         Module mkdir.
69590         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
69591         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
69592
69593         Module mkstemp.
69594         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
69595         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
69596         jm_AC_TYPE_UINTMAX_T.
69597         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
69598
69599         Module stat.
69600         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
69601         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
69602
69603         Module lstat.
69604         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
69605         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
69606
69607         Module timespec.
69608         * m4/timespec.m4 (gl_TIMESPEC): New macro.
69609         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
69610         * m4/st_mtim.m4: Indentation.
69611
69612         Module nanosleep.
69613         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
69614         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
69615         gl_PREREQ_NANOSLEEP.
69616
69617         Module regex.
69618         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
69619         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
69620         (gl_REGEX): New macro.
69621
69622         Module rename.
69623         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
69624         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
69625
69626         Module rmdir.
69627         * m4/rmdir.m4: New file.
69628
69629         Module utime.
69630         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
69631         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
69632         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
69633
69634         Module dirname.
69635         * m4/dirname.m4: New file.
69636
69637         Module getopt.
69638         * m4/getopt.m4: New file.
69639
69640         Module unistd-safer.
69641         * m4/unistd-safer.m4: New file.
69642
69643         Module fnmatch.
69644         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
69645         declaration.
69646         (gl_PREREQ_FNMATCH_EXTRA): New macro.
69647         (gl_FUNC_FNMATCH_POSIX): New macro.
69648         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
69649         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
69650         simply fnmatch.
69651
69652         Module exclude.
69653         * m4/exclude.m4: New file.
69654
69655         Module human.
69656         * m4/human.m4: New file.
69657
69658         Module acl.
69659         * m4/acl.m4: Nop.
69660
69661         Module backupfile.
69662         * m4/backupfile.m4: New file.
69663         * m4/d-ino.m4: Indentation.
69664
69665         Module fsusage.
69666         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
69667         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
69668         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
69669
69670         Module dirfd.
69671         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
69672         requirements.
69673
69674         Module euidaccess.
69675         * m4/euidaccess.m4: New file.
69676
69677         Module file-type.
69678         * m4/file-type.m4: New file.
69679
69680         Module fileblocks.
69681         * m4/fileblocks.m4: New file.
69682
69683         Module filemode.
69684         * m4/filemode.m4: New file.
69685
69686         Module isdir.
69687         * m4/isdir.m4: New file.
69688
69689         Module lchown.
69690         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
69691         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
69692
69693         Module makepath.
69694         * m4/makepath.m4: New file.
69695
69696         Module modechange.
69697         * m4/modechange.m4: New file.
69698
69699         Module mountlist.
69700         * m4/mountlist.m4: New file.
69701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
69702         Indentation.
69703
69704         Module path-concat.
69705         * m4/path-concat.m4: New file.
69706
69707         Module pathmax.
69708         * m4/pathmax.m4: New file.
69709
69710         Module same.
69711         * m4/same.m4: New file.
69712
69713         Module save-cwd.
69714         * m4/save-cwd.m4: New file.
69715
69716         Module savedir.
69717         * m4/savedir.m4: New file.
69718
69719         Module xgetcwd.
69720         * m4/xgetcwd.m4: New file.
69721         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
69722
69723         Module xreadlink.
69724         * m4/xreadlink.m4: New file.
69725
69726         Module safe-read.
69727         * m4/safe-read.m4: New file.
69728
69729         Module safe-write.
69730         * m4/safe-write.m4: New file.
69731
69732         Module closeout.
69733         * m4/closeout.m4: New file.
69734
69735         Module stdio-safer.
69736         * m4/stdio-safer.m4: New file.
69737
69738         Module getpass.
69739         * m4/getpass.m4: New file.
69740
69741         Module getugroups.
69742         * m4/getugroups.m4: New file.
69743
69744         Module group-member.
69745         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
69746         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
69747
69748         Module idcache.
69749         * m4/idcache.m4: New file.
69750
69751         Module userspec.
69752         * m4/userspec.m4: New file.
69753
69754         Module gettime.
69755         * m4/clock_time.m4: New file.
69756         * m4/gettime.m4: New file.
69757
69758         Module settime.
69759         * m4/settime.m4: New file.
69760
69761         Module posixtm.
69762         * m4/posixtm.m4: New file.
69763
69764         Module gethostname.
69765         * m4/gethostname.m4: New file.
69766
69767         Module canon-host.
69768         * m4/canon-host.m4: New file.
69769
69770         Module gettext.
69771         * m4/codeset.m4: New file, from gettext-0.11.5.
69772         * m4/gettext.m4: New file, from gettext-0.11.5.
69773         * m4/glibc21.m4: New file, from gettext-0.11.5.
69774         * m4/iconv.m4: New file, from gettext-0.11.5.
69775         * m4/intdiv0.m4: New file, from gettext-0.11.5.
69776         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
69777         * m4/inttypes.m4: New file, from gettext-0.11.5.
69778         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
69779         * m4/isc-posix.m4: New file, from gettext-0.11.5.
69780         * m4/lcmessage.m4: New file, from gettext-0.11.5.
69781         * m4/lib-ld.m4: New file, from gettext-0.11.5.
69782         * m4/lib-link.m4: New file, from gettext-0.11.5.
69783         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
69784         * m4/progtest.m4: New file, from gettext-0.11.5.
69785         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
69786         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
69787         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
69788
69789         Module localcharset.
69790         * m4/localcharset.m4: New file.
69791
69792         Module hard-locale.
69793         * m4/hard-locale.m4: New file.
69794
69795         Module mbswidth.
69796         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
69797         onceonly macros.
69798         * m4/mbrtowc.m4: Add comment.
69799
69800         Module memcasecmp.
69801         * m4/memcasecmp.m4: New file.
69802
69803         Module memcoll.
69804         * m4/memcoll.m4: New file.
69805
69806         Module unicodeio.
69807         * m4/unicodeio.m4: New file.
69808
69809         Module rpmatch.
69810         * m4/rpmatch.m4: New file.
69811
69812         Module yesno.
69813         * m4/yesno.m4: New file.
69814
69815         Module exitfail.
69816         * m4/exitfail.m4: New file.
69817
69818         Module c-stack.
69819         * m4/c-stack.m4 (gl_C_STACK): New macro.
69820         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
69821
69822         Module error.
69823         * m4/error.m4 (gl_ERROR): New macro.
69824         (jm_PREREQ_ERROR): Use onceonly macros.
69825
69826         Module fatal.
69827         * m4/fatal.m4: New file.
69828
69829         Module getloadavg.
69830         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
69831         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
69832
69833         Module getpagesize.
69834         * m4/getpagesize.m4: New file.
69835
69836         Module getusershell.
69837         * m4/getusershell.m4: New file.
69838
69839         Module physmem.
69840         * m4/physmem.m4: New file.
69841
69842         Module posixver.
69843         * m4/posixver.m4: New file.
69844
69845         Module quotearg.
69846         * m4/quotearg.m4: New file.
69847
69848         Module quote.
69849         * m4/quote.m4: New file.
69850
69851         Module readutmp.
69852         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
69853
69854         Module sig2str.
69855         * m4/sig2str.m4: New file.
69856
69857         Other.
69858         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
69859         ulonglong.m4.
69860         * m4/intmax_t.m4: New file.
69861         * m4/d-type.m4: Indentation.
69862         * m4/jm-macros.m4: Update.
69863         * m4/prereq.m4 (jm_PREREQ): Update.
69864         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
69865         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
69866         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
69867         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
69868         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
69869         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
69870         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
69871         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
69872         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
69873         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
69874         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
69875         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
69876         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
69877         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
69878         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
69879         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
69880         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
69881         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
69882         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
69883
69884 2002-12-24  Bruno Haible  <bruno@clisp.org>
69885
69886         * MODULES.txt: Update according to m4/ changes.
69887
69888         Module gettext.
69889         * config.rpath: New file, from gettext-0.11.5.
69890
69891         * modules/*: New module descriptions.
69892         * gnulib-tool: New file.
69893         * MODULES.html.sh: New file.
69894
69895 2002-12-21  Karl Berry  <karl@gnu.org>
69896
69897         * doc/fdl.texi: update to version 1.2.
69898
69899 2002-12-19  Karl Berry  <karl@gnu.org>
69900
69901         * config/config.guess: update from prep.
69902
69903 2002-12-18  Bruno Haible  <bruno@clisp.org>
69904
69905         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
69906         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
69907
69908 2002-12-17  Bruno Haible  <bruno@clisp.org>
69909
69910         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
69911         stdlib.h, string.h.
69912
69913 2002-12-17  Bruno Haible  <bruno@clisp.org>
69914
69915         * lib/canon-host.c (strdup): Remove unused declaration.
69916
69917         * lib/fsusage.c: Include full_read.h.
69918         (get_fs_usage): Use full_read instead of safe_read.
69919
69920         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
69921
69922 2002-12-12  Karl Berry  <karl@gnu.org>
69923
69924         * config/config.guess: update from prep.
69925
69926 2002-12-11  Bruno Haible  <bruno@clisp.org>
69927
69928         * m4/setenv.m4: New file, from gettext-0.11.5.
69929
69930 2002-12-11  Bruno Haible  <bruno@clisp.org>
69931
69932         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
69933         not unsetenv().
69934         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
69935         modifications:
69936
69937         2002-12-11  Bruno Haible  <bruno@clisp.org>
69938
69939                 * setenv.c (alloca): Fall back to malloc.
69940                 (freea): New macro.
69941                 (setenv): Use freea() to free memory allocated with alloca().
69942
69943         2002-11-13  Bruno Haible  <bruno@clisp.org>
69944
69945                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
69946                 function declarations.
69947                 * unsetenv.c (unsetenv): Likewise.
69948
69949         2002-03-04  Bruno Haible  <bruno@clisp.org>
69950
69951                 Portability to AIX 4.3.3.
69952                 * unsetenv.c: New file, extracted from setenv.c.
69953                 * setenv.c: Move the unsetenv() function to unsetenv.c.
69954
69955         2001-12-20  Bruno Haible  <bruno@clisp.org>
69956
69957                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
69958                 use malloc instead. For SunOS 4.
69959
69960         2001-12-11  Bruno Haible  <bruno@clisp.org>
69961
69962                 * setenv.c: Declare alloca.
69963                 (compar_fn_t): New typedef.
69964                 (KNOWN_VALUE, STORE_VALUE): Use it.
69965
69966         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
69967         setenv.h.
69968
69969 2002-12-10  Paul Eggert  <eggert@twinsun.com>
69970
69971         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
69972         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
69973         Choose values that are less likely to collide with system fnmatch
69974         options.
69975         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
69976         defined (e.g., a pure POSIX system).
69977         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
69978         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
69979
69980 2002-12-06  Paul Eggert  <eggert@twinsun.com>
69981
69982         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
69983         a pain in practice to deal with generated m4 files.  This change
69984         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
69985
69986         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
69987         and jm-glibc-io.m4, as they are no longer a special case.
69988         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
69989         kludge and the auto-generation stuff.  Check only whether the
69990         functions are declared, not whether they exist, since older hosts
69991         that don't declare the functions can't use the optimization anyway.
69992
69993 2002-12-06  Jim Meyering  <jim@meyering.net>
69994
69995         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
69996
69997         Merge in changes from libc's misc/error.c, in preparation
69998         for the merge of gnulib's changes back into libc.
69999
70000         * lib/error.c (_): Define only if not already defined.
70001         Move definition to follow all #include directives.
70002         Include unlocked-io.h only if !_LIBC.
70003         [_LIBC]: Include <libio/libioP.h>.
70004         [USE_IN_LIBIO]: Include <libio/iolibio.h>
70005         (fflush): Tweak definition to use INTUSE.
70006         (putc): Define.
70007
70008 2002-12-05  Paul Eggert  <eggert@twinsun.com>
70009
70010         * lib/alloca.c [defined emacs]: Include "lisp.h".
70011         (xalloc_die) [defined emacs]: New macro.
70012         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
70013         [! defined emacs]: Include <xalloc.h>.
70014         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
70015         (pointer): Typedef to POINTER_TYPE *.
70016         (malloc): Remove decl; we now always use xmalloc.
70017         (alloca): Use old-style definition, since Emacs needs this.
70018         Check for arithmetic overflow when computing combined size.
70019
70020 2002-12-04  Paul Eggert  <eggert@twinsun.com>
70021
70022         Do not generate unlocked-io.h automatically, since it's easier to
70023         maintain it by hand.
70024
70025         * lib/unlocked-io.h: New file, from GNU diffutils,
70026         but with proper copyright notice and attribution.
70027         * lib/gen-uio: Remove.
70028         * lib/Makefile.am: Add copyright notice.
70029         (libfetish_a_SOURCES): Add unlocked-io.h.
70030         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
70031         (DISTCLEANFILES, io_functions): Remove macros.
70032         (EXTRA_DIST): Remove gen_uio.
70033         (unlocked-io.h): Remove rule.
70034
70035 2002-12-04  Jim Meyering  <jim@meyering.net>
70036
70037         Reflect the fact that stat.c and lstat.c are no longer generated.
70038         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
70039         (DISTCLEANFILES): Likewise.
70040         (EXTRA_DIST): Likewise.
70041         (all_local): Don't depend on stat.c or lstat.c.
70042         (stat.c, lstat.c): Remove rules.
70043         (EXTRA_DIST): Remove xstat.in.
70044
70045         * lib/xstat.in: Remove file.  Contents moved into stat.c.
70046         * lib/stat.c: New file.  Contents mostly from xstat.in.
70047         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
70048         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
70049
70050         * lib/safe-read.c: Rework so that it may serve to define safe_write,
70051         too.
70052         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
70053
70054 2002-12-03  Jim Meyering  <jim@meyering.net>
70055
70056         * lib/safe-read.c, safe-write.c: Change variable names and comments,
70057         but not semantics, to minimize the differences between these two files.
70058         (safe_read): Change comment to mention SAFE_READ_ERROR.
70059
70060         * lib/safe-read.c (IS_EINTR): Define.
70061         (safe_read): Use IS_EINTR in place of in-function cpp directives.
70062
70063 2002-12-02  Jim Meyering  <jim@meyering.net>
70064
70065         * lib/safe-read.c (EINTR): Define.
70066         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
70067         (INT_MAX): Provide fallback.
70068         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
70069
70070         * lib/safe-read.h (SAFE_READ_ERROR): Define.
70071
70072 2002-12-02  Bruno Haible  <bruno@clisp.org>
70073
70074         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
70075         Define, taken from safe-read.c.
70076         (INT_MAX): Provide fallback.
70077         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
70078         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
70079
70080         * lib/safe-read.c (EINTR): Remove definition.
70081         (safe_read): Don't use EINTR if it is absent.
70082
70083 2002-12-01  Jim Meyering  <jim@meyering.net>
70084
70085         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
70086         zero.
70087         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
70088
70089 2002-11-27  Paul Eggert  <eggert@twinsun.com>
70090
70091         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
70092         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
70093         with `if (! (value < limit)) abort ();', for readability.
70094
70095 2002-11-26  Karl Berry  <karl@gnu.org>
70096
70097         * lib/strdup.c: copy from libc again, with jim's ok.
70098         * lib/.cppi-disable: re-add strdup.c
70099
70100 2002-11-25  Karl Berry  <karl@gnu.org>
70101
70102         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
70103         instead of "strtol.c".
70104
70105 2002-11-25  Karl Berry  <karl@gnu.org>
70106
70107         * config/install-sh: update from automake for variable quoting, $0 in
70108         error msgs, etc.
70109
70110         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
70111         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
70112         entry.
70113
70114 2002-11-25  Jim Meyering  <jim@meyering.net>
70115
70116         * lib/mktime.c: Sync from libc, now that it has the latest fix.
70117
70118 2002-11-24  Karl Berry  <karl@gnu.org>
70119
70120         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
70121         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
70122
70123 2002-11-24  Jim Meyering  <jim@meyering.net>
70124
70125         Update from coreutils:
70126
70127         * lib/mktime.c: Merge in changes from libc.
70128
70129         Avoid a link-time failure on some Linux systems.
70130         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
70131         (otherwise).
70132         (__mon_yday): Declare with the STATIC attribute.
70133         (__mktime_internal): Likewise.
70134         Based on a report from Greg Schafer.
70135
70136 2002-11-23  Jim Meyering  <jim@meyering.net>
70137
70138         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
70139         Use `unsigned', not `int', as type of index.
70140
70141         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
70142
70143         * lib/fsusage.c: Remove unneeded parentheses around operands of
70144         `defined'.
70145
70146 2002-11-22  Paul Eggert  <eggert@twinsun.com>
70147
70148         * lib/quotearg.h: Allow multiple inclusion by surrounding with
70149         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
70150         so that we can be included first.
70151         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
70152         * lib/quotearg.c: Include quotearg.h immediately after config.h.
70153         No need to include stddef.h or sys/types.h any more.
70154         Surround local include files with "", not "<>".
70155         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
70156         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
70157         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
70158         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
70159         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
70160         (ISPRINT): Remove; no longer needed now that we assume C89.
70161
70162         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
70163         Preserve errno.
70164
70165         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
70166         quotearg_char): Use SIZE_MAX rather than
70167         (size_t) -1 when we are talking about "infinity".
70168
70169         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
70170
70171 2002-11-22  Paul Eggert  <eggert@twinsun.com>
70172
70173         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
70174         hint that one should use `if (! x) abort ();' rather than `assert
70175         (x);', and anyway it's one less thing to worry about configuring.
70176         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
70177         hash_rehash, hash_insert): Use abort rather than assert.
70178
70179 2002-11-22  Bruno Haible  <bruno@clisp.org>
70180
70181         * lib/safe-read.h: Assume C89. Add comments.
70182         (safe_read): Change return type to size_t.
70183         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
70184         byte counts > SSIZE_MAX correctly.
70185         * lib/safe-write.h: New file.
70186         * lib/safe-write.c: New file.
70187         * lib/full-read.h: New file.
70188         * lib/full-read.c: New file.
70189         * lib/full-write.h: Assume C89. Add comments.
70190         * lib/full-write.c: Include safe-write.h.
70191         (full_write): Rewritten to use safe_write.
70192         Suggested by Jim Meyering and Paul Eggert.
70193
70194 2002-11-21  Jim Meyering  <jim@meyering.net>
70195
70196         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
70197
70198         Merge in changes from the coreutils.
70199
70200         2002-09-25  Paul Eggert  <eggert@twinsun.com>
70201         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
70202         <stdint.h>.
70203         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
70204         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
70205         int.  Work more efficiently if X is the same width as uintmax_t.
70206         Do not compare X to -1, to avoid bogus compiler warning.
70207         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
70208         Don't assume that f_frsize and f_bsize are the same type.
70209
70210         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
70211         warning on FreeBSD.
70212
70213         * lib/makepath.c (make_path): Restore umask *before* creating the final
70214         component.
70215         (make_path): Minor reformatting.
70216
70217         * lib/xmalloc.c: Adjust to work with new autoconf macros,
70218         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
70219         HAVE_MALLOC/HAVE_REALLOC.
70220
70221         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
70222         dummy ones.  At least on GNU/Linux systems, `auto' means something
70223         else.
70224         From Michael Stone.
70225
70226 2002-11-21  Bruno Haible  <bruno@clisp.org>
70227
70228         Remove case insensitive option matching.
70229         * lib/argmatch.h (argcasematch): Remove declaration.
70230         (ARGCASEMATCH): Remove macro.
70231         (__xargmatch_internal): Remove case_sensitive argument.
70232         (XARGMATCH): Update.
70233         (XARGCASEMATCH): Remove macro.
70234         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
70235         case_sensitive argument.
70236         (argcasematch): Remove function.
70237         (__xargmatch_internal): Remove case_sensitive argument.
70238         (main): Use XARGMATCH instead of XARGCASEMATCH.
70239
70240         * lib/xmalloc.c: Change compile-time error message. Add comment about
70241         required autoconf version.
70242
70243 2002-11-20  Paul Eggert  <eggert@twinsun.com>
70244
70245         Merge argmatch cleanups from Bison.  Assume C89.
70246
70247         * lib/argmatch.c: Include config.h here, not in argmatch.h.
70248         Include stdlib.h, for EXIT_FAILURE.
70249         Always include <string.h>, since we assume C89.
70250         (EXIT_FAILURE): Remove pre-C89 bug workaround.
70251         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
70252         Include <stddef.h> instead, since it's all we need for size_t.
70253         (PARAMS): Remove.  All uses removed.
70254         (ARRAY_CARDINALITY): Do not bother to #undef.
70255         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
70256         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
70257         Remove unnecessary parentheses.
70258         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
70259         Insert necessary parentheses.
70260         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
70261         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
70262
70263 2002-11-19  Bruno Haible  <bruno@clisp.org>
70264
70265         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
70266         * lib/mbswidth.h: Include <stddef.h>, for size_t.
70267
70268         * lib/mbswidth.h (PARAMS): Remove macro.
70269         (mbswidth, mbsnwidth): Use ANSI C function declarations.
70270         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
70271
70272         * lib/gcd.h (PARAMS): Remove macro.
70273         (gcd): Use ANSI C function declarations.
70274         * lib/gcd.c (gcd): Likewise.
70275
70276 2002-11-15  Bruno Haible  <bruno@clisp.org>
70277
70278         * lib/strcspn.c: Include <stddef.h>.
70279         (strcspn): Use ANSI C function declaration. Change return type to
70280         size_t. Use NULL.
70281         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
70282         (strpbrk): Use NULL.
70283         * lib/strpbrk.h (PARAMS): Remove macro.
70284         (strpbrk): Use ANSI C function declaration.
70285         * lib/strstr.c: Don't include <sys/types.h>.
70286         * lib/strstr.h (PARAMS): Remove macro.
70287         (strstr): Use ANSI C function declarations.
70288
70289 2002-11-14  Karl Berry  <karl@gnu.org>
70290
70291         * config/mkinstalldirs: `do' on separate line, instead of
70292         `for var; do'.
70293
70294 2002-11-06  Bruno Haible  <bruno@clisp.org>
70295
70296         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
70297         * lib/gcd.c (gcd): Likewise.
70298
70299 2002-11-05  Bruno Haible  <bruno@clisp.org>
70300
70301         * lib/gcd.h: New file, from gettext-0.11.5.
70302         * lib/gcd.c: New file, from gettext-0.11.5.
70303
70304 2002-11-05  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
70307         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
70308         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
70309         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
70310
70311         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
70312         <libintl.h>.
70313         * lib/makepath.c: Include gettext.h instead of <locale.h> and
70314         <libintl.h>.
70315
70316         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
70317         * lib/human.c: Include gettext.h instead of <libintl.h>.
70318         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
70319         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
70320         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
70321         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
70322         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
70323         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
70324         (textdomain): Remove definition.
70325         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
70326
70327         * lib/long-options.c: Remove include of <libintl.h> and definition of
70328         _.
70329         * lib/same.c: Remove include of <libintl.h> and definition of _.
70330
70331 2002-11-04  Owen Taylor  <otaylor@redhat.com>
70332
70333         * lib/config.charset: A few additions for Solaris.
70334
70335 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
70336
70337         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
70338         * lib/localcharset.c (locale_charset): Declare as extern "C".
70339
70340 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
70341
70342         * lib/config.charset: msdos in uk_UA uses CP1125.
70343
70344 2002-11-04  Bruno Haible  <bruno@clisp.org>
70345
70346         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
70347         * lib/strcase.h: New file, from GNU gettext-0.11.5.
70348         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
70349         * lib/strstr.h: New file, from GNU gettext-0.11.5.
70350         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
70351
70352 2002-11-04  Bruno Haible  <bruno@clisp.org>
70353
70354         * lib/localcharset.c (locale_charset): Don't return an empty string.
70355
70356 2002-11-04  Bruno Haible  <bruno@clisp.org>
70357
70358         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
70359         aliases.
70360
70361 2002-11-04  Bruno Haible  <bruno@clisp.org>
70362
70363         * lib/config.charset: Update for newest glibc. Add canonical names
70364         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
70365
70366 2002-11-04  Bruno Haible  <bruno@clisp.org>
70367
70368         * lib/config.charset: Add support for NetBSD.
70369
70370 2002-11-04  Bruno Haible  <bruno@clisp.org>
70371
70372         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
70373
70374 2002-11-01  Bruno Haible  <bruno@clisp.org>
70375
70376         * configure.in: Add AC_CONFIG_AUX_DIR call.
70377         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
70378         test/Makefile.
70379         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
70380
70381 2002-09-28  Karl Berry  <karl@gnu.org>
70382
70383         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
70384         installed automake until the next release, since changes have been
70385         made.
70386
70387 2002-09-25  Karl Berry  <karl@gnu.org>
70388
70389         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
70390         * lib/getopt*: copy from libc/posix.
70391         * lib/gettext.h: copy from gettext.
70392         * lib/.cppi-disable: add strdup.c, gettext.h.
70393
70394 2002-09-25  Karl Berry  <karl@gnu.org>
70395
70396         * config/srclist.txt: enable gettext.h check.
70397         * config/config.{guess,sub}: update from prep.
70398         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
70399                 from automake 1.6.3.
70400         See srclist*.
70401
70402 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
70403
70404         * regex.c (PATFETCH): Remove the translating fetch.
70405         (PATFETCH_RAW): Rename to PATFETCH.
70406         (set_image_of_range): New fun.
70407         (SET_RANGE_TABLE_WORK_AREA): Use it.
70408         (regex_compile): Don't translate the pattern chars so eagerly.
70409         Only do it when inserting an `exactn' bytecode or when handling
70410         a char-range.
70411         (mutually_exclusive_p): Avoid empty statement.
70412
70413 2002-07-06  Jim Meyering  <meyering@lucent.com>
70414
70415         * m4/README: Don't mention Makefile.am.in.
70416         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
70417
70418 2002-07-01  Jim Meyering  <meyering@lucent.com>
70419
70420         * lib/c-stack.c: Include sys/time.h.
70421         From Volker Borchert.
70422
70423 2002-06-26  Paul Eggert  <eggert@twinsun.com>
70424
70425         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
70426
70427 2002-06-26  Paul Eggert  <eggert@twinsun.com>
70428
70429         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
70430         New macro.  Use it uniformly instead of
70431         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
70432         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
70433         reported by Vin Shelton.
70434
70435 2002-06-22  Paul Eggert  <eggert@twinsun.com>
70436
70437         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
70438         Do not assume SA_SIGINFO behavior.
70439         Bug reported by Jim Meyering on NetBSD 1.5.2.
70440
70441 2002-06-22  Jim Meyering  <meyering@lucent.com>
70442
70443         * m4/c-stack.m4: New file, from diffutils-2.8.2.
70444         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
70445
70446         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
70447         now that configure.ac uses AC_GNU_SOURCE.
70448         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
70449         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
70450
70451         Update to latest tools.  Suggestions from Paul Eggert.
70452         * m4/stdbool.m4: New file, from diffutils-2.8.2.
70453         * m4/gnu-source.m4: Update from diffutils-2.8.2.
70454         * m4/fnmatch.m4: Likewise.
70455         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
70456         to AC_HEADER_STDBOOL
70457
70458 2002-06-22  Jim Meyering  <meyering@lucent.com>
70459
70460         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
70461         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
70462
70463 2002-06-22  Jim Meyering  <meyering@lucent.com>
70464
70465         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
70466
70467         * lib/exitfail.c, exitfail.h: Likewise.
70468         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
70469
70470         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
70471         of fnmatch.h.
70472         (EXTRA_DIST): Add fnmatch_loop.c.
70473         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
70474
70475         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
70476         * lib/fnmatch.c: Update from diffutils-2.8.2.
70477         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
70478         * lib/fnmatch.h: Remove file.
70479
70480 2002-06-21  Jim Meyering  <meyering@lucent.com>
70481
70482         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
70483         * m4/mbrtowc.m4: Likewise.
70484
70485         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
70486         * m4/mbswidth.m4: Reflect name change:
70487         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
70488         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
70489
70490         * m4/lib-link.m4: Update from gettext-0.11.2.
70491         * m4/gettext.m4: Likewise.
70492
70493         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
70494         From Alfred M. Szmidt.
70495
70496 2002-06-18  Paul Eggert  <eggert@twinsun.com>
70497
70498         * lib/file-type.h: Report an error if neither S_ISREG nor
70499         S_IFREG is defined, instead of using a test specific to glibc
70500         2.2.  This should be safe, since POSIX requires S_ISREG and
70501         Unix Version 7 had S_IFREG.  We don't need to check for
70502         <sys/types.h> since we don't use any symbols that it defines.
70503
70504 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
70505
70506         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
70507         $@-t, so that each temporary file name is unique and valid in the first
70508         8 characters, for operation under DOS.
70509
70510 2002-06-15  Paul Eggert  <eggert@twinsun.com>
70511
70512         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
70513
70514 2002-06-15  Jim Meyering  <meyering@lucent.com>
70515
70516         Work even with DJGPP 2.03, which lacks support for symlinks.
70517         From Richard Dawe.
70518         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
70519         is defined.
70520         * lib/lchown.c (S_ISLNK): Likewise.
70521
70522 2002-06-15  Jim Meyering  <meyering@lucent.com>
70523
70524         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
70525         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
70526         have been included before this file.
70527
70528 2002-06-14  Jim Meyering  <meyering@lucent.com>
70529
70530         * lib/file-type.h: Use the version from diffutils-2.8.2.
70531         * lib/file-type.c: Likewise.
70532
70533 2002-06-07  Jim Meyering  <meyering@lucent.com>
70534
70535         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
70536         They're needed at least for NetBSD 1.5.2.
70537         ($statxfs_includes): Include those same headers.
70538         ($statxfs_includes): Include sys/vfs.h if available.
70539         ($statxfs_includes): Likewise for sys/statvfs.h.
70540         Check for the following members in both structs statfs and statvfs:
70541         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
70542
70543 2002-06-01  Jim Meyering  <meyering@lucent.com>
70544
70545         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
70546         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
70547
70548 2002-05-28  Jim Meyering  <meyering@lucent.com>
70549
70550         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
70551         Reported by Volker Borchert.
70552
70553 2002-05-27  Jim Meyering  <meyering@lucent.com>
70554
70555         Fix a problem seen only on nonconforming systems whereby ls.c's
70556         use of localtime, and then of gettimeofday would cause trouble:
70557         the localtime call used to initialize rpl_gettimeofday's save
70558         mechanism would clobber ls's current local time information so
70559         that in any long listing the first file would always be listed
70560         with date 1970-01-01.  Analysis by Volker Borchert.
70561
70562         * lib/gettimeofday.c (localtime): Undefine.
70563         (rpl_localtime): New function.
70564
70565 2002-05-27  Jim Meyering  <meyering@lucent.com>
70566
70567         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
70568         localtime.
70569
70570         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
70571         use the replacement function; it wouldn't resolve at link time.
70572         Reported by Volker Borchert.
70573
70574 2002-05-22  Jim Meyering  <meyering@lucent.com>
70575
70576         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
70577         file-type.h.
70578         * lib/file-type.h: New file.
70579         * lib/file-type.c (file_type): New file/function.  Extracted from
70580         diffutils.
70581
70582 2002-04-30  Jim Meyering  <meyering@lucent.com>
70583
70584         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
70585
70586 2002-04-29  Paul Eggert  <eggert@twinsun.com>
70587
70588         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
70589
70590 2002-04-29  Paul Eggert  <eggert@twinsun.com>
70591
70592         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
70593         Do not check for alloca.h (no longer used) or stdbool.h (was never
70594         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
70595
70596 2002-04-29  Paul Eggert  <eggert@twinsun.com>
70597
70598         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
70599
70600 2002-04-29  Jim Meyering  <meyering@lucent.com>
70601
70602         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
70603         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
70604         Use AC_FUNC_STRNLEN here instead.
70605
70606         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
70607         With autoconf-2.53a, it's part of AC_PROG_CC.
70608
70609 2002-04-28  Paul Eggert  <eggert@twinsun.com>
70610
70611         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
70612         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
70613
70614 2002-04-28  Paul Eggert  <eggert@twinsun.com>
70615
70616         * lib/sig2str.h, lib/sig2str.c: New files.
70617         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
70618
70619 2002-04-28  Paul Eggert  <eggert@twinsun.com>
70620
70621         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
70622         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
70623         of 127, since 64 is the largest conceivable number for ancient
70624         nonstandard hosts.
70625         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
70626
70627 2002-04-28  Jim Meyering  <meyering@lucent.com>
70628
70629         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
70630
70631 2002-04-24  Jim Meyering  <meyering@lucent.com>
70632
70633         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
70634         (jm_PREREQ): Use it.
70635
70636         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
70637         mach/mach.h fcntl.h.
70638         Check for this function: setlocale.
70639
70640 2002-04-24  Jim Meyering  <meyering@lucent.com>
70641
70642         * lib/gettext.h: New file, from Gettext.
70643         * lib/Makefile.am (INCLUDES): Remove -I../intl.
70644         (libfetish_a_SOURCES): Add gettext.h.
70645
70646 2002-04-16  Jim Meyering  <meyering@lucent.com>
70647
70648         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
70649         ut_pid, ut_id, ut_exit.
70650
70651 2002-04-16  Jim Meyering  <meyering@lucent.com>
70652
70653         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
70654         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
70655         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
70656
70657 2002-04-12  Jim Meyering  <meyering@lucent.com>
70658
70659         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
70660         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
70661         existence of the getmntinfo function.  Needed for Darwin 5.3.
70662
70663         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
70664         This is necessary at least on Darwin 5.3.
70665
70666         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
70667         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
70668         strnlen.o in the library, and that makes some versions of ranlib
70669         object.
70670
70671 2002-04-12  Jim Meyering  <meyering@lucent.com>
70672
70673         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
70674
70675 2002-04-09  Jim Meyering  <meyering@lucent.com>
70676
70677         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
70678         to be more precise.  Rather than saying we're checking whether the
70679         function `works', say what we're testing.
70680         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
70681         Reported by Bruno Haible.
70682
70683 2002-03-10  Jim Meyering  <meyering@lucent.com>
70684
70685         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
70686         Suggestion from Santiago Vila.
70687
70688 2002-03-08  Jim Meyering  <meyering@lucent.com>
70689
70690         * lib/rename.c: Mention that this wrapper is needed also on
70691         mips-dec-ultrix4.4 systems.
70692
70693 2002-03-02  Jim Meyering  <meyering@lucent.com>
70694
70695         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
70696         not HAVE_CLOCK_SETTIME.
70697
70698 2002-02-27  Paul Eggert  <eggert@twinsun.com>
70699
70700         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
70701         Check for clock_settime.
70702
70703 2002-02-27  Paul Eggert  <eggert@twinsun.com>
70704
70705         * lib/nanosleep.h: Rename to....
70706         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
70707
70708         * lib/gettime.c: New file.
70709         * lib/settime.c: New file.
70710         * lib/stime.c: Remove.
70711
70712         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
70713         timespec.h.  Remove nanosleep.h.
70714
70715 2002-02-25  Paul Eggert  <eggert@twinsun.com>
70716
70717         * m4/acl.m4: New file.
70718         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
70719         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
70720
70721 2002-02-25  Paul Eggert  <eggert@twinsun.com>
70722
70723         * lib/acl.c, lib/acl.h: New files.
70724         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
70725
70726 2002-02-24  Jim Meyering  <meyering@lucent.com>
70727
70728         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
70729         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
70730         cause trouble.  Reported by Nelson Beebe.
70731
70732 2002-02-23  Paul Eggert  <eggert@twinsun.com>
70733
70734         * lib/path-concat.c (xpath_concat): Reorder code to pacify
70735         compilers that don't know that xalloc_die never returns.
70736
70737 2002-02-20  Jim Meyering  <meyering@lucent.com>
70738
70739         * lib/getdate.c: Regenerate using bison-1.33.
70740
70741 2002-02-17  Jim Meyering  <meyering@lucent.com>
70742
70743         * config/config.guess (main): Don't use `head -1'; it's no longer
70744         portable. Use `sed 1q' instead.
70745
70746 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
70747
70748         * m4/codeset.m4: Upgrade to gettext-0.11.
70749         * m4/gettext.m4: Upgrade to gettext-0.11.
70750         * m4/glibc21.m4: Upgrade to gettext-0.11.
70751         * m4/iconv.m4: Upgrade to gettext-0.11.
70752         * m4/isc-posix.m4: Upgrade to gettext-0.11.
70753         * m4/lcmessage.m4: Upgrade to gettext-0.11.
70754         * m4/lib-ld.m4: New file, from gettext-0.11.
70755         * m4/lib-link.m4: New file, from gettext-0.11.
70756         * m4/lib-prefix.m4: New file, from gettext-0.11.
70757         * m4/progtest.m4: Upgrade to gettext-0.11.
70758
70759 2002-02-15  Paul Eggert  <eggert@twinsun.com>
70760
70761         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
70762         (jm_PREREQ): Use it.
70763
70764 2002-02-15  Paul Eggert  <eggert@twinsun.com>
70765
70766         * lib/posixver.c, lib/posixver.h: New files.
70767         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
70768
70769 2002-02-02  Paul Eggert  <eggert@twinsun.com>
70770             Bruno Haible  <bruno@clisp.org>
70771
70772         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
70773         (fwrite_success_callback): New declaration.
70774         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
70775         print_unicode_char. Call failure callback instead of error.
70776         (fwrite_success_callback): New function.
70777         (exit_failure_callback): New function.
70778         (fallback_failure_callback): New function.
70779         (print_unicode_char): Call unicode_to_mb.
70780
70781 2002-01-26  Jim Meyering  <meyering@lucent.com>
70782
70783         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
70784         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
70785
70786 2002-01-26  Jim Meyering  <meyering@lucent.com>
70787
70788         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
70789
70790 2002-01-22  Paul Eggert  <eggert@twinsun.com>
70791
70792         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
70793
70794 2002-01-22  Jim Meyering  <meyering@lucent.com>
70795
70796         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
70797         Otherwise, some versions of automake would omit the rule that makes
70798         Makefile from Makefile.in.
70799
70800 2002-01-21  Paul Eggert  <eggert@twinsun.com>
70801
70802         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
70803         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
70804         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
70805         (memcoll): Set errno to zero if there is no error.
70806
70807         * lib/quotearg.c (quotearg_buffer_restyled):
70808         Fix bug with quoting buffers containing NUL when backslashing escapes.
70809         This bug was exposed by the other changes in this patch.
70810         (quotearg_n_options): New arg ARGSIZE.
70811         All callers changed.
70812         (quoting_options_from_style): New function.
70813         (quotearg_n_style): Use it.
70814         (quotearg_n_style_mem): New function.
70815
70816         * lib/quotearg.h (quotearg_n_style_mem): New function.
70817
70818 2002-01-19  Jim Meyering  <meyering@lucent.com>
70819
70820         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
70821         Remove useless quotes: DF_PROG="df".
70822         * m4/strnlen.m4: New file.
70823
70824 2002-01-16  Paul Eggert  <eggert@twinsun.com>
70825
70826         * lib/backupfile.c (ISDIGIT): Comment fix.
70827         * lib/getdate.y (ISDIGIT): Likewise.
70828         * lib/posixtm.c (ISDIGIT, year): Likewise.
70829         * lib/strverscmp.c (ISDIGIT): Likewise.
70830         * lib/userspec.c (ISDIGIT): Likewise.
70831
70832 2002-01-16  Jim Meyering  <meyering@lucent.com>
70833
70834         * lib/getdate.y: Add three semicolons, each just before a closing
70835         brace. Bison (as of version 1.31) no longer papers over that mistake.
70836
70837 2002-01-05  Jim Meyering  <meyering@lucent.com>
70838
70839         * lib/version-etc.c (version_etc_copyright): Update copyright year.
70840
70841 2001-12-19  Paul Eggert  <eggert@twinsun.com>
70842
70843         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
70844         not silently exit merely because the output buffer happens to
70845         have nothing pending.
70846
70847 2001-12-18  Paul Eggert  <eggert@twinsun.com>
70848
70849         See the big note in ../ChangeLog.
70850         * lib/human.c (suffixes): Prefer K to k for 1024.
70851         (generate_suffix_backwards): New function.
70852         (human_readable_inexact): Use it.
70853         * lib/xstrtol.c (__xstrtol): If there is no number but there
70854         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
70855         Accept 'K' as well as 'k'.
70856
70857 2001-12-15  Jim Meyering  <meyering@lucent.com>
70858
70859         * lib/regex.h (__restrict_arr): Update from libc.
70860
70861         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
70862         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
70863         (STREQ): Define.
70864
70865 2001-12-14  Jim Meyering  <meyering@lucent.com>
70866
70867         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
70868         Suggestion from Bruno Haible.
70869
70870 2001-12-10  Jim Meyering  <meyering@lucent.com>
70871
70872         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
70873         xrealloc, Instead, include "xalloc.h".
70874         (initbuffer): Don't cast xmalloc return value to char*.
70875         (readline): Reword comment.
70876         Don't cast xrealloc return value to char*
70877         Return NULL, not 0.
70878
70879 2001-12-09  Jim Meyering  <meyering@lucent.com>
70880
70881         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
70882         about `signed and unsigned type in conditional expression'.
70883         * lib/posixtm.c (posix_time_parse): Likewise.
70884
70885         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
70886
70887         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
70888         to avoid a pedantic warning.
70889
70890         * lib/getstr.c: Don't include assert.h.
70891         (getstr): Remove warning-evoking assertions.
70892         Return -1 if offset parameter is out of bounds.
70893         Change the type of a local from int to size_t.
70894
70895         * lib/strftime.c (my_strftime_localtime_r): Include this function
70896         definition in the `#if ! HAVE_TM_GMTOFF' block.
70897
70898         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
70899         Include xalloc.h instead.
70900
70901 2001-12-02  Jim Meyering  <meyering@lucent.com>
70902
70903         * lib/tempname.c: Don't declare getenv, thus reverting the change of
70904         2001-11-18.  It's no longer necessary, now that stdlib.h is always
70905         included.
70906
70907         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
70908         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
70909
70910 2001-11-30  Akim Demaille  <akim@epita.fr>
70911
70912         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
70913         before being defined.
70914
70915 2001-11-27  Paul Eggert  <eggert@twinsun.com>
70916
70917         * lib/quotearg.h (quotearg_n, quotearg_n_style):
70918         First arg is int, not unsigned.
70919         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
70920         (SIZE_MAX, UINT_MAX): New macros.
70921         (quotearg_n_options): Abort if N is negative.
70922         Avoid overflow check on hosts where size_t is 64 bits and int
70923         is 32 bits, as overflow is impossible there.
70924         Fix off-by-one typo that caused unnecessary reallocation.
70925
70926 2001-11-27  Jim Meyering  <meyering@lucent.com>
70927
70928         * lib/tempname.c: Merge with version from libc.
70929         * lib/regex.c: Likewise.
70930
70931         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
70932         systems for which STDC_HEADERS is 0, it was not included, resulting in
70933         a warning about an integer-to-pointer conversion problem with getenv.
70934         Reported by Volker Borchert.
70935
70936 2001-11-26  Jim Meyering  <meyering@lucent.com>
70937
70938         * lib/gtod.h: Remove file.
70939         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
70940         * lib/gettimeofday.c: Don't include gtod.h.
70941         (GTOD_init): Remove function.
70942         (rpl_gettimeofday): Do its job here instead, rather than aborting.
70943         Suggestion from Volker Borchert.
70944
70945 2001-11-23  Jim Meyering  <meyering@lucent.com>
70946
70947         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
70948         it.
70949         * lib/hash.c (struct hash_table): Define it here instead.
70950
70951 2001-11-22  Jim Meyering  <meyering@lucent.com>
70952
70953         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
70954
70955 2001-11-20  Jim Meyering  <meyering@lucent.com>
70956
70957         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
70958         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
70959
70960 2001-11-19  Jim Meyering  <meyering@lucent.com>
70961
70962         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
70963         directory.  Use "conftestXXXXXX" as the template.
70964         Suggestion from Paul Eggert.
70965
70966         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
70967         immediately, so the test doesn't mistakenly hit the max-open-files
70968         limit.
70969
70970 2001-11-18  Paul Eggert  <eggert@twinsun.com>
70971
70972         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
70973         (TEMPORARIES): New macro.
70974         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
70975         removes an artificial limitation (e.g. HP-UX 10.20, where
70976         TMP_MAX is 17576).
70977
70978 2001-11-18  Jim Meyering  <meyering@lucent.com>
70979
70980         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
70981
70982 2001-11-18  Jim Meyering  <meyering@lucent.com>
70983
70984         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
70985         on SunOS 4.
70986
70987         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
70988         files will be created before anything else.
70989
70990 2001-11-17  Paul Eggert  <eggert@twinsun.com>
70991
70992         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
70993         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
70994
70995 2001-11-17  Jim Meyering  <meyering@lucent.com>
70996
70997         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
70998         Prompted by a report from Bob Proulx.
70999
71000         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
71001         Instead, require UTILS_FUNC_MKSTEMP.
71002
71003 2001-11-17  Jim Meyering  <meyering@lucent.com>
71004
71005         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
71006         Now, that's done as part of AC_FUNC_STRTOD.
71007
71008 2001-11-17  Jim Meyering  <meyering@lucent.com>
71009
71010         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
71011         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
71012         rather than group writable.  Patch by Juan F. Codagnone.
71013
71014         * lib/readtokens.c: Remove explicit declarations of xmalloc and
71015         xrealloc, Instead, include "xalloc.h".
71016
71017         * lib/mountlist.c: Include unlocked-io.h after all system headers.
71018         Remove explicit declarations of xmalloc, xrealloc,
71019         and xstrdup.  Instead, include "xalloc.h".
71020
71021         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
71022         unlocked-io.h.
71023         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
71024         Likewise.
71025         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
71026
71027         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
71028         Reported by Padraig Brady.
71029
71030         * lib/mkstemp.c: #undef mkstemp.
71031         Include config.h.
71032         (rpl_mkstemp): Rename from mkstemp.
71033         Protoize.
71034
71035 2001-11-16  Jim Meyering  <meyering@lucent.com>
71036
71037         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
71038         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
71039         determine the amount of total physical memory, use pstat_getstatic.
71040         HPUX-11 doesn't define _SC_PHYS_PAGES.
71041         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
71042         If sysconf couldn't be used to determine the amount of available
71043         physical memory, use both pstat_getstatic and pstat_getdynamic.
71044         Based on a patch from Bob Proulx.
71045
71046 2001-11-10  Jim Meyering  <meyering@lucent.com>
71047
71048         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
71049         (jm_PREREQ): Use it.
71050
71051 2001-11-09  Jim Meyering  <meyering@lucent.com>
71052
71053         * m4/jm-macros.m4: Require autoconf-2.52f.
71054         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
71055         Use these AC_-prefixed names, not the AM_-prefixed ones.
71056
71057         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
71058
71059 2001-11-05  Jim Meyering  <meyering@lucent.com>
71060
71061         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
71062
71063 2001-11-04  Jim Meyering  <meyering@lucent.com>
71064
71065         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
71066         $DEFS.
71067
71068 2001-11-03  Jim Meyering  <meyering@lucent.com>
71069
71070         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
71071         of AC_DEFUN.
71072
71073         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
71074         know the name of the variable in the macro definition.
71075
71076 2001-11-03  Jim Meyering  <meyering@lucent.com>
71077
71078         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
71079         in argmatch_to_argument call.
71080
71081         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
71082         argument.
71083
71084         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
71085         e.g., a fault due to an attempt to free a NULL pointer.
71086
71087 2001-11-01  Jim Meyering  <meyering@lucent.com>
71088
71089         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
71090         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
71091
71092 2001-11-01  Jim Meyering  <meyering@lucent.com>
71093
71094         * lib/dirfd.c, lib/dirfd.h: New files.
71095         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
71096
71097         * lib/hash.c (hash_print) [TESTING]: Clean up.
71098
71099 2001-10-22  Paul Eggert  <eggert@twinsun.com>
71100
71101         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
71102         to avoid a warning if -Wall.
71103
71104 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
71105
71106         * README: New file
71107         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
71108         (per RMS's instructions, this is now the canonical source)
71109         * lgpl/, gpl/: New directories.
71110
71111 2001-10-21  Paul Eggert  <eggert@twinsun.com>
71112
71113         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
71114
71115 2001-10-21  Jim Meyering  <meyering@lucent.com>
71116
71117         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
71118         this code would end up calling gettext even in packages built
71119         with --disable-nls.
71120         * lib/getopt.c (_): Likewise.
71121         * lib/regex.c (_): Likewise.
71122
71123 2001-10-20  Paul Eggert  <eggert@twinsun.com>
71124
71125         * m4/error.m4 (jm_PREREQ_ERROR):
71126         Do not invoke AC_CHECK_FUNCS with strerror_r, as
71127         AC_FUNC_STRERROR_R does that.
71128         Check for strerror declaration.
71129
71130         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
71131         are supposed to have them these days.
71132         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
71133         Merge changes from latest Autoconf CVS.
71134         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
71135         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
71136         POSIX decided to standardize on the int flavor of strerror_r.
71137
71138 2001-10-20  Paul Eggert  <eggert@twinsun.com>
71139
71140         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
71141         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
71142         Use strerror_r that is only a macro, even if it is not a function.
71143         (strerror): Check for HAVE_DECL_STRERROR before declaring.
71144         (private_strerror): Use prototypes, not old-style function definition.
71145         (print_errno_message): New function.
71146         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
71147         char*-flavored one.
71148         (error_tail, error, error_at_line): Use it.
71149
71150 2001-10-11  Jim Meyering  <meyering@lucent.com>
71151
71152         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
71153         and quote_n (1, ... to avoid clobbering a buffer.
71154
71155 2001-10-05  Jim Meyering  <meyering@lucent.com>
71156
71157         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
71158         hash-pjw.h.
71159         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
71160         * lib/hash-pjw.h: New file.
71161
71162 2001-09-30  Jim Meyering  <meyering@lucent.com>
71163
71164         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
71165         `struct fsstat' has the `f_fstypename' member.
71166         Use that to define FS_TYPE, which is now used to make
71167         the getfsstat link test tighter.
71168
71169 2001-09-30  Jim Meyering  <meyering@lucent.com>
71170
71171         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
71172         Include <sys/ucred.h>, for Apple Darwin.
71173         Include sys/mount.h and sys/fs_types.h only if available.
71174         (FS_TYPE): Define.
71175         (read_filesystem_list): Use FS_TYPE.
71176
71177 2001-09-29  Paul Eggert  <eggert@twinsun.com>
71178
71179         * lib/exclude.c (excluded_filename): 0 -> false, since it's
71180         a boolean context.
71181
71182 2001-09-29  Jim Meyering  <meyering@lucent.com>
71183
71184         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
71185         [one-argument getmntent function]): Include stdio.h before mntent.h.
71186         SunOS 4.1.x needs it for the declaration of `FILE'.
71187         Patch by Volker Borchert.
71188
71189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
71190         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
71191         sys/fs_types.h, and make the link-test for getfsstat guard #include
71192         directives with appropriate #if HAVE_*_H tests so that we can
71193         detect getfsstat on Apple Darwin1.3.7 systems.
71194         Reported by Nelson Beebe.
71195         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
71196
71197 2001-09-28  Paul Eggert  <eggert@twinsun.com>
71198
71199         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
71200         #defines strtoimax.  Also treat the other strto* functions
71201         like strtoimax.
71202
71203         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
71204         Check for strtoul and strtoumax,
71205         as those declarations are made even in the signed case.
71206         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
71207         Likewise, for strtol and strtoimax.
71208
71209 2001-09-28  Paul Eggert  <eggert@twinsun.com>
71210
71211         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
71212         #defines strtoimax.  Also treat the other strto* functions
71213         like strtoimax.
71214
71215         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
71216         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
71217         (strtoimax, strtoumax): Do not declare if already defined as a macro.
71218
71219 2001-09-26  Jim Meyering  <meyering@lucent.com>
71220
71221         Most macros in unlocked-io.h had the wrong number of arguments.
71222         * lib/gen-uio: New script.
71223         (USE_UNLOCKED_IO): Define to 1 if not already defined.
71224         * lib/unlocked-io.hin: Remove file.
71225         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
71226         rather than trying to embed it here.
71227         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
71228         Reported by Padraig Brady.
71229
71230 2001-09-25  Volker Borchert  <bt@teknon.de>
71231
71232         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
71233         `result'.
71234
71235 2001-09-24  Jim Meyering  <meyering@lucent.com>
71236
71237         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
71238
71239 2001-09-23  Jim Meyering  <meyering@lucent.com>
71240
71241         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
71242         instead of the mere test for existence of mntent.h.  The latter
71243         would get a false-positive on AIX 3.4 systems.
71244         In the outer getmntent if-block, don't die if neither of the getmntent
71245         tests succeeds.  Instead, just fall through and continue with the
71246         remaining tests.
71247
71248 2001-09-23  Jim Meyering  <meyering@lucent.com>
71249
71250         * lib/mountlist.c: Remove useless parentheses in #if directives.
71251         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
71252         the deprecated MOUNTED symbol is no longer defined in mntent.h.
71253
71254 2001-09-22  Jim Meyering  <meyering@lucent.com>
71255
71256         * m4/gettext.m4: New file.  From gettext.
71257         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
71258         * m4/progtest.m4: Likewise
71259         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
71260         * m4/glibc21.m4: Likewise.
71261
71262         * m4/libintl.m4: Remove.  No longer used.
71263
71264 2001-09-22  Jim Meyering  <meyering@lucent.com>
71265
71266         * lib/localcharset.c: Update from latest gettext.
71267         * lib/config.charset: Likewise.
71268
71269 2001-09-20  Jim Meyering  <meyering@lucent.com>
71270
71271         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
71272         strtoimax.
71273         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
71274         strtoumax.
71275
71276 2001-09-20  Jim Meyering  <meyering@lucent.com>
71277
71278         * lib/xstrtol.c (strtoimax): Guard declaration with
71279         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
71280         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
71281         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
71282         (strtoumax): Likewise, for completeness (it wasn't necessary).
71283
71284 2001-09-17  Paul Eggert  <eggert@twinsun.com>
71285
71286         * lib/strtoimax.c (HAVE_LONG_LONG):
71287         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
71288         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
71289         to work around bug in IBM C compiler.
71290
71291 2001-09-17  Jim Meyering  <meyering@lucent.com>
71292
71293         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
71294         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
71295         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
71296         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
71297         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
71298         whenever the right hand side need not be expanded by the shell.
71299
71300 2001-09-16  Paul Eggert  <eggert@twinsun.com>
71301
71302         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
71303         library.  It's not correct, as some older glibcs are buggy.
71304         fnmatch wasn't fixed until glibc 2.2.
71305
71306         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
71307         special shell magic here.
71308
71309 2001-09-16  Jim Meyering  <meyering@lucent.com>
71310
71311         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
71312         * m4/jm-macros.m4: Require it.
71313
71314 2001-09-16  Jim Meyering  <meyering@lucent.com>
71315
71316         * lib/mkdir.c: New file.
71317
71318 2001-09-15  Jim Meyering  <meyering@lucent.com>
71319
71320         * m4/jm-macros.m4: Check for help2man.
71321
71322 2001-09-11  Jim Meyering  <meyering@lucent.com>
71323
71324         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
71325         The body, by Paul Eggert, was moved here from configure.in.
71326         * m4/jm-macros.m4: Require UTILS_HOST_OS.
71327
71328 2001-09-04  Paul Eggert  <eggert@twinsun.com>
71329
71330         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
71331         (jm_PREREQ): Use it.
71332
71333 2001-09-04  Paul Eggert  <eggert@twinsun.com>
71334
71335         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
71336         Use ssize_t, not int, to store result of readlink.
71337         Check for ssize_t overflow as well as size_t overflow,
71338         as POSIX says the result of readlink is implementation-defined
71339         when ssize_t overflows.
71340         Remove unnecessary cast to char*.
71341         Use free+malloc instead of realloc, as the storage doesn't need
71342         to be preserved and it's clearer and can be more efficient that way.
71343         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
71344         * lib/xreadlink.h (xreadlink): Update prototype.
71345
71346 2001-09-04  Paul Eggert  <eggert@twinsun.com>
71347
71348         * lib/xgetcwd.c: Revert some of the previous change; intead,
71349         fix the HAVE_GETCWD_NULL code to behave more like the
71350         !HAVE_GETCWD_NULL code used to.
71351
71352         Include "xalloc.h".
71353         (xgetcwd): Do not return NULL when memory is exhausted; instead,
71354         invoke xalloc_die.
71355
71356 2001-09-03  Paul Eggert  <eggert@twinsun.com>
71357
71358         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
71359         sys/param.h, as pathmax.h includes them.
71360
71361 2001-09-03  Paul Eggert  <eggert@twinsun.com>
71362
71363         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
71364         (jm_PREREQ_XGETCWD): New macro.
71365
71366         * m4/getcwd.m4: New file.
71367
71368 2001-09-03  Paul Eggert  <eggert@twinsun.com>
71369
71370         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
71371         like the HAVE_GETCWD_NULL code.
71372         Include pathmax.h if not HAVE_GETCWD.
71373         Do not include xalloc.h.
71374         (INITIAL_BUFFER_SIZE): New symbol.
71375         Do not use xmalloc / xrealloc, since the caller is responsible for
71376         handling errors.  Preserve errno around `free' during failure.
71377         Do not overrun buffer when using getwd.
71378
71379 2001-09-03  Paul Eggert  <eggert@twinsun.com>
71380
71381         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
71382         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
71383         getcwd (NULL, 0).
71384
71385 2001-09-03  Paul Eggert  <eggert@twinsun.com>
71386
71387         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
71388         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
71389         spotted by Jim Meyering.
71390
71391 2001-09-03  Jim Meyering  <meyering@lucent.com>
71392
71393         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
71394         failure.
71395
71396 2001-09-02  Jim Meyering  <meyering@lucent.com>
71397
71398         * lib/error.c: Update from GNU libc.
71399
71400 2001-09-01  Jim Meyering  <meyering@lucent.com>
71401
71402         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
71403         Used by df.
71404
71405 2001-09-01  Jim Meyering  <meyering@lucent.com>
71406
71407         * lib/xreadlink.c: New file.
71408         * lib/xreadlink.h: New file.
71409         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
71410         xreadlink.h.
71411
71412         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
71413         doesn't conflict with sparc Solaris 7's definition in
71414         /usr/include/sys/int_types.h.
71415
71416         * lib/exclude.c: Use `""', not `<>' to #include non-system header
71417         files.
71418         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
71419         and strncasecmp as r-values.  Unixware didn't have declarations.
71420
71421 2001-08-31  Paul Eggert  <eggert@twinsun.com>
71422
71423         * lib/xstrtol.h: Add copyright notice.
71424         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
71425         LONGINT_INVALID_SUFFIX_CHAR.
71426
71427 2001-08-31  Paul Eggert  <eggert@twinsun.com>
71428
71429         * lib/xstrtol.c (strtoimax): New decl.
71430
71431 2001-08-31  Paul Eggert  <eggert@twinsun.com>
71432
71433         * lib/xgetcwd.c: Don't include pathmax.h.
71434         Include stdlib.h and unistd.h if available.
71435         Include xalloc.h.
71436         (xmalloc, xstrdup, free): Remove decls.
71437         (xgetcwd): Don't assume sizes fit in unsigned.
71438         Check for overflow when computing sizes.
71439         Simplify reallocation code.
71440
71441 2001-08-31  Paul Eggert  <eggert@twinsun.com>
71442
71443         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
71444         a directory's st_size can have an arbitrary value, so the old
71445         usage could waste an arbitrary amount of memory.  All uses
71446         changed.
71447         * lib/savedir.h: Update prototype.
71448
71449 2001-08-31  Paul Eggert  <eggert@twinsun.com>
71450
71451         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
71452
71453         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
71454         old strtoimax.c.
71455
71456         Also, make the following further changes to make this file's
71457         configuration more similar to that of strtol.c:
71458         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
71459         (strtoumax, uintmax_t, strtoull, strtol): Remove.
71460         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
71461         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
71462         changed to signed values.
71463
71464         And make the following changes as well:
71465         Fix copyright notice, as 1999 was missing.
71466         (verify): New macro.
71467         (strtoimax): Check sizes at compile-time, not run-time.
71468         Prefer strtol to strtoll if both work.
71469         (main): Remove; it was not that useful and was a pain to maintain.
71470
71471         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
71472
71473 2001-08-31  Jim Meyering  <meyering@lucent.com>
71474
71475         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
71476         Use an initial, malloc'd, buffer of length 128 rather than
71477         a statically allocated one of length 1024.
71478
71479 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71480
71481         Simplify code, partly by assuming autoconf 2.52 semantics.
71482
71483         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
71484
71485         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
71486         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
71487         All uses removed.
71488         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
71489         Move AC_REQUIRE to next-to-top level, to avoid confusion.
71490         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
71491         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
71492         jm_AC_HEADER_INTTYPES_H.
71493         * m4/jm-macros.m4 (jm_MACROS): Likewise.
71494
71495         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
71496
71497         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
71498         Quote first arg of AC_DEFUN.
71499         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
71500         since they are needed to parse the include file even if we need
71501         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
71502         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
71503         but with opposite signedness.
71504
71505 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71506
71507         Merge 'exclude' changes from tar 1.13.22.
71508         This fixes one or two unlikely storage allocation overflow bugs,
71509         but doesn't change user-visible behavior otherwise.
71510
71511 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71512
71513         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
71514         (jm_PREREQ_EXCLUDE): New macro.
71515
71516 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71517
71518         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
71519         tm to be declared.
71520
71521 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71522
71523         * lib/hash.c: Remove '2001' from copyright notice.
71524
71525 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71526
71527         * lib/full-write.h: New file.
71528         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
71529         * lib/full-write.c: Correct credits, as cccp.c no longer
71530         exists and anyway it was so heavily changed from the old cccp
71531         code as to be unrecognizable.  Include full-write.h.
71532         (full_write) Return size_t, with short writes meaning failure.
71533         All callers changed.  This fixes a bug with large buffers
71534         on 64-bit hosts.
71535         * lib/utime.c: Include full-write.h.
71536
71537 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71538
71539         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
71540         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
71541         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
71542         Include if available.
71543         (<xalloc.h>): Include
71544         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
71545         (verify): New macro.  Use it to verify that EXCLUDE macros do not
71546         collide with FNM macros.
71547         (struct patopts): New struct.
71548         (struct exclude): Use it, as exclude patterns now come with options.
71549         (new_exclude): Support above changes.
71550         (new_exclude, add_exclude_file):
71551         Initial size must now be a power of two to simplify overflow checking.
71552         (free_exclude, fnmatch_no_wildcards): New function.
71553         (excluded_filename): No longer requires options arg, as the options
71554         are determined by add_exclude.  Now returns bool, not int.
71555         (excluded_filename, add_exclude):
71556         Add support for the fancy new exclusion options.
71557         (add_exclude, add_exclude_file): Now takes int options arg.
71558         Check for arithmetic overflow when computing sizes.
71559         (add_exclude_file): xrealloc might modify errno, so don't
71560         realloc until after errno might be used.
71561
71562         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
71563         New macros.
71564         (free_exclude): New decl.
71565         (add_exclude, add_exclude_file): Now takes int options arg.
71566         (excluded_filename): No longer requires options arg, as the options
71567         are determined by add_exclude.  Now returns bool, not int.
71568
71569 2001-08-30  Paul Eggert  <eggert@twinsun.com>
71570
71571         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
71572
71573 2001-08-27  Jim Meyering  <meyering@lucent.com>
71574
71575         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
71576
71577         * lib/version-etc.c (N_): Remove definition.
71578         Revert most of last change.
71579         Instead, simply don't mark the `Copyright...' string for translation.
71580         Based on advice from Paul Eggert.
71581
71582         * lib/strtoxmax.c: Tweak comment.
71583
71584 2001-08-26  Jim Meyering  <meyering@lucent.com>
71585
71586         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
71587
71588         * m4/xstrtoimax.m4: New file.
71589         * m4/xstrtoumax.m4: Add comments explaining why we
71590         AC_REPLACE_FUNCS(strtol).
71591
71592 2001-08-26  Jim Meyering  <meyering@lucent.com>
71593
71594         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
71595         of copyright with `%s' so translators don't get an untranslated
71596         message in 2002.
71597         (COPYRIGHT_YEAR): Define.
71598         (version_etc): Use fprintf rather than fputs.
71599         Suggestion from Ulrich Drepper.
71600
71601         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
71602
71603         * lib/strtoll.c: New file, from GNU libc.
71604         * lib/xstrtoimax.c: New file.
71605
71606         * lib/xstrtol.h: Add xstrtoimax.
71607         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
71608         * lib/strtoimax.c: New file.  Likewise, but first define
71609         STRTOUXMAX_SIGNED.
71610
71611         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
71612         ...
71613         * lib/strtoxmax.c: ... then renamed to this.
71614
71615 2001-08-18  Paul Eggert  <eggert@twinsun.com>
71616
71617         * m4/inttypes.m4: Add AC_PREREQ(2.13).
71618         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
71619         (jm_AC_TYPE_INTMAX_T): New macro.
71620         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
71621
71622         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
71623
71624         * m4/longlong.m4: Renamed from ulonglong.m4.
71625         * m4/inttypes.m4: Renamed from inttypes_h.m4.
71626         * m4/uintmax_t.m4: Removed.
71627
71628 2001-08-13  Paul Eggert  <eggert@twinsun.com>
71629
71630         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
71631         Port to Solaris 8, where 'sed' requires a space after the 'r'
71632         command, and where sh dislikes "$/".  Clean up the spacing a bit.
71633         Redirect output to $tmp just once.
71634
71635 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
71636
71637         * lib/addext.c (<errno.h>): Include.
71638         (errno): Declare if not defined.
71639         (addext): Work correctly when pathconf returns -1 and leaves
71640         errno alone because there is no limit.  Also, work even if
71641         pathconf returns a value greater than SIZE_MAX.
71642
71643 2001-08-12  Jim Meyering  <meyering@lucent.com>
71644
71645         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
71646         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
71647         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
71648         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
71649         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
71650         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
71651         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
71652         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
71653         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
71654         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
71655         utime.m4, utimes.m4, xstrtoumax.m4:
71656         Quote the first argument in each use of AC_DEFUN.
71657
71658 2001-08-12  Jim Meyering  <meyering@lucent.com>
71659
71660         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
71661         Simply `return getcwd (NULL, 0);'.
71662         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
71663         Use 1300 as initial value for length, not PATH_MAX.
71664
71665         * lib/pathmax.h: Clean up cpp syntax.
71666
71667 2001-08-12  Jim Meyering  <meyering@lucent.com>
71668
71669         * lib/gettimeofday.c: New file.
71670         * lib/gtod.h: New file.
71671         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
71672
71673 2001-08-05  Jim Meyering  <meyering@lucent.com>
71674
71675         * m4/jm-macros.m4: Require autoconf-2.52.
71676
71677 2001-08-04  Jim Meyering  <meyering@lucent.com>
71678
71679         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
71680         stmt, to get in sync with glibc.
71681
71682 2001-08-03  Paul Eggert  <eggert@twinsun.com>
71683
71684         The following changes are from gettext 0.10.39 as maintained by
71685         Bruno Haible.
71686
71687         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
71688         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
71689         with inverted sense.  All uses changed.
71690
71691         * lib/mbswidth.c: Don't include <limits.h>.
71692         Include <stdlib.h> and <string.h> unconditionally.
71693         (iswcntrl, mbsinit, ISCNTRL): New macros.
71694         (mbsnwidth): Use K&R style function declarations.
71695         Don't bother checking for MB_LEN_MAX == 1, since the compiler
71696         can optimize it when MB_CUR_MAX == 1.
71697         The width of control characters is zero, not 1.
71698
71699 2001-08-03  Paul Eggert  <eggert@twinsun.com>
71700
71701         The following changes are from gettext 0.10.39 as maintained by
71702         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
71703
71704         * m4/codeset.m4: Upgrade to serial AM1.
71705         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
71706         all uses changed.  Quote first arg of AC_DEFUN.
71707         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
71708
71709         * m4/iconv.m4: Upgrade to serial AM2.
71710         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
71711         Add --with-libconv-prefix.
71712         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
71713         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
71714         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
71715         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
71716         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
71717
71718         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
71719         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
71720         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
71721         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
71722         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
71723         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
71724         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
71725         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
71726         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
71727
71728         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
71729         string.h any more.
71730
71731         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
71732         not the default value.
71733
71734         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
71735         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
71736         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
71737         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
71738         Also check for iswcntrl, used for wcwidth fallback.
71739         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
71740         to Autoconf 2.13.
71741
71742 2001-08-03  Jim Meyering  <meyering@lucent.com>
71743
71744         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
71745         as it was in the original.  Reported by Paul Eggert.
71746
71747 2001-07-16  Jim Meyering  <meyering@lucent.com>
71748
71749         * m4/gettimeofday.m4: New file.
71750         Prompted by a report from Bernhard Baehr.
71751
71752 2001-07-15  Jim Meyering  <meyering@lucent.com>
71753
71754         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
71755         stuff. Now it's in ../Makefile.cfg.
71756
71757 2001-07-15  Jim Meyering  <meyering@lucent.com>
71758
71759         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
71760         (BUILT_SOURCES): Add unlocked-io.h.
71761         (io_functions): Define.
71762         (unlocked-io.h): New rule.
71763         (DISTCLEANFILES): Add unlocked-io.h.
71764         (all-local): Depend on unlocked-io.h, to ensure it is created.
71765
71766         * lib/unlocked-io.hin: New file
71767
71768         * lib/regex.c: Update from glibc.
71769
71770 2001-07-05  Jim Meyering  <meyering@lucent.com>
71771
71772         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
71773         recommendation.
71774         (libfetish_a_SOURCES): Put all .h files here instead.
71775         Remove a thus-exposed (better checks in automake) duplicate and
71776         two unnecessary .h files.
71777
71778 2001-07-04  Jim Meyering  <meyering@lucent.com>
71779
71780         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
71781         that generates jm-glibc-io.m4 so that it doesn't trigger any make
71782         distcheck failure.
71783
71784 2001-07-02  Jim Meyering  <meyering@lucent.com>
71785
71786         The following changes were prompted by suggestions from Bruno Haible.
71787
71788         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
71789         is now generated.
71790         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
71791         definition of EXTRA_DIST.
71792         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
71793         ensure that the generated file is created/updated whenever the list
71794         of $(unlocked_functions) is changed.
71795         (jm-glibc-io.m4): New rule.
71796         (unlocked-io.h): New rule -- currently unused.
71797
71798 2001-06-24  Jim Meyering  <meyering@lucent.com>
71799
71800         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
71801         unmatched right bracket, rather than kludging it with an extra,
71802         falsely-matching quote in a comment.  Patch by Akim Demaille.
71803
71804 2001-06-11  Jim Meyering  <meyering@lucent.com>
71805
71806         * lib/regex.c: Update from GNU libc.
71807
71808 2001-05-27  Jim Meyering  <meyering@lucent.com>
71809
71810         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
71811         Check for ut_type in struct utmp.
71812
71813 2001-05-27  Jim Meyering  <meyering@lucent.com>
71814
71815         * lib/readutmp.h (UT_TYPE): Define.
71816
71817 2001-05-24  Jim Meyering  <meyering@lucent.com>
71818
71819         * lib/argmatch.c: Include "quote.h".
71820         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
71821         quote function.  Reported by Göran Uddeborg.
71822
71823 2001-05-22  Jim Meyering  <meyering@lucent.com>
71824
71825         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
71826         now that we use the package-supplied version unconditionally.
71827         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
71828
71829 2001-05-21  Jim Meyering  <meyering@lucent.com>
71830
71831         * m4/regex.m4: Change a couple backticks to single quotes to avoid
71832         shell syntax errors.
71833
71834 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
71835
71836         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
71837
71838 2001-05-20  Paul Eggert  <eggert@twinsun.com>
71839
71840         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
71841         Don't bother to check library strftime, since
71842         we'll be using our own my_strftime function anyway.
71843         Define my_strftime instead of strftime.
71844
71845 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
71846
71847         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
71848         which is not yet declared.
71849
71850 2001-05-15  Jim Meyering  <meyering@lucent.com>
71851
71852         * m4/regex.m4: Use proper quoting so brackets appear in the test
71853         program.
71854         Reported by, and with help from, Bruno Haible.
71855
71856 2001-05-13  Jim Meyering  <meyering@lucent.com>
71857
71858         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
71859         undefined.
71860
71861 2001-05-11  Paul Eggert  <eggert@twinsun.com>
71862
71863         dirname code cleanup.  base_name now behaves more compatibly
71864         with POSIX basename when given file names that have trailing
71865         slashes, and similarly for dir_name.  Add new primitives
71866         base_len and dir_len.  Put the directory-name-related decls
71867         into dirname.h.
71868
71869         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
71870         * lib/backupfile.c (base_name): Likewise.
71871         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
71872         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
71873         * lib/makepath.c (strip_trailing_slashes): Likewise.
71874         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
71875         ISSLASH): Likewise.
71876         * lib/rename.c (strip_trailing_slashes): Likewise.
71877         * lib/same.c (base_name): Likewise.
71878         * lib/stripslash.c (ISSLASH): Likewise.
71879
71880         * lib/addext.c: Include <dirname.h> after size_t is defined.
71881         * lib/backupfile.c: Likewise.
71882
71883         * lib/addext.c (addext): Use base_len to trim redundant
71884         trailing slashes instead of doing it ourselves.
71885         But do not trim the last slash if it is not redundant.
71886
71887         * lib/backupfile.c (find_backup_file_name,
71888         max_backup_version): Use base_len instead of rolling it ourselves.
71889         Handle the case of "" and (on DOS) "C:" correctly.
71890
71891         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
71892         needed. Include <string.h>, <dirname.h>.
71893         (base_name): Allow file names ending in slashes, other than names
71894         that are all slashes.  In this case, return the basename followed
71895         by the slashes.  This is more general, and can be used in places
71896         where the original base_name purposely had an assertion failure.
71897         (base_len): New function.
71898
71899         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
71900         Do not include <assert.h>; no longer needed.
71901         Include xalloc.h.
71902         (memrchr): Remove decl.
71903         (dir_name_r): Remove.
71904         (dir_len): Renamed from dirlen.  All callers changed.
71905         Rewrite in terms of base_name, for simplicity and consistency.
71906         (dir_name): Never return NULL.  All callers changed.
71907         Do not include <stdlib.h> in test program; no longer needed.
71908         return 0; is fine for test program.
71909
71910         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
71911         New macros.
71912         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
71913
71914         * lib/path-concat.c (path_concat): Use base_len to compute
71915         base length, not strlen; this means we cannot rely on memcpy
71916         to null-terminate.
71917
71918         * lib/same.c (STREQ): Remove.
71919         (same_name): Handle the case where the basename ends in trailing '/'.
71920
71921         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
71922         a slash was stripped.  Do not strip the last slash after a
71923         file system prefix.
71924
71925 2001-05-11  Paul Eggert  <eggert@twinsun.com>
71926
71927         * lib/Makefile.am (libfetish_a_SOURCES):
71928         Add strftime.c, since we now compile it on all hosts.
71929
71930         * lib/strftime.c (my_strftime):
71931         Define to nstrftime if emacs, but only if my_strftime is not defined.
71932         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
71933         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
71934         Add one more extra argument: a nanoseconds value.
71935         All uses changed.
71936         (ns): New macro.
71937         (my_strftime function): Add %N format.
71938         (emacs_strftimeu): Renamed from emacs_strftime,
71939         with extra ut argument.
71940
71941 2001-05-09  Paul Eggert  <eggert@twinsun.com>
71942
71943         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
71944
71945 2001-04-21  Jim Meyering  <meyering@lucent.com>
71946
71947         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
71948         doesn't interfere.
71949
71950 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
71951
71952         * m4/ftruncate.m4: Check for chsize.
71953         Link with ftruncate.o unconditionally if ftruncate is missing.
71954         This was required when cross-compiling to i586-mingw32msvc.
71955
71956 2001-04-08  Jim Meyering  <meyering@lucent.com>
71957
71958         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
71959         recomputed; that's necessary when the offset spans a DST transition.
71960         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
71961
71962 2001-04-02  Jim Meyering  <meyering@lucent.com>
71963
71964         * lib/regex.h, regex.c: Update from GNU libc.
71965
71966 2001-03-24  Jim Meyering  <meyering@lucent.com>
71967
71968         * m4/jm-macros.m4: Require autoconf-2.49d.
71969
71970 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
71971
71972         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
71973
71974 2001-03-19  Paul Eggert  <eggert@twinsun.com>
71975
71976         * lib/version-etc.c (version_etc_copyright): Update to 2001.
71977
71978 2001-03-17  Jim Meyering  <meyering@lucent.com>
71979
71980         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
71981         now that the version in autoconf is equivalent.
71982         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
71983
71984         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
71985         Suggestion from Akim Demaille.
71986
71987         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
71988         (jm_PREREQ_TEMPNAME): New function.
71989
71990 2001-03-16  Paul Eggert  <eggert@twinsun.com>
71991
71992         * lib/tempname.c (uint64_t): Define to uintmax_t if
71993         not defined, and if UINT64_MAX is not defined.
71994         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
71995         Reported by John David Anglin.
71996
71997 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
71998
71999         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
72000         resolve alias if codeset is empty.
72001         * lib/config.charset (BeOS): Use wildcard syntax.
72002
72003 2001-03-13  Jim Meyering  <meyering@lucent.com>
72004
72005         * lib/path-concat.c (path_concat)
72006         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
72007         concatenating e.g., `C:' and `foo'.
72008         From Bruno Haible.
72009
72010 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
72011
72012         * lib/localcharset.c (locale_charset): Don't use
72013         setlocale(LC_CTYPE,NULL). Don't return NULL.
72014         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
72015
72016 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
72017
72018         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
72019         support for DOS/DJGPP.
72020
72021 2001-03-01  Paul Eggert  <eggert@twinsun.com>
72022
72023         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
72024         lacks mkstemp.  Compile our own tempname.c if we compile our own
72025         mkstemp.c, as mkstemp relies on tempname.
72026
72027 2001-03-01  Jim Meyering  <meyering@lucent.com>
72028
72029         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
72030         AH_VERBATIM really does output its argument verbatim.
72031
72032 2001-02-28  Paul Eggert  <eggert@twinsun.com>
72033
72034         * lib/Makefile.am (libfetish_a_SOURCES):
72035         Add dup-safer.c, fopen-safer.c.
72036         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
72037
72038         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
72039         * lib/unistd-safer.h: New files.
72040
72041 2001-02-25  Paul Eggert  <eggert@twinsun.com>
72042
72043         The mkstemp replacement is taken from glibc 2.2.2, with some
72044         portability fixes for use outside glibc, as follows:
72045
72046         * lib/tempname.c (struct_stat64): New macro.
72047         (direxists, __gen_tempname): Use it.
72048         This avoids a portability problem with Solaris 8.
72049
72050         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
72051         (<stddef.h>, <stdint.h>, <string.h>):
72052         Include only if STDC_HEADERS || _LIBC.
72053         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
72054         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
72055         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
72056         (__set_errno): Define this macro if <errno.h> doesn't.
72057         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
72058         Define these macros if <stdio.h> doesn't.
72059         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
72060         Define these macros if <sys/stat.h>
72061         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
72062         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
72063         __xstat64): Define if not _LIBC.
72064         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
72065         (__gen_tempname): Invoke gettimeofday only if
72066         HAVE_GETTIMEOFDAY || _LIBC;
72067         otherwise, fall back on plain "time".
72068         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
72069
72070         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
72071
72072         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
72073
72074 2001-02-18  Paul Eggert  <eggert@twinsun.com>
72075
72076         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
72077
72078 2001-02-17  Paul Eggert  <eggert@twinsun.com>
72079
72080         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
72081         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
72082         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
72083         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
72084
72085 2001-02-17  Paul Eggert  <eggert@twinsun.com>
72086
72087         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
72088         Remove workaround macros for hosts that have mbrtowc but not
72089         mbstate_t, as we now insist on proper declarations for both
72090         before using mbrtowc.
72091
72092 2001-02-17  Jim Meyering  <meyering@lucent.com>
72093
72094         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
72095         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
72096         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
72097         UnixWare 7.1.1.
72098
72099         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
72100         rather than AC_CACHE_VAL.
72101
72102 2001-02-17  Jim Meyering  <meyering@lucent.com>
72103
72104         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
72105         around included file name.
72106
72107         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
72108
72109         * lib/strftime.c: Update from GNU libc (the only changes were to
72110         comments).
72111
72112 2001-02-17  Jim Meyering  <meyering@lucent.com>
72113
72114         * lib/regex.c: Update from libc.
72115
72116 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
72117
72118         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
72119         clash.
72120
72121 2001-02-16  Paul Eggert  <eggert@twinsun.com>
72122
72123         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
72124         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
72125         Reported by Mark Hounschell via Paul Eggert.
72126
72127 2001-02-07  Jim Meyering  <meyering@lucent.com>
72128
72129         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
72130
72131 2001-02-05  Jim Meyering  <meyering@lucent.com>
72132
72133         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
72134         it includes the patch required for `large file' support with at least
72135         HP-UX's 10.20 /bin/cc.
72136
72137 2001-02-03  Jim Meyering  <meyering@lucent.com>
72138
72139         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
72140         AS_IF, now that it works once again (mysteriously).
72141         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
72142
72143 2001-01-30  Jim Meyering  <meyering@lucent.com>
72144
72145         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
72146         * m4/chown.m4: Rename conftestchown to conftest.chown.
72147         * m4/rename.m4: s/conftestdir/conftest.d1/ and
72148         s/conftestdir2/conftest.d2/.
72149         * m4/utimes.m4: s/conftestdata/conftest.data/
72150         Inspired by Pavel Roskin's change in autoconf.
72151
72152 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
72153
72154         * lib/config.charset: Update for FreeBSD 4.2.
72155
72156 2001-01-27  Jim Meyering  <meyering@lucent.com>
72157
72158         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
72159         a use of AS_IF.
72160         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
72161
72162 2001-01-26  Jim Meyering  <meyering@lucent.com>
72163
72164         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
72165         quotearg.c includes it.
72166
72167 2001-01-26  Jim Meyering  <meyering@lucent.com>
72168
72169         * lib/quotearg.c: Include stddef.h.
72170         * lib/quote.c: Include stddef.h.
72171         Reported by Axel Kittenberger.
72172
72173         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
72174         line in double quotes so that it evokes a better diagnostic.
72175         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
72176         Reported by Axel Kittenberger.
72177
72178 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
72179
72180         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
72181         as if it was a `charset'.
72182
72183 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
72184
72185         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
72186         has const.
72187
72188 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
72189
72190         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
72191         to avoid a warning.  Add back 'const' to inptr.
72192
72193 2001-01-20  Jim Meyering  <meyering@lucent.com>
72194
72195         Be sure that headers are checked before used in code compiled
72196         for the type checks.
72197         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
72198         In place of that, invoke jm_CHECK_ALL_TYPES.
72199         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
72200         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
72201         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
72202         The check for ssize_t was mistakenly run before the test for unistd.h.
72203
72204         The configure-time check for stdbool.h was missing.
72205         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
72206         (jm_PREREQ_HASH): New function.
72207
72208 2001-01-17  Jim Meyering  <meyering@lucent.com>
72209
72210         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
72211         for autoconf-2.49c.
72212         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
72213
72214 2001-01-16  Jim Meyering  <meyering@lucent.com>
72215
72216         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
72217         From Bruno Haible.
72218
72219 2001-01-14  Jim Meyering  <meyering@lucent.com>
72220
72221         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
72222         foo and bar.  Create conftestdir/ in the script, not in the C code.
72223         Remove directories in the script, not in the C code.
72224         Remove conftestdir{,2} before trying to create the directory.
72225         Make the entire configure script fail if the mkdir fails.
72226
72227 2001-01-14  Jim Meyering  <meyering@lucent.com>
72228
72229         * lib/rename.c: New file.  From Volker Borchert.
72230         Include stdlib.h, string.h or strings.h, and xalloc.h.
72231         Use strip_trailing_slashes rather than open-coding it.
72232
72233 2001-01-03  Paul Eggert  <eggert@twinsun.com>
72234
72235         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
72236
72237 2001-01-03  Jim Meyering  <meyering@lucent.com>
72238
72239         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
72240         of local `inptr' to avoid warning with some system declarations of
72241         iconv.
72242
72243 2001-01-02  Volker Borchert  <bt@teknon.de>
72244
72245         * m4/rename.m4: New file.
72246         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
72247
72248 2001-01-01  Jim Meyering  <meyering@lucent.com>
72249
72250         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
72251         even on systems with utmpx.h.  It's necessary for the declaration of
72252         utmp's ut_user member.  Reported by Andreas Jaeger.
72253
72254         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
72255         available. They are required for the declarations of getgrgid and
72256         getpwuid resp.
72257         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
72258         Reported by Andreas Jaeger.
72259
72260 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
72261
72262         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
72263         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
72264         so `make install' also works in VPATH builds.
72265
72266 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
72267
72268         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
72269         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
72270         can be used in subdirectories.
72271
72272 2000-12-29  Paul Eggert  <eggert@twinsun.com>
72273
72274         * lib/modechange.c: Do not assume that mode_t uses the
72275         traditional octal encoding.  E.g. "chmod 1 FOO" should set
72276         the other-execute bit of FOO even if S_IXOTH != 1.
72277
72278         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
72279         WOTH, XOTH, ALLM): New macros.
72280         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
72281          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
72282         Use them.
72283         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
72284         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
72285         (mode_compile):
72286         No need to use uintmax_t; unsigned long is long enough.
72287         Don't bother to get suffix since we don't use it.
72288
72289 2000-12-26  Jim Meyering  <meyering@lucent.com>
72290
72291         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
72292         better with autoheader.
72293
72294 2000-12-24  Jim Meyering  <meyering@lucent.com>
72295
72296         * lib/hash.c (is_prime): Return explicit boolean values.
72297         (hash_get_first): Return NULL to appease Irix5.6's 89.
72298         Reported by Nelson Beebe.
72299
72300 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
72301
72302         * lib/localcharset.c (locale_charset): Add support for Win32.
72303
72304 2000-12-18  Paul Eggert  <eggert@twinsun.com>
72305
72306         * lib/physmem.h, lib/physmem.c: New files.
72307
72308         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
72309         (noinst_HEADERS): Add physmem.h.
72310
72311         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
72312         't' for compatibility with Solaris 8 sort.
72313
72314 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
72315
72316         * lib/config.charset: Add support for BeOS.
72317
72318 2000-12-17  Jim Meyering  <meyering@lucent.com>
72319
72320         * m4/dos.m4 (jm_AC_DOS): New file and macro.
72321         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
72322
72323 2000-12-16  Jim Meyering  <meyering@lucent.com>
72324
72325         This bug had a serious impact on chown: `chown N:M FILE' (for integer
72326         N and M) would have treated it like `chown N:N FILE'.
72327
72328         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
72329
72330 2000-12-16  Jim Meyering  <meyering@lucent.com>
72331
72332         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
72333         SHELLS_FILE to a file name that's useful on djgpp systems.
72334         Include stdlib.h.
72335         (ADDITIONAL_DEFAULT_SHELLS): Define.
72336         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
72337         Based mostly on a patch from Prashant TR.
72338
72339 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
72340
72341         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
72342         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
72343         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
72344
72345 2000-12-08  Andreas Schwab  <schwab@suse.de>
72346
72347         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
72348         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
72349
72350 2000-12-07  Jim Meyering  <meyering@lucent.com>
72351
72352         * lib/stripslash.c (ISSLASH): Define.
72353         (strip_trailing_slashes): Use ISSLASH rather than comparing against
72354         `/'.
72355         From Prashant TR.
72356
72357         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
72358         (dir_name_r): Declare this function as static.
72359         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
72360         manifest itself on a name containing a mix of slashes and
72361         backslashes.
72362         Make this function work with names starting with a DOS-style
72363         drive letter and colon prefix.
72364         (dir_name): Append `.' if necessary.
72365         Based mostly on patches from Prashant TR and Eli Zaretskii.
72366
72367         * lib/dirname.h (dir_name_r): Remove prototype.
72368
72369 2000-12-06  Paul Eggert  <eggert@twinsun.com>
72370
72371         * m4/off_t-format.m4: Remove this file.
72372         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
72373
72374 2000-12-06  Jim Meyering  <meyering@lucent.com>
72375
72376         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
72377         replacement strtoull, we may well need the replacement strtoul, too.
72378         Check for declarations of strtoul and strtoull.
72379         Check for strtol.  Mainly as a cue to cause automake to include
72380         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
72381         Check for limits.h -- strtol.c needs it.
72382
72383 2000-12-05  Jim Meyering  <meyering@lucent.com>
72384
72385         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
72386
72387 2000-12-04  Jim Meyering  <meyering@lucent.com>
72388
72389         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
72390         Also include memory.h, stdlib.h, unistd.h if appropriate.
72391         Reported by Andreas Jaeger (conflicting declaration of malloc).
72392
72393 2000-12-02  Jim Meyering  <meyering@lucent.com>
72394
72395         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
72396         * m4/jm-macros.m4 (jm_MACROS): require it.
72397
72398 2000-12-02  Jim Meyering  <meyering@lucent.com>
72399
72400         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
72401
72402 2000-12-01  Paul Eggert  <eggert@twinsun.com>
72403
72404         * lib/memrchr.c: Include <config.h> before any system include file.
72405
72406 2000-11-30  Jim Meyering  <meyering@lucent.com>
72407
72408         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
72409
72410 2000-11-30  Jim Meyering  <meyering@lucent.com>
72411
72412         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
72413
72414 2000-11-29  Paul Eggert  <eggert@twinsun.com>
72415
72416         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
72417
72418 2000-11-26  Jim Meyering  <meyering@lucent.com>
72419
72420         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
72421
72422 2000-11-22  Paul Eggert  <eggert@twinsun.com>
72423
72424         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
72425         size of (size_t) -1; it's not portable.
72426
72427 2000-11-17  Jim Meyering  <meyering@lucent.com>
72428
72429         * lib/strstr.c: Update from GNU libc.
72430
72431 2000-11-17  Akim Demaille  <akim@epita.fr>
72432
72433         * lib/obstack.h: Formatting changes.
72434         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
72435         prevent type checking.
72436         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
72437         cast the value to (void *): assigning a `foo *' to a `void *'
72438         variable is valid.
72439         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
72440
72441 2000-11-16  Jim Meyering  <meyering@lucent.com>
72442
72443         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
72444
72445 2000-11-11  Jim Meyering  <meyering@lucent.com>
72446
72447         * lib/error.c: Add a couple #includes, merging from GNU libc version.
72448
72449 2000-11-10  Jim Meyering  <meyering@lucent.com>
72450
72451         * lib/obstack.h: Update from GNU libc.
72452         * lib/obstack.c: Likewise.
72453
72454 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
72455
72456         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
72457
72458 2000-11-06  Paul Eggert  <eggert@twinsun.com>
72459
72460         * lib/getusershell.c (setusershell): Use rewind rather than
72461         fseek/fseeko, to avoid configuration hassles with fseeko.
72462         Don't bother opening SHELLS_FILE if shellstream is NULL;
72463         it's not necessary.
72464
72465 2000-11-05  Jim Meyering  <meyering@lucent.com>
72466
72467         * lib/makepath.h (make_dir): Declare.
72468         * lib/makepath.c (make_dir): Remove `static' attribute.
72469         Tweak a comment.
72470
72471 2000-11-04  Jim Meyering  <meyering@lucent.com>
72472
72473         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
72474
72475 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
72476
72477         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
72478         last one in a bucket, advance to the next bucket.
72479
72480 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
72481
72482         * lib/fnmatch.c: Do not comment out all the code if we are using
72483         the GNU C library, because in some cases we are replacing buggy
72484         code in the GNU C library itself.
72485
72486 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
72487
72488         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
72489         (regex_compile): Catch bogus \(\1\).
72490
72491 2000-10-30  Paul Eggert  <eggert@twinsun.com>
72492
72493         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
72494         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
72495         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
72496
72497 2000-10-30  Paul Eggert  <eggert@twinsun.com>
72498
72499         * lib/error.h, getline.h, modechange.h:
72500         Remove "2000" from Copyright line, as the file hasn't been
72501         changed this year other than in the copyright notice.
72502
72503         * lib/xalloc.h: Add "2000" to Copyright line, as this file
72504         was changed this year.
72505
72506 2000-10-29  Jim Meyering  <meyering@lucent.com>
72507
72508         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
72509         renaming.
72510         * m4/ls-mntd-fs.m4: Likewise
72511
72512 2000-10-29  Jim Meyering  <meyering@lucent.com>
72513
72514         * lib/xstat.in: Fix grammar in comment.
72515
72516 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
72517
72518         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
72519         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
72520         doesn't define __restrict_arr.
72521
72522 2000-10-28  Jim Meyering  <meyering@lucent.com>
72523
72524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
72525         (jm_PREREQ_MEMCHR): New function.
72526
72527 2000-10-28  Jim Meyering  <meyering@lucent.com>
72528
72529         * lib/memchr.c: Update from libc.
72530         Adjust for portability:
72531         [HAVE_STDLIB_H]: Include stdlib.h.
72532         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
72533         Undef __memchr, too.
72534         [!weak_alias]: Define __memchr to memchr.
72535
72536         * lib/regex.c: Update from libc.
72537         * lib/regex.h: Likewise.
72538         * lib/getopt1.c: Likewise.
72539         * lib/memcmp.c: Likewise.
72540
72541         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
72542         Avoid using fseek, when possible -- it's broken by design.
72543         Patch by Ulrich Drepper.
72544
72545 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
72546
72547         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
72548         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
72549         Giving in to popular pressure to shut up the compiler with casts.
72550
72551 2000-10-26  Jim Meyering  <meyering@lucent.com>
72552
72553         * lib/strftime.c: Update from libc.
72554
72555 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
72556
72557         * regex.c: More `unsigned char' -> `re_char' changes.
72558         Also change several `int' into `re_wchar_t'.
72559         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
72560         (PUSH_FAILURE_POINTER): Don't cast any more.
72561         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
72562         We want GCC to complain, since this piece of code makes
72563         re_match non-reentrant, which *should* be fixed.
72564         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
72565         (EXTEND_BUFFER): Use RETALLOC.
72566         (SET_LIST_BIT): Don't cast.
72567         (re_wchar_t): New type.
72568         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
72569         that those two functions will always properly return.
72570         (IMMEDIATE_QUIT_CHECK): Cast to void.
72571         (analyse_first): Use recursion rather than an explicit stack.
72572         (re_compile_fastmap): Can't fail anymore.
72573         (re_search_2): Don't check re_compile_fastmap for failure.
72574         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
72575         Now also sets the new value (passed in a new argument).
72576         (re_match_2_internal): Use it.
72577         Also, use a new var `reg' of type size_t when looping through regs
72578         rather than reuse the inappropriate `mcnt'.
72579
72580 2000-10-25  Jim Meyering  <meyering@lucent.com>
72581
72582         * lib/obstack.c: Update from libc.
72583
72584 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
72585
72586         * regex.c (regex_compile): Change the way of handling a range from
72587         a char less than 256 to a char not less than 256.
72588
72589 2000-10-24  Andrew Innes  <andrewi@gnu.org>
72590
72591         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
72592         NT-Emacs only.
72593         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
72594         so that re_search functions only quit when callers expect them to.
72595
72596 2000-10-23  Jim Meyering  <meyering@lucent.com>
72597
72598         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
72599         wrong.  That set_locale call must not have any side effects.
72600         From Paul Eggert.
72601
72602 2000-10-22  Jim Meyering  <meyering@lucent.com>
72603
72604         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
72605         [CYCLIC]: Remove now-unused definition.
72606
72607         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
72608         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
72609         Suggestion from Ulrich Drepper.
72610
72611 2000-10-21  Jim Meyering  <meyering@lucent.com>
72612
72613         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
72614         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
72615         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
72616
72617 2000-10-21  Jim Meyering  <meyering@lucent.com>
72618
72619         * lib/dirname.c (memrchr): Declare if necessary.
72620         (dir_name): Remove the restriction that there be no
72621         trailing slashes.  Now, this code skips past them, effectively
72622         ignoring them.
72623         [TEST_DIRNAME] (main): New unit tests.
72624
72625         * lib/memrchr.c: New file from GNU libc.
72626         Undef __memrchr, too.
72627         [!weak_alias]: Define __memrchr to memrchr.
72628         Guard weak_alias use with `#ifdef weak_alias'.
72629
72630 2000-10-21  Jim Meyering  <meyering@lucent.com>
72631
72632         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
72633         (dir_name): Use dir_name_r.
72634         * lib/dirname.h (dir_name_r): Declare it.
72635
72636 2000-10-17  Jim Meyering  <meyering@lucent.com>
72637
72638         * lib/quote.h (PARAMS): Define and use.
72639         Reported by Akim Demaille.
72640
72641         * lib/getopt.c: Update from libc.
72642
72643 2000-10-16  Jim Meyering  <meyering@lucent.com>
72644
72645         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
72646         setlocale.
72647         From Jan Fedak.
72648
72649 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
72650
72651         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
72652
72653 2000-09-25  Jim Meyering  <meyering@lucent.com>
72654
72655         * lib/md5.h (rol): Define (from GnuPG).
72656
72657         * lib/sha.c: Give credit (GnuPG) where due.
72658         (M): Use rol rather than open-coding it.
72659         Add a FIXME comment.
72660
72661 2000-09-21  Jim Meyering  <meyering@lucent.com>
72662
72663         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
72664         Reported by Michael Stone.
72665
72666 2000-09-20  Jim Meyering  <meyering@lucent.com>
72667
72668         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
72669         (noinst_HEADERS): Add sha.h.
72670         Based on code from Scott G. Miller and from GnuPG.
72671
72672 2000-09-18  Jim Meyering  <meyering@lucent.com>
72673
72674         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
72675         LIBS. Otherwise, everyone ends up linking with -lelf for some
72676         configurations.
72677         Reported by Mike Stone.
72678
72679 2000-09-15  Jim Meyering  <meyering@lucent.com>
72680
72681         * lib/regex.c: Update from libc.
72682
72683 2000-09-10  Jim Meyering  <meyering@lucent.com>
72684
72685         * lib/getopt.c (_getopt_internal): Update from glibc.
72686
72687 2000-09-09  Jim Meyering  <meyering@lucent.com>
72688
72689         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
72690         think it should be used as a general replacement for isascii.
72691         * lib/fnmatch.c: Likewise.
72692         * lib/mbswidth.c: Likewise
72693         * lib/regex.c: Likewise.
72694
72695         Don't use atoi.
72696         * lib/userspec.c: Include sys/param.h and limits.h.
72697         Include xstrtol.h.
72698         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
72699         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
72700         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
72701         UID, GID.  Check range.
72702
72703 2000-09-06  Jim Meyering  <meyering@lucent.com>
72704
72705         * lib/getopt.c (_getopt_internal): Update from glibc.
72706
72707 2000-08-30  Jim Meyering  <meyering@lucent.com>
72708
72709         * lib/strftime.c: Merge in changes from GNU libc.
72710
72711 2000-08-26  Jim Meyering  <meyering@lucent.com>
72712
72713         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
72714         * m4/fpending.m4: New file.
72715
72716 2000-08-26  Jim Meyering  <meyering@lucent.com>
72717
72718         * lib/closeout.c: Include "__fpending.h".
72719         (close_stdout_status): Return right away if there's nothing to flush.
72720
72721         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
72722         * lib/__fpending.c: New file.
72723         * lib/__fpending.h: New file.
72724
72725 2000-08-20  Jim Meyering  <meyering@lucent.com>
72726
72727         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
72728         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
72729         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
72730
72731 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
72732
72733         Improve fileutils installation on systems where running
72734         programs (like install) can't be unlinked.
72735         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
72736         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
72737
72738 2000-08-07  Paul Eggert  <eggert@twinsun.com>
72739
72740         Standardize on "memory exhausted" instead of "Memory exhausted"
72741         or "virtual memory exhausted".
72742         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
72743         "virtual memory exhausted".
72744         * lib/same.c (same_name): Invoke xalloc_die instead of printing
72745         our own message.
72746         * lib/userspec.c (parse_user_spec): Likewise.
72747         * lib/bumpalloc.h: comment fix
72748         * lib/same.c, userspec.c: Include xalloc.h.
72749
72750         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
72751         not char *const and pointing to a constant array.
72752         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
72753         (xrealloc): Comment fix.
72754
72755         * lib/userspec.c (parse_user_spec):
72756         Don't translate a message until just before returning,
72757         to avoid unnecessary translation.
72758
72759 2000-08-07  Jim Meyering  <meyering@lucent.com>
72760
72761         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
72762         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
72763         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
72764         getgroups.c, gethostname.c, getopt.h, group-member.c,
72765         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
72766         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
72767         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
72768         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
72769         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
72770         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
72771         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
72772         yesno.c: Back out Copyright date changes for each file with no change
72773         this year.  This eases coordination with other programs using the same
72774         source code modules.  From Paul Eggert.
72775
72776 2000-08-06  Paul Eggert  <eggert@twinsun.com>
72777
72778         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
72779         not char, for compatibility with glibc 2.1.3 strftime.c.
72780
72781 2000-08-03  Greg McGary  <greg@mcgary.org>
72782
72783         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
72784         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
72785         (EXTEND_BUFFER): Use them.
72786
72787 2000-08-01  Jim Meyering  <meyering@lucent.com>
72788
72789         * lib/dirname.c (ISSLASH): Define.
72790         (BACKSLASH_IS_PATH_SEPARATOR): Define.
72791         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
72792         both `\' and `/' may be use as path separators.
72793         Based on a patch from Prashant TR.
72794
72795 2000-07-31  Paul Eggert  <eggert@twinsun.com>
72796
72797         * lib/quotearg.c (quotearg_n_options): Don't make the initial
72798         slot vector a constant, since it might get modified.
72799
72800 2000-07-31  Jim Meyering  <meyering@lucent.com>
72801
72802         * lib/xmalloc.c: Use `virtual memory exhausted', not
72803         `Memory exhausted'.
72804         * lib/obstack.c (print_and_abort): Likewise.
72805
72806 2000-07-30  Paul Eggert  <eggert@twinsun.com>
72807
72808         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
72809         buffer, so that the caller can always quote one small
72810         component of a "memory exhausted" message in slot 0.
72811         From a suggestion by Jim Meyering.
72812
72813 2000-07-30  Jim Meyering  <meyering@lucent.com>
72814
72815         * lib/makepath.c (make_path): Quote the other instance, too.
72816
72817         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
72818         (STATIC_BUF_SIZE): Define.
72819         (quotearg_n_options): Use only statically allocated storage when
72820         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
72821         than STATIC_BUF_SIZE.
72822
72823 2000-07-29  Jim Meyering  <meyering@lucent.com>
72824
72825         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
72826         * lib/dirname.c (dir_name): Likewise.
72827
72828         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
72829         `/'.
72830
72831         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
72832         (dir_name): Assert that there are no trailing slashes.
72833
72834 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
72835
72836         * lib/mbswidth.h (mbswidth): Add a flags argument.
72837         (mbswidth): New declaration.
72838         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
72839         * lib/mbswidth.c (mbswidth): Add a flags argument.
72840         (mbsnwidth): New function.
72841
72842 2000-07-24  Jim Meyering  <meyering@lucent.com>
72843
72844         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
72845
72846 2000-07-23  Paul Eggert  <eggert@twinsun.com>
72847
72848         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
72849
72850 2000-07-23  Paul Eggert  <eggert@twinsun.com>
72851
72852         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
72853         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
72854         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
72855         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
72856         invoke multibyte primitives.
72857
72858 2000-07-23  Paul Eggert  <eggert@twinsun.com>
72859
72860         * lib/quotearg.c:
72861         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
72862         so that mbstate_t is always defined.
72863
72864         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
72865         be 1 in at least one GCC installation, and this configuration
72866         error is likely to be common.  Ignoring MB_LEN_MAX hurts
72867         performance on hosts that have mbrtowc but have only unibyte
72868         locales, but I assume these hosts are rare.
72869
72870 2000-07-23  Paul Eggert  <eggert@twinsun.com>
72871
72872         * lib/mbswidth.c (_XOPEN_SOURCE):
72873         Don't define; this causes problems on Solaris 7.
72874         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
72875
72876 2000-07-23  Jim Meyering  <meyering@lucent.com>
72877
72878         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
72879         too: getgrgid, getpwuid, getuid.
72880
72881 2000-07-23  Jim Meyering  <meyering@lucent.com>
72882
72883         * lib/basename.c (base_name): Add an assertion.
72884
72885 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
72886
72887         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
72888         shadow its mbsinit function.
72889
72890 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
72891
72892         * lib/mbswidth.h: New file.
72893         * lib/mbswidth.c: New file.
72894         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
72895         (noinst_HEADERS): Add mbswidth.h.
72896
72897 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
72898
72899         * lib/config.charset: Add support for FreeBSD. Improve support for
72900         HP-UX and IRIX 6.
72901
72902 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
72903
72904         * m4/mbswidth.m4: New file.
72905         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
72906
72907 2000-07-15  Jim Meyering  <meyering@lucent.com>
72908
72909         * lib/makepath.c: Include quote.h.
72910         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
72911         corresponding argument in a `quote (...)' call.
72912         Give better diagnostics.
72913
72914         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
72915         (noinst_HEADERS): Add quote.h.
72916
72917         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
72918         from tar's src/misc.c.
72919         * lib/quote.h: New file.  Prototypes for same.
72920
72921 2000-07-14  Paul Eggert  <eggert@twinsun.com>
72922
72923         From a suggestion by Bruno Haible.
72924         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
72925         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
72926         to decide whether to define the BeOS workaround macro;
72927         this adjusts to the change to AC_MBSTATE_T.
72928
72929 2000-07-14  Jim Meyering  <meyering@lucent.com>
72930
72931         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
72932         jm_AC_TYPE_UINTMAX_T.
72933
72934 2000-07-13  Paul Eggert  <eggert@twinsun.com>
72935
72936         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
72937
72938         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
72939         quotearg_buffer_restyled): Add support for
72940         clocale_quoting_style.  Undo previous change to
72941         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
72942         and "{RIGHT QUOTATION MARK}" msgids.
72943
72944 2000-07-10  Paul Eggert  <eggert@twinsun.com>
72945
72946         From a suggestion by Bruno Haible.
72947         * m4/mbstate_t.m4 (AC_MBSTATE_T):
72948         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
72949         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
72950         and mbstate_t, to a single-part test that simply defines mbstate_t.
72951         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
72952         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
72953
72954 2000-07-10  Jim Meyering  <meyering@lucent.com>
72955
72956         * m4/strerror_r.m4: Mirror the correction made in autoconf.
72957
72958         * m4/gnu-source.m4: Output to confdefs.h directly.
72959         Suggestion from Akim Demaille.
72960
72961 2000-07-09  Paul Eggert  <eggert@twinsun.com>
72962
72963         The old behavior of quoting `like this' doesn't look good with
72964         newer, ISO-style fonts.  See:
72965         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
72966
72967         Instead, quote "like this" by default.  Let the translator
72968         tailor the locale-specific quoting behavior by providing
72969         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
72970
72971         * lib/quotearg.c (N_): New macro.
72972         (gettext_default): New function.
72973         (quotearg_buffer_restyled): Use
72974         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
72975         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
72976
72977 2000-07-09  Jim Meyering  <meyering@lucent.com>
72978
72979         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
72980         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
72981
72982         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
72983         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
72984
72985 2000-07-09  Jim Meyering  <meyering@lucent.com>
72986
72987         * lib/Most files: Update copyright dates to include 2000.
72988
72989 2000-07-08  Jim Meyering  <meyering@lucent.com>
72990
72991         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
72992         if not defined.
72993         (xgethostname): Remove now-unnecessary #ifdef.
72994         Move declaration of `err' into loop where it's used.
72995
72996 2000-07-05  Paul Eggert  <eggert@twinsun.com>
72997         and Bruno Haible  <haible@clisp.cons.org>
72998
72999         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
73000         only if the test for an object-type mbstate_t fails.  This
73001         prevents us from mistakenly reporting that mbstate_t is a
73002         system object type after we "#define mbstate_t int" to work
73003         around its lack.
73004
73005 2000-07-05  Paul Eggert  <eggert@twinsun.com>
73006         and Bruno Haible  <haible@clisp.cons.org>
73007
73008         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
73009
73010 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73011
73012         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
73013         to strerror_r.
73014         Include <ctype.h> for use of isalpha.
73015
73016 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73017
73018         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
73019         by allocating a larger buffer. Test the gethostname return value for
73020         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
73021         returns an error and ENAMETOOLONG isn't defined.
73022
73023 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73024
73025         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
73026         dimension.
73027
73028 2000-07-04  Jim Meyering  <meyering@lucent.com>
73029
73030         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
73031         of the deprecated AC_CHECKING.
73032
73033 2000-07-04  Jim Meyering  <meyering@lucent.com>
73034
73035         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
73036         Reported by Bruno Haible.
73037
73038 2000-07-04  Jim Meyering  <meyering@lucent.com>
73039
73040         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
73041         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
73042         lacks mbrtowc.
73043
73044 2000-07-03  Paul Eggert  <eggert@twinsun.com>
73045
73046         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
73047         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
73048
73049 2000-07-03  Paul Eggert  <eggert@twinsun.com>
73050         and Bruno Haible  <haible@clisp.cons.org>
73051
73052         * lib/quotearg.c (mbrtowc):
73053         Assign to *pwc, and return 1 only if result is nonzero.
73054         (iswprint): Use ISPRINT when substituting our own mbrtowc.
73055
73056 2000-07-03  Jim Meyering  <meyering@lucent.com>
73057
73058         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
73059
73060 2000-07-03  Jim Meyering  <meyering@lucent.com>
73061
73062         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
73063         This is necessary to get a definition of e.g., UTMP_FILE on
73064         HP-UX 10.20.
73065         From Bob Proulx.
73066
73067 2000-07-02  Jim Meyering  <meyering@lucent.com>
73068
73069         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
73070
73071         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
73072         AC_LIBOBJ(function_name).
73073         * m4/chown.m4: Likewise.
73074         * m4/fnmatch.m4: Likewise.
73075         * m4/ftruncate.m4: Likewise.
73076         * m4/getgroups.m4: Likewise.
73077         * m4/getline.m4: Likewise.
73078         * m4/group-member.m4: Likewise.
73079         * m4/jm-macros.m4: Likewise.
73080         * m4/lstat.m4: Likewise.
73081         * m4/malloc.m4: Likewise.
73082         * m4/memcmp.m4: Likewise.
73083         * m4/nanosleep.m4: Likewise.
73084         * m4/putenv.m4: Likewise.
73085         * m4/realloc.m4: Likewise.
73086         * m4/regex.m4: Likewise.
73087         * m4/stat.m4: Likewise.
73088         * m4/strftime.m4: Likewise.
73089
73090 2000-07-02  Jim Meyering  <meyering@lucent.com>
73091
73092         * lib/quotearg.c (mbstate_t): Don't define here.
73093
73094 2000-07-02  Jim Meyering  <meyering@lucent.com>
73095
73096         * lib/nanosleep.c (SIGCONT): Define if not already defined.
73097
73098 2000-07-01  Jim Meyering  <meyering@lucent.com>
73099
73100         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
73101
73102 2000-07-01  Jim Meyering  <meyering@lucent.com>
73103
73104         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
73105         problem.
73106
73107 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
73108
73109         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
73110         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
73111
73112 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
73113
73114         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
73115         per change in ../m4/ls-mntd-fs.m4.
73116         (read_filesystem_list): Ignore symbolic links.
73117
73118 2000-06-29  Jim Meyering  <meyering@lucent.com>
73119
73120         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
73121         for declaration of strcmp.
73122
73123         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
73124
73125         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
73126         Avoid warning by casting result to `char *' to remove `const'.
73127
73128 2000-06-28  Jim Meyering  <meyering@lucent.com>
73129
73130         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
73131         included by quotearg.c, for which we perform this test.  From
73132         Bruno Haible.
73133
73134 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
73135
73136         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
73137         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
73138         <utmpx.h> exists, put readutmp.o into LIBOBJS.
73139
73140 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
73141
73142         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
73143
73144 2000-06-26  Paul Eggert  <eggert@twinsun.com>
73145
73146         savedir now sets errno on failure and invokes xmalloc to get memory.
73147         Fix a couple of other minor bugs while we're at it.
73148
73149         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
73150         (NAMLEN): Remove macro.
73151         (malloc, realloc): Remove decls.
73152         (stpcpy): Likewise.
73153         ("xalloc.h"): Include.
73154         (NAME_SIZE_DEFAULT): New macro.
73155         (savedir): Use xmalloc / xrealloc to allocate memory.
73156         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
73157         Skip "" directory entries.
73158         Use strlen to calculate directory entry length, since the old method
73159         is rarely used these days and isn't worth supporting.
73160         Don't use a pointer after freeing it.
73161         Check for integer overflow when calculating allocation size.
73162         Use memcpy to copy entries, instead of stpcpy.
73163         Set errno properly when returning NULL.
73164         Check for readdir error.
73165
73166 2000-06-26  Jim Meyering  <meyering@lucent.com>
73167
73168         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
73169
73170 2000-06-25  Jim Meyering  <meyering@lucent.com>
73171
73172         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
73173         Linux header bug when _XOPEN_SOURCE is defined to 500.
73174
73175 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
73176
73177         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
73178         deficiency.
73179
73180 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
73181
73182         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
73183         Include xalloc.h.
73184         Don't include <stdlib.h>.  Don't declare malloc, realloc.
73185
73186 2000-06-24  Jim Meyering  <meyering@lucent.com>
73187
73188         * m4/strerror_r.m4: Revive this file -- to try out an experimental
73189         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
73190         for which strerror does return char*, but which lacks a conveniently
73191         accessible declaration of the function.  If the compile-test says
73192         strerror_r doesn't work, then resort to a `run'-test that works on
73193         BeOS and segfaults on DEC Unix.
73194
73195 2000-06-24  Jim Meyering  <meyering@lucent.com>
73196
73197         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
73198
73199 2000-06-23  Paul Eggert  <eggert@twinsun.com>
73200
73201         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
73202         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
73203
73204 2000-06-23  Paul Eggert  <eggert@twinsun.com>
73205
73206         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
73207         (mbrtowc, mbstate_t): Define substitutes if
73208         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
73209         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
73210         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
73211
73212 2000-06-23  Jim Meyering  <meyering@lucent.com>
73213
73214         * m4/afs.m4: Add missing AC_MSG_RESULT.
73215         Reported by Bruno Haible.
73216
73217         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
73218         Suggestion from Bruno Haible.
73219
73220 2000-06-23  Jim Meyering  <meyering@lucent.com>
73221
73222         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
73223
73224 2000-06-21  Jim Meyering  <meyering@lucent.com>
73225
73226         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
73227
73228 2000-06-21  Jim Meyering  <meyering@lucent.com>
73229
73230         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
73231         (noinst_HEADERS): Add getstr.h.
73232
73233         * lib/getline.c (getstr): Move into a separate file.
73234         * lib/getstr.c (getstr): New file, extracted from getline.c, with
73235         the following changes: new parameter, delim2; both delim[12]
73236         parameters have type `int', not `char'.  The latter would lose
73237         with 8-bit delimiters.
73238         * lib/getstr.h: New file.
73239
73240 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
73241
73242         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
73243         than 1024, return a memory chunk of least possible size, instead
73244         of size PATH_MAX + 2. In the loop, increment the size proportionally.
73245         Use free/xmalloc instead of xrealloc to avoid copying for very long
73246         paths.
73247
73248 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
73249
73250         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
73251         the empty string.
73252
73253 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
73254
73255         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
73256         address, not strdup.  Include <stdlib.h> and don't declare free().
73257
73258 2000-06-19  Jim Meyering  <meyering@lucent.com>
73259
73260         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
73261
73262 2000-06-18  Jim Meyering  <meyering@lucent.com>
73263
73264         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
73265
73266         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
73267         `checking whether...' message to be consistent with that of the
73268         lstat test.
73269
73270 2000-06-18  Jim Meyering  <meyering@lucent.com>
73271
73272         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
73273         Besides, these days every porting target provides a mkdir function.
73274
73275         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
73276         needed. (this snippet comes from src/system.h).
73277
73278 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
73279
73280         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
73281
73282 2000-06-15  Paul Eggert  <eggert@twinsun.com>
73283
73284         * lib/human.c (adjust_value): New function.
73285         (human_readable_inexact): Apply rounding style even when
73286         printing approximate values.
73287
73288 2000-06-14  Paul Eggert  <eggert@twinsun.com>
73289
73290         * lib/human.c (human_readable_inexact): Allow an input block
73291         size that is not a multiple of the output block size, and vice versa.
73292         Reported by Piergiorgio Sartor.
73293
73294 2000-06-14  Paul Eggert  <eggert@twinsun.com>
73295
73296         * lib/getdate.y (get_date): Apply relative times after time
73297         zone indicator, not before.  Reported by Todd A. Jacobs.
73298
73299 2000-06-13  Jim Meyering  <meyering@lucent.com>
73300
73301         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
73302
73303         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
73304
73305 2000-06-12  Paul Eggert  <eggert@twinsun.com>
73306
73307         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
73308
73309 2000-06-12  Jim Meyering  <meyering@lucent.com>
73310
73311         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
73312         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
73313         optional argument.
73314         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
73315         the optional argument, `lib'.
73316
73317 2000-06-08  Jim Meyering  <meyering@lucent.com>
73318
73319         * m4/largefile.m4: Remove file (now that it's part of autoconf).
73320
73321 2000-06-04  Paul Eggert  <eggert@twinsun.com>
73322
73323         Rewrite largefile configuration so that we don't need to run
73324         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
73325         AC_CANONICAL_HOST in configure.in -- jmm]
73326
73327         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
73328         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
73329         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
73330         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
73331         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
73332         All uses changed.
73333         Instead of inspecting the output of getconf, try to compile the
73334         test program without and with the macro definition.
73335         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
73336         for getconf.  Instead, check for the needed flags by compiling
73337         test programs.
73338
73339 2000-06-04  Paul Eggert  <eggert@twinsun.com>
73340
73341         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
73342
73343 2000-06-04  Jim Meyering  <meyering@lucent.com>
73344
73345         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
73346         SunOS 4.1.4 for which gid_t is an unsigned type.
73347
73348 2000-06-03  Jim Meyering  <meyering@lucent.com>
73349
73350         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
73351         now that autoconf requires that.
73352
73353         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
73354         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
73355         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
73356
73357 2000-06-03  Jim Meyering  <meyering@lucent.com>
73358
73359         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
73360
73361 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
73362
73363         * m4/glibc21.m4: New file.
73364         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
73365
73366 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
73367
73368         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
73369         newer, don't install charset.alias.
73370         * lib/config.charset: Change the Linux/glibc rules so they become empty
73371         on glibc-2.1 or newer.
73372
73373 2000-06-02  Jim Meyering  <meyering@lucent.com>
73374
73375         * lib/mountlist.c: Back out last change.  Instead, do this...
73376         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
73377         me_dummy member using the same `ignore'-testing code.
73378         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
73379         fs_type strings.
73380         From Mark D. Roth.
73381
73382 2000-05-29  Jim Meyering  <meyering@lucent.com>
73383
73384         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
73385         mounts with the `ignore' attribute.  Based on a patch from
73386         Mark D. Roth.
73387
73388 2000-05-28  Jim Meyering  <meyering@lucent.com>
73389
73390         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
73391         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73392         * m4/stat.m4: Likewise.
73393         * m4/lstat.m4: Likewise.
73394         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
73395
73396         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
73397         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
73398
73399 2000-05-26  Jim Meyering  <meyering@lucent.com>
73400
73401         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
73402
73403 2000-05-24  Jim Meyering  <meyering@lucent.com>
73404
73405         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
73406         autoconf requires that.
73407         * m4/lib-check.m4: Likewise.
73408         * m4/jm-macros.m4: Likewise.
73409         * m4/strftime.m4: Likewise.
73410
73411         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
73412         AC_CHECK_DECLS, now that autoconf requires that.
73413
73414 2000-05-22  Jim Meyering  <meyering@lucent.com>
73415
73416         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73417         * m4/lstat.m4: Likewise.
73418
73419 2000-05-22  Jim Meyering  <meyering@lucent.com>
73420
73421         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
73422
73423 2000-05-20  Jim Meyering  <meyering@lucent.com>
73424
73425         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
73426         (jm_PREREQ): Use it.
73427
73428 2000-05-18  Jim Meyering  <meyering@lucent.com>
73429
73430         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
73431         back, too, since it may have been modified by allocate_entry.
73432         (hash_delete): Rewrite to use neither the assignment operator
73433         nor the comma operator in an if-expression.
73434
73435 2000-05-15  Paul Eggert  <eggert@twinsun.com>
73436
73437         * lib/closeout.c:
73438         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
73439         Remove; no longer needed.
73440         "quotearg.h": Add include.
73441         (file_name): Do not bother to explicitly initialize to NULL; it's less
73442         efficient on some hosts.
73443         (close_stdout_status): Remove test as to whether stdout was already
73444         closed; it breaks for the case "echo x | sort >&-".
73445         Quote file name colons.
73446         Do not assume that _("write error") lacks format strings.
73447
73448 2000-05-15  Jim Meyering  <meyering@lucent.com>
73449
73450         * lib/version-etc.c (version_etc_copyright): Update the copyright
73451         string used in all --version output.
73452
73453 2000-05-14  Jim Meyering  <meyering@lucent.com>
73454
73455         * lib/closeout.c (close_stdout_set_file_name): New function.
73456         (close_stdout_status): Use new file-scoped global.
73457         Return right away if fstat says the stdout file descriptor is invalid.
73458         * lib/closeout.h (close_stdout_set_file_name): Declare.
73459
73460 2000-05-10  Jim Meyering  <meyering@lucent.com>
73461
73462         * lib/closeout.c [default_exit_status]: New file-scoped variable.
73463         (close_stdout_set_status): New function.
73464         * lib/closeout.h (close_stdout_set_status): Declare.
73465
73466 2000-05-09  Jim Meyering  <meyering@lucent.com>
73467
73468         * m4/gettext.m4: Rename this...
73469         * m4/libintl.m4: ...to this.
73470
73471 2000-05-08  Jim Meyering  <meyering@lucent.com>
73472
73473         * lib/long-options.c: Don't include closeout.h.
73474         (parse_long_options): Don't call close_stdout for --version.
73475
73476 2000-05-06  Paul Eggert  <eggert@twinsun.com>
73477
73478         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
73479         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
73480         2.1.3 bug.  This avoids a clash when files like regex.c define
73481         _GNU_SOURCE.
73482
73483 2000-05-06  Jim Meyering  <meyering@lucent.com>
73484
73485         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
73486         (AC_REPLACE_FUNCS): Add strnlen.
73487
73488         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
73489         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
73490
73491         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
73492         AC_SEARCH_LIBS call for nanosleep.
73493         (LIB_NANOSLEEP): Set and AC_SUBST.
73494
73495 2000-05-06  Jim Meyering  <meyering@lucent.com>
73496
73497         * lib/strnlen.c: Undefine __strnlen and strnlen.
73498         [!weak_alias]: Define __strnlen to strnlen.
73499
73500         * lib/atexit.c: New file, from libiberty.
73501
73502 2000-05-06  Jim Meyering  <meyering@lucent.com>
73503
73504         * lib/closeout.c (close_stdout_status): Also check for errors on the
73505         stderr stream.
73506
73507 2000-05-05  Jim Meyering  <meyering@lucent.com>
73508
73509         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
73510         AC_SEARCH_LIBS call for clock_gettime.
73511         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
73512
73513         * m4/search-libs.m4: Update from autoconf.
73514
73515         su doesn't work on Solaris 2.6.
73516         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
73517         <shadow.h>.  Reported by Dragos Harabor.
73518
73519 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
73520
73521         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
73522         memcpy instead of xmalloc, xrealloc, path_concat.
73523         (locale_charset): Treat empty environment variables as absent.
73524         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
73525
73526 2000-05-04  Jim Meyering  <meyering@lucent.com>
73527
73528         * lib/getopt.c: Update from glibc.
73529         * lib/obstack.c: Likewise.
73530         * lib/obstack.h: Likewise.
73531         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
73532         file
73533
73534         * lib/regex.h: Likewise.
73535         * lib/strndup.c: Likewise.
73536         * lib/strnlen.c: New file, from glibc.
73537
73538 2000-05-03  Jim Meyering  <meyering@lucent.com>
73539
73540         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
73541
73542 2000-05-02  Paul Eggert  <eggert@twinsun.com>
73543
73544         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
73545         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
73546         compile-time test, rather than inspecting host and OS, to
73547         decide whether to define _LARGEFILE_SOURCE.
73548
73549 2000-05-01  Jim Meyering  <meyering@lucent.com>
73550
73551         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
73552
73553         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
73554         Based on a patch from Bruno Haible.
73555
73556 2000-05-01  Jim Meyering  <meyering@lucent.com>
73557
73558         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
73559
73560 2000-04-29  Jim Meyering  <meyering@lucent.com>
73561
73562         * lib/path-concat.c: Declare strdup only if it's not defined.
73563         * lib/canon-host.c: Likewise.
73564
73565 2000-04-28  Jim Meyering  <meyering@lucent.com>
73566
73567         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
73568         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
73569         is included first, then limits.h is included by locale.h by libintl.h.
73570         From John David Anglin.
73571
73572 2000-04-25  Jim Meyering  <meyering@lucent.com>
73573
73574         * lib/makepath.c (S_IRWXUGO): Define.
73575         (make_path): Always perform explicit chmod if MODE specifies any
73576         of the `special' permission bits.  Prompted by a bug report against
73577         install from Mate Wierdl and Joost van Baal.
73578
73579 2000-04-18  Jim Meyering  <meyering@lucent.com>
73580
73581         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
73582         (jm_PREREQ): Use it.
73583
73584 2000-04-18  Jim Meyering  <meyering@lucent.com>
73585
73586         * lib/README: New file.
73587
73588         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
73589         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
73590
73591 2000-04-17  Jim Meyering  <meyering@lucent.com>
73592
73593         Get it right :-)
73594         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
73595         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
73596         Suggestion from Akim Demaille.
73597
73598 2000-04-17  Jim Meyering  <meyering@lucent.com>
73599
73600         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
73601         the definition of it to rpl_strftime also defined-away the system's
73602         declaration.
73603
73604 2000-04-15  Jim Meyering  <meyering@lucent.com>
73605
73606         Use `C' to denote so-called `contiguous' files, the same way
73607         that tar does.
73608         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
73609         (ftypelet): Use S_ISCTG.
73610         From Michael Deutschmann.
73611
73612 2000-04-14  Jim Meyering  <meyering@lucent.com>
73613
73614         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
73615         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
73616         clobbered.
73617
73618 2000-04-14  Jim Meyering  <meyering@lucent.com>
73619
73620         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
73621
73622 2000-04-13  Jim Meyering  <meyering@lucent.com>
73623
73624         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
73625         AH_VERBATIM to insert required #ifndef into config.h.in.
73626         Suggestion from Akim Demaille.
73627
73628 2000-04-12  Jim Meyering  <meyering@lucent.com>
73629
73630         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
73631         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
73632         Christian Krackowizer.
73633
73634         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
73635         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
73636         (AC_SYS_LARGEFILE): Require.
73637         (AM_C_PROTOTYPES): Require.
73638
73639 2000-04-08  Jim Meyering  <meyering@lucent.com>
73640
73641         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
73642         names don't conflict.  Reported by Eli Zaretskii.
73643
73644 2000-04-07  Jim Meyering  <meyering@lucent.com>
73645
73646         * lib/putenv.c: Move inclusion of errno.h so it follows that of
73647         sys/types.h, to work around system header problems on AIX 3.2.5.
73648         From Bruno Haible.
73649
73650 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
73651
73652         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
73653         bug.  Deal with the different error behavior of Irix iconv.
73654
73655 2000-04-05  Paul Eggert  <eggert@twinsun.com>
73656
73657         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
73658         IRIX if the installer said otherwise.
73659
73660 2000-04-05  Jim Meyering  <meyering@lucent.com>
73661
73662         Portability tweaks required for ultrix4.3.
73663         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
73664         (jm_CHECK_DECLS): Add getutent to the list of functions.
73665         (_jm_DECL_HEADERS): Add utmpx.h.
73666         From John David Anglin.
73667
73668         * m4/strftime.m4: Back out the 2000-04-02 change.
73669         Instead of that change, simply undefine putenv in the test program.
73670
73671 2000-04-05  Jim Meyering  <meyering@lucent.com>
73672
73673         Portability tweaks required for ultrix4.3.
73674         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
73675         getutent.
73676         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
73677         * lib/canon-host.c: Declare strdup.
73678         * lib/path-concat.c: Likewise.
73679         From John David Anglin.
73680
73681 2000-04-04  Jim Meyering  <meyering@lucent.com>
73682
73683         Be more DOS 8.3-friendly.
73684         * lib/ref-add.sin: Renamed from ref-add.sed.in.
73685         * lib/ref-del.sin: Renamed from ref-del.sed.in.
73686         * lib/Makefile.am: Reflect renaming.
73687         Reported by Eli Zaretskii.
73688
73689         Use a temporary file name that won't clash with `charset.alias'
73690         in the DOS 8.3 name space.
73691         * lib/Makefile.am (charset_tmp): Define.
73692         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
73693         (uninstall-local): Likewise.
73694         Reported by Eli Zaretskii.
73695
73696 2000-04-03  Jim Meyering  <meyering@lucent.com>
73697
73698         * m4/gettext.m4: Fix typo in comment.
73699
73700         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
73701         textutils/configure.in).  Suggestion from Paul Eggert.
73702         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
73703
73704 2000-04-02  Paul Eggert  <eggert@twinsun.com>
73705
73706         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
73707         variable in the shell rather than using putenv, which isn't
73708         portable.  This avoids the configure-time inter-test dependency
73709         on the potentially-renamed putenv function.
73710
73711 2000-03-30  Paul Eggert  <eggert@twinsun.com>
73712
73713         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
73714         before checking struct stat.st_blksize, so that
73715         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
73716
73717 2000-03-29  Paul Eggert  <eggert@twinsun.com>
73718
73719         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
73720         since strftime.c uses HAVE_STRFTIME to decide whether to use
73721         the underlying strftime.
73722
73723 2000-03-29  Paul Eggert  <eggert@twinsun.com>
73724
73725         * lib/time/strftime.c (my_strftime): Make sure we call the system
73726         strftime, not ourselves, when invoking the underlying strftime.
73727
73728 2000-03-24  Jim Meyering  <meyering@lucent.com>
73729
73730         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
73731         (charset_alias): Define.
73732         (install-exec-local): Factor out common code.
73733         (uninstall-local): Split lines longer than 80.
73734         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
73735         (SUFFIXES): Define.
73736         (.sed.in.sed): New rule.  Don't redirect directly to $@.
73737         (CLEANFILES): Add ref-add.sed and ref-del.sed.
73738
73739 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
73740
73741         * lib/config.charset: Output a line containing "Packages using this
73742         file".
73743         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
73744         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
73745         ref-del.sed): New rules.
73746
73747 2000-03-17  Jim Meyering  <meyering@lucent.com>
73748
73749         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
73750         Otherwise, include <strings.h>
73751
73752 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
73753
73754         * lib/unicodeio.c (utf8_wctomb): New function.
73755         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
73756         format instead of in UCS-4 with platform dependent endianness.
73757
73758 2000-03-10  Jim Meyering  <meyering@lucent.com>
73759
73760         * m4/lib-check.m4: Look for getspnam in -lgen, too.
73761         From Marco Franzen.
73762
73763 2000-03-07  Paul Eggert  <eggert@twinsun.com>
73764
73765         * lib/savedir.c (savedir): Work even if directory size is
73766         negative; this can happen with some screwy NFS configurations.
73767
73768 2000-03-06  Jim Meyering  <meyering@lucent.com>
73769
73770         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
73771         if it's NULL (because we ran out of memory).  From Bruno Haible.
73772
73773 2000-03-05  Jim Meyering  <meyering@lucent.com>
73774
73775         * lib/localcharset.c ("path-concat.h"): Include.
73776         (get_charset_aliases): Use path_concat instead of ANSI string
73777         concatenation.
73778
73779         * lib/unicodeio.h (PARAMS): Define.
73780         Use it to guard prototype.
73781
73782 2000-03-04  Jim Meyering  <meyering@lucent.com>
73783
73784         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
73785         for lib/localcharset.c.
73786
73787 2000-03-04  Jim Meyering  <meyering@lucent.com>
73788
73789         * lib/Makefile.am (install-exec-local): Create $(libdir) before
73790         installing into it.
73791         (uninstall-local): Uncomment this rule so `make distcheck' works
73792         once again.
73793
73794         * lib/unicodeio.c (<errno.h>): Include it.
73795         (errno): Declare if not defined.
73796
73797         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
73798
73799         * lib/config.charset: New version, incorporating remarks from a linux
73800         i18n mailing list.  From Bruno Haible.
73801
73802 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
73803
73804         * m4/codeset.m4: New file.
73805         * m4/iconv.m4: New file.
73806         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
73807
73808 2000-03-03  Jim Meyering  <meyering@lucent.com>
73809
73810         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
73811
73812 2000-03-02  Jim Meyering  <meyering@lucent.com>
73813
73814         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
73815         the messages come out on separate lines.
73816
73817         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
73818         rather than jm_CHECK_DECLARATIONS.
73819         * m4/decl.m4: Remove now-unused file.
73820
73821         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
73822         geteuid.
73823
73824 2000-03-02  Jim Meyering  <meyering@lucent.com>
73825
73826         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
73827
73828 2000-03-01  Jim Meyering  <meyering@lucent.com>
73829
73830         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
73831         * lib/unicodeio.c: Likewise.
73832
73833 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
73834
73835         * lib/config.charset: New file.
73836         * lib/localcharset.c: New file.
73837         * lib/unicodeio.h, lib/unicodeio.c: New files.
73838         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
73839         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
73840         (noinst_HEADERS): Add unicodeio.h.
73841         (all-local, install-exec-local, charset.alias): New targets.
73842
73843 2000-02-28  Paul Eggert  <eggert@twinsun.com>
73844
73845         * lib/quotearg.c (ALERT_CHAR): New macro.
73846         (quotearg_buffer_restyled): Use it.
73847
73848 2000-02-27  Jim Meyering  <meyering@lucent.com>
73849
73850         * m4/check-decl.m4: Add getenv to the list.
73851
73852 2000-02-27  Jim Meyering  <meyering@lucent.com>
73853
73854         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
73855         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
73856
73857         * lib/backupfile.c: Guard inclusion of stdlib.h with
73858         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
73859         Declare malloc if needed.
73860
73861         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
73862         `#ifndef HAVE_DECL..'
73863         now that autoconf always defines the HAVE_DECL_ symbols.
73864         * lib/human.c: Likewise.
73865         * lib/same.c: Likewise.
73866         * lib/strtoumax.c: Likewise.
73867
73868         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
73869         declaration check was not run.
73870         * lib/hash.c: Likewise.
73871         * lib/human.c: Likewise.
73872         * lib/same.c: Likewise.
73873         * lib/strtoumax.c: Likewise.
73874
73875         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
73876         `.', then first look up the entire `.'-containing string as a login
73877         name.
73878
73879 2000-02-23  Jim Meyering  <meyering@lucent.com>
73880
73881         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
73882         in place of my hack.
73883
73884 2000-02-18  Paul Eggert  <eggert@twinsun.com>
73885
73886         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
73887         (textint): New typedef.
73888         (parser_control): Member year changed from int to textint.
73889         All uses changed.
73890         (YYSTYPE): Removed; replaced by %union with int and textint members.
73891         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
73892         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
73893         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
73894         (tSNUMBER, tUNUMBER): Now of type <textintval>.
73895         (date, number, to_year): Use width of number in digits, not its value,
73896         to determine whether it's a 2-digit year, or a 2-digit time.
73897         (yylex): Store number of digits of numeric tokens.
73898         Reported by John Kendall.
73899
73900         (parser_control): Changed from struct parser_control to typedef (for
73901         consistency).  All uses changed.
73902
73903         (tID): Removed; not used.
73904         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
73905
73906 2000-02-14  Paul Eggert  <eggert@twinsun.com>
73907
73908         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
73909         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
73910
73911 2000-02-12  Jim Meyering  <meyering@lucent.com>
73912
73913         * lib/userspec.c (ISDIGIT): Define it.
73914         (isdigit): Remove definition.
73915         (is_number): Use ISDIGIT, not isdigit.
73916         <libintl.h>: Include.
73917         (_ and N_): Define.
73918         (parse_user_spec): Mark translatable strings.
73919
73920 2000-02-10  Jim Meyering  <meyering@lucent.com>
73921
73922         With these changes, nanosleep.[ch] are finally enough like the other
73923         lib/* replacement files to compile on a few more losing systems.
73924
73925         * lib/nanosleep.h: Don't include config.h.
73926         Remove prototype from declaration of nanosleep.
73927         (PARAMS): Remove now-unneeded definition.
73928         * lib/nanosleep.c: #undef nanosleep.
73929         (rpl_nanosleep): Rename from nanosleep.
73930
73931 2000-02-10  Jim Meyering  <meyering@lucent.com>
73932
73933         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
73934         gnu_nanosleep to rpl_nanosleep.
73935
73936 2000-02-09  Jim Meyering  <meyering@lucent.com>
73937
73938         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
73939         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
73940
73941 2000-02-08  Akim Demaille  <akim@epita.fr>
73942
73943         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
73944         `[' and `]' and remove uses of `changequote'.
73945         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
73946         (AC_SYS_LARGEFILE): Likewise.
73947         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
73948         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
73949         of changequote.
73950         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
73951         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
73952         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
73953         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
73954
73955 2000-02-05  Jim Meyering  <meyering@lucent.com>
73956
73957         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
73958         Remove explicit use of AC_HEADER_TIME.  It is required by
73959         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
73960         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
73961         in autoconf whereby the expansion of the latter ended up preceding
73962         the expansion of its prerequisite, AC_HEADER_TIME.
73963         Reported by Volker Borchert.
73964
73965 2000-02-03  Jim Meyering  <meyering@lucent.com>
73966
73967         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
73968
73969 2000-02-03  Jim Meyering  <meyering@lucent.com>
73970
73971         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
73972         rather than with `#if HAVE_UTMPNAME'.
73973
73974 2000-02-02  Jim Meyering  <meyering@lucent.com>
73975
73976         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
73977         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
73978         Reported by Eli Zaretskii.
73979
73980 2000-02-01  Jim Meyering  <meyering@lucent.com>
73981
73982         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
73983
73984 2000-01-31  Jim Meyering  <meyering@lucent.com>
73985
73986         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
73987         functions.  Add the time.h and sys/time.h headers along with the
73988         AC_REQUIRE'ment of AC_HEADER_TIME.
73989
73990 2000-01-31  Jim Meyering  <meyering@lucent.com>
73991
73992         * lib/nanosleep.h (nanosleep): Guard declaration with
73993         `#if ! HAVE_DECL_NANOSLEEP'.
73994         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
73995         the declaration in that vendor's sys/timers.h.
73996         Reported by Christian Krackowizer.
73997
73998         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
73999         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
74000         (ISPRINT): Likewise.
74001         Reported by Tom Tromey.
74002
74003 2000-01-30  Jim Meyering  <meyering@lucent.com>
74004
74005         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
74006
74007         * m4/prereq.m4 (utmp_includes): Define.
74008         Check for ut_user and ut_name members in both struct utmpx
74009         and struct utmp.
74010
74011 2000-01-30  Jim Meyering  <meyering@lucent.com>
74012
74013         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
74014         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
74015         header files where only utmpx.ut_user is declared.
74016
74017         * lib/readutmp.h (UT_USER): Define.
74018
74019 2000-01-29  Jim Meyering  <meyering@lucent.com>
74020
74021         * m4/lib-check.m4: New file containing library-related checks from
74022         fileutils and sh-utils (textutils had none).
74023
74024 2000-01-28  Jim Meyering  <meyering@lucent.com>
74025
74026         * m4/perl.m4: Change format of warning message to look more like that
74027         from the missing script.  Suggestion from François Pinard.
74028
74029 2000-01-25  Jim Meyering  <meyering@lucent.com>
74030
74031         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
74032         well as time.h in the compile check.
74033         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
74034         Fix typo in cross-compiling case: s/yes/no/.
74035
74036 2000-01-23  Jim Meyering  <meyering@lucent.com>
74037
74038         * m4/jm-macros.m4: Move df-related tests here from
74039         fileutils/configure.in
74040
74041         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
74042         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
74043
74044         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
74045         s/space/ac_fsusage_space/.
74046         (jm_FILE_SYSTEM_USAGE): Take two parameters.
74047
74048         * m4/ftruncate.m4: New file (derived from part of
74049         fileutils/configure.in).
74050         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
74051         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
74052
74053         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
74054         AC_SUBST these here, rather than just in sh-util/configure.in, so
74055         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
74056         all the same.
74057         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
74058         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
74059         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
74060         (AC_SUBST(POW_LIBM)): Likewise.
74061         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
74062
74063 2000-01-23  Jim Meyering  <meyering@lucent.com>
74064
74065         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
74066         obstack.c.
74067
74068 2000-01-22  Jim Meyering  <meyering@lucent.com>
74069
74070         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
74071
74072         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
74073
74074         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
74075         configure.in
74076         (AC_CHECK_HEADERS): Likewise for sh-utils.
74077         (AC_CHECK_HEADERS): Likewise for textutils.
74078         Merge the three lists of headers.
74079
74080         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
74081         from fileutils' configure.in.
74082
74083         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
74084         code. Moved tests into their own function (_jm_DECL_HEADERS) in
74085         check-decl.m4.
74086
74087         * m4/check-decl.m4: Use #if rather than #ifdef.
74088         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
74089         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
74090         (_jm_DECL_HEADERS): Define new function.
74091         (jm_CHECK_DECLARATIONS): Require it.
74092
74093 2000-01-22  Jim Meyering  <meyering@lucent.com>
74094
74095         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
74096         [! HAVE_DECL_STRTOULL]: Declare strtoull.
74097         Required for some AIX systems.  Reported by Christian Krackowizer.
74098         [TESTING] (main): New function.
74099
74100         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
74101         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
74102         letters.
74103
74104         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
74105         iswprint.
74106
74107         * lib/strverscmp.c (ISDIGIT): Define.
74108         (strverscmp): Use ISDIGIT, not isdigit.
74109
74110 2000-01-19  Jim Meyering  <meyering@lucent.com>
74111
74112         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
74113         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
74114         defines `struct timespec' in <sys/time.h>
74115
74116         * m4/c-bs-a.m4: Remove uses of changequote altogether.
74117         Thanks to Akim for explaining.
74118
74119 2000-01-17  Paul Eggert  <eggert@twinsun.com>
74120
74121         * lib/nanosleep.c (nanosleep):
74122         Don't use SA_INTERRUPT to decide whether to call sigaction, as
74123         POSIX.1 doesn't require SA_INTERRUPT and some systems
74124         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
74125         it's been part of POSIX.1 since day 1 (in 1988).
74126
74127 2000-01-17  Jim Meyering  <meyering@lucent.com>
74128
74129         * lib/interlock: Remove unused file.  Reported by François Pinard.
74130
74131 2000-01-16  Paul Eggert  <eggert@twinsun.com>
74132
74133         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
74134         alert, backslash, formfeed, and vertical tab unnecessarily in
74135         shell quoting style.
74136
74137 2000-01-16  Jim Meyering  <meyering@lucent.com>
74138
74139         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
74140         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
74141         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
74142         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
74143
74144 2000-01-16  Jim Meyering  <meyering@lucent.com>
74145
74146         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
74147         because the latter didn't work.
74148
74149 2000-01-15  Jim Meyering  <meyering@lucent.com>
74150
74151         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
74152         (AC_REPLACE_FUNCS): Add memcpy and memset.
74153         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
74154         Add strpbrk.
74155         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
74156
74157 2000-01-12  Jim Meyering  <meyering@lucent.com>
74158
74159         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
74160         (jm_PREREQ): Use it.
74161         (jm_PREREQ_READUTMP): New macro.
74162         (jm_PREREQ): Use it.
74163
74164 2000-01-11  Paul Eggert  <eggert@twinsun.com>
74165
74166         Quote multibyte characters correctly.
74167         * m4/c-bs-a.m4: New file.
74168         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
74169         (jm_PREREQ): Use it.
74170
74171 2000-01-11  Paul Eggert  <eggert@twinsun.com>
74172
74173         * m4/uintmax_t.m4: Port to autoconf 2.13.
74174
74175 2000-01-08  Jim Meyering  <meyering@ascend.com>
74176
74177         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
74178         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
74179
74180 2000-01-04  Jim Meyering  <meyering@ascend.com>
74181
74182         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
74183         jm_STRUCT_DIRENT_D_TYPE.
74184         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
74185         jm_STRUCT_DIRENT_D_INO.
74186         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
74187         jm_STRUCT_UTIMBUF.
74188         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
74189         renamings.
74190         * m4/utime.m4: Likewise.
74191
74192         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
74193         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
74194
74195 2000-01-03  Paul Eggert  <eggert@twinsun.com>
74196
74197         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
74198         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
74199
74200 2000-01-02  Jim Meyering  <meyering@ascend.com>
74201
74202         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
74203         remember if this is necessary.
74204
74205 1999-12-26  Jim Meyering  <meyering@ascend.com>
74206
74207         * m4/jm-macros.m4: Use it here.
74208         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
74209
74210 1999-12-23  Jim Meyering  <meyering@ascend.com>
74211
74212         * m4/jm-macros.m4: Check for clock_gettime (moved from
74213         fileutils/configure.in)
74214         Check for gettimeofday.
74215
74216 1999-12-20  Jim Meyering  <meyering@ascend.com>
74217
74218         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
74219         autoconf-2.14a-1999-12-20.
74220
74221 1999-12-19  Jim Meyering  <meyering@ascend.com>
74222
74223         * m4/lstat-slash.m4: New file.
74224         * m4/jm-macros.m4: Use the new macro:
74225         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74226
74227 1999-12-07  Jim Meyering  <meyering@ascend.com>
74228
74229         * m4/perl.m4: Require that File::Compare be available, too.
74230         Too many systems seem to lack it.
74231
74232         * m4/strftime.m4: Add checks for most of the cpp macros tested in
74233         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
74234
74235 1999-11-18  Paul Eggert  <eggert@twinsun.com>
74236
74237         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
74238         problem with the QNX 4.25 shell, which doesn't propagate exit
74239         status of failed commands inside shell assignments.
74240
74241 1999-11-17  Jim Meyering  <meyering@ascend.com>
74242
74243         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
74244
74245 1999-11-07  Jim Meyering  <meyering@ascend.com>
74246
74247         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
74248
74249 1999-11-06  Jim Meyering  <meyering@ascend.com>
74250
74251         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
74252         * m4/jm-macros.m4 (jm_MACROS): Use it here.
74253
74254 1999-11-05  Jim Meyering  <meyering@ascend.com>
74255
74256         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
74257         configure.in of textutils, fileutils, and sh-utils into this one
74258         (shared between those packages) file.
74259         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
74260         AC_STRUCT_ST_BLKSIZE.
74261
74262 1999-11-03  Jim Meyering  <meyering@ascend.com>
74263
74264         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
74265         of AC_CHECK_TYPE checks includes unistd.h.
74266         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
74267         Suggestion from Akim Demaille.
74268
74269 1999-10-30  Jim Meyering  <meyering@ascend.com>
74270
74271         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
74272         m4-quoted string.
74273         * m4/ls-mntd-fs.m4: Likewise.
74274         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
74275         * m4/jm-winsz1.m4: Likewise.
74276
74277         * m4/const.m4: Remove file, since the fix made it into the experimental
74278         version of autoconf.
74279         * m4/mktime.m4: Likewise.
74280
74281         * m4/check-type.m4: Remove file, now that the latest version of
74282         AC_CHECK_TYPE takes a third arg to specify additional #includes.
74283
74284         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
74285         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
74286         AC_CHECK_TYPE.
74287
74288 1999-10-04  Jim Meyering  <meyering@ascend.com>
74289
74290         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
74291
74292 1999-09-22  Paul Eggert  <eggert@twinsun.com>
74293
74294         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
74295         2.95.1 bug with HP-UX 10.20.
74296
74297 1999-09-17  Jim Meyering  <meyering@ascend.com>
74298
74299         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
74300         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
74301         due to missing strdup (against sh-utils-2.0).
74302
74303 1999-08-29  Jim Meyering  <meyering@ascend.com>
74304
74305         * m4/jm-macros.m4: Require jm_BISON.
74306         * m4/bison.m4: New file.
74307
74308 1999-08-17  Paul Eggert  <eggert@twinsun.com>
74309
74310         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
74311         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
74312
74313 1999-08-05  Jim Meyering  <meyering@ascend.com>
74314
74315         * m4/getline.m4: Rename test file from conftestdata to conftest.data
74316         to avoid conflicts with `conftest' on 8+3 filesystems.
74317         Suggestion from Eli Zaretskii.
74318
74319 1999-08-04  Jim Meyering  <meyering@ascend.com>
74320
74321         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
74322         fileutils and sh-utils (textutils's getline test was inadequate).
74323         (AM_FUNC_GETLINE): Run this test.
74324         (AC_CHECK_FUNCS): Check for getdelim.
74325         Reported by Bob Proulx.
74326
74327 1999-08-02  Jim Meyering  <meyering@ascend.com>
74328
74329         * m4/jm-macros.m4: Add a comment.
74330
74331 1999-08-01  Paul Eggert  <eggert@twinsun.com>
74332
74333         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
74334         <inttypes.h> defines strtoumax as a macro (and not as a
74335         function).
74336
74337 1999-08-01  Paul Eggert  <eggert@twinsun.com>
74338
74339         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
74340         that we can shift, multiply and divide unsigned long long
74341         values; Ultrix cc can't do it.
74342
74343 1999-08-01  Paul Eggert  <eggert@twinsun.com>
74344
74345         * m4/mktime.m4: New file, which is a preview of what should appear
74346         in the next public autoconf release.
74347
74348 1999-08-01  Paul Eggert  <eggert@twinsun.com>
74349
74350         * m4/lfs.m4: Remove this file.
74351         * m4/largefile.m4: New file.  It contains the old contents of
74352         lfs.m4, except that all names with prefix AC_LFS have been
74353         changed to use the prefix AC_SYS_LARGEFILE instead, to be
74354         compatible with future autoconf versions.  Also, some minor m4
74355         quoting problems have been fixed.
74356
74357 1999-08-01  Paul Eggert  <eggert@twinsun.com>
74358
74359         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
74360         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
74361         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
74362         and simplify the shell code.
74363
74364 1999-08-01  Jim Meyering  <meyering@ascend.com>
74365
74366         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
74367         m4.
74368
74369 1999-07-20  Jim Meyering  <meyering@ascend.com>
74370
74371         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
74372
74373 1999-07-15  Jim Meyering  <meyering@ascend.com>
74374
74375         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
74376
74377 1999-05-22  Jim Meyering  <meyering@ascend.com>
74378
74379         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
74380
74381 1999-05-20  Jim Meyering  <meyering@ascend.com>
74382
74383         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
74384         Add a colon after each `then' in case $4 is empty.
74385
74386 1999-05-16  Jim Meyering  <meyering@ascend.com>
74387
74388         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
74389
74390 1999-05-10  Jim Meyering  <meyering@ascend.com>
74391
74392         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
74393
74394         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
74395         AC_FUNC_MKTIME.
74396
74397 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
74398
74399         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
74400
74401 1999-05-04  Paul Eggert  <eggert@twinsun.com>
74402
74403         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
74404         not CPPFLAGS, so that linking works correctly in IRIX.
74405
74406 1999-04-30  Paul Eggert  <eggert@twinsun.com>
74407
74408         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
74409
74410 1999-04-20  Paul Eggert  <eggert@twinsun.com>
74411
74412         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
74413         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
74414         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
74415         jm_AC_TYPE_UNSIGNED_LONG_LONG.
74416         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
74417
74418         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
74419
74420 1999-04-20  Jim Meyering  <meyering@ascend.com>
74421
74422         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
74423         AC_REPLACE xstroull if necessary.  From Paul Eggert.
74424         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
74425
74426 1999-04-18  Jim Meyering  <meyering@ascend.com>
74427
74428         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
74429         * m4/jm-macros.m4: Use it.
74430
74431 1999-04-06  Jim Meyering  <meyering@ascend.com>
74432
74433         * m4/strftime.m4: Remove test for %f.
74434
74435 1999-03-29  Jim Meyering  <meyering@ascend.com>
74436
74437         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
74438         superset of the AC_TYPE_* checks in the textutils, fileutils,
74439         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
74440         AC_TYPE_PID_T.
74441
74442 1999-03-28  Jim Meyering  <meyering@ascend.com>
74443
74444         * m4/jm-macros.m4: Define GNU_PACKAGE here.
74445         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
74446         replaced e.g., in the *.sh files of the sh-utils.
74447
74448 1999-03-20  Jim Meyering  <meyering@ascend.com>
74449
74450         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
74451         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
74452         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
74453
74454 1999-03-19  Jim Meyering  <meyering@ascend.com>
74455
74456         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
74457
74458 1999-03-12  Jim Meyering  <meyering@ascend.com>
74459
74460         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
74461
74462 1999-03-07  Jim Meyering  <meyering@ascend.com>
74463
74464         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
74465         declared.
74466
74467 1999-02-17  Jim Meyering  <meyering@ascend.com>
74468
74469         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
74470         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
74471
74472 1999-02-07  Jim Meyering  <meyering@ascend.com>
74473
74474         * m4/group-member.m4: New file -- extracted from sh-utils'
74475         configure.in.
74476
74477         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
74478         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
74479
74480 1999-02-06  Jim Meyering  <meyering@ascend.com>
74481
74482         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
74483         * m4/fnmatch.m4: Likewise.
74484         * m4/getgroups.m4: Likewise.
74485         * m4/lstat.m4: Likewise.
74486         * m4/malloc.m4: Likewise.
74487         * m4/putenv.m4: Likewise.
74488         * m4/realloc.m4: Likewise.
74489         * m4/regex.m4: Likewise.
74490         * m4/stat.m4: Likewise.
74491         * m4/strftime.m4: Likewise.
74492         Suggestion from Alain Magloire.
74493
74494         * m4/chown.m4: Use `.$ac_objext', not `.o'.
74495         * m4/fnmatch.m4: Likewise.
74496         * m4/getgroups.m4: Likewise.
74497         * m4/getline.m4: Likewise.
74498         * m4/lstat.m4: Likewise.
74499         * m4/malloc.m4: Likewise.
74500         * m4/memcmp.m4: Likewise.
74501         * m4/putenv.m4: Likewise.
74502         * m4/realloc.m4: Likewise.
74503         * m4/regex.m4: Likewise.
74504         * m4/stat.m4: Likewise.
74505         * m4/strftime.m4: Likewise.
74506         Suggestion from Alain Magloire.
74507
74508         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
74509         an argument.
74510
74511         * m4/regex.m4: Add a run-time Test for proper operation of
74512         re_compile_pattern.
74513
74514 1999-01-31  Jim Meyering  <meyering@ascend.com>
74515
74516         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
74517
74518 1999-01-30  Jim Meyering  <meyering@ascend.com>
74519
74520         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
74521
74522         * m4/jm-mktime.m4: Make this a wrapper around the official
74523         AM_FUNC_MKTIME rather than my private copy, now that the official one
74524         is up to date.
74525         * m4/mktime.m4: Remove file.
74526
74527         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
74528         * m4/uptime.m4: Likewise.
74529         * m4/uintmax_t.m4: Likewise.
74530
74531 1999-01-28  Jim Meyering  <meyering@ascend.com>
74532
74533         * m4/jm-macros.m4: Use jm_AFS.
74534         * m4/afs.m4: New file (from fileutils' configure.in).
74535
74536         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
74537         * m4/chown.m4: Likewise.
74538         * m4/d-ino.m4: Likewise.
74539         * m4/d-type.m4: Likewise.
74540         * m4/fnmatch.m4: Likewise.
74541         * m4/getgroups.m4: Likewise.
74542         * m4/gettext.m4: Likewise.
74543         * m4/jm-mktime.m4: Likewise.
74544         * m4/jm-winsz2.m4: Likewise.
74545         * m4/lcmessage.m4: Likewise.
74546         * m4/ls-mntd-fs.m4: Likewise.
74547         * m4/malloc.m4: Likewise.
74548         * m4/memcmp.m4: Likewise.
74549         * m4/putenv.m4: Likewise.
74550         * m4/realloc.m4: Likewise.
74551         * m4/st_mtim.m4: Likewise.
74552         * m4/strftime.m4: Likewise.
74553
74554 1999-01-16  Jim Meyering  <meyering@ascend.com>
74555
74556         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
74557         (ARGMATCH_DIE_DECL): Define.
74558
74559 1999-01-12  Jim Meyering  <meyering@ascend.com>
74560
74561         * m4/Makefile.am.in: Rewrite to avoid using fmt.
74562         Reported by Lars Hecking.
74563
74564 1999-01-10  Jim Meyering  <meyering@ascend.com>
74565
74566         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
74567         gross kludge.
74568         * m4/inttypes_h.m4: Likewise.
74569         * m4/lstat.m4: Likewise.
74570         * m4/malloc.m4: Likewise.
74571         * m4/readdir.m4: Likewise.
74572         * m4/realloc.m4: Likewise.
74573         * m4/st_dm_mode.m4: Likewise.
74574         * m4/stat.m4: Likewise.
74575         * m4/utimbuf.m4: Likewise.
74576         * m4/utimes.m4: Likewise.
74577
74578         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
74579         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
74580         comments in config.h.in are meaningful.
74581
74582         * m4/jm-macros.m4: Require autoconf-2.13 here.
74583
74584         * m4/regex.m4: By default, don't use the included regex.c on systems
74585         with glibc 2.  Suggestion from Uli Drepper.
74586
74587 1999-01-02  Jim Meyering  <meyering@ascend.com>
74588
74589         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
74590
74591 1998-12-18  Jim Meyering  <meyering@ascend.com>
74592
74593         * m4/Makefile.am.in (Makefile.am): Simplify rule.
74594         Based on a suggestion from Lars Hecking.
74595
74596 1998-11-16  Paul Eggert  <eggert@twinsun.com>
74597
74598         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
74599
74600 1998-11-16  Jim Meyering  <meyering@ascend.com>
74601
74602         * m4/lfs.m4: Double-quote the `uname...` expression.
74603
74604 1998-11-14  Jim Meyering  <meyering@ascend.com>
74605
74606         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
74607         * m4/stat.m4: Likewise.
74608
74609 1998-11-03  Jim Meyering  <meyering@ascend.com>
74610
74611         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
74612         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
74613
74614 1998-10-18  Jim Meyering  <meyering@ascend.com>
74615
74616         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
74617
74618 1998-10-17  Jim Meyering  <meyering@ascend.com>
74619
74620         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
74621         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
74622         calls for those previously hard-coded headers.  Instead, take a new
74623         parameter.
74624         (jm_CHECK_DECLARATIONS): Reflect interface change.
74625         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
74626         (jm_CHECK_DECL_LOCALTIME_R): New macro.
74627
74628         * m4/mktime.m4: Test for spring-forward gap before long-running test.
74629
74630 1998-10-14  Jim Meyering  <meyering@ascend.com>
74631
74632         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
74633         instead of "TZ=America/Vancouver".  From Paul Eggert.
74634
74635 1998-10-11  Jim Meyering  <meyering@ascend.com>
74636
74637         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
74638         This adds a test for a recently added compatibility fix for mktime.c.
74639         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
74640
74641 1998-09-27  Jim Meyering  <meyering@ascend.com>
74642
74643         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
74644
74645         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
74646         ../configure.in, including a change from Gordon Matzigkeit to allow
74647         cross-compiling for the Hurd.
74648
74649         * m4/glibc.m4: New file/macro to test for the GNU C Library
74650         versions 1 and 2.  From Gordon Matzigkeit.
74651         Indent.
74652
74653 1998-09-21  Jim Meyering  <meyering@ascend.com>
74654
74655         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
74656
74657 1998-08-18  Paul Eggert  <eggert@twinsun.com>
74658
74659         Port nanosecond-resolution times to UnixWare 2.1.2 and
74660         pedantic Solaris 2.6.
74661
74662         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
74663         AC_STRUCT_ST_MTIM.
74664         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
74665         Generate name of ns member, instead of just 1 or undef.
74666         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
74667
74668 1998-08-15  Jim Meyering  <meyering@ascend.com>
74669
74670         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
74671         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
74672         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
74673         instead of jm_TYPE_SSIZE_T.
74674
74675 1998-08-12  Jim Meyering  <meyering@ascend.com>
74676
74677         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
74678
74679 1998-08-02  Jim Meyering  <meyering@ascend.com>
74680
74681         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
74682         in acconfig.h manually.
74683
74684 1998-07-31  Paul Eggert  <eggert@twinsun.com>
74685
74686         * m4/st_mtim.m4: New file.
74687
74688 1998-07-28  Jim Meyering  <meyering@ascend.com>
74689
74690         * m4/utimes.m4: Undef stat.
74691
74692 1998-07-25  Jim Meyering  <meyering@ascend.com>
74693
74694         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
74695         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
74696
74697 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
74698
74699         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
74700         uid and gid actually remain unchanged.
74701
74702 1998-07-07  Jim Meyering  <meyering@ascend.com>
74703
74704         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
74705
74706 1998-07-04  Jim Meyering  <meyering@ascend.com>
74707
74708         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
74709         to prove that this macro can be used in packages without regex.c.
74710
74711 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
74712
74713         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
74714         is to be used.
74715
74716 1998-07-03  Jim Meyering  <meyering@ascend.com>
74717
74718         * m4/gettext.m4: Add -lintl if it's found to be necessary.
74719
74720         * m4/gettext.m4: New file -- from gettext-0.10.35.
74721         * m4/lcmessage.m4: Likewise.
74722         * m4/progtest.m4: Likewise.
74723
74724         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
74725         * m4/jm-macros.m4: Require the new macro.
74726
74727 1998-06-29  Jim Meyering  <meyering@ascend.com>
74728
74729         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
74730         for the definition of NGROUPS (used in a system header included
74731         by sys/mount.h).
74732
74733 1998-06-28  Jim Meyering  <meyering@ascend.com>
74734
74735         * m4/ls-mntd-fs.m4: New file.
74736         * m4/fstypename.m4: New file.
74737
74738         * m4/jm-macros.m4: Require the new macro.
74739         * m4/jm-glibc-io.m4: New file.
74740
74741 1998-05-19  Jim Meyering  <meyering@ascend.com>
74742
74743         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
74744         * m4/lchown.m4: New file.
74745
74746         * m4/Makefile.am.in: New file.
74747         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
74748
74749 1998-05-14  Jim Meyering  <meyering@ascend.com>
74750
74751         * m4/Makefile.am (EXTRA_DIST): Add them.
74752         * m4/jm-macros.m4: New file.
74753         * m4/utimbuf.m4: New file.
74754
74755 1998-05-12  Jim Meyering  <meyering@ascend.com>
74756
74757         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
74758
74759 1998-05-11  Jim Meyering  <meyering@ascend.com>
74760
74761         * m4/isc-posix.m4: New file.
74762
74763 1998-05-10  Jim Meyering  <meyering@ascend.com>
74764
74765         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
74766
74767 1998-05-09  Jim Meyering  <meyering@ascend.com>
74768
74769         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
74770         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
74771         with automake.
74772
74773         * m4/ssize_t.m4: New file.
74774         * m4/mktime.m4: Remove file -- the new automake has this now.
74775
74776 1998-04-26  Jim Meyering  <meyering@ascend.com>
74777
74778         * m4/assert.m4: New file.
74779         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
74780
74781 1998-04-05  Jim Meyering  <meyering@ascend.com>
74782
74783         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
74784         (jm_PREREQ): Use it here.
74785
74786 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
74787
74788         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
74789         in acconfig.h.
74790
74791 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
74792
74793         * m4/prereq.m4: New file.
74794         * m4/error.m4: New file.
74795         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
74796
74797 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
74798
74799         * m4/getline.m4: Don't set am_cv_func_working_getline before the
74800         cache-check for the same variable -- that defeated the purpose of
74801         the test; the test program was never run.  This was a problem only
74802         on systems with losing getline functions -- HP-UX 10.20 is one.
74803         Reported by Bjorn Helgaas.
74804
74805 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
74806
74807         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
74808
74809 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
74810
74811         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
74812
74813         * m4/const.m4: New file.  Use an initializer in this declaration
74814         typedef int charset[2]; const charset x;
74815         Reported by Bob Glickstein.
74816
74817 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
74818
74819         * m4/chown.m4: Fix reversed types on -1 args to chown.
74820         From Kaveh Ghazi.
74821
74822 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
74823
74824         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
74825         Add lseek and memchr.
74826
74827         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
74828         T.E.Dickey <dickey@clark.net> said that some older preprocessors
74829         have a 20-character limit on names.
74830
74831 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
74832
74833         * m4/inttypes_h.m4: New file.
74834         * m4/uintmax_t.m4: New file.
74835         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
74836
74837
74838         -----
74839
74840         Local Variables:
74841         coding: utf-8
74842         End:
74843
74844         Copyright (C) 1997-2011 Free Software Foundation, Inc.
74845
74846         Copying and distribution of this file, with or without
74847         modification, are permitted provided the copyright notice
74848         and this notice are preserved.