Avoid a gcc warning.
[gnulib.git] / ChangeLog
1 2010-04-24  Bruno Haible  <bruno@clisp.org>
2
3         Avoid a gcc warning.
4         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
5         of correct type for %08lx directive.
6         Reported by Eric Blake.
7
8 2010-04-24  Bruno Haible  <bruno@clisp.org>
9
10         vasnprintf: Correct errno value in case of out-of-memory.
11         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
12         or sprintf. Use the errno value from SNPRINTF or sprintf.
13         Reported by Ian Beckwith <ianb@erislabs.net>.
14
15 2010-04-24  Bruno Haible  <bruno@clisp.org>
16
17         ansi-c++-opt: Find correct compiler when cross-compiling.
18         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
19         AC_CHECK_PROGS.
20         Reported by Simon Josefsson.
21
22 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23
24         vc-list-files: Add support for subversion
25         * build-aux/vc-list-files: Use "svn list" to generate the list of
26         files controlled by subversion.
27
28 2010-04-23  Jim Meyering  <meyering@redhat.com>
29
30         vc-list-files tests: convert to use init.sh
31         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
32         path_prepend_.
33         Use Exit, not exit.
34         Use skip_ rather than open coding it.
35         Remove trap set-up and compare definitions.
36         * tests/test-vc-list-files-git.sh: Likewise.
37         * modules/vc-list-files-tests (Files): Add tests/init.sh.
38
39 2010-04-22  Simon Josefsson  <simon@josefsson.org>
40
41         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
42         backup files.
43
44 2010-04-21  Simon Josefsson  <simon@josefsson.org>
45
46         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
47
48 2010-04-20  Eric Blake  <eblake@redhat.com>
49
50         tests: be robust to ignored SIGPIPE
51         * tests/test-select-in.sh: Consume all output.
52         * tests/test-lseek.sh: Check correct exit status, while avoiding
53         EPIPE.
54
55 2010-04-20  Simon Josefsson  <simon@josefsson.org>
56             Bruno Haible  <bruno@clisp.org>
57
58         visibility: Don't use -fvisibility if it leads to a warning.
59         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
60         yes, don't pretend that visibility works if it leads to a warning.
61         Reported by Mike Gran <spk121@yahoo.com>.
62
63 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
64
65         * build-aux/bootstrap: Use "git -h" for testing for supported options
66         instead of "git --help".  The short-form option only shows a summary,
67         and doesn't layout the full man page.  Grep for the full option name
68         in the summary, too.
69
70 2010-04-19  Bruno Haible  <bruno@clisp.org>
71
72         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
73         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
74         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
75         mention of RELOCATABLE_STRIP.
76         Reported by Sylvain Beucler <beuc@beuc.net>.
77
78 2010-04-19  Bruno Haible  <bruno@clisp.org>
79
80         * lib/diffseq.h: Fix typo in comment.
81         Reported by Eric Blake.
82
83 2010-04-19  Bruno Haible  <bruno@clisp.org>
84
85         ioctl: Move autoconf macro to a .m4 file.
86         * m4/ioctl.m4: New file, extracted from modules/ioctl.
87         * modules/ioctl (Files): Add it.
88         (configure.ac): Simply invoke gl_FUNC_IOCTL.
89         Reported by Ian Beckwith <ianb@erislabs.net>.
90
91 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
92             Bruno Haible  <bruno@clisp.org>
93
94         diffseq: Accommodate use-case with abstract arrays.
95         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
96         is not defined.
97         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
98         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
99
100 2010-04-18  Bruno Haible  <bruno@clisp.org>
101
102         * doc/posix-headers/stdbool.texi: More precise wording.
103
104 2010-04-17  Jim Meyering  <meyering@redhat.com>
105
106         maint.mk: use gnu-style indentation in an embedded perl script
107         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
108         Rename variable: s/two/last_two_bytes/
109
110 2010-04-16  Eric Blake  <eblake@redhat.com>
111
112         test-stdbool: skip test that fails with Solaris CC
113         * tests/test-stdbool.c (f): Skip test that causes compilation
114         error under buggy C++ compiler.
115         * lib/stdbool.in.h: Document the limitation.
116         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
117
118         setenv: allow compilation with C++
119         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
120         register keyword.
121
122         stdint: allow test to pass with C++
123         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
124
125         getopt: allow compilation with C++
126         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
127         struct.
128         * lib/getopt.c (_getopt_internal_r): Use correct type.
129         Reported by Dagobert Michelson, via Joel E. Denny.
130
131 2010-04-16  Bruno Haible  <bruno@clisp.org>
132
133         Override netdb.h always.
134         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
135         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
136         Reported by Ludovic Courtès <ludo@gnu.org>.
137
138 2010-04-15  Bruno Haible  <bruno@clisp.org>
139
140         openpty: Fix mistake from 2010-03-21.
141         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
142         Reported by Simon Josefsson.
143
144 2010-04-15  Eric Blake  <eblake@redhat.com>
145
146         test-forkpty: fix expected signature
147         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
148         Reported by Simon Josefsson.
149
150 2010-04-15  Jim Meyering  <meyering@redhat.com>
151
152         maint.mk: texinfo_suffix_re_: correct the default regexp
153         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
154
155         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
156         make it configurable via texinfo_suffix_re_.
157
158 2010-04-14  Eric Blake  <eblake@redhat.com>
159
160         strtok_r: relax license to LGPLv2+
161         * modules/strtok_r (License): Relax license.
162         Reported by Matthias Bolte.
163
164 2010-04-14  Simon Josefsson  <simon@josefsson.org>
165
166         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
167         version 1.4.4 by default instead of requiring the libgcrypt
168         version used during build.  This makes it possible to use the
169         application with older but still binary compatible libgcrypt
170         versions.
171
172 2010-04-13  Eric Blake  <eblake@redhat.com>
173
174         getopt-gnu: match recent glibc fixes and posix ruling
175         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
176         '+' handling, when requesting extensions.
177         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
178         'W;' handling.
179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
180         * doc/posix-functions/getopt.texi (getopt): Document this.
181         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
182         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
183         Likewise.
184
185         getopt: merge bug fixes from glibc
186         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
187         diagnostics.  Honor '+:' correctly.  Reject ';'.
188
189         getopt-posix: detect MacOS bug
190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
191         optind when missing a required argument.
192         * doc/posix-functions/getopt.texi (getopt): Document the bug.
193         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
194         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
195         Likewise.
196
197         getopt-posix: avoid spurious failure on Solaris
198         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
199         an indicator that setting optind=1 is sufficient for reset.
200
201         getopt-posix: avoid spurious failure on FreeBSD
202         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
203         in POSIX mode, since the m4 test uses it.
204
205         gnulib-tool: silence warning on BSD sh
206         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
207
208 2010-04-13  Jim Meyering  <meyering@redhat.com>
209
210         doc: users.txt: GNU patch now uses gnulib
211         * users.txt: Add patch.
212
213 2010-04-12  Jim Meyering  <meyering@redhat.com>
214
215         maint.mk: generate more concise timing data for syntax-check rules
216         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
217         " done" from each line that reports a syntax-check test duration.
218
219 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
220
221         git-version-gen: use "git update-index..." rather than "git status"
222         * build-aux/git-version-gen: Use git update-index --refresh, not
223         "git status".  With some versions of git, "git status" would fail
224         to update the index and result in an unwarranted "-dirty" suffix.
225
226 2010-04-11  Jim Meyering  <meyering@redhat.com>
227
228         openat: correct formatting (no semantic change)
229         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
230         Suggested by Bruno Haible.
231
232 2010-04-11  Bruno Haible  <bruno@clisp.org>
233
234         Stricter declaration checking in testdirs.
235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
236         If for_tests is true, augment AM_CPPFLAGS to define
237         GNULIB_STRICT_CHECKING.
238         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
239         GNULIB_STRICT_CHECKING is defined, verify that the function is
240         declared.
241
242 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
243             Bruno Haible  <bruno@clisp.org>
244
245         libunistring: Improve configure output.
246         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
247         Don't say "consider installing GNU libunistring" when checking again
248         with libiconv.
249
250 2010-04-11  Bruno Haible  <bruno@clisp.org>
251
252         libunistring: Correct value of $LTLIBUNISTRING.
253         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
254         correct the value of $LTLIBUNISTRING.
255
256 2010-04-11  Bruno Haible  <bruno@clisp.org>
257
258         havelib: Add static libraries to LIBS in the right order.
259         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
260         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
261
262 2010-04-11  Bruno Haible  <bruno@clisp.org>
263
264         libunistring: Detect libunistring also when it depends on libiconv.
265         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
266         the second AC_LIB_HAVE_LINKFLAGS invocation.
267
268 2010-04-11  James Youngman  <jay@gnu.org>
269
270         close-stream: declare local scalars to be "const"
271         * lib/close-stream.c (close_stream): Make boolean variables const
272         to document the fact that we set but do not change them.
273
274 2010-04-11  Bruno Haible  <bruno@clisp.org>
275
276         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
277
278 2010-04-11  Jim Meyering  <meyering@redhat.com>
279
280         maint.mk: don't include dist-check.mk
281         * top/maint.mk: Remove bogus include directive.
282
283         maint.mk: improve empty-line-at-EOF check
284         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
285         solution, rather than tail+Perl-based one.  The latter would read
286         a few kilobytes from the end of each file, and did not handle empty
287         files properly.
288
289         maint.mk: print the elapsed time for each syntax-check rule
290         * top/maint.mk (sc_m_rules_): Save start time in a file.
291         (sc_z_rules_): New rules: remove temp file and print elapsed time.
292         (local-check): Interpose the .z rules
293
294 2010-04-11  Jim Meyering  <meyering@redhat.com>
295
296         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
297         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
298         empty file with one that ends in an empty line.
299
300 2010-04-10  Bruno Haible  <bruno@clisp.org>
301
302         mkdir: Make it work on mingw64.
303         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
304         * lib/mkdir.c: Update comment.
305         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
306
307 2010-04-10  Bruno Haible  <bruno@clisp.org>
308
309         Don't override improved macro from newer autoconf.
310         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
311         autoconf >= 2.62.
312         Reported by Joel E. Denny <jdenny@clemson.edu>.
313
314 2010-04-10  Jim Meyering  <meyering@redhat.com>
315
316         maint.mk: new syntax-check rule: prohibit empty lines at end of file
317         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
318
319         maint.mk: correct a diagnostic
320         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
321         in diagnostic; now use $prohibit.
322
323 2010-04-10  Bruno Haible  <address@hidden>
324
325         fchownat: Fix a C++ test error on Solaris 8.
326         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
327         the function does not exist.
328
329 2010-04-10  Bruno Haible  <bruno@clisp.org>
330
331         vasnprintf: Add more tests.
332         * tests/test-vasnprintf-posix.c: Include <errno.h>.
333         (test_function): Test converting an invalid wide string.
334
335         vasnprintf: Correct handling of unconvertible wide string arguments.
336         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
337         VASNPRINTF.
338         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
339         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
340         smaller than the expected maximum need for the directive. Set errno to
341         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
342         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
343         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
344         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
345         * modules/vasnprintf (Files): Add m4/printf.m4.
346         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
347
348 2010-04-10  Bruno Haible  <bruno@clisp.org>
349
350         vasnprintf: Fix crash in %ls directive.
351         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
352         string is passed as argument to %ls, with no precision and no width.
353         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
354
355 2010-04-10  Bruno Haible  <bruno@clisp.org>
356
357         vasnprintf: Fix multiple test failures on mingw.
358         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
359         _snprintf, or snwprintf, not _snwprintf.
360
361 2010-04-10  Bruno Haible  <bruno@clisp.org>
362
363         write: Fix a C++ test error on mingw.
364         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
365
366 2010-04-10  Bruno Haible  <bruno@clisp.org>
367
368         vasnprintf test: Reduce code duplication.
369         * tests/test-vasnprintf.c (test_function): New function, extracted from
370         test_vasnprintf.
371         (test_vasnprintf, test_asnprintf): Invoke it.
372
373 2010-04-10  Bruno Haible  <bruno@clisp.org>
374
375         strnlen: Fix warning in C++ mode on MacOS X.
376         * lib/string.in.h (strnlen): Use the modern idiom.
377         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
378         defining strnlen as a macro already in <config.h>.
379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
380         REPLACE_STRNLEN.
381         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
382         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
383
384 2010-04-08  James Youngman  <jay@gnu.org>
385
386         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
387         the example.
388
389 2010-04-09  Jim Meyering  <meyering@redhat.com>
390
391         maint.mk: print better diagnostic when there is no $(_hv_file)
392         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
393         announce that when $(_hv_file) (aka help-version) does not exist.
394
395         init.sh: run tr in the "C" locale to avoid multibyte interpretation
396         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
397         not try to interpret its random input bytes.  Jarno Rajahalme reported
398         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
399         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
400         (mktempd_): Likewise, just in case.
401
402         ftruncate: add two years to projected module removal date: 2012
403         * m4/ftruncate.m4: Adjust comments.
404
405         ftruncate: mark module as obsolete; even MinGW provides it, now
406         * modules/ftruncate (Status): Obsolete.
407         (Notice): Say that.
408         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
409         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
410
411 2010-04-08  Bruno Haible  <bruno@clisp.org>
412
413         Fix side effects from tests-related modules.
414         * modules/dprintf-posix (Comment): New section.
415         * modules/fprintf-posix (Comment): Likewise.
416         * modules/obstack-printf-posix (Comment): Likewise.
417         * modules/printf-posix (Comment): Likewise.
418         * modules/snprintf-posix (Comment): Likewise.
419         * modules/sprintf-posix (Comment): Likewise.
420         * modules/vasnprintf-posix (Comment): Likewise.
421         * modules/vasprintf-posix (Comment): Likewise.
422         * modules/vdprintf-posix (Comment): Likewise.
423         * modules/vfprintf-posix (Comment): Likewise.
424         * modules/vprintf-posix (Comment): Likewise.
425         * modules/vsnprintf-posix (Comment): Likewise.
426         * modules/vsprintf-posix (Comment): Likewise.
427         * modules/xprintf-posix (Comment): Likewise.
428         * modules/xvasprintf-posix (Comment): Likewise.
429         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
430         * modules/floorf-tests (Depends-on): Likewise.
431         * modules/round-tests (Depends-on): Likewise.
432         * modules/roundf-tests (Depends-on): Likewise.
433         * modules/trunc-tests (Depends-on): Likewise.
434         * modules/truncf-tests (Depends-on): Likewise.
435         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
436         'fprintf-posix' module is not present.
437         * tests/test-floorf2.c (check): Likewise.
438         * tests/test-trunc2.c (check): Likewise.
439         * tests/test-truncf2.c (check): Likewise.
440         * tests/test-round2.c (equal): Likewise.
441         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
442
443 2010-04-07  Karl Berry  <karl@gnu.org>
444
445         * config/srclist.txt,
446         * config/srclistvars.sh,
447         * config/srclist-update: doc fixes.
448
449 2010-04-07  Jim Meyering  <meyering@redhat.com>
450
451         maint.mk: add a PATH crosschecking syntax-check rule
452         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
453         Useful if you use a test like the one in help-version (coreutils,
454         diffutils, grep, gzip) that ensures $(VERSION) matches what is
455         printed by prog --version.
456
457 2010-04-06  Bruno Haible  <bruno@clisp.org>
458
459         Fix link error on mingw.
460         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
461         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
462
463 2010-04-06  Bruno Haible  <bruno@clisp.org>
464
465         Assume rmdir exists.
466         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
467
468 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
469
470         doc: update users.txt
471         * users.txt: Add gcal.
472
473 2010-04-06  Jim Meyering  <meyering@redhat.com>
474
475         init.sh: simply unset TMPDIR rather than risking env -i
476         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
477         although it probably works fine on all Unix-based systems, some
478         systems (Cygwin?) cannot tolerate a totally cleared environment.
479         Suggestion from Eric Blake.
480
481 2010-04-06  Jim Meyering  <meyering@redhat.com>
482
483         init.sh: portability fix: use env's POSIX-specified -i option not -u
484         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
485         than unportable env -u.  Solaris 5.11's env lacks support for -u.
486
487 2010-04-05  Bruno Haible  <bruno@clisp.org>
488
489         btowc: Work around Cygwin 1.7.2 bug.
490         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
491         does not map NUL to 0.
492         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
493
494 2010-04-05  Bruno Haible  <bruno@clisp.org>
495
496         Make the multithread modules work on Cygwin 1.7.2.
497         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
498         imported symbols can be declared weak, so that it returns "no" on
499         Cygwin 1.7.2.
500
501 2010-04-05  Bruno Haible  <bruno@clisp.org>
502
503         Use the module 'strncat'.
504         * modules/unistr/u8-strncat (Depends-on): Add strncat.
505
506         Tests for module 'strncat'.
507         * modules/strncat-tests: New file.
508         * tests/test-strncat.c: New file.
509
510         New module 'strncat'.
511         * lib/string.in.h (strncat): New declaration.
512         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
513         * m4/strncat.m4: New file, based on m4/memchr.m4.
514         * modules/strncat: New file.
515         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
516         is declared.
517         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
518         REPLACE_STRNCAT.
519         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
520         REPLACE_STRNCAT.
521         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
522         module.
523         * tests/test-string-c++.cc: Check signature of strncat.
524
525 2010-04-05  Jim Meyering  <meyering@redhat.com>
526
527         xstrtoumax-tests: convert to use init.sh
528         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
529         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
530         Use Exit, not exit.
531         Remove uses of $EXEEXT and "./" to run a program in the current dir.
532
533         xstrtoimax-tests: convert to use init.sh
534         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
535         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
536         Use Exit, not exit.
537         Remove uses of $EXEEXT and "./" to run a program in the current dir.
538
539 2010-04-05  Bruno Haible  <bruno@clisp.org>
540
541         sys_socket: Avoid #define replacements in C++ mode.
542         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
543         warning to the function if possible, rather than #defining the symbol
544         to a dysfunctional alias.
545
546 2010-04-05  Bruno Haible  <bruno@clisp.org>
547
548         fseeko: Fix C++ test error on mingw.
549         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
550         gl_FUNC_FSEEKO.
551         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
552         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
553         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
554         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
555
556 2010-04-05  Bruno Haible  <bruno@clisp.org>
557
558         duplocale: Improve test output.
559         * tests/test-duplocale.c (main): Print reason for skipped test.
560
561 2010-04-05  Bruno Haible  <bruno@clisp.org>
562
563         Assume rmdir exists.
564         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
565         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
566
567 2010-04-05  Bruno Haible  <bruno@clisp.org>
568
569         Fix link error on Solaris 8 with cc.
570         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
571
572 2010-04-05  Bruno Haible  <bruno@clisp.org>
573
574         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
575         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
576
577 2010-04-05  Bruno Haible  <bruno@clisp.org>
578
579         vasprintf: Update documentation.
580         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
581
582 2010-04-05  Bruno Haible  <bruno@clisp.org>
583
584         ptsname: Improve test.
585         * tests/test-ptsname.c (main): Also try the various master names of BSD
586         systems.
587
588 2010-04-05  Bruno Haible  <bruno@clisp.org>
589
590         memchr: Avoid a possible C++ test error.
591         * lib/string.in.h (memchr): Provide declaration if function is missing.
592         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
593         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
594         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
595         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
596
597 2010-04-05  Bruno Haible  <bruno@clisp.org>
598
599         strtok_r: Improve idiom.
600         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
601         AC_LIBOBJ is used.
602
603 2010-04-05  Bruno Haible  <bruno@clisp.org>
604
605         strdup: Improve idiom.
606         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
607         AC_LIBOBJ is used.
608         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
609         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
610         when AC_LIBOBJ is used.
611
612 2010-04-05  Bruno Haible  <bruno@clisp.org>
613
614         mbsinit, mbrtowc, wcrtomb: Improve idioms.
615         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
616         don't set REPLACE_MBSINIT to 1.
617         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
618         don't set REPLACE_MBRTOWC to 1.
619         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
620         exist, don't set REPLACE_MBSRTOWCS to 1.
621         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
622         exist, don't set REPLACE_MBSNRTOWCS to 1.
623         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
624         don't set REPLACE_WCRTOMB to 1.
625         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
626         exist, don't set REPLACE_WCSRTOMBS to 1.
627         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
628         exist, don't set REPLACE_WCSNRTOMBS to 1.
629
630 2010-04-05  Bruno Haible  <bruno@clisp.org>
631
632         ldexpl: Improve idiom.
633         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
634         make sure to set HAVE_DECL_LDEXPL to 0.
635
636 2010-04-05  Jim Meyering  <meyering@redhat.com>
637
638         xstrtol-tests: convert to use init.sh
639         * modules/xstrtol-tests (Files): Add tests/init.sh.
640         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
641         Use Exit, not exit.
642         Remove uses of $EXEEXT and "./" to run a program in the current dir.
643
644         atexit-tests: convert to use init.sh
645         * modules/atexit-tests (Files): Add tests/init.sh.
646         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
647         Use Exit, not exit.
648         Remove uses of $EXEEXT and "./" to run a program in the current dir.
649
650         init.sh: fix typo
651         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
652
653         init.sh: make it easier for a test script to write to the tty, ...
654         when using automake's parallel-tests mode.
655         * tests/init.sh (stderr_fileno_): Define overridable variable.
656         (warn_): New function, to use it.
657         (fail_, skip_, framework_failure_): Use warn_.
658
659 2010-04-04  Bruno Haible  <bruno@clisp.org>
660
661         btowc: Avoid warning.
662         * lib/btowc.c: Include <stdlib.h>.
663         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
664
665 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
666             Bruno Haible  <bruno@clisp.org>
667
668         wchar: Port to NetBSD 1.5.
669         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
670         * lib/wctype.in.h (WEOF): Likewise.
671
672 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
673             Bruno Haible  <bruno@clisp.org>
674
675         Port extended stdio to NetBSD 1.5.
676         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
677         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
678         older.
679
680 2010-04-04  Bruno Haible  <bruno@clisp.org>
681
682         string: Remove unused substitution.
683         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
684         HAVE_DECL_STRERROR.
685         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
686
687 2010-04-04  Bruno Haible  <bruno@clisp.org>
688
689         strtod: Avoid a possible C++ test error.
690         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
691         set REPLACE_STRTOD.
692
693 2010-04-04  Bruno Haible  <bruno@clisp.org>
694
695         strerror: Update documentation.
696         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
697
698 2010-04-04  Bruno Haible  <bruno@clisp.org>
699
700         stdio: Fix some C++ test errors on Solaris 8 with GCC.
701         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
702         _GL_CXXALIAS_SYS_CAST.
703
704 2010-04-04  Bruno Haible  <bruno@clisp.org>
705
706         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
707         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
708         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
709         REPLACE_FREXPL to 1.
710         * doc/posix-functions/frexpl.texi: Update documentation.
711
712 2010-04-04  Bruno Haible  <bruno@clisp.org>
713
714         math: Fix some C++ test errors on Solaris 8 and Cygwin.
715         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
716
717 2010-04-04  Bruno Haible  <bruno@clisp.org>
718
719         Implement nanosleep for native Windows.
720         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
721
722 2010-04-04  Bruno Haible  <bruno@clisp.org>
723
724         math: Fix some C++ test errors on Solaris 8.
725         * lib/math.in.h (truncf, trunc): Use simpler idiom.
726
727 2010-04-04  Bruno Haible  <bruno@clisp.org>
728
729         math: Fix some C++ test errors on Cygwin.
730         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
731         truncl): Provide declaration if the system does not have it.
732         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
733         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
734         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
735         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
736         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
737         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
738         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
739         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
740         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
741         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
742         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
743         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
744         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
745         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
746         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
747         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
749         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
750         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
751         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
752         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
753         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
754
755 2010-04-04  Bruno Haible  <bruno@clisp.org>
756
757         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
758         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
759         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
760         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
761         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
762         * m4/isinf.m4 (gl_ISINF): Likewise.
763         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
764
765 2010-04-04  Bruno Haible  <bruno@clisp.org>
766
767         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
768         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
769
770 2010-04-04  Bruno Haible  <bruno@clisp.org>
771
772         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
773         * modules/tmpfile (configure.ac): Update.
774
775         tmpfile: Fix C++ test error on mingw.
776         * lib/stdio.in.h (tmpfile): New declaration.
777         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
778         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
779         * modules/tmpfile (Depends-on): Add stdio.
780         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
781         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
782         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
783         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
784         REPLACE_TMPFILE.
785         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
786
787 2010-04-04  Bruno Haible  <bruno@clisp.org>
788
789         ioctl: Fix C++ test error on mingw.
790         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
791         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
792         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
793
794 2010-04-03  Bruno Haible  <bruno@clisp.org>
795
796         wcwidth: Fix C++ test error on mingw.
797         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
799         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
800
801 2010-04-03  Bruno Haible  <bruno@clisp.org>
802
803         nanosleep: Fix C++ test error on mingw.
804         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
805         * lib/time.in.h (nanosleep): Use modern idiom.
806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
807         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
808         REPLACE_NANOSLEEP to 1.
809         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
810         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
811
812 2010-04-03  Bruno Haible  <bruno@clisp.org>
813
814         strptime: Fix C++ test error on mingw.
815         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
816         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
817         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
818         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
819         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
820         not REPLACE_STRPTIME.
821         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
822         REPLACE_STRPTIME.
823
824 2010-04-03  Bruno Haible  <bruno@clisp.org>
825
826         timegm: Fix C++ test error on mingw.
827         * lib/time.in.h (timegm): Use modern idiom.
828         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
829         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
830         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
831         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
832
833 2010-04-03  Bruno Haible  <bruno@clisp.org>
834
835         timegm: Assume declaration if function exists.
836         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
837         if it exists. Don't clobber ac_cv_func_timegm.
838
839 2010-04-03  Bruno Haible  <bruno@clisp.org>
840
841         time_r: Fix C++ test error on mingw.
842         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
843         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
844         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
845         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
846         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
847
848 2010-04-03  Bruno Haible  <bruno@clisp.org>
849
850         time_r: Minor updates.
851         * modules/time_r (Description): Mention the provided functions.
852         * lib/time_r.c: Don't include <string.h>.
853         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
854         * doc/posix-functions/localtime_r.texi: Likewise.
855
856 2010-04-03  Bruno Haible  <bruno@clisp.org>
857
858         time: Fix regression introduced on 2010-03-08.
859         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
860         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
861
862 2010-04-03  Jim Meyering  <meyering@redhat.com>
863
864         maint.mk: don't silently disable project-specific syntax-check rules
865         * top/maint.mk (_prohibit_regexp): Define, to help people realize
866         that they need to convert their project-specific syntax-check rules
867         to use the new _sc_search_regexp.
868
869 2010-04-03  Bruno Haible  <bruno@clisp.org>
870
871         fchdir: Fix regression introduced on 2010-03-08.
872         * lib/unistd.in.h (fchdir): Fix declaration.
873         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
875         REPLACE_FCHDIR.
876         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
877         REPLACE_FCHDIR.
878
879 2010-04-03  Bruno Haible  <bruno@clisp.org>
880
881         getpagesize: Fix C++ test error on mingw.
882         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
883         system does not declare the function.
884         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
885         declared.
886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
887         HAVE_DECL_GETPAGESIZE.
888         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
889
890 2010-04-03  Bruno Haible  <bruno@clisp.org>
891
892         stdio: Make C++ tests work on mingw.
893         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
894         does not declare the function.
895
896 2010-04-03  Bruno Haible  <bruno@clisp.org>
897
898         ftello: Fix C++ test error on mingw.
899         * lib/stdio.in.h (ftello): Use modern idiom.
900         * lib/ftello.c (ftello): Renamed from rpl_ftello.
901         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
902         is missing and that it needs to be replaced.
903         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
905         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
906
907 2010-04-03  Bruno Haible  <bruno@clisp.org>
908
909         fseeko: Fix C++ test error on mingw.
910         * lib/stdio.in.h (fseeko): Use modern idiom.
911         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
912         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
913         is missing and that it needs to be replaced.
914         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
916         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
917
918 2010-04-03  Bruno Haible  <bruno@clisp.org>
919
920         mkstemp: Fix C++ test error on mingw.
921         * lib/stdlib.in.h (mkstemp): Use modern idiom.
922         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
923         function is missing and that it needs to be replaced.
924         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
925         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
926
927 2010-04-03  Bruno Haible  <bruno@clisp.org>
928
929         stpncpy: Fix C++ test error on mingw.
930         * lib/string.in.h (stpncpy): Use modern idiom.
931         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
932         function is missing and that it needs to be replaced.
933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
934         REPLACE_STPNCPY.
935         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
936
937 2010-04-03  Bruno Haible  <bruno@clisp.org>
938
939         sys_stat: Fix C++ test error on mingw.
940         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
941         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
942
943 2010-04-03  Bruno Haible  <bruno@clisp.org>
944
945         pty: Update doc.
946         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
947
948 2010-04-03  Bruno Haible  <bruno@clisp.org>
949
950         unistd: Fix C++ test error on mingw.
951         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
952
953 2010-04-03  Bruno Haible  <bruno@clisp.org>
954
955         Update doc regarding mingw.
956         * doc/glibc-functions/openpty.texi: Update regarding mingw.
957         * doc/glibc-functions/login_tty.texi: Likewise.
958         * doc/glibc-functions/forkpty.texi: Likewise.
959
960 2010-04-03  Bruno Haible  <bruno@clisp.org>
961
962         stdlib: Avoid compilation failure of c-strtold on mingw.
963         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
964
965 2010-04-03  Bruno Haible  <bruno@clisp.org>
966
967         locale: Make C++ tests work on Cygwin and mingw.
968         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
969         cannot provide the function.
970         Reported by Simon Josefsson.
971
972 2010-04-03  Bruno Haible  <bruno@clisp.org>
973
974         localename: Port to MacOS X 10.6.
975         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
976         memory layout of the locales in MacOS X 10.6 as well.
977         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
978
979 2010-04-02  Bruno Haible  <bruno@clisp.org>
980
981         gnulib-tool: Ensure that long-running tests are executed last.
982         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
983         running tests after the one for the other tests.
984
985 2010-04-02  Bruno Haible  <bruno@clisp.org>
986
987         gnulib-tool: Ensure the tests in the main directory are executed first.
988         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
989         start with the current directory.
990
991 2010-04-02  Bruno Haible  <bruno@clisp.org>
992
993         Tests for module 'havelib', moved here from GNU gettext.
994         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
995         modifications.
996         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
997         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
998         with modifications.
999         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
1000         modifications.
1001         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
1002         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
1003         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
1004         with modifications.
1005         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
1006         with modifications.
1007         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
1008         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
1009         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
1010         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
1011         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
1012         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
1013         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
1014         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
1015         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
1016         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
1017         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
1018         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
1019         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
1020         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
1021         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
1022         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
1023         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
1024         with modifications.
1025         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
1026         with modifications.
1027         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
1028         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
1029         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
1030         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
1031         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
1032         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
1033         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
1034         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
1035         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
1036         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
1037         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
1038         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
1039         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
1040         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
1041         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
1042         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
1043         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
1044         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
1045         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
1046         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
1047         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
1048         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
1049         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
1050         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
1051         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
1052         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
1053         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
1054         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
1055         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
1056         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
1057         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
1058         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
1059         * tests/havelib/rpathx/rpathx.c: New file, from
1060         gettext/autoconf-lib-link.
1061         * tests/havelib/rpathx/Makefile.am: New file, from
1062         gettext/autoconf-lib-link.
1063         * tests/havelib/rpathx/configure.ac: New file, from
1064         gettext/autoconf-lib-link with modifications.
1065         * tests/havelib/rpathy/rpathy.c: New file, from
1066         gettext/autoconf-lib-link.
1067         * tests/havelib/rpathy/Makefile.am: New file, from
1068         gettext/autoconf-lib-link.
1069         * tests/havelib/rpathy/configure.ac: New file, from
1070         gettext/autoconf-lib-link with modifications.
1071         * tests/havelib/rpathz/rpathz.c: New file, from
1072         gettext/autoconf-lib-link.
1073         * tests/havelib/rpathz/Makefile.am: New file, from
1074         gettext/autoconf-lib-link.
1075         * tests/havelib/rpathz/configure.ac: New file, from
1076         gettext/autoconf-lib-link with modifications.
1077         * tests/havelib/rpathlx/usex.c: New file, from
1078         gettext/autoconf-lib-link.
1079         * tests/havelib/rpathlx/Makefile.am: New file, from
1080         gettext/autoconf-lib-link.
1081         * tests/havelib/rpathlx/configure.ac: New file, from
1082         gettext/autoconf-lib-link with modifications.
1083         * tests/havelib/rpathly/usey.c: New file, from
1084         gettext/autoconf-lib-link.
1085         * tests/havelib/rpathly/Makefile.am: New file, from
1086         gettext/autoconf-lib-link.
1087         * tests/havelib/rpathly/configure.ac: New file, from
1088         gettext/autoconf-lib-link with modifications.
1089         * tests/havelib/rpathlz/usez.c: New file, from
1090         gettext/autoconf-lib-link.
1091         * tests/havelib/rpathlz/Makefile.am: New file, from
1092         gettext/autoconf-lib-link.
1093         * tests/havelib/rpathlz/configure.ac: New file, from
1094         gettext/autoconf-lib-link with modifications.
1095         * tests/havelib/rpathlyx/usey.c: New file, from
1096         gettext/autoconf-lib-link.
1097         * tests/havelib/rpathlyx/Makefile.am: New file, from
1098         gettext/autoconf-lib-link.
1099         * tests/havelib/rpathlyx/configure.ac: New file, from
1100         gettext/autoconf-lib-link with modifications.
1101         * tests/havelib/rpathlzyx/usez.c: New file, from
1102         gettext/autoconf-lib-link.
1103         * tests/havelib/rpathlzyx/Makefile.am: New file, from
1104         gettext/autoconf-lib-link.
1105         * tests/havelib/rpathlzyx/configure.ac: New file, from
1106         gettext/autoconf-lib-link with modifications.
1107         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
1108         with modifications.
1109
1110 2010-04-02  Bruno Haible  <bruno@clisp.org>
1111
1112         gnulib-tool: Create distributed built sources also for the tests.
1113         * gnulib-tool (func_create_testdir): Also generate distributed built
1114         sources in the tests directory.
1115
1116 2010-04-02  Bruno Haible  <bruno@clisp.org>
1117
1118         gnulib-tool: Obey user's environment variables.
1119         * gnulib-tool (func_create_testdir): When creating built sources,
1120         respect the environment variables for autoconf, automake, etc. given by
1121         the user.
1122
1123 2010-04-02  Bruno Haible  <bruno@clisp.org>
1124
1125         gnulib-tool: Provide the value of --m4-base to modules.
1126         * gnulib-tool (func_import, func_create_testdir): Emit a definition
1127         of gl_m4_base.
1128
1129 2010-04-02  Eric Blake  <eblake@redhat.com>
1130
1131         maint.mk: fix some fallout
1132         * NEWS: Document the incompatible change, and its effect on cfg.mk.
1133         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
1134
1135 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1136
1137         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
1138         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
1139         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
1140         (sc_cast_of_x_alloc_return_value): Likewise.
1141         (sc_cast_of_alloca_return_value): Likewise.
1142         (sc_space_tab): Likewise.
1143         (sc_prohibit_atoi_atof): Likewise.
1144         (sc_prohibit_magic_number_exit): Likewise.
1145         (sc_error_exit_success): Likewise.
1146         (sc_file_system): Likewise.
1147         (sc_prohibit_have_config_h): Likewise.
1148         (sc_require_config_h): Likewise.
1149         (sc_prohibit_HAVE_MBRTOWC): Likewise.
1150         (sc_obsolete_symbols): Likewise.
1151         (sc_changelog): Likewise.
1152         (sc_program_name): Likewise.
1153         (sc_the_the): Likewise.
1154         (sc_trailing_blank): Likewise.
1155         (sc_two_space_separator_in_usage): Likewise.
1156         (sc_useless_cpp_parens): Likewise.
1157         (sc_GPL_version): Likewise.
1158         (sc_GFDL_version): Likewise.
1159         (sc_texinfo_acronym): Likewise.
1160         (sc_prohibit_cvs_keyword): Likewise.
1161         (sc_prohibit_stat_st_blocks): Likewise.
1162         (sc_prohibit_S_IS_definition): Likewise.
1163         (sc_redundant_const): Likewise.
1164         (sc_makefile_TAB_only_indentation): Likewise.
1165         (sc_m4_quote_check): Likewise.
1166         (sc_makefile_path_separator_check): Likewise.
1167         (sc_copyright_check): Likewise.
1168         (sc_Wundef_boolean): Likewise.
1169         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1170
1171         maint.mk: match 0 or more whitespace-before-function-call '('
1172         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
1173         that have zero or two-and-more spaces between the function name
1174         and the open parenthesis.
1175         (sc_error_message_warn_fatal): Likewise.
1176         (sc_error_message_uppercase): Likewise.
1177         (sc_error_message_period): Likewise.
1178
1179 2010-03-31  Eric Blake  <eblake@redhat.com>
1180
1181         maint.mk: check for [ as well as test
1182         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
1183         Based on a libvirt report by Matthias Bolte.
1184
1185         gnumakefile: don't squelch _version output
1186         * top/GNUmakefile (_version): Create one-shot dependency rather
1187         than using $(shell) when version must be regenerated.
1188         (_autoreconf): Run verbosely, by default.
1189
1190         sys_time: avoid compiler warnings
1191         * lib/sys_time.in.h (includes): Ensure gcc pragma is
1192         unconditional, fixing regression from 2010-03-29.
1193         Reported by Simon Josefsson.
1194
1195 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1196
1197         maint.mk: s/_header_without_use/_sc_header_without_use/
1198         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
1199         (sc_prohibit_assert_without_use): Use the new name.
1200         (sc_prohibit_close_stream_without_use): Likewise.
1201         (sc_prohibit_getopt_without_use): Likewise.
1202         (sc_prohibit_quotearg_without_use): Likewise.
1203         (sc_prohibit_quote_without_use): Likewise.
1204         (sc_prohibit_long_options_without_use): Likewise.
1205         (sc_prohibit_inttostr_without_use): Likewise.
1206         (sc_prohibit_ignore_value_without_use): Likewise.
1207         (sc_prohibit_error_without_use): Likewise.
1208         (sc_prohibit_xalloc_without_use): Likewise.
1209         (sc_prohibit_hash_without_use): Likewise.
1210         (sc_prohibit_hash_pjw_without_use): Likewise.
1211         (sc_prohibit_safe_read_without_use): Likewise.
1212         (sc_prohibit_argmatch_without_use): Likewise.
1213         (sc_prohibit_canonicalize_without_use): Likewise.
1214         (sc_prohibit_root_dev_ino_without_use): Likewise.
1215         (sc_prohibit_openat_without_use): Likewise.
1216         (sc_prohibit_c_ctype_without_use): Likewise.
1217         (sc_prohibit_signal_without_use): Likewise.
1218         (sc_prohibit_intprops_without_use): Likewise.
1219
1220 2010-03-30  Eric Blake  <eblake@redhat.com>
1221
1222         maint: improve module indicators
1223         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1224         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1225         columns, and avoid extra macro expansion.
1226
1227         fdopendir: work around FreeBSD bug
1228         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1229         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1230         * modules/dirent (Makefile.am): Substitute it.
1231         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1232         declaration.
1233         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1234         fix.
1235         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1236
1237 2010-03-29  Bruno Haible  <bruno@clisp.org>
1238
1239         Emit #pragma system_header after the inclusion guard, not before.
1240         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1241         guard that spans the entire file, not before. This enables an
1242         optimization in GCC's preprocessor.
1243         * lib/ctype.in.h: Likewise.
1244         * lib/dirent.in.h: Likewise.
1245         * lib/errno.in.h: Likewise.
1246         * lib/float.in.h: Likewise.
1247         * lib/getopt.in.h: Likewise.
1248         * lib/iconv.in.h: Likewise.
1249         * lib/langinfo.in.h: Likewise.
1250         * lib/locale.in.h: Likewise.
1251         * lib/math.in.h: Likewise.
1252         * lib/netdb.in.h: Likewise.
1253         * lib/netinet_in.in.h: Likewise.
1254         * lib/pty.in.h: Likewise.
1255         * lib/sched.in.h: Likewise.
1256         * lib/se-selinux.in.h: Likewise.
1257         * lib/search.in.h: Likewise.
1258         * lib/spawn.in.h: Likewise.
1259         * lib/stdarg.in.h: Likewise.
1260         * lib/stdint.in.h: Likewise.
1261         * lib/string.in.h: Likewise.
1262         * lib/strings.in.h: Likewise.
1263         * lib/sys_file.in.h: Likewise.
1264         * lib/sys_ioctl.in.h: Likewise.
1265         * lib/sys_time.in.h: Likewise.
1266         * lib/sys_times.in.h: Likewise.
1267         * lib/sys_utsname.in.h: Likewise.
1268         * lib/sys_wait.in.h: Likewise.
1269         * lib/sysexits.in.h: Likewise.
1270         * lib/wctype.in.h: Likewise.
1271
1272 2010-03-28  James Youngman  <jay@gnu.org>
1273
1274         save-cwd: don't leak a file descriptor when the caller execs.
1275         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1276         saved file descriptor.
1277         * modules/save-cwd (Depends-on): Depend on cloexec.
1278
1279 2010-03-29  Bruno Haible  <bruno@clisp.org>
1280
1281         Remove vestiges of fts-lgpl module.
1282         * lib/fts_.h: Assume GNULIB_FTS is 1.
1283         * lib/fts.c: Likewise.
1284         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1285
1286 2010-03-28  Bruno Haible  <bruno@clisp.org>
1287
1288         Fix definition of tests witness macro.
1289         * gnulib-tool (func_import): Fix definition of witness macro.
1290
1291 2010-03-28  Bruno Haible  <bruno@clisp.org>
1292
1293         Fix ioctl's protoype on glibc systems.
1294         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1295         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1296         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1297         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1298         signature. If not, arrange to replace the ioctl function.
1299         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1300         REPLACE_IOCTL.
1301         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1302         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1303         Reported by Ludovic Courtès <ludo@gnu.org>.
1304
1305 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1306
1307         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1308         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1309         made it so grep -r --include=GLOB* ... did not work.
1310
1311 2010-03-26  Jim Meyering  <meyering@redhat.com>
1312             Eric Blake  <eblake@redhat.com>
1313
1314         maint.mk: prohibit use of test's -o and -a operators
1315         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1316
1317 2010-03-28  Bruno Haible  <bruno@clisp.org>
1318
1319         Remove unused GNULIB_XYZ macro definitions.
1320         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1321         invocation.
1322
1323 2010-03-28  Bruno Haible  <bruno@clisp.org>
1324
1325         Mark privileged tests modules.
1326         * modules/idpriv-drop-tests (Status): New section.
1327         * modules/idpriv-droptemp-tests (Status): New section.
1328
1329 2010-03-28  Bruno Haible  <bruno@clisp.org>
1330
1331         Split C++ tests into separate tests modules.
1332         * modules/dirent-c++-tests: New file, extracted from
1333         modules/dirent-tests.
1334         * modules/dirent-tests: Depend on it.
1335         * modules/fcntl-h-c++-tests: New file, extracted from
1336         modules/fcntl-h-tests.
1337         * modules/fcntl-h-tests: Depend on it.
1338         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1339         * modules/glob-tests: Depend on it.
1340         * modules/iconv-h-c++-tests: New file, extracted from
1341         modules/iconv-h-tests.
1342         * modules/iconv-h-tests: Depend on it.
1343         * modules/langinfo-c++-tests: New file, extracted from
1344         modules/langinfo-tests.
1345         * modules/langinfo-tests: Depend on it.
1346         * modules/locale-c++-tests: New file, extracted from
1347         modules/locale-tests.
1348         * modules/locale-tests: Depend on it.
1349         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1350         * modules/math-tests: Depend on it.
1351         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1352         * modules/pty-tests: Depend on it.
1353         * modules/search-c++-tests: New file, extracted from
1354         modules/search-tests.
1355         * modules/search-tests: Depend on it.
1356         * modules/signal-c++-tests: New file, extracted from
1357         modules/signal-tests.
1358         * modules/signal-tests: Depend on it.
1359         * modules/spawn-c++-tests: New file, extracted from
1360         modules/spawn-tests.
1361         * modules/spawn-tests: Depend on it.
1362         * modules/stdio-c++-tests: New file, extracted from
1363         modules/stdio-tests.
1364         * modules/stdio-tests: Depend on it.
1365         * modules/stdlib-c++-tests: New file, extracted from
1366         modules/stdlib-tests.
1367         * modules/stdlib-tests: Depend on it.
1368         * modules/string-c++-tests: New file, extracted from
1369         modules/string-tests.
1370         * modules/string-tests: Depend on it.
1371         * modules/sys_ioctl-c++-tests: New file, extracted from
1372         modules/sys_ioctl-tests.
1373         * modules/sys_ioctl-tests: Depend on it.
1374         * modules/sys_select-c++-tests: New file, extracted from
1375         modules/sys_select-tests.
1376         * modules/sys_select-tests: Depend on it.
1377         * modules/sys_socket-c++-tests: New file, extracted from
1378         modules/sys_socket-tests.
1379         * modules/sys_socket-tests: Depend on it.
1380         * modules/sys_stat-c++-tests: New file, extracted from
1381         modules/sys_stat-tests.
1382         * modules/sys_stat-tests: Depend on it.
1383         * modules/sys_time-c++-tests: New file, extracted from
1384         modules/sys_time-tests.
1385         * modules/sys_time-tests: Depend on it.
1386         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1387         * modules/time-tests: Depend on it.
1388         * modules/unistd-c++-tests: New file, extracted from
1389         modules/unistd-tests.
1390         * modules/unistd-tests: Depend on it.
1391         * modules/wchar-c++-tests: New file, extracted from
1392         modules/wchar-tests.
1393         * modules/wchar-tests: Depend on it.
1394         * modules/wctype-c++-tests: New file, extracted from
1395         modules/wctype-tests.
1396         * modules/wctype-tests: Depend on it.
1397         Reported by Simon Josefsson.
1398
1399 2010-03-28  Bruno Haible  <bruno@clisp.org>
1400
1401         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1402         * gnulib-tool (func_exists_module): New function, extracted from
1403         func_verify_module.
1404         (func_verify_module): Use it.
1405         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1406         'foo' only if 'foo' exists.
1407         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1408         module.
1409
1410 2010-03-28  Bruno Haible  <bruno@clisp.org>
1411
1412         gnulib-tool: Add support for special categories of tests.
1413         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1414         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1415         (func_usage): Document them.
1416         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1417         inc_unportable_tests, inc_all_tests): New variables.
1418         (func_acceptable): Consider these variables.
1419         (func_modules_transitive_closure): Make it work when the 'Status' field
1420         consists of multiple words.
1421         (func_import): Store and restore the values of inc_cxx_tests,
1422         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
1423         inc_all_tests in gnulib-comp.m4.
1424         (func_create_testdir): Set inc_all_tests to true.
1425         * doc/gnulib.texi (Extra tests modules): New section.
1426         Suggested by Jim Meyering.
1427
1428 2010-03-28  Bruno Haible  <bruno@clisp.org>
1429
1430         ansi-c++-opt: Allow turning off the C++ build by default.
1431         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
1432         gl_CXX_CHOICE_DEFAULT_NO is defined.
1433         Requested by Eric Blake.
1434
1435 2010-03-28  Bruno Haible  <bruno@clisp.org>
1436
1437         unistd: Avoid #define replacements in C++ mode.
1438         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1439         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1440         setsockopt, shutdown, select): In C++, attach a warning to the function
1441         if possible, rather than #defining the symbol to a dysfunctional alias.
1442         Reported by John W. Eaton <jwe@gnu.org>.
1443
1444 2010-03-28  Bruno Haible  <bruno@clisp.org>
1445
1446         Fix link errors on mingw.
1447         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1448         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1449         $(LIBSOCKET).
1450         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1451         $(LIBSOCKET).
1452
1453 2010-03-28  Bruno Haible  <bruno@clisp.org>
1454             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1455
1456         lib-ignore: Determine different options for different compilers.
1457         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1458         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1459         Add comments.
1460         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1461         * NEWS: Mention the change.
1462
1463 2010-03-27  Bruno Haible  <bruno@clisp.org>
1464
1465         Remove unused GNULIB_XYZ macro definitions.
1466         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1467         * modules/fseek (configure.ac): Likewise.
1468         * modules/ioctl (configure.ac): Likewise.
1469         * modules/open (configure.ac): Likewise.
1470         * modules/stdlib-safer (configure.ac): Likewise.
1471
1472 2010-03-27  Bruno Haible  <bruno@clisp.org>
1473
1474         Add a remark about certain modules.
1475         * modules/malloc (Comment): New section.
1476         * modules/realloc (Comment): Likewise.
1477         * modules/sigpipe (Comment): Likewise.
1478
1479 2010-03-27  Bruno Haible  <bruno@clisp.org>
1480
1481         Resolve conflict between the two kinds of module indicators.
1482         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1483         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1484         * modules/canonicalize (configure.ac): Invoke
1485         gl_MODULE_INDICATOR_FOR_TESTS.
1486         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1487         GNULIB_XYZ.
1488         * tests/test-dirent-c++.cc: Likewise.
1489         * tests/test-dirent-safer.c: Likewise.
1490         * tests/test-dup2.c: Likewise.
1491         * tests/test-fchdir.c: Likewise.
1492         * tests/test-fcntl-h-c++.cc: Likewise.
1493         * tests/test-getopt.c: Likewise.
1494         * tests/test-getopt.h: Likewise.
1495         * tests/test-langinfo-c++.cc: Likewise.
1496         * tests/test-locale-c++.cc: Likewise.
1497         * tests/test-math-c++.cc: Likewise.
1498         * tests/test-pty-c++.cc: Likewise.
1499         * tests/test-search-c++.cc: Likewise.
1500         * tests/test-signal-c++.cc: Likewise.
1501         * tests/test-spawn-c++.cc: Likewise.
1502         * tests/test-stdio-c++.cc: Likewise.
1503         * tests/test-stdlib-c++.cc: Likewise.
1504         * tests/test-string-c++.cc: Likewise.
1505         * tests/test-sys_ioctl-c++.cc: Likewise.
1506         * tests/test-sys_select-c++.cc: Likewise.
1507         * tests/test-sys_socket-c++.cc: Likewise.
1508         * tests/test-sys_stat-c++.cc: Likewise.
1509         * tests/test-sys_time-c++.cc: Likewise.
1510         * tests/test-time-c++.cc: Likewise.
1511         * tests/test-unistd-c++.cc: Likewise.
1512         * tests/test-wchar-c++.cc: Likewise.
1513         * tests/uninorm/test-u8-nfc.c: Likewise.
1514         * tests/uninorm/test-u8-nfd.c: Likewise.
1515         * tests/uninorm/test-u8-nfkc.c: Likewise.
1516         * tests/uninorm/test-u8-nfkd.c: Likewise.
1517         * tests/uninorm/test-u16-nfc.c: Likewise.
1518         * tests/uninorm/test-u16-nfd.c: Likewise.
1519         * tests/uninorm/test-u16-nfkc.c: Likewise.
1520         * tests/uninorm/test-u16-nfkd.c: Likewise.
1521         * tests/uninorm/test-u32-nfc.c: Likewise.
1522         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1523         * tests/uninorm/test-u32-nfd.c: Likewise.
1524         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1525         * tests/uninorm/test-u32-nfkc.c: Likewise.
1526         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1527         * tests/uninorm/test-u32-nfkd.c: Likewise.
1528         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1529         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1530
1531 2010-03-27  Bruno Haible  <bruno@clisp.org>
1532
1533         Distinguish two kinds of module indicators.
1534         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1535         gl_MODULE_INDICATOR.
1536         (gl_MODULE_INDICATOR): New macro.
1537         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1538         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1539         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1540         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1541         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1542         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1543         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1544         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1545         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1546         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1547         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1548         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1549         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1550         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1551         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1552         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1553         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1554         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1555         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1556         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1557         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1558         * modules/cloexec (configure.ac): Likewise.
1559         * modules/getopt-gnu (configure.ac): Likewise.
1560         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1561         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1562         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1563         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1564
1565 2010-03-27  Bruno Haible  <bruno@clisp.org>
1566
1567         New module description field 'Comment'.
1568         * gnulib-tool: New option --extract-comment.
1569         (func_usage): Document it.
1570         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1571         (func_get_comment): New function.
1572         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1573
1574 2010-03-27  Bruno Haible  <bruno@clisp.org>
1575
1576         Addendum to 2010-02-07 commit.
1577         * gnulib-tool (func_usage): Document --extract-applicability option.
1578
1579 2010-03-27  Bruno Haible  <bruno@clisp.org>
1580
1581         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1582         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1583         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1584         rather than link errors.
1585
1586 2010-03-27  Bruno Haible  <bruno@clisp.org>
1587
1588         Avoid side effects from tests-related modules on the compilation of lib.
1589         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1590         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1591         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1592         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1593         macro.
1594         (func_import): Define a witness macro. Assign it a value that depends
1595         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1596         tests-related modules.
1597         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1598         Reported by Jim Meyering.
1599
1600 2010-03-27  Bruno Haible  <bruno@clisp.org>
1601
1602         Factorize common .m4 code.
1603         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1604         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1605         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1606         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1607         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1608         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1609         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1610         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1611         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1612         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1613         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1614         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1615         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1616         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1617         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1618         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1619         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1620         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1621         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1622         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1623         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1624         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1625         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1626         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1627         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1628         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1629         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1630         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1631         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1632         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1633         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1634         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1635
1636 2010-03-27  Bruno Haible  <bruno@clisp.org>
1637
1638         Fix a compilation error on Cygwin with g++ >= 4.3.
1639         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1640         if it is undefined or if we alias it to chmod.
1641         (lstat): Don't warn about the use of this function if it is undefined
1642         or if we alias it to stat.
1643         Reported by Simon Josefsson.
1644
1645 2010-03-27  Bruno Haible  <bruno@clisp.org>
1646
1647         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1648         * modules/getlogin (configure.ac): Update.
1649
1650         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1651         * modules/getlogin_r (configure.ac): Update.
1652
1653         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1654         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1655         * modules/inet_ntop (configure.ac): Update.
1656
1657         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1658         * modules/inet_pton (configure.ac): Update.
1659
1660         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1661         * modules/mbslen (configure.ac): Update.
1662
1663         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1664         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1665         * modules/forkpty (configure.ac): Update.
1666         * modules/openpty (configure.ac): Update.
1667
1668 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1669
1670         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1671         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1672
1673 2010-03-25  Eric Blake  <eblake@redhat.com>
1674
1675         maint: use pragma consistently across replacement headers
1676         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1677         * lib/dirent.in.h (system_header): Likewise.
1678         * lib/errno.in.h (system_header): Likewise.
1679         * lib/float.in.h (system_header): Likewise.
1680         * lib/getopt.in.h (system_header): Likewise.
1681         * lib/iconv.in.h (system_header): Likewise.
1682         * lib/inttypes.in.h (system_header): Likewise.
1683         * lib/langinfo.in.h (system_header): Likewise.
1684         * lib/locale.in.h (system_header): Likewise.
1685         * lib/math.in.h (system_header): Likewise.
1686         * lib/netdb.in.h (system_header): Likewise.
1687         * lib/netinet_in.in.h (system_header): Likewise.
1688         * lib/pty.in.h (system_header): Likewise.
1689         * lib/sched.in.h (system_header): Likewise.
1690         * lib/se-selinux.in.h (system_header): Likewise.
1691         * lib/search.in.h (system_header): Likewise.
1692         * lib/spawn.in.h (system_header): Likewise.
1693         * lib/stdarg.in.h (system_header): Likewise.
1694         * lib/stdint.in.h (system_header): Likewise.
1695         * lib/string.in.h (system_header): Likewise.
1696         * lib/strings.in.h (system_header): Likewise.
1697         * lib/sys_file.in.h (system_header): Likewise.
1698         * lib/sys_ioctl.in.h (system_header): Likewise.
1699         * lib/sys_socket.in.h (system_header): Likewise.
1700         * lib/sys_times.in.h (system_header): Likewise.
1701         * lib/sys_utsname.in.h (system_header): Likewise.
1702         * lib/sys_wait.in.h (system_header): Likewise.
1703         * lib/sysexits.in.h (system_header): Likewise.
1704         * lib/unistd.in.h (system_header): Likewise.
1705         * lib/wctype.in.h (system_header): Likewise.
1706
1707         arpa/inet: fix mingw compilation warning
1708         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1709         Reported by Matthew Bolte.
1710
1711 2010-03-25  Bruno Haible  <bruno@clisp.org>
1712
1713         Avoid collision between gnulib wrapper and libintl wrapper.
1714         * lib/printf.c (printf): Don't define if a printf wrapper is already
1715         defined in intl/printf.c.
1716         Reported by Michel Boaventura <michel@michelboaventura.com>.
1717
1718 2010-03-25  Bruno Haible  <bruno@clisp.org>
1719
1720         Use ANSI C.
1721         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1722
1723 2010-03-25  Bruno Haible  <bruno@clisp.org>
1724
1725         Minor formatting changes.
1726         * lib/acosl.c: Insert space before function argument list.
1727         * lib/argz.c: Likewise.
1728         * lib/asinl.c: Likewise.
1729         * lib/expl.c: Likewise.
1730         * lib/gen-uni-tables.c: Likewise.
1731         * lib/gettext.h: Likewise.
1732         * lib/glthread/lock.h: Likewise.
1733         * lib/tanl.c: Likewise.
1734         * lib/uniname/uniname.c: Likewise.
1735         * tests/test-idpriv-drop.c: Likewise.
1736         * tests/test-idpriv-droptemp.c: Likewise.
1737         * tests/test-lock.c: Likewise.
1738         * tests/test-tls.c: Likewise.
1739         * lib/argp-help.c: Insert space before function-like macro argument
1740         list.
1741         * lib/memcmp.c: Likewise.
1742         * tests/test-base64.c: Likewise.
1743         * lib/localename.c: Insert space before sizeof's argument list.
1744         * lib/safe-alloc.h: Likewise.
1745         * lib/file-set.h: Insert space before macro argument list.
1746         * tests/test-argp.c: Likewise.
1747         * lib/argp-namefrob.h: Insert space before function parameter list.
1748         * lib/getaddrinfo.c: Likewise.
1749         * lib/netdb.in.h: Likewise.
1750         * lib/parse-duration.h: Likewise.
1751         * lib/parse-duration.c: Likewise.
1752         * lib/poll.c: Likewise.
1753         * lib/select.c: Likewise.
1754         * lib/trim.h: Likewise.
1755         * tests/test-usleep.c: Likewise.
1756         * lib/ldexpl.c: Insert space before function parameter list and before
1757         function argument list.
1758         * lib/logl.c: Likewise.
1759         * lib/sqrtl.c: Likewise.
1760         * lib/trim.c: Likewise.
1761         * lib/cosl.c: Use GNU style indentation. Insert space before function
1762         argument list.
1763         * lib/sinl.c: Likewise.
1764         * lib/tsearch.c: Insert space after 'for'.
1765         Reported by Jim Meyering.
1766
1767 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1768
1769         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1770         config header before grepping, as it's not present before
1771         autoreconf/configure are run.  Reported by Simon Josefsson.
1772
1773 2010-03-23  Bruno Haible  <bruno@clisp.org>
1774
1775         pt_chown: Make it work with automake < 1.11.
1776         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1777         Reported by Simon Josefsson.
1778
1779 2010-03-23  Bruno Haible  <bruno@clisp.org>
1780
1781         pt_chown: Don't depend on GPLed modules.
1782         * lib/pt_chown.c: Don't include idpriv.h.
1783         (main): Don't drop privileges.
1784         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1785         Reported by Simon Josefsson.
1786
1787 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1788
1789         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1790         suggestions from karl@freefriends.org (Karl Berry).
1791
1792 2010-03-22  Eric Blake  <eblake@redhat.com>
1793
1794         gethostname: further tweaks
1795         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1796         are overriding gethostname.
1797         Suggested by Bruno Haible.
1798
1799 2010-03-21  Bruno Haible  <bruno@clisp.org>
1800
1801         Fix comments.
1802         * lib/forkpty.c (rpl_forkpty): Fix comment.
1803         * lib/openpty.c (rpl_openpty): Likewise.
1804         Reported by Eric Blake.
1805
1806 2010-03-22  Eric Blake  <eblake@redhat.com>
1807
1808         gethostname: fix build on mingw
1809         * lib/unistd.in.h (includes): Work around fact that mingw
1810         <winsock2.h> re-includes <unistd.h>, by avoiding any
1811         redeclarations if we are being included by <winsock2.h>.
1812         Reported by Matthias Bolte.
1813
1814 2010-03-21  Bruno Haible  <bruno@clisp.org>
1815
1816         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1817         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1818         modifications.
1819         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1820         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1821         provide the replacement.
1822         * modules/forkpty (Depends-on): Add openpty, login_tty.
1823         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1824         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1825         * doc/glibc-functions/forkpty.texi: More supported platforms.
1826         * config/srclist.txt: Add forkpty.c (commented).
1827
1828 2010-03-21  Bruno Haible  <bruno@clisp.org>
1829
1830         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1831         (Makefile.am): Verify that PTY_LIB is defined.
1832
1833         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1834
1835 2010-03-21  Bruno Haible  <bruno@clisp.org>
1836
1837         Tests for module 'login_tty'.
1838         * modules/login_tty-tests: New file.
1839         * tests/test-login_tty.c: New file.
1840
1841         New module 'login_tty'.
1842         * lib/login_tty.c: New file.
1843         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1844         * modules/login_tty: New file.
1845         * doc/glibc-functions/login_tty.texi: Mention the new module.
1846
1847 2010-03-21  Bruno Haible  <bruno@clisp.org>
1848
1849         login_tty: Documentation.
1850         * doc/glibc-functions/login_tty.texi: New file.
1851         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1852
1853 2010-03-21  Bruno Haible  <bruno@clisp.org>
1854
1855         pty: Consistent macro naming.
1856         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1857         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1858         * modules/pty (configure.ac): Update.
1859
1860 2010-03-21  Bruno Haible  <bruno@clisp.org>
1861
1862         Tests for openpty: Make stricter.
1863         * tests/test-openpty.c (main): Add test of canonical processing and
1864         erase.
1865         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1866
1867         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1868         * lib/openpty.c (openpty): New replacement function.
1869         * lib/pty.in.h: Include <termios.h>.
1870         (openpty): Update declaration. Add comments.
1871         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1872         is not declared, arrange to provide the replacement. Check for _getpty
1873         and posix_openpt.
1874         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1875         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1876         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1877         * modules/pty-tests (test_pty_c___LDADD): New variable.
1878         * doc/glibc-functions/openpty.texi: More supported platforms.
1879
1880 2010-03-21  Bruno Haible  <bruno@clisp.org>
1881
1882         setenv: Tweaks.
1883         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1884         the test program.
1885         * doc/posix-functions/setenv.texi: Update platforms list.
1886
1887 2010-03-21  Bruno Haible  <bruno@clisp.org>
1888
1889         New module 'unlockpt'.
1890         * lib/unlockpt.c: New file, from glibc with modifications.
1891         * m4/unlockpt.m4: New file.
1892         * modules/unlockpt: New file.
1893         * lib/stdlib.in.h (unlockpt): New declaration.
1894         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1895         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1896         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1897         HAVE_UNLOCKPT.
1898         * doc/posix-functions/unlockpt.texi: Mention the new module.
1899         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
1900         * config/srclist.txt: Add unlockpt.c (commented).
1901
1902 2010-03-21  Jim Meyering  <meyering@redhat.com>
1903
1904         maint.mk: prohibit inclusion of "intprops.h" without use
1905         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
1906
1907 2010-03-21  Bruno Haible  <bruno@clisp.org>
1908
1909         New module 'grantpt'.
1910         * lib/grantpt.c: New file, from glibc with modifications.
1911         * m4/grantpt.m4: New file.
1912         * modules/grantpt: New file.
1913         * lib/stdlib.in.h (grantpt): New declaration.
1914         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
1915         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
1916         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
1917         HAVE_GRANTPT.
1918         * doc/posix-functions/grantpt.texi: Mention the new module.
1919         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
1920         * config/srclist.txt: Add grantpt.c (commented).
1921
1922 2010-03-21  Bruno Haible  <bruno@clisp.org>
1923
1924         New module 'pt_chown'.
1925         * lib/pt_chown.c: New file, from glibc with modifications.
1926         * lib/pty-private.h: New file, from glibc with modifications.
1927         * modules/pt_chown: New file.
1928         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
1929
1930 2010-03-21  Bruno Haible  <bruno@clisp.org>
1931
1932         Tests for module 'ptsname'.
1933         * modules/ptsname-tests: New file.
1934         * tests/test-ptsname.c: New file.
1935
1936         New module 'ptsname'.
1937         * lib/ptsname.c: New file, from glibc with modifications.
1938         * m4/ptsname.m4: New file.
1939         * modules/ptsname: New file.
1940         * lib/stdlib.in.h (ptsname): New declaration.
1941         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
1942         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
1943         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
1944         HAVE_PTSNAME.
1945         * doc/posix-functions/ptsname.texi: Mention the new module.
1946         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
1947         * config/srclist.txt: Add ptsname.c (commented).
1948
1949 2010-03-21  Bruno Haible  <bruno@clisp.org>
1950
1951         Tests for module 'ttyname_r'.
1952         * modules/ttyname_r-tests: New file.
1953         * tests/test-ttyname_r.c: New file.
1954
1955         New module 'ttyname_r'.
1956         * lib/ttyname_r.c: New file.
1957         * m4/ttyname_r.m4: New file.
1958         * modules/ttyname_r: New file.
1959         * lib/unistd.in.h (ttyname_r): New declaration.
1960         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
1961         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
1962         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
1963         HAVE_TTYNAME_R.
1964         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
1965         * doc/posix-functions/ttyname_r.texi: Mention the new module.
1966
1967 2010-03-20  Bruno Haible  <bruno@clisp.org>
1968
1969         signal: Undefine macro definitions in C++ mode.
1970         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
1971         sigfillset): Undefine macro definitions from the system header in C++
1972         mode.
1973         Reported by John W. Eaton <jwe@gnu.org>.
1974
1975 2010-03-20  Bruno Haible  <bruno@clisp.org>
1976
1977         Ensure no #include statements inside extern "C" { ... }.
1978         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
1979         contain #include statements.
1980         * lib/time.in.h: Likewise.
1981
1982 2010-03-20  Bruno Haible  <bruno@clisp.org>
1983
1984         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
1985         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
1986         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
1987         Reported by John W. Eaton <jwe@gnu.org>.
1988
1989 2010-03-20  Bruno Haible  <bruno@clisp.org>
1990
1991         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
1992         Reported by Jim Meyering.
1993
1994 2010-03-20  Bruno Haible  <bruno@clisp.org>
1995
1996         pipe: Set errno upon failure.
1997         * lib/pipe.h: Specify that when -1 is returned, errno is set.
1998         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
1999         errno value in error message.
2000
2001 2010-03-20  Bruno Haible  <bruno@clisp.org>
2002             Jim Meyering  <meyering@redhat.com>
2003
2004         lchown: Avoid "unused variable" warning.
2005         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
2006
2007 2010-03-20  Bruno Haible  <bruno@clisp.org>
2008
2009         Work around unlink() bug on MacOS X 10.5.6.
2010         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
2011         attempting to unlink a parent directory.
2012         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
2013         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
2014         activate for the replacement function.
2015         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
2016
2017 2010-03-20  Bruno Haible  <bruno@clisp.org>
2018
2019         Fix link errors on Solaris 8.
2020         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
2021         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
2022
2023 2010-03-19  Jim Meyering  <meyering@redhat.com>
2024
2025         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
2026         The _LIBC implementation of build_range_exp correctly honors the
2027         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
2028         However, the non-_LIBC implementation would ignore that syntax-bit
2029         flag and return REG_ERANGE unconditionally.
2030         This change makes it honor that flag.
2031         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
2032         Make two pointer parameters "const".
2033         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
2034         (parse_bracket_exp): Update caller.
2035
2036         regex.m4: correct the reversed range endpoint ([b-a]) test
2037         * m4/regex.m4: When requiring that [b-a] evoke failure,
2038         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
2039         test pass once again for x86-based systems.
2040
2041 2010-03-19  Bruno Haible  <bruno@clisp.org>
2042
2043         scandir: Fix link error on Solaris 8.
2044         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
2045         macros.
2046
2047 2010-03-19  Bruno Haible  <bruno@clisp.org>
2048
2049         getusershell: Fix documentation.
2050         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
2051         module.
2052         * doc/glibc-functions/setusershell.texi: Likewise.
2053
2054         getusershell: Provide declaration, missing on Solaris 9.
2055         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
2056         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
2057         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
2058         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
2059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2060         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
2061         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
2062         HAVE_GETUSERSHELL.
2063         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
2064
2065 2010-03-19  Bruno Haible  <bruno@clisp.org>
2066
2067         wctype: Provide iswblank function.
2068         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
2069         exists and is fine.
2070         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
2071         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
2072         * tests/test-wctype.c (main): Re-enable the iswblank tests.
2073         * doc/posix-functions/iswblank.texi: Update.
2074
2075 2010-03-19  Bruno Haible  <bruno@clisp.org>
2076
2077         Tests of module 'pty' in C++ mode.
2078         * modules/pty-tests: New file.
2079         * tests/test-pty-c++.cc: New file.
2080         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2081
2082 2010-03-19  Eric Blake  <eblake@redhat.com>
2083
2084         logb: fix documentation
2085         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
2086         1.5 declaration bug.
2087
2088         forkpty, openpty: prefer glibc's const-safe prototype
2089         * lib/forkpty.c (rpl_forkpty): New file.
2090         * lib/openpty.c (rpl_openpty): Likewise.
2091         * modules/forkpty (Files): Distribute it.
2092         * modules/openpty (Files): Likewise.
2093         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
2094         check...
2095         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
2096         replacement for for non-const BSD signature.
2097         * modules/pty (Makefile.am): Substitute witnesses.
2098         * lib/pty.in.h (forkpty, openpty): Declare replacements.
2099         * tests/test-forkpty.c: Update signature check.
2100         * tests/test-openpty.c: Likewise.
2101         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
2102         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2103
2104         forkpty, openpty: split functions into new modules
2105         * modules/pty (Makefile.am): Substitute new witnesses.
2106         (Libraries): Move library detection...
2107         * modules/forkpty: ...into new module.
2108         * modules/openpty: Another new module.
2109         * modules/pty-tests: Rename and split...
2110         * modules/forkpty-tests: ...to this...
2111         * modules/openpty-tests: ...and this.
2112         * tests/test-pty.c: Rename and split...
2113         * tests/test-forkpty.c: ...to this...
2114         * tests/test-openpty.c: ...and this.
2115         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
2116         (gl_PTY): Split library searching...
2117         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
2118         (gl_FORKPTY, gl_OPENPTY): New macros.
2119         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
2120         * NEWS: Mention the split.
2121         * MODULES.html.sh (Misc): Document the modules.
2122         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
2123         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2124
2125         pty: improve replacement header
2126         * lib/pty.in.h: New file.
2127         * modules/pty (Files): Ship it.
2128         (Makefile.am): Always build replacement.
2129         * m4/pty.m4: Rename...
2130         * m4/pty_h.m4: ...to this.
2131         (gl_PTY): Modernize setting of witness macros; update check of
2132         forkpty to take proper advantage of cache.
2133         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
2134
2135         getopt: avoid compiler warning
2136         * lib/getopt.c (attribute_hidden): Remove unused macro.
2137
2138 2010-03-18  Bruno Haible  <bruno@clisp.org>
2139
2140         Fix link errors on Solaris 8.
2141         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
2142         * modules/search-tests (test_search_c___LDADD): Likewise.
2143         * modules/signal-tests (test_signal_c___LDADD): Likewise.
2144         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
2145         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
2146         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
2147         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
2148         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
2149         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
2150
2151 2010-03-18  Bruno Haible  <bruno@clisp.org>
2152
2153         Fix bug introduced on 2010-03-14.
2154         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
2155         (gl_SPAWN_H): Require it.
2156         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
2157         Reported by Simon Josefsson.
2158
2159 2010-03-18  Bruno Haible  <bruno@clisp.org>
2160
2161         Fix typo introduced on 2009-12-31.
2162         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
2163         posix_spawn_file_actions_adddup2.
2164
2165 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
2166         and Eric Blake  <eblake@redhat.com>
2167
2168         test-vc-list-files-git: make more robust
2169         * tests/test-vc-list-files-git.sh: Unset problematic environment
2170         variables.  Chain commands together.
2171
2172 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
2173
2174         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
2175         `AC_CHECK_DECL' invocation.
2176
2177 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
2178
2179         * lib/inttostr.c (inttostr): Make sure the invocation of verify
2180         appears before executable statements. Suggested by Petr Sumbera
2181         <Petr.Sumbera@Sun.COM>.
2182
2183 2010-03-14  Bruno Haible  <bruno@clisp.org>
2184
2185         * tests/test-flock.c (test_exclusive): Comment out a test that causes
2186         portability problems. Instead use a simpler test.
2187         (main): Check that invalid arguments are rejected only on Linux.
2188
2189 2010-03-14  Bruno Haible  <bruno@clisp.org>
2190
2191         Fix bug introduced on 2009-12-31.
2192         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2193         gl_PREREQ_SYS_H_WINSOCK2 always.
2194         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
2195         SYS_SOCKET_H variable.
2196         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
2197         Update comments.
2198         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
2199         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2200         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2201         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2202         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2203
2204 2010-03-14  Bruno Haible  <bruno@clisp.org>
2205
2206         Fix values returned by sinl, cosl.
2207         * lib/trigl.h: Add specification comments.
2208         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2209         that combines the values from the precomputed table with the values of
2210         the Chebyshev polynomials.
2211
2212 2010-03-14  Bruno Haible  <bruno@clisp.org>
2213
2214         Fix compilation error when modules 'posix_spawn[p]' are not used.
2215         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2216         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2217
2218 2010-03-14  Bruno Haible  <bruno@clisp.org>
2219
2220         Fix compilation error on mingw when module 'time_r' is not used.
2221         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2222         is 1.
2223         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2224         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2225         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2226         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2227
2228 2010-03-14  Bruno Haible  <bruno@clisp.org>
2229
2230         Fix compilation error with Sun C.
2231         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2232         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2233         instead of GCC specific ULONG_LONG_MAX.
2234         * lib/xstrtoll.c: Likewise.
2235         * lib/xstrtoull.c: Likewise.
2236
2237 2010-03-13  Bruno Haible  <bruno@clisp.org>
2238
2239         Allow the user to disable C++ code and tests.
2240         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2241         (gl_PROG_ANSI_CXX): Require it.
2242
2243 2010-03-13  Bruno Haible  <bruno@clisp.org>
2244
2245         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2246         cases.
2247
2248 2010-03-13  Bruno Haible  <bruno@clisp.org>
2249
2250         Test that gnulib does not break the standard C++ headers.
2251         * tests/test-locale-c++2.cc: New file.
2252         * modules/locale-tests (Files): Add it.
2253         (Makefile.am): Compile it for test-locale-c++.
2254         * tests/test-math-c++2.cc: New file.
2255         * modules/math-tests (Files): Add it.
2256         (Makefile.am): Compile it for test-math-c++.
2257         * tests/test-signal-c++2.cc: New file.
2258         * modules/signal-tests (Files): Add it.
2259         (Makefile.am): Compile it for test-signal-c++.
2260         * tests/test-stdio-c++2.cc: New file.
2261         * modules/stdio-tests (Files): Add it.
2262         (Makefile.am): Compile it for test-stdio-c++.
2263         * tests/test-stdlib-c++2.cc: New file.
2264         * modules/stdlib-tests (Files): Add it.
2265         (Makefile.am): Compile it for test-stdlib-c++.
2266         * tests/test-string-c++2.cc: New file.
2267         * modules/string-tests (Files): Add it.
2268         (Makefile.am): Compile it for test-string-c++.
2269         * tests/test-time-c++2.cc: New file.
2270         * modules/time-tests (Files): Add it.
2271         (Makefile.am): Compile it for test-time-c++.
2272         Reported by John W. Eaton <jwe@gnu.org>.
2273
2274 2010-03-13  Bruno Haible  <bruno@clisp.org>
2275
2276         * gnulib-tool (func_usage): Clarify which options are available for
2277         --create-testdir and --create-megatestdir.
2278
2279 2010-03-13  Bruno Haible  <bruno@clisp.org>
2280
2281         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2282         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2283         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2284         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2285         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2286         when appropriate.
2287         Reported by Jim Meyering.
2288
2289 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2290
2291         * gnulib-tool (func_import): Explain origin of code.
2292
2293 2010-03-12  Bruno Haible  <bruno@clisp.org>
2294
2295         Fix problem with automake's definition of CXXLINK.
2296         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2297         Reported by Simon Josefsson and Ludovic Courtès.
2298
2299 2010-03-12  Bruno Haible  <bruno@clisp.org>
2300
2301         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2302         stable releases.
2303
2304 2010-03-11  Bruno Haible  <bruno@clisp.org>
2305
2306         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2307         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2308         whether the system provides one variant or multiple variants of the
2309         function.
2310         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2311         C++ compilers.
2312         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2313         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2314         Reported by Jim Meyering.
2315
2316 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2317
2318         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2319
2320 2010-03-08  Bruno Haible  <bruno@clisp.org>
2321
2322         gnulib-tool: Add support for --libtool in --create-testdir.
2323         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2324         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2325
2326 2010-03-08  Eric Blake  <eblake@redhat.com>
2327
2328         gnulib-tool.texi: mention possibility of git submodule
2329         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2330         submodules.
2331         * doc/.gitignore: Ignore another generated file.
2332
2333 2010-03-08  Karl Berry  <karl@gnu.org>
2334
2335         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2336         of committing gnulib files while skipping others.
2337
2338 2010-03-07  Bruno Haible  <bruno@clisp.org>
2339
2340         Tests of module 'wctype' in C++ mode.
2341         * tests/test-wctype-c++.cc: New file.
2342         * modules/wctype-tests (Files): Add it and tests/signature.h.
2343         (Depends-on): Add ansi-c++-opt.
2344         (Makefile.am): Arrange to compile and run test-wctype-c++.
2345
2346         Tests of module 'wchar' in C++ mode.
2347         * tests/test-wchar-c++.cc: New file.
2348         * modules/wchar-tests (Files): Add it and tests/signature.h.
2349         (Depends-on): Add ansi-c++-opt.
2350         (Makefile.am): Arrange to compile and run test-wchar-c++.
2351         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2352         gl_MODULE_INDICATOR.
2353
2354         Tests of module 'unistd' in C++ mode.
2355         * tests/test-unistd-c++.cc: New file.
2356         * modules/unistd-tests (Files): Add it and tests/signature.h.
2357         (Depends-on): Add ansi-c++-opt.
2358         (Makefile.am): Arrange to compile and run test-unistd-c++.
2359         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2360         gl_MODULE_INDICATOR.
2361
2362         Tests of module 'time' in C++ mode.
2363         * tests/test-time-c++.cc: New file.
2364         * modules/time-tests (Files): Add it and tests/signature.h.
2365         (Depends-on): Add ansi-c++-opt.
2366         (Makefile.am): Arrange to compile and run test-time-c++.
2367         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2368
2369         Tests of module 'sys_time' in C++ mode.
2370         * tests/test-sys_time-c++.cc: New file.
2371         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2372         (Depends-on): Add ansi-c++-opt.
2373         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2374         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2375         gl_MODULE_INDICATOR.
2376
2377         Tests of module 'sys_stat' in C++ mode.
2378         * tests/test-sys_stat-c++.cc: New file.
2379         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2380         (Depends-on): Add ansi-c++-opt.
2381         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2382         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2383         gl_MODULE_INDICATOR.
2384
2385         Tests of module 'sys_socket' in C++ mode.
2386         * tests/test-sys_socket-c++.cc: New file.
2387         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2388         (Depends-on): Add ansi-c++-opt.
2389         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2390         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2391         gl_MODULE_INDICATOR.
2392
2393         Tests of module 'sys_select' in C++ mode.
2394         * tests/test-sys_select-c++.cc: New file.
2395         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2396         (Depends-on): Add ansi-c++-opt.
2397         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2398         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2399         gl_MODULE_INDICATOR.
2400
2401         Tests of module 'sys_ioctl' in C++ mode.
2402         * tests/test-sys_ioctl-c++.cc: New file.
2403         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2404         (Depends-on): Add ansi-c++-opt.
2405         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2406         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2407         gl_MODULE_INDICATOR.
2408
2409         Tests of module 'string' in C++ mode.
2410         * tests/test-string-c++.cc: New file.
2411         * modules/string-tests (Files): Add it and tests/signature.h.
2412         (Depends-on): Add ansi-c++-opt.
2413         (Makefile.am): Arrange to compile and run test-string-c++.
2414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2415         gl_MODULE_INDICATOR.
2416
2417         Tests of module 'stdlib' in C++ mode.
2418         * tests/test-stdlib-c++.cc: New file.
2419         * modules/stdlib-tests (Files): Add it and tests/signature.h.
2420         (Depends-on): Add ansi-c++-opt.
2421         (Makefile.am): Arrange to compile and run test-stdlib-c++.
2422         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
2423         gl_MODULE_INDICATOR.
2424
2425         Tests of module 'stdio' in C++ mode.
2426         * tests/test-stdio-c++.cc: New file.
2427         * modules/stdio-tests (Files): Add it and tests/signature.h.
2428         (Depends-on): Add ansi-c++-opt.
2429         (Makefile.am): Arrange to compile and run test-stdio-c++.
2430         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
2431         gl_MODULE_INDICATOR.
2432
2433         Tests of module 'spawn' in C++ mode.
2434         * tests/test-spawn-c++.cc: New file.
2435         * modules/spawn-tests (Files): Add it and tests/signature.h.
2436         (Depends-on): Add ansi-c++-opt.
2437         (Makefile.am): Arrange to compile and run test-spawn-c++.
2438         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
2439         gl_MODULE_INDICATOR.
2440
2441         Tests of module 'signal' in C++ mode.
2442         * tests/test-signal-c++.cc: New file.
2443         * modules/signal-tests (Files): Add it and tests/signature.h.
2444         (Depends-on): Add ansi-c++-opt.
2445         (Makefile.am): Arrange to compile and run test-signal-c++.
2446         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
2447         gl_MODULE_INDICATOR.
2448
2449         Tests of module 'search' in C++ mode.
2450         * tests/test-search-c++.cc: New file.
2451         * modules/search-tests (Files): Add it and tests/signature.h.
2452         (Depends-on): Add ansi-c++-opt.
2453         (Makefile.am): Arrange to compile and run test-search-c++.
2454         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2455         gl_MODULE_INDICATOR.
2456
2457         Tests of module 'math' in C++ mode.
2458         * tests/test-math-c++.cc: New file.
2459         * modules/math-tests (Files): Add it and tests/signature.h.
2460         (Depends-on): Add ansi-c++-opt.
2461         (Makefile.am): Arrange to compile and run test-math-c++.
2462         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2463
2464         Tests of module 'locale' in C++ mode.
2465         * tests/test-locale-c++.cc: New file.
2466         * modules/locale-tests (Files): Add it and tests/signature.h.
2467         (Depends-on): Add ansi-c++-opt.
2468         (Makefile.am): Arrange to compile and run test-locale-c++.
2469         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2470         gl_MODULE_INDICATOR.
2471
2472         Tests of module 'langinfo' in C++ mode.
2473         * tests/test-langinfo-c++.cc: New file.
2474         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2475         (Depends-on): Add ansi-c++-opt.
2476         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2477         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2478         gl_MODULE_INDICATOR.
2479
2480         Tests of module 'iconv-h' in C++ mode.
2481         * tests/test-iconv-h-c++.cc: New file.
2482         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2483         (Depends-on): Add ansi-c++-opt.
2484         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2485
2486         Tests of module 'glob' in C++ mode.
2487         * tests/test-glob-c++.cc: New file.
2488         * modules/glob-tests (Files): Add it.
2489         (Depends-on): Add ansi-c++-opt.
2490         (Makefile.am): Arrange to compile and run test-glob-c++.
2491
2492         Tests of module 'fcntl-h' in C++ mode.
2493         * tests/test-fcntl-h-c++.cc: New file.
2494         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2495         (Depends-on): Add ansi-c++-opt.
2496         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2497         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2498         gl_MODULE_INDICATOR.
2499
2500         Tests of module 'dirent' in C++ mode.
2501         * tests/test-dirent-c++.cc: New file.
2502         * modules/dirent-tests (Files): Add it and tests/signature.h.
2503         (Depends-on): Add ansi-c++-opt.
2504         (Makefile.am): Arrange to compile and run test-dirent-c++.
2505         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2506         gl_MODULE_INDICATOR.
2507
2508         New module 'ansi-c++-opt'.
2509         * modules/ansi-c++-opt: New file.
2510         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2511
2512         Document C++ namespace mode.
2513         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2514
2515         wctype: Avoid #define replacements in C++ mode.
2516         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2517         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2518         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2519         In C++, define a namespaced alias symbol.
2520         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2521         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2522         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2523         rule.
2524
2525         wchar: Avoid #define replacements in C++ mode.
2526         * lib/wchar.in.h: Include c++defs.h.
2527         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2528         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2529         symbol.
2530         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2531         * modules/wchar (Depends-on): Add c++defs.
2532         (Makefile.am): Update wchar.h rule.
2533
2534         unistd: Avoid #define replacements in C++ mode.
2535         * lib/unistd.in.h: Include c++defs.h.
2536         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2537         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2538         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2539         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2540         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2541         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2542         symbol.
2543         (environ): Update.
2544         * modules/unistd (Depends-on): Add c++defs.
2545         (Makefile.am): Update unistd.h rule.
2546
2547         time: Avoid #define replacements in C++ mode.
2548         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2549         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2550         define a namespaced alias symbol.
2551         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2552         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2553         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2554         * modules/time (Depends-on): Add c++defs, warn-on-use.
2555         (Makefile.am): Update time.h rule.
2556         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2557         * modules/nanosleep (configure.ac): Likewise.
2558         * modules/strptime (configure.ac): Likewise.
2559         * modules/timegm (configure.ac): Likewise.
2560
2561         sys_time: Avoid #define replacements in C++ mode.
2562         * lib/sys_time.in.h: Include c++defs.h.
2563         (gettimeofday): In C++, define a namespaced alias symbol.
2564         * modules/sys_time (Depends-on): Add c++defs.
2565         (Makefile.am): Update sys/time.h rule.
2566
2567         sys_stat: Avoid #define replacements in C++ mode.
2568         * lib/sys_stat.in.h: Include c++defs.h.
2569         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2570         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2571         namespaced alias symbol.
2572         In C++, define a namespaced alias symbol.
2573         * modules/sys_stat (Depends-on): Add c++defs.
2574         (Makefile.am): Update sys/stat.h rule.
2575
2576         sys_socket: Avoid #define replacements in C++ mode.
2577         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2578         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2579         definitions also when the system has a <sys/socket.h>.
2580         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2581         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2582         In C++, define a namespaced alias symbol.
2583         * modules/sys_socket (Depends-on): Add c++defs.
2584         (Makefile.am): Update sys/socket.h rule.
2585
2586         sys_select: Avoid #define replacements in C++ mode.
2587         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2588         definitions also when the system has a <sys/select.h>.
2589         (select): In C++, define a namespaced alias symbol.
2590         * modules/sys_select (Depends-on): Add c++defs.
2591         (Makefile.am): Update sys/select.h rule.
2592
2593         sys_ioctl: Avoid #define replacements in C++ mode.
2594         * lib/sys_ioctl.in.h: Include c++defs.h.
2595         (ioctl): In C++, define a namespaced alias symbol.
2596         * modules/sys_ioctl (Depends-on): Add c++defs.
2597         (Makefile.am): Update sys/ioctl.h rule.
2598
2599         string: Avoid #define replacements in C++ mode.
2600         * lib/string.in.h: Include c++defs.h.
2601         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2602         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2603         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2604         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2605         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2606         * modules/string (Depends-on): Add c++defs.
2607         (Makefile.am): Update string.h rule.
2608
2609         stdlib: Avoid #define replacements in C++ mode.
2610         * lib/stdlib.in.h: Include c++defs.h.
2611         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2612         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2613         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2614         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2615         symbol.
2616         * modules/stdlib (Depends-on): Add c++defs.
2617         (Makefile.am): Update stdlib.h rule.
2618
2619         stdio: Avoid #define replacements in C++ mode.
2620         * lib/stdio.in.h: Include c++defs.h.
2621         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2622         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2623         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2624         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2625         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2626         namespaced alias symbol.
2627         * modules/stdio (Depends-on): Add c++defs.
2628         (Makefile.am): Update stdio.h rule.
2629
2630         spawn: Avoid #define replacements in C++ mode.
2631         * lib/spawn.in.h: Include c++defs.h.
2632         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2633         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2634         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2635         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2636         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2637         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2638         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2639         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2640         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2641         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2642         In C++, define a namespaced alias symbol.
2643         * modules/spawn (Depends-on): Add c++defs.
2644         (Makefile.am): Update spawn.h rule.
2645
2646         signal: Avoid #define replacements in C++ mode.
2647         * lib/signal.in.h: Include c++defs.h.
2648         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2649         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2650         namespaced alias symbol.
2651         * modules/signal (Depends-on): Add c++defs.
2652         (Makefile.am): Update signal.h rule.
2653
2654         search: Avoid #define replacements in C++ mode.
2655         * lib/search.in.h: Include c++defs.h.
2656         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2657         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2658         symbol.
2659         * modules/search (Depends-on): Add c++defs.
2660         (Makefile.am): Update search.h rule.
2661
2662         math: Avoid #define replacements in C++ mode.
2663         * lib/math.in.h: Include c++defs.h.
2664         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2665         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2666         trunc, truncl): In C++, define a namespaced alias symbol.
2667         * modules/math (Depends-on): Add c++defs.
2668         (Makefile.am): Update math.h rule.
2669
2670         locale: Avoid #define replacements in C++ mode.
2671         * lib/locale.in.h: Include c++defs.h.
2672         (duplocale): In C++, define a namespaced alias symbol.
2673         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2674         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2675         * modules/locale (Depends-on): Add c++defs.
2676         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2677
2678         langinfo: Avoid #define replacements in C++ mode.
2679         * lib/langinfo.in.h: Include c++defs.h.
2680         (nl_langinfo): In C++, define a namespaced alias symbol.
2681         * modules/langinfo (Depends-on): Add c++defs.
2682         (Makefile.am): Update langinfo.h rule.
2683
2684         iconv-h: Avoid #define replacements in C++ mode.
2685         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2686         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2687         symbol.
2688         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2689         whenever iconv is present.
2690         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2691         (Makefile.am): Update iconv.h rule.
2692
2693         glob: Avoid #define replacements in C++ mode.
2694         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2695         (_gl_glob_errfunc_fn): New type.
2696         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2697         symbol.
2698         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2699         (Makefile.am): Update glob.h rule.
2700
2701         fcntl-h: Avoid #define replacements in C++ mode.
2702         * lib/fcntl.in.h: Include c++defs.h.
2703         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2704         * modules/fcntl-h (Depends-on): Add c++defs.
2705         (Makefile.am): Update fcntl.h rule.
2706
2707         dirent: Avoid #define replacements in C++ mode.
2708         * lib/dirent.in.h: Include c++defs.h.
2709         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2710         namespaced alias symbol.
2711         (dirfd): Update declaration.
2712         * modules/dirent (Depends-on): Add c++defs.
2713         (Makefile.am): Update dirent.h rule.
2714
2715         ctype: Make it usable in C++ code.
2716         * lib/ctype.in.h: Include c++defs.h.
2717         (isblank): Declare as extern "C".
2718         * modules/ctype (Depends-on): Add c++defs.
2719         (Makefile.am): Update ctype.h rule.
2720
2721         New module 'c++defs'.
2722         * modules/c++defs: New file.
2723         * build-aux/c++defs.h: New file.
2724         Reported by John W. Eaton <jwe@gnu.org>.
2725
2726 2010-03-07  Bruno Haible  <bruno@clisp.org>
2727
2728         logb: Provide missing declaration for Cygwin.
2729         * lib/math.in.h (logb): New declaration.
2730         * m4/logb.m4: New file.
2731         * modules/logb (Files): Add m4/logb.m4.
2732         (Depends-on): Add math.
2733         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2734         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2736         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2737         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2738
2739 2010-03-07  Bruno Haible  <bruno@clisp.org>
2740
2741         Fix test-cond link error.
2742         * tests/test-cond.c: Include <stdio.h>.
2743
2744 2010-03-07  Bruno Haible  <bruno@clisp.org>
2745
2746         Fix test-dirent-safer link error.
2747         * modules/dirent-safer-tests (Makefile.am): Define
2748         test_dirent_safer_LDADD.
2749
2750 2010-03-07  Bruno Haible  <bruno@clisp.org>
2751
2752         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2753         among default module list.
2754
2755 2010-03-07  Bruno Haible  <bruno@clisp.org>
2756
2757         Fix link error on platforms with GNU libiconv.
2758         * modules/unistr/u8-strcoll-tests (Makefile): Define
2759         test_u8_strcoll_LDADD.
2760         * modules/unistr/u16-strcoll-tests (Makefile): Define
2761         test_u16_strcoll_LDADD.
2762         * modules/unistr/u32-strcoll-tests (Makefile): Define
2763         test_u32_strcoll_LDADD.
2764
2765 2010-03-07  Bruno Haible  <bruno@clisp.org>
2766
2767         Use POSIX declarations for socket functions.
2768         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2769         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2770         rpl_sendto): Change declaration to match POSIX.
2771         * lib/connect.c (rpl_connect): Likewise.
2772         * lib/accept.c (rpl_accept): Likewise.
2773         * lib/bind.c (rpl_bind): Likewise.
2774         * lib/getpeername.c (rpl_getpeername): Likewise.
2775         * lib/getsockname.c (rpl_getsockname): Likewise.
2776         * lib/recv.c (rpl_recv): Likewise.
2777         * lib/send.c (rpl_send): Likewise.
2778         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2779         * lib/sendto.c (rpl_sendto): Likewise.
2780
2781 2010-03-06  Bruno Haible  <bruno@clisp.org>
2782
2783         Clarify access, euidaccess, faccessat.
2784         * doc/posix-functions/faccessat.texi: Mention security problem under
2785         "Other problems", not "Portability problems".
2786         * doc/posix-functions/access.texi: Likewise. Mention a related security
2787         problem.
2788         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2789         * lib/euidaccess.c: Add comments about platforms.
2790         * lib/unistd.in.h (access, euidaccess): Add warnings.
2791
2792 2010-03-07  Bruno Haible  <bruno@clisp.org>
2793
2794         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2795         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2796         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2797         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2798         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2799         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2800         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2801         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2802         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2803         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2804         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2805         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2806         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2807         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2808         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2809         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2810         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2811         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2812         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2813         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2814         Likewise.
2815         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2816         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2817         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2818         Likewise.
2819         * tests/test-spawn.c (main): Make it work when
2820         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2821
2822 2010-03-07  Bruno Haible  <bruno@clisp.org>
2823
2824         Fix incorrect Makefile.am generation in German locale.
2825         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2826         Execute sed command with character range in C locale.
2827
2828 2010-03-06  Bruno Haible  <bruno@clisp.org>
2829
2830         Tests for module 'iconv-h'.
2831         * modules/iconv-h-tests: New file.
2832         * tests/test-iconv-h.c: New file.
2833
2834         New module 'iconv-h'.
2835         * modules/iconv-h: New file.
2836         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2837         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2838         (configure.ac): Remove gl_ICONV_H.
2839         (Makefile.am): Remove rule for iconv.h.
2840
2841 2010-03-06  Bruno Haible  <bruno@clisp.org>
2842
2843         More consistent naming of *.m4 files.
2844         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2845         * modules/wctype (Files): Update.
2846
2847         More consistent naming of *.m4 files.
2848         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2849         * modules/wchar (Files): Update.
2850
2851 2010-03-06  Jim Meyering  <meyering@redhat.com>
2852
2853         euidaccess: relax license to LGPLv2+
2854         * modules/euidaccess (License): Relax to LGPLv2+.
2855
2856 2010-03-06  Bruno Haible  <bruno@clisp.org>
2857
2858         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2859         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2860         (Makefile.am): Augment lib_SOURCES instead.
2861
2862 2010-03-04  Jim Meyering  <meyering@redhat.com>
2863
2864         utime: remove obsolete module
2865         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2866         unnecessary for years, and has been marked as obsolete for 10 months.
2867         * modules/utime: Remove file.
2868         * lib/utime.c: Remove file.
2869         * m4/utime.m4: Remove file.
2870         * m4/utimes-null.m4: Remove file.
2871         * doc/posix-functions/utime.texi (utime): Remove reference to
2872         the module.  Move the sole "fixed by gnulib" item into the
2873         "problems not fixed by Gnulib" list.
2874         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2875
2876 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2877
2878         * modules/exit (License): Relax license to LGPLv2+.
2879         (Status): Mark as obsolete.
2880         * NEWS: Mention deprecated 'exit' module.
2881         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2882         of now obsolete 'exit'.
2883
2884 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2885
2886         fts-lgpl: remove unused module
2887         * modules/fts-lgpl: Remove.
2888         * MODULES.html.sh (func_all_modules): Adjust.
2889         * check-module (find_included_lib_files): Adjust.
2890         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2891
2892 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2893
2894         copy-acl: enhance Solaris ACL error handling
2895         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2896         * lib/set-mode-acl.c (qset_acl): Likewise.
2897
2898 2010-03-02  Bruno Haible  <bruno@clisp.org>
2899
2900         spawn: Don't override the system defined values on FreeBSD 8.
2901         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
2902         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
2903         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
2904         if HAVE_POSIX_SPAWN is 1.
2905         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
2906
2907 2010-03-01  Bruno Haible  <bruno@clisp.org>
2908
2909         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
2910         regarding Automake.
2911
2912 2010-02-25  Bruno Haible  <bruno@clisp.org>
2913
2914         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
2915         * gnulib-tool: Define 'echo' as a function only before the ksh alias
2916         setting, not afterwards.
2917         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2918
2919 2010-02-24  Eric Blake  <eblake@redhat.com>
2920
2921         bootstrap, git-version-gen: use timestamp
2922         * build-aux/git-version-gen (scriptversion): Force UTC.
2923         * build-aux/bootstrap (scriptversion): New variable.
2924
2925         bootstrap: allow older git
2926         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
2927         older than 1.6.4.  Requested by the libvirt project.
2928
2929 2010-02-23  Eric Blake  <eblake@redhat.com>
2930
2931         warn-on-use: work with old autoconf
2932         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
2933         AS_VAR semantics of autoconf 2.60.
2934         Reported by Bruno Haible.
2935
2936         bootstrap: improve some comments
2937         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
2938         clarification comments.
2939
2940         gettimeofday: provide correct function
2941         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
2942         when replacement is declared, otherwise provide gettimeofday.
2943         Reported by Michael Goffioul.
2944
2945 2010-02-23  Jim Meyering  <meyering@redhat.com>
2946
2947         lib-ignore: relax license to "unlimited", not LGPLv2+
2948         * modules/lib-ignore (License): Relax to "unlimited".
2949
2950 2010-02-23  Jim Meyering  <meyering@redhat.com>
2951
2952         lib-ignore: relax license to LGPLv2+
2953         * modules/lib-ignore (License): Relax to LGPLv2+.
2954
2955 2010-02-22  Eric Blake  <eblake@redhat.com>
2956
2957         lseek: avoid bash 3.2 broken pipe bug
2958         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
2959         warning from bash 3.2.
2960         Reported by Ben Pfaff, with analysis from Bruno Haible.
2961
2962         bootstrap: support non-FSF copyright holder
2963         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
2964         bootstrap.conf override of COPYRIGHT_HOLDER.
2965         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
2966
2967         bootstrap: interoperate with gettext 0.14.1
2968         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
2969
2970         bootstrap: allow for alternate submodule location
2971         * build-aux/bootstrap (gnulib_path): New variable; use instead of
2972         hardcoding submodule location.
2973         (gnulib_mk): Allow direct use of Makefile.am.
2974
2975         bootstrap: use GNULIB_SRCDIR to reduce disk usage
2976         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
2977         rather than reconfiguring where the submodule points.
2978
2979         gettimeofday: restore support for platforms that lack function
2980         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
2981         replacement if function is missing.
2982         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
2983         * modules/sys_time (Makefile.am): Substitute it.
2984         * lib/sys_time.in.h (gettimeofday): Check it.
2985         Reported by Michael Goffioul.
2986
2987 2010-02-21  Bruno Haible  <bruno@clisp.org>
2988
2989         * lib/stdio.in.h (obstack_printf): Fix typo.
2990
2991 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
2992
2993         vc-list-files: use bzr ls's -R option
2994         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
2995         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
2996
2997 2010-02-21  Jim Meyering  <meyering@redhat.com>
2998
2999         init.sh: fix EXEEXT shims to work also for names like test-prog
3000         * tests/init.sh: Re-exec a better shell, when needed.
3001         If the current shell lacks support for posix $(...), an init.sh-using
3002         test will now try to find a shell that supports that.  If EXEEXT is
3003         nonempty, we also require support for hyphen-in-alias-name and shell
3004         substitutions like ${var#glob}.  Failure to find such a shell results
3005         in a skipped test.
3006
3007 2010-02-21  Bruno Haible  <bruno@clisp.org>
3008
3009         Really work around around "broken pipe" error message from bash 3.2.
3010         * gnulib-tool (func_reset_sigpipe): Remove function.
3011         (echo): In bash 3.2, define to a function that uses printf.
3012         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
3013
3014 2010-02-20  Bruno Haible  <bruno@clisp.org>
3015
3016         Restore support for automake 1.9.6 with autoconf 2.61.
3017         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
3018         Reported by James Youngman <jay@gnu.org>.
3019
3020 2010-02-20  Bruno Haible  <bruno@clisp.org>
3021
3022         Improve *printf warning condition.
3023         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
3024         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
3025         and the function is overridden due to SIGPIPE emulation.
3026
3027 2010-02-20  Bruno Haible  <bruno@clisp.org>
3028
3029         * lib/stdio.in.h: Tweak comments.
3030
3031 2010-02-19  Bruno Haible  <bruno@clisp.org>
3032
3033         Make it easier to find modules. New gnulib-tool option '--find'.
3034         * gnulib-tool: New option --find.
3035         (func_usage): Document it.
3036         (func_sanitize_modulelist): New function, extracted from
3037         func_all_modules.
3038         (func_all_modules): Invoke it.
3039         * doc/gnulib-tool.texi (Which modules?): New node.
3040
3041 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
3042
3043         * lib/sys_select.in.h: Provide select replacement even if
3044         sys/select.h exists on a system, for Interix.
3045
3046 2010-02-18  Jim Meyering  <meyering@redhat.com>
3047
3048         init.sh: don't use $(...) just yet
3049         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
3050         to accommodate e.g., Solaris' /bin/sh.
3051
3052 2010-02-17  Bruno Haible  <bruno@clisp.org>
3053
3054         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
3055         Reported by Ludovic Courtès <ludo@gnu.org>.
3056
3057 2010-02-16  Simon Josefsson  <simon@josefsson.org>
3058
3059         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
3060         linking with -lintl.
3061
3062 2010-02-17  Simon Josefsson  <simon@josefsson.org>
3063
3064         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
3065         if not provided by the system's netdb.h.  Reported by
3066         ludo@gnu.org (Ludovic Courtès).
3067
3068 2010-02-15  Jim Meyering  <meyering@redhat.com>
3069
3070         init.sh: improve portability and efficiency
3071         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
3072         "dummy" in a for loop.
3073         Use '!', not '^' to select the complement of a character set used
3074         in a "case" statement.
3075         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
3076         Suggestions from Eric Blake.
3077
3078         init.sh: automatically accommodate programs with the .exe suffix
3079         Automatically arrange for an invocation of "prog" to execute the
3080         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
3081         may use the simpler "prog", yet still work when built on a system
3082         that requires specifying the added suffix.
3083         Do this by constructing a function named "prog" that invokes
3084         "prog.exe" for each .exe file in selected directories.
3085         * tests/init.sh (find_exe_basenames_): New function.
3086         (create_exe_shim_functions_): New function.
3087         (path_prepend_): Use it.
3088
3089         maint.mk: mark syntax-check sc_*.m rules as .PHONY
3090         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
3091         "make -t syntax-check" doesn't create a ton of sc_*.m files.
3092
3093 2010-02-14  Jim Meyering  <meyering@redhat.com>
3094
3095         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
3096         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
3097         (sc_prohibit_hash_pjw_without_use): New rule.
3098
3099         maint.mk: allow the default upload destination dir to be overridden
3100         * top/maint.mk (upload_dest_dir_): Define with a default that
3101         preserves the status quo.
3102         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
3103         Reported by Peter Simons.
3104
3105         maint.mk: prohibit inclusion of "hash.h" without_use
3106         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
3107
3108 2010-02-10  Jim Meyering  <meyering@redhat.com>
3109
3110         maint.mk: prohibit inclusion of "ignore-value.h" without_use
3111         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
3112
3113 2010-02-09  Eric Blake  <ebb9@byu.net>
3114         and Bruno Haible  <bruno@clisp.org>
3115
3116         obstack-printf-posix: ensure declaration
3117         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
3118         extracted from gl_FUNC_OBSTACK_PRINTF.
3119         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
3120         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
3121         Likewise.
3122         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
3123         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
3124         0.
3125
3126 2010-02-08  Bruno Haible  <bruno@clisp.org>
3127
3128         gnulib-tool: Fix typo in 2010-02-07 commit.
3129         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
3130         Reported by Eric Blake.
3131
3132 2010-02-07  Bruno Haible  <bruno@clisp.org>
3133
3134         gnulib-tool: Fix up caching patches.
3135         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
3136         option --no-cache. Use associative arrays when supported by the shell.
3137         (sed_comments): New variable.
3138         (modcache): Renamed from do_cache.
3139         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
3140         abbreviate unnecessarily.
3141         (have_associative): New variable.
3142         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
3143         way also for ksh and zsh.
3144         (func_init_sed_convert_to_cache_statements): New function, extracted
3145         from func_cache_lookup_module. Add support for associative arrays.
3146         Don't set the c_MODULE_cached variable here. Ignore all lines before
3147         the first field header. Remove only the final newline, not all trailing
3148         newlines. Support empty fields correctly. Limit the use of 'eval' to
3149         assignments.
3150         (func_get_description, func_get_status, func_get_notice,
3151         func_get_applicability, func_get_filelist, func_get_dependencies,
3152         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
3153         func_get_automake_snippet, func_get_include_directive,
3154         func_get_link_directive, func_get_license, func_get_maintainer):
3155         Update documentation. List the unoptimized code first. Add support for
3156         associative arrays. Limit the use of 'eval' to assignments.
3157         (func_get_applicability): Undo stylistic pessimisations.
3158         (func_get_automake_snippet, func_get_include_directive): Reduce code
3159         duplication.
3160         (func_modules_transitive_closure, func_modules_add_dummy,
3161         func_modules_notice, func_modules_to_filelist, func_add_file,
3162         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
3163         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
3164         func_create_testdir, func_create_megatestdir): Update documentation.
3165
3166 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3167
3168         * gnulib-tool (func_cache_lookup_module): Store the module name
3169         belonging to the cache variable; error out if two different
3170         module names map to the same cache variable name.
3171
3172 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3173
3174         gnulib-tool: Make caching optional.
3175         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
3176         Update matching short versions of --no-changelog.
3177         (func_usage): Update.
3178         (sed_extract_cache_prog): Renamed from ...
3179         (sed_extract_prog): ... this; revert to old extraction script.
3180         (func_get_description, func_get_status)
3181         (func_get_notice, func_get_applicability, func_get_filelist)
3182         (func_get_dependencies, func_get_autoconf_early_snippet)
3183         (func_get_autoconf_snippet, func_get_automake_snippet)
3184         (func_get_include_directive, func_get_link_directive)
3185         (func_get_license, func_get_maintainer): If $do_cache is false,
3186         use old, non-caching extraction scripts.
3187         Suggestion by Bruno Haible.
3188
3189 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3190
3191         gnulib-tool: cache module metainformation.
3192         * gnulib-tool (sed_extract_prog): Match newline before each
3193         header, and rewrite header to a shell variable suffix.
3194         (func_cache_var, func_cache_lookup_module): New functions,
3195         to turn a module name into a cache variable prefix, and to
3196         look up and cache module metainformation.
3197         (func_get_description, func_get_status)
3198         (func_get_notice, func_get_applicability, func_get_filelist)
3199         (func_get_dependencies, func_get_autoconf_early_snippet)
3200         (func_get_autoconf_snippet, func_get_automake_snippet)
3201         (func_get_include_directive, func_get_link_directive)
3202         (func_get_license, func_get_maintainer): Use
3203         func_cache_lookup_module.
3204
3205 2010-02-07  Bruno Haible  <bruno@clisp.org>
3206
3207         fnctl: Fix missing dependency.
3208         * modules/fcntl (Depends-on): Add getdtablesize.
3209         Reported by John W. Eaton <jwe@gnu.org>.
3210
3211 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3212
3213         Argp: fix recognition of short alias options.
3214
3215         * lib/argp-parse.c (convert_options): Fix improper use of
3216         `|' between character values.
3217         * tests/test-argp.c (group1_option): New alias option
3218         --read (-r).
3219         (group1_parser): Special handling for 'r'.
3220         (test15): New test case.
3221         (test_fun): Add test15.
3222         * tests/test-argp-2.sh: Update expected --help and --usage
3223         outputs.
3224
3225 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3226
3227         * tests/test-argp.c: Fix indentation.
3228
3229 2010-02-04  Eric Blake  <ebb9@byu.net>
3230
3231         gettimeofday: expose type of second argument
3232         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3233         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3234         * tests/test-gettimeofday.c: Use it to silence warning.
3235         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3236         the issue.
3237
3238 2010-02-03  Jim Meyering  <meyering@redhat.com>
3239
3240         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3241         * lib/regcomp.c (TYPE_SIGNED): Define.
3242         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3243
3244         regcomp.c: avoid a new -Wshadow warning
3245         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3246
3247 2010-02-01  Jim Meyering  <meyering@redhat.com>
3248
3249         removing useless parentheses in cpp #define directives
3250         For motivation, see commit c0221df4, "define STREQ(a,b)
3251         consistently, removing useless parentheses"
3252         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3253         * lib/mountlist.c (MNT_IGNORE): Likewise.
3254         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3255
3256 2010-02-01  Eric Blake  <ebb9@byu.net>
3257
3258         sys_time: use link-warning
3259         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3260         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3261         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3262         * modules/sys_time (Depends-on): Add warn-on-use.
3263         (Makefile.am): Always build replacement.
3264         (configure.ac): Update substitutions.
3265         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3266         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3267         bother with SYS_TIME_H.
3268         * modules/gettimeofday (configure.ac): Declare indicator.
3269         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3270         in use.
3271
3272         closein-tests: silence compiler warning
3273         * tests/test-closein.c (main): Ignore fread result.
3274         * modules/closein-tests (Depends-on): Add ignore-value.
3275
3276         tests: silence warning about system return
3277         * tests/test-areadlink-with-size.c (main): Ignore system result.
3278         * tests/test-areadlink.c (main): Likewise.
3279         * tests/test-areadlinkat-with-size.c (main): Likewise.
3280         * tests/test-areadlinkat.c (main): Likewise.
3281         * tests/test-canonicalize-lgpl.c (main): Likewise.
3282         * tests/test-canonicalize.c (main): Likewise.
3283         * tests/test-chown.c (main): Likewise.
3284         * tests/test-fchownat.c (main): Likewise.
3285         * tests/test-fdutimensat.c (main): Likewise.
3286         * tests/test-fstatat.c (main): Likewise.
3287         * tests/test-futimens.c (main): Likewise.
3288         * tests/test-lchown.c (main): Likewise.
3289         * tests/test-link.c (main): Likewise.
3290         * tests/test-linkat.c (main): Likewise.
3291         * tests/test-lstat.c (main): Likewise.
3292         * tests/test-mkdir.c (main): Likewise.
3293         * tests/test-mkdirat.c (main): Likewise.
3294         * tests/test-mkfifo.c (main): Likewise.
3295         * tests/test-mkfifoat.c (main): Likewise.
3296         * tests/test-mknod.c (main): Likewise.
3297         * tests/test-readlink.c (main): Likewise.
3298         * tests/test-remove.c (main): Likewise.
3299         * tests/test-rename.c (main): Likewise.
3300         * tests/test-renameat.c (main): Likewise.
3301         * tests/test-rmdir.c (main): Likewise.
3302         * tests/test-symlink.c (main): Likewise.
3303         * tests/test-symlinkat.c (main): Likewise.
3304         * tests/test-unlink.c (main): Likewise.
3305         * tests/test-unlinkat.c (main): Likewise.
3306         * tests/test-utimens.c (main): Likewise.
3307         * tests/test-utimensat.c (main): Likewise.
3308         * modules/areadlink-tests (Depends-on): Add ignore-value.
3309         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3310         * modules/areadlinkat-tests (Depends-on): Likewise.
3311         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3312         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3313         * modules/canonicalize-tests (Depends-on): Likewise.
3314         * modules/chown-tests (Depends-on): Likewise.
3315         * modules/fdutimensat-tests (Depends-on): Likewise.
3316         * modules/futimens-tests (Depends-on): Likewise.
3317         * modules/lchown-tests (Depends-on): Likewise.
3318         * modules/link-tests (Depends-on): Likewise.
3319         * modules/linkat-tests (Depends-on): Likewise.
3320         * modules/lstat-tests (Depends-on): Likewise.
3321         * modules/mkdir-tests (Depends-on): Likewise.
3322         * modules/mkfifo-tests (Depends-on): Likewise.
3323         * modules/mkfifoat-tests (Depends-on): Likewise.
3324         * modules/mknod-tests (Depends-on): Likewise.
3325         * modules/openat-tests (Depends-on): Likewise.
3326         * modules/readlink-tests (Depends-on): Likewise.
3327         * modules/remove-tests (Depends-on): Likewise.
3328         * modules/rename-tests (Depends-on): Likewise.
3329         * modules/renameat-tests (Depends-on): Likewise.
3330         * modules/rmdir-tests (Depends-on): Likewise.
3331         * modules/symlink-tests (Depends-on): Likewise.
3332         * modules/symlinkat-tests (Depends-on): Likewise.
3333         * modules/unlink-tests (Depends-on): Likewise.
3334         * modules/utimens-tests (Depends-on): Likewise.
3335         * modules/utimensat-tests (Depends-on): Likewise.
3336
3337 2010-01-31  Bruno Haible  <bruno@clisp.org>
3338
3339         Perform the same test for many <math.h> functions.
3340         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3341         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3342         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3343         of gl_MATHFUNC.
3344         * modules/acos (configure.ac): Likewise.
3345         * modules/asin (configure.ac): Likewise.
3346         * modules/atan (configure.ac): Likewise.
3347         * modules/atan2 (configure.ac): Likewise.
3348         * modules/cbrt (configure.ac): Likewise.
3349         * modules/copysign (configure.ac): Likewise.
3350         * modules/cos (configure.ac): Likewise.
3351         * modules/cosh (configure.ac): Likewise.
3352         * modules/erf (configure.ac): Likewise.
3353         * modules/erfc (configure.ac): Likewise.
3354         * modules/exp (configure.ac): Likewise.
3355         * modules/fmod (configure.ac): Likewise.
3356         * modules/hypot (configure.ac): Likewise.
3357         * modules/j0 (configure.ac): Likewise.
3358         * modules/j1 (configure.ac): Likewise.
3359         * modules/jn (configure.ac): Likewise.
3360         * modules/lgamma (configure.ac): Likewise.
3361         * modules/log (configure.ac): Likewise.
3362         * modules/log10 (configure.ac): Likewise.
3363         * modules/log1p (configure.ac): Likewise.
3364         * modules/pow (configure.ac): Likewise.
3365         * modules/remainder (configure.ac): Likewise.
3366         * modules/sin (configure.ac): Likewise.
3367         * modules/sinh (configure.ac): Likewise.
3368         * modules/tan (configure.ac): Likewise.
3369         * modules/tanh (configure.ac): Likewise.
3370         * modules/y0 (configure.ac): Likewise.
3371         * modules/y1 (configure.ac): Likewise.
3372         * modules/yn (configure.ac): Likewise.
3373         Suggested by Paolo Bonzini.
3374
3375 2010-01-31  Bruno Haible  <bruno@clisp.org>
3376
3377         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3378
3379 2010-01-31  Bruno Haible  <bruno@clisp.org>
3380
3381         Work around getdelim() bug on FreeBSD 8.0.
3382         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3383         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3384         not work.
3385         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3386         is 1.
3387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3388         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3389         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3390         a non-zero size.
3391         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3392
3393 2010-01-31  Bruno Haible  <bruno@clisp.org>
3394
3395         Work around getline() bug on FreeBSD 8.0.
3396         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3397         and a non-zero size.
3398         * tests/test-getline.c (main): Likewise.
3399         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3400         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3401
3402 2010-01-28  Eric Blake  <ebb9@byu.net>
3403
3404         regex: fix build failure
3405         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3406         platforms.
3407
3408 2010-01-28  Jim Meyering  <meyering@redhat.com>
3409
3410         regex: do not ignore memory allocation failure
3411         * lib/regex_internal.c (create_cd_newstate): Detect
3412         re_node_set_init_copy failure.   Extracted from glibc commit
3413         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3414
3415         regex: sync more white-space changes from libc
3416         * lib/regex_internal.c: White-space only changes.
3417         * lib/regexec.c: Likewise.
3418
3419         regex: add many uses of __attribute_warn_unused_result__
3420         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
3421         * lib/regexec.c: Likewise.
3422         Extracted from a messy glibc commit.
3423
3424         regcomp.c: spelling and merge-artifact from glibc
3425         * lib/regcomp.c: Merge remainder of glibc's
3426         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3427
3428         regcomp.c: sync white-space changes from glibc
3429         * lib/regcomp.c: Merge to accommodate white space
3430         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3431
3432         regcomp.c: do not ignore internal return values
3433         * lib/regcomp.c: Do not ignore internal return values.
3434         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
3435         but without its white-space changes and spelling fixes.
3436
3437         regex_internal.h: define __attribute_warn_unused_result__
3438         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
3439
3440         maint: add a syntax-check rule to check for vulnerable Makefile.in
3441         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
3442
3443 2010-01-27  Jim Meyering  <meyering@redhat.com>
3444
3445         ncftpput-ftp: clean up spaces
3446         * build-aux/ncftpput-ftp: Make Copyright line consistent.
3447         Remove trailing blanks.
3448
3449 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3450
3451         * build-aux/git-version-gen: Fix copyright statement.
3452         * build-aux/gnupload: Likewise.
3453         * tests/test-arcfour.c: Likewise.
3454         * tests/test-arctwo.c: Likewise.
3455         * tests/test-count-one-bits.c: Likewise.
3456         * tests/test-crc.c: Likewise.
3457         * tests/test-des.c: Likewise.
3458         * tests/test-gc-arcfour.c: Likewise.
3459         * tests/test-gc-arctwo.c: Likewise.
3460         * tests/test-gc-des.c: Likewise.
3461         * tests/test-gc-hmac-md5.c: Likewise.
3462         * tests/test-gc-hmac-sha1.c: Likewise.
3463         * tests/test-gc-md2.c: Likewise.
3464         * tests/test-gc-md4.c: Likewise.
3465         * tests/test-gc-md5.c: Likewise.
3466         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3467         * tests/test-gc-rijndael.c: Likewise.
3468         * tests/test-gc-sha1.c: Likewise.
3469         * tests/test-gc.c: Likewise.
3470         * tests/test-gethostname.c: Likewise.
3471         * tests/test-gettimeofday.c: Likewise.
3472         * tests/test-hash.c: Likewise.
3473         * tests/test-hmac-md5.c: Likewise.
3474         * tests/test-hmac-sha1.c: Likewise.
3475         * tests/test-md2.c: Likewise.
3476         * tests/test-md4.c: Likewise.
3477         * tests/test-md5.c: Likewise.
3478         * tests/test-memchr.c: Likewise.
3479         * tests/test-memchr2.c: Likewise.
3480         * tests/test-memcmp.c: Likewise.
3481         * tests/test-memmem.c: Likewise.
3482         * tests/test-memrchr.c: Likewise.
3483         * tests/test-rawmemchr.c: Likewise.
3484         * tests/test-read-file.c: Likewise.
3485         * tests/test-rijndael.c: Likewise.
3486         * tests/test-sockets.c: Likewise.
3487         * tests/test-strchrnul.c: Likewise.
3488         * tests/test-strstr.c: Likewise.
3489         * tests/test-strtod.c: Likewise.
3490         * build-aux/ncftpput-ftp: Likewise.
3491
3492 2010-01-26  Eric Blake  <ebb9@byu.net>
3493
3494         ignore-value: update recommended header name
3495         * modules/ignore-value (Include): Only use <> for headers that
3496         exist in glibc.
3497
3498 2010-01-26  Jim Meyering  <meyering@redhat.com>
3499
3500         test-userspec.c: avoid compiler warnings
3501         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3502         and "initialization discards qualifiers..." warnings.
3503         Put the first "uid" in its own scope, and make char* members "const".
3504
3505 2010-01-25  Bruno Haible  <bruno@clisp.org>
3506
3507         gnulib-tool: Make warning diagnostics consistent.
3508         * gnulib-tool (func_warning): New function.
3509         Use it everywhere where gnulib-tool produces output to stderr and it is
3510         not a fatal error.
3511
3512 2010-01-25  Bruno Haible  <bruno@clisp.org>
3513
3514         Fix test dependencies.
3515         * modules/xstrtol-tests (Depends-on): Add inttypes.
3516         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3517
3518 2010-01-25 Pádraig Brady <P@draigBrady.com>
3519
3520         syntax-check: detect incorrect boolean macro values in config.h
3521         * modules/maintainer-makefile (configure.ac): Parameterize the location
3522         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3523         The logic is from Eric Blake and the location indicated by Jim Meyering.
3524         Note the more natural CONFIG_HEADER name is prohibited by automake
3525         for backwards compatibility reasons.
3526         * top/maint.mk (sc_Wundef_boolean): New rule.
3527
3528 2010-01-25  Jim Meyering  <meyering@redhat.com>
3529
3530         bootstrap: detect MacOS 10.6's shasum, too
3531         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3532         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3533
3534 2010-01-23  Jim Meyering  <meyering@redhat.com>
3535
3536         xstrtoll: new module
3537         * modules/xstrtoll: New file.
3538         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3539         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3540         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3541         ./configure fails if you use this module and lack "long long".
3542         * modules/xstrtoll-tests: New module.
3543         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3544         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3545         new init.sh-based test framework.
3546
3547 2010-01-24  Bruno Haible  <bruno@clisp.org>
3548
3549         Tests for module 'yn'.
3550         * modules/yn-tests: New file.
3551         * tests/test-yn.c: New file.
3552
3553         Tests for module 'y1'.
3554         * modules/y1-tests: New file.
3555         * tests/test-y1.c: New file.
3556
3557         Tests for module 'y0'.
3558         * modules/y0-tests: New file.
3559         * tests/test-y0.c: New file.
3560
3561         Tests for module 'tanh'.
3562         * modules/tanh-tests: New file.
3563         * tests/test-tanh.c: New file.
3564
3565         Tests for module 'tan'.
3566         * modules/tan-tests: New file.
3567         * tests/test-tan.c: New file.
3568
3569         Tests for module 'sqrt'.
3570         * modules/sqrt-tests: New file.
3571         * tests/test-sqrt.c: New file.
3572
3573         Tests for module 'sinh'.
3574         * modules/sinh-tests: New file.
3575         * tests/test-sinh.c: New file.
3576
3577         Tests for module 'sin'.
3578         * modules/sin-tests: New file.
3579         * tests/test-sin.c: New file.
3580
3581         Tests for module 'rint'.
3582         * modules/rint-tests: New file.
3583         * tests/test-rint.c: New file.
3584
3585         Tests for module 'remainder'.
3586         * modules/remainder-tests: New file.
3587         * tests/test-remainder.c: New file.
3588
3589         Tests for module 'pow'.
3590         * modules/pow-tests: New file.
3591         * tests/test-pow.c: New file.
3592
3593         Tests for module 'nextafter'.
3594         * modules/nextafter-tests: New file.
3595         * tests/test-nextafter.c: New file.
3596
3597         Tests for module 'modf'.
3598         * modules/modf-tests: New file.
3599         * tests/test-modf.c: New file.
3600
3601         Tests for module 'logb'.
3602         * modules/logb-tests: New file.
3603         * tests/test-logb.c: New file.
3604
3605         Tests for module 'log1p'.
3606         * modules/log1p-tests: New file.
3607         * tests/test-log1p.c: New file.
3608
3609         Tests for module 'log10'.
3610         * modules/log10-tests: New file.
3611         * tests/test-log10.c: New file.
3612
3613         Tests for module 'log'.
3614         * modules/log-tests: New file.
3615         * tests/test-log.c: New file.
3616
3617         Tests for module 'lgamma'.
3618         * modules/lgamma-tests: New file.
3619         * tests/test-lgamma.c: New file.
3620
3621         Tests for module 'ldexp'.
3622         * modules/ldexp-tests: New file.
3623         * tests/test-ldexp.c: New file.
3624
3625         Tests for module 'jn'.
3626         * modules/jn-tests: New file.
3627         * tests/test-jn.c: New file.
3628
3629         Tests for module 'j1'.
3630         * modules/j1-tests: New file.
3631         * tests/test-j1.c: New file.
3632
3633         Tests for module 'j0'.
3634         * modules/j0-tests: New file.
3635         * tests/test-j0.c: New file.
3636
3637         Tests for module 'hypot'.
3638         * modules/hypot-tests: New file.
3639         * tests/test-hypot.c: New file.
3640
3641         Tests for module 'fmod'.
3642         * modules/fmod-tests: New file.
3643         * tests/test-fmod.c: New file.
3644
3645         Tests for module 'fabs'.
3646         * modules/fabs-tests: New file.
3647         * tests/test-fabs.c: New file.
3648
3649         Tests for module 'exp'.
3650         * modules/exp-tests: New file.
3651         * tests/test-exp.c: New file.
3652
3653         Tests for module 'erfc'.
3654         * modules/erfc-tests: New file.
3655         * tests/test-erfc.c: New file.
3656
3657         Tests for module 'erf'.
3658         * modules/erf-tests: New file.
3659         * tests/test-erf.c: New file.
3660
3661         Tests for module 'cosh'.
3662         * modules/cosh-tests: New file.
3663         * tests/test-cosh.c: New file.
3664
3665         Tests for module 'cos'.
3666         * modules/cos-tests: New file.
3667         * tests/test-cos.c: New file.
3668
3669         Tests for module 'copysign'.
3670         * modules/copysign-tests: New file.
3671         * tests/test-copysign.c: New file.
3672
3673         Tests for module 'cbrt'.
3674         * modules/cbrt-tests: New file.
3675         * tests/test-cbrt.c: New file.
3676
3677         Tests for module 'atan2'.
3678         * modules/atan2-tests: New file.
3679         * tests/test-atan2.c: New file.
3680
3681         Tests for module 'atan'.
3682         * modules/atan-tests: New file.
3683         * tests/test-atan.c: New file.
3684
3685         Tests for module 'asin'.
3686         * modules/asin-tests: New file.
3687         * tests/test-asin.c: New file.
3688
3689         Tests for module 'acos'.
3690         * modules/acos-tests: New file.
3691         * tests/test-acos.c: New file.
3692
3693 2010-01-24  Bruno Haible  <bruno@clisp.org>
3694
3695         Fix tests for common <math.h> functions.
3696         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3697         code snippet that references the function pointer, rather than merely
3698         calling the function. Substitute the FUNC_LIBM variable.
3699         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3700         * modules/acos (configure.ac): Likewise.
3701         * modules/asin (configure.ac): Likewise.
3702         * modules/atan (configure.ac): Likewise.
3703         * modules/atan2 (configure.ac): Likewise.
3704         * modules/cbrt (configure.ac): Likewise.
3705         * modules/copysign (configure.ac): Likewise.
3706         * modules/cos (configure.ac): Likewise.
3707         * modules/cosh (configure.ac): Likewise.
3708         * modules/erf (configure.ac): Likewise.
3709         * modules/erfc (configure.ac): Likewise.
3710         * modules/exp (configure.ac): Likewise.
3711         * modules/fabs (configure.ac): Likewise.
3712         * modules/fmod (configure.ac): Likewise.
3713         * modules/hypot (configure.ac): Likewise.
3714         * modules/j0 (configure.ac): Likewise.
3715         * modules/j1 (configure.ac): Likewise.
3716         * modules/jn (configure.ac): Likewise.
3717         * modules/ldexp (configure.ac): Likewise.
3718         * modules/lgamma (configure.ac): Likewise.
3719         * modules/log (configure.ac): Likewise.
3720         * modules/log10 (configure.ac): Likewise.
3721         * modules/log1p (configure.ac): Likewise.
3722         * modules/logb (configure.ac): Likewise.
3723         * modules/modf (configure.ac): Likewise.
3724         * modules/nextafter (configure.ac): Likewise.
3725         * modules/pow (configure.ac): Likewise.
3726         * modules/remainder (configure.ac): Likewise.
3727         * modules/rint (configure.ac): Likewise.
3728         * modules/sin (configure.ac): Likewise.
3729         * modules/sinh (configure.ac): Likewise.
3730         * modules/tan (configure.ac): Likewise.
3731         * modules/tanh (configure.ac): Likewise.
3732         * modules/y0 (configure.ac): Likewise.
3733         * modules/y1 (configure.ac): Likewise.
3734         * modules/yn (configure.ac): Likewise.
3735
3736 2010-01-24  Bruno Haible  <bruno@clisp.org>
3737
3738         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3739         * tests/test-acosl.c (x): New variable.
3740         (main): Store argument in x and fetch it from x.
3741         * tests/test-asinl.c (x): New variable.
3742         (main): Store argument in x and fetch it from x.
3743         * tests/test-atanl.c (x): New variable.
3744         (main): Store argument in x and fetch it from x.
3745         * tests/test-cosl.c (x): New variable.
3746         (main): Store argument in x and fetch it from x.
3747         * tests/test-expl.c (x): New variable.
3748         (main): Store argument in x and fetch it from x.
3749         * tests/test-logl.c (x): New variable.
3750         (main): Store argument in x and fetch it from x.
3751         * tests/test-sinl.c (x): New variable.
3752         (main): Store argument in x and fetch it from x.
3753         * tests/test-sqrtl.c (x): New variable.
3754         (main): Store argument in x and fetch it from x.
3755         * tests/test-tanl.c (x): New variable.
3756         (main): Store argument in x and fetch it from x.
3757
3758 2010-01-24  Bruno Haible  <bruno@clisp.org>
3759
3760         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3761         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3762         assignments to the initial TESTS_ENVIRONMENT.
3763         * doc/gnulib.texi (Unit test modules): Document it.
3764         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3765         TESTS_ENVIRONMENT.
3766         * modules/btowc-tests (Makefile.am): Likewise.
3767         * modules/c-stack-tests (Makefile.am): Likewise.
3768         * modules/c-strcase-tests (Makefile.am): Likewise.
3769         * modules/copy-file-tests (Makefile.am): Likewise.
3770         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3771         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3772         * modules/mbrtowc-tests (Makefile.am): Likewise.
3773         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3774         * modules/mbscasestr-tests (Makefile.am): Likewise.
3775         * modules/mbschr-tests (Makefile.am): Likewise.
3776         * modules/mbscspn-tests (Makefile.am): Likewise.
3777         * modules/mbsinit-tests (Makefile.am): Likewise.
3778         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3779         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3780         * modules/mbspbrk-tests (Makefile.am): Likewise.
3781         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3782         * modules/mbsrchr-tests (Makefile.am): Likewise.
3783         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3784         * modules/mbsspn-tests (Makefile.am): Likewise.
3785         * modules/mbsstr-tests (Makefile.am): Likewise.
3786         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3787         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3788         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3789         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3790         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3791         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3792         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3793         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3794         * modules/wcrtomb-tests (Makefile.am): Likewise.
3795         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3796         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3797         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3798         assignments from TESTS_ENVIRONMENT.
3799         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3800         augmentation.
3801         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3802         * modules/atexit-tests (Makefile.am): Likewise.
3803         * modules/binary-io-tests (Makefile.am): Likewise.
3804         * modules/closein-tests (Makefile.am): Likewise.
3805         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3806         * modules/exclude-tests (Makefile.am): Likewise.
3807         * modules/fflush-tests (Makefile.am): Likewise.
3808         * modules/fpending-tests (Makefile.am): Likewise.
3809         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3810         * modules/freadahead-tests (Makefile.am): Likewise.
3811         * modules/freadptr-tests (Makefile.am): Likewise.
3812         * modules/freadseek-tests (Makefile.am): Likewise.
3813         * modules/fseek-tests (Makefile.am): Likewise.
3814         * modules/fseeko-tests (Makefile.am): Likewise.
3815         * modules/ftell-tests (Makefile.am): Likewise.
3816         * modules/ftello-tests (Makefile.am): Likewise.
3817         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3818         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3819         * modules/lseek-tests (Makefile.am): Likewise.
3820         * modules/parse-duration-tests (Makefile.am): Likewise.
3821         * modules/perror-tests (Makefile.am): Likewise.
3822         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3823         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3824         * modules/pipe-tests (Makefile.am): Likewise.
3825         * modules/pread-tests (Makefile.am): Likewise.
3826         * modules/printf-posix-tests (Makefile.am): Likewise.
3827         * modules/select-tests (Makefile.am): Likewise.
3828         * modules/sigpipe-tests (Makefile.am): Likewise.
3829         * modules/tsearch-tests (Makefile.am): Likewise.
3830         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3831         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3832         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3833         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3834         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3835         * modules/version-etc-tests (Makefile.am): Likewise.
3836         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3837         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3838         * modules/xalloc-die-tests (Makefile.am): Likewise.
3839         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3840         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3841         * modules/xstrtol-tests (Makefile.am): Likewise.
3842         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3843         * modules/yesno-tests (Makefile.am): Likewise.
3844         Suggested by Jim Meyering.
3845
3846 2010-01-24  Bruno Haible  <bruno@clisp.org>
3847
3848         More documentation.
3849         * doc/gnulib.texi (Writing modules): New chapter.
3850         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3851         the new chapter.
3852
3853 2010-01-24  Jim Meyering  <meyering@redhat.com>
3854
3855         maint.mk: do not prepend "./" after filtering
3856         * top/maint.mk (_prepend_srcdir_prefix): New variable
3857         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3858         "./" when $(srcdir) is ".".
3859
3860         define STREQ(a,b) consistently, removing useless parentheses
3861         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3862         since the only risk is that "a" or "b" contains an unparenthesized
3863         comma, but if either did that, STREQ would have 3 or more arguments.
3864         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3865         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3866         * lib/hash-triple.c (STREQ): Likewise.
3867         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3868         * lib/getugroups.c (STREQ): Likewise.
3869
3870 2010-01-23  Jim Meyering  <meyering@redhat.com>
3871
3872         maint.mk: fix syntax-check in a non-srcdir build directory
3873         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3874         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3875
3876 2010-01-22  Jim Meyering  <meyering@redhat.com>
3877
3878         userspec: add unit tests
3879         * tests/test-userspec.c: New file.
3880         * modules/userspec-tests: Likewise.
3881
3882 2010-01-21  Jim Meyering  <meyering@redhat.com>
3883
3884         maint.mk: handle source file names containing "." robustly
3885         * top/maint.mk (_dot_escaped_srcdir): Define.
3886         (VC_LIST): Use it in LHS of sed substitution.
3887
3888 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3889
3890         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3891         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3892         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3893         from a non-srcdir build.
3894
3895 2010-01-20  Eric Blake  <ebb9@byu.net>
3896
3897         warn-on-use: use instead of link-warning
3898         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3899         * modules/unistd (Depends-on, Makefile.am): Likewise.
3900         * modules/arpa_inet (Depends-on): Replace link-warning with
3901         warn-on-use.
3902         (Makefile.am): Update rules accordingly.
3903         * modules/ctype (Depends-on, Makefile.am): Likewise.
3904         * modules/dirent (Depends-on, Makefile.am): Likewise.
3905         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
3906         * modules/inttypes (Depends-on, Makefile.am): Likewise.
3907         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3908         * modules/locale (Depends-on, Makefile.am): Likewise.
3909         * modules/math (Depends-on, Makefile.am): Likewise.
3910         * modules/search (Depends-on, Makefile.am): Likewise.
3911         * modules/signal (Depends-on, Makefile.am): Likewise.
3912         * modules/spawn (Depends-on, Makefile.am): Likewise.
3913         * modules/stdlib (Depends-on, Makefile.am): Likewise.
3914         * modules/string (Depends-on, Makefile.am): Likewise.
3915         * modules/strings (Depends-on, Makefile.am): Likewise.
3916         * modules/sys_file (Depends-on, Makefile.am): Likewise.
3917         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
3918         * modules/sys_select (Depends-on, Makefile.am): Likewise.
3919         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
3920         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
3921         * modules/sys_times (Depends-on, Makefile.am): Likewise.
3922         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
3923         * modules/wchar (Depends-on, Makefile.am): Likewise.
3924         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
3925         should be poisoned.
3926         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
3927         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
3928         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
3929         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3930         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3931         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3932         * m4/math_h.m4 (gl_MATH_H): Likewise.
3933         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3934         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3935         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3936         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3937         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3938         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3939         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
3940         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
3941         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3942         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3943         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3944         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3945         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3946         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3947         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3948         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3949         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
3950         GL_LINK_WARNING.
3951         * lib/ctype.in.h: Likewise.
3952         * lib/dirent.in.h: Likewise.
3953         * lib/fcntl.in.h: Likewise.
3954         * lib/inttypes.in.h: Likewise.
3955         * lib/langinfo.in.h: Likewise.
3956         * lib/locale.in.h: Likewise.
3957         * lib/math.in.h: Likewise.
3958         * lib/search.in.h: Likewise.
3959         * lib/signal.in.h: Likewise.
3960         * lib/spawn.in.h: Likewise.
3961         * lib/stdio.in.h: Likewise.
3962         * lib/stdlib.in.h: Likewise.
3963         * lib/string.in.h: Likewise.
3964         * lib/strings.in.h: Likewise.
3965         * lib/sys_file.in.h: Likewise.
3966         * lib/sys_ioctl.in.h: Likewise.
3967         * lib/sys_select.in.h: Likewise.
3968         * lib/sys_socket.in.h: Likewise.
3969         * lib/sys_stat.in.h: Likewise.
3970         * lib/sys_times.in.h: Likewise.
3971         * lib/sys_utsname.in.h: Likewise.
3972         * lib/unistd.in.h: Likewise.
3973         * lib/wchar.in.h: Likewise.
3974
3975 2010-01-20  Bruno Haible  <bruno@clisp.org>
3976
3977         Avoid duplicate -lm.
3978         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
3979         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
3980         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
3981         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
3982         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
3983         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
3984         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
3985         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
3986         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
3987         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
3988         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
3989         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3990         Reported by Paolo Bonzini.
3991
3992 2010-01-19  Bruno Haible  <bruno@clisp.org>
3993
3994         langinfo, nl_langinfo: Relicense under LGPLv2+.
3995         * modules/langinfo (License): Change to LGPLv2+.
3996         * modules/nl_langinfo (License): Likewise.
3997         Patch by David Lutterkort <lutter@redhat.com>.
3998
3999 2010-01-19  Bruno Haible  <bruno@clisp.org>
4000
4001         Avoid compilation error with cc on OSF/1 5.1.
4002         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
4003         statement, not before.
4004         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4005
4006 2010-01-18  Bruno Haible  <bruno@clisp.org>
4007
4008         Avoid a link error due to the __printf__ symbol.
4009         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
4010         and 2.6.x.
4011         (__format__, __printf__): Remove definitions.
4012         * lib/argp-fmtstream.h: Likewise.
4013         * lib/argp.h: Likewise.
4014         * lib/error.h: Likewise.
4015         * lib/vasnprintf.h: Likewise.
4016         * lib/xprintf.h: Likewise.
4017         * lib/xvasprintf.h: Likewise.
4018         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4019
4020 2010-01-18  Bruno Haible  <bruno@clisp.org>
4021
4022         Tests for module 'tanl'.
4023         * modules/tanl-tests: New file.
4024         * tests/test-tanl.c: New file.
4025
4026         Tests for module 'sqrtl'.
4027         * modules/sqrtl-tests: New file.
4028         * tests/test-sqrtl.c: New file.
4029
4030         Tests for module 'sinl'.
4031         * modules/sinl-tests: New file.
4032         * tests/test-sinl.c: New file.
4033
4034         Tests for module 'logl'.
4035         * modules/logl-tests: New file.
4036         * tests/test-logl.c: New file.
4037
4038         Tests for module 'expl'.
4039         * modules/expl-tests: New file.
4040         * tests/test-expl.c: New file.
4041
4042         Tests for module 'cosl'.
4043         * modules/cosl-tests: New file.
4044         * tests/test-cosl.c: New file.
4045
4046         Tests for module 'atanl'.
4047         * modules/atanl-tests: New file.
4048         * tests/test-atanl.c: New file.
4049
4050         Tests for module 'asinl'.
4051         * modules/asinl-tests: New file.
4052         * tests/test-asinl.c: New file.
4053
4054         Tests for module 'acosl'.
4055         * modules/acosl-tests: New file.
4056         * tests/test-acosl.c: New file.
4057
4058         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4059         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4060         tanl): Use the standard gnulib idiom.
4061         * lib/cosl.c: Don't include trigl.c and sincosl.c.
4062         * lib/sinl.c: Likewise.
4063         * lib/tanl.c: Don't include trigl.c.
4064         (kernel_tanl): Make static.
4065         * lib/sincosl.c: Include trigl.h first.
4066         * lib/trigl.c: Likewise.
4067         * m4/acosl.m4: New file.
4068         * m4/asinl.m4: New file.
4069         * m4/atanl.m4: New file.
4070         * m4/cosl.m4: New file.
4071         * m4/expl.m4: New file.
4072         * m4/logl.m4: New file.
4073         * m4/sinl.m4: New file.
4074         * m4/sqrtl.m4: New file.
4075         * m4/tanl.m4: New file.
4076         * m4/mathl.m4: Remove file.
4077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
4078         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4079         Don't initialize GNULIB_MATHL.
4080         * modules/acosl: New file.
4081         * modules/asinl: New file.
4082         * modules/atanl: New file.
4083         * modules/cosl: New file.
4084         * modules/expl: New file.
4085         * modules/logl: New file.
4086         * modules/sinl: New file.
4087         * modules/sqrtl: New file.
4088         * modules/tanl: New file.
4089         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
4090         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
4091         substitute GNULIB_MATHL.
4092         * modules/mathl: Rewritten.
4093         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
4094         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
4095         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
4096         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
4097         * doc/posix-functions/expl.texi: Mention the 'expl' module.
4098         * doc/posix-functions/logl.texi: Mention the 'logl' module.
4099         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
4100         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
4101         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
4102
4103 2010-01-18  Bruno Haible  <bruno@clisp.org>
4104
4105         sqrt: Make gl_FUNC_SQRT requirable.
4106         * m4/sqrt.m4: New file.
4107         * modules/sqrt (Files): Add it.
4108         (configure.ac): Invoke gl_FUNC_SQRT.
4109
4110 2010-01-18  Bruno Haible  <bruno@clisp.org>
4111
4112         New modules for common <math.h> functions.
4113         * m4/mathfunc.m4: New file.
4114         * modules/acos: New file.
4115         * modules/asin: New file.
4116         * modules/atan: New file.
4117         * modules/atan2: New file.
4118         * modules/cbrt: New file.
4119         * modules/copysign: New file.
4120         * modules/cos: New file.
4121         * modules/cosh: New file.
4122         * modules/erf: New file.
4123         * modules/erfc: New file.
4124         * modules/exp: New file.
4125         * modules/fabs: New file.
4126         * modules/fmod: New file.
4127         * modules/hypot: New file.
4128         * modules/j0: New file.
4129         * modules/j1: New file.
4130         * modules/jn: New file.
4131         * modules/ldexp: New file.
4132         * modules/lgamma: New file.
4133         * modules/log: New file.
4134         * modules/log10: New file.
4135         * modules/log1p: New file.
4136         * modules/logb: New file.
4137         * modules/modf: New file.
4138         * modules/nextafter: New file.
4139         * modules/pow: New file.
4140         * modules/remainder: New file.
4141         * modules/rint: New file.
4142         * modules/sin: New file.
4143         * modules/sinh: New file.
4144         * modules/sqrt: New file.
4145         * modules/tan: New file.
4146         * modules/tanh: New file.
4147         * modules/y0: New file.
4148         * modules/y1: New file.
4149         * modules/yn: New file.
4150         * doc/posix-functions/acos.texi: Mention the 'acos' module.
4151         * doc/posix-functions/asin.texi: Mention the 'asin' module.
4152         * doc/posix-functions/atan.texi: Mention the 'atan' module.
4153         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
4154         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
4155         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
4156         * doc/posix-functions/cos.texi: Mention the 'cos' module.
4157         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
4158         * doc/posix-functions/erf.texi: Mention the 'erf' module.
4159         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
4160         * doc/posix-functions/exp.texi: Mention the 'exp' module.
4161         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
4162         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
4163         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
4164         * doc/posix-functions/j0.texi: Mention the 'j0' module.
4165         * doc/posix-functions/j1.texi: Mention the 'j1' module.
4166         * doc/posix-functions/jn.texi: Mention the 'jn' module.
4167         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
4168         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
4169         * doc/posix-functions/log.texi: Mention the 'log' module.
4170         * doc/posix-functions/log10.texi: Mention the 'log10' module.
4171         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
4172         * doc/posix-functions/logb.texi: Mention the 'logb' module.
4173         * doc/posix-functions/modf.texi: Mention the 'modf' module.
4174         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
4175         * doc/posix-functions/pow.texi: Mention the 'pow' module.
4176         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
4177         * doc/posix-functions/rint.texi: Mention the 'rint' module.
4178         * doc/posix-functions/sin.texi: Mention the 'sin' module.
4179         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
4180         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
4181         * doc/posix-functions/tan.texi: Mention the 'tan' module.
4182         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
4183         * doc/posix-functions/y0.texi: Mention the 'y0' module.
4184         * doc/posix-functions/y1.texi: Mention the 'y1' module.
4185         * doc/posix-functions/yn.texi: Mention the 'yn' module.
4186
4187 2010-01-18  Jim Meyering  <meyering@redhat.com>
4188
4189         ignore-value: relax license to LGPLv2+
4190         * modules/ignore-value (License): Relax to LGPLv2+.
4191
4192         getdate: don't leak when TZ contains two or more '"'s
4193         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
4194         double quote in TZ after the first one.
4195
4196         readtokens: do not leak internal token_lengths buffer
4197         * lib/readtokens.c (readtokens): Free the local, lengths,
4198         when the supplied "token_lengths" parameter is NULL.
4199
4200 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4201
4202         Fix a couple of missing LIBTHREAD link failures on AIX.
4203         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
4204         $(LIBTHREAD).
4205         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
4206
4207         Link test-poll against INET_PTON_LIB.
4208         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4209         for inet_pton on Solaris 10.
4210
4211 2010-01-17  Bruno Haible  <bruno@clisp.org>
4212
4213         unistdio/*-sprintf: Fix typo in module description.
4214         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4215         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4216         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4217         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4218         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4219         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4220         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4221         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4222
4223 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4224
4225         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4226         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4227         variables in shell case patterns, for AIX and HP-UX ksh.
4228
4229         Split large sed scripts, for HP-UX sed.
4230         * modules/stdio: Split sed scripts around 50 sed commands,
4231         to avoid HP-UX limit of 99 commands, in the near future.
4232         * modules/string: Likewise.
4233         * modules/unistd: Likewise.
4234
4235         gnulib-tool: avoid writing in the current directory.
4236         * gnulib-tool (func_emit_lib_Makefile_am)
4237         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4238         not in the current directory, so concurrent gnulib-tool
4239         instances do not interfere.
4240
4241 2010-01-16  Jim Meyering  <meyering@redhat.com>
4242
4243         doc: update users.txt
4244         * users.txt: Add grep.
4245         (diffutils, gzip): Update URLs.
4246
4247 2010-01-12  Bruno Haible  <bruno@clisp.org>
4248
4249         posix_spawn: Avoid test failure on Cygwin.
4250         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4251         characters.
4252         Reported by Simon Josefsson.
4253
4254 2010-01-12  Bruno Haible  <bruno@clisp.org>
4255
4256         * tests/test-cond.c (main): When skipping the test, show the reason.
4257
4258 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4259
4260         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4261
4262 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4263
4264         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4265         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4266
4267 2010-01-12  Eric Blake  <ebb9@byu.net>
4268
4269         build: guarantee AS_VAR_IF
4270         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4271         (gl_AS_VAR_IF): Move...
4272         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4273         Reported by Simon Josefsson.
4274
4275 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4276
4277         * lib/stdio.in.h: Fix typo.
4278
4279 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4280
4281         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4282         libgpg-error.
4283
4284 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4285
4286         * tests/test-xalloc-die.sh: Use $EXEEXT.
4287
4288 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4289             Bruno Haible  <bruno@clisp.org>
4290
4291         getlogin, getlogin_r: Avoid test failure.
4292         * tests/test-getlogin.c: Include <stdio.h>.
4293         (main): Skip the test when the function fails because stdin is not a
4294         tty.
4295         * tests/test-getlogin_r.c: Include <stdio.h>.
4296         (main): Skip the test when the function fails because stdin is not a
4297         tty.
4298
4299 2010-01-11  Eric Blake  <ebb9@byu.net>
4300
4301         tests: avoid more large file warnings
4302         * tests/test-fflush.c: Avoid warning about ftell use.
4303         * tests/test-fseek.c: Avoid warning about fseek use.
4304
4305 2010-01-10  Bruno Haible  <bruno@clisp.org>
4306
4307         nproc: Work better on Linux when /proc and /sys are not mounted.
4308         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4309         as lower bound when, on glibc/Linux systems,
4310         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4311         Suggested by Pádraig Brady <P@draigbrady.com>.
4312         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4313
4314         nproc: Refactor.
4315         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4316         extracted from num_processors.
4317         (num_processors): Call it.
4318
4319 2010-01-11  Jim Meyering  <meyering@redhat.com>
4320
4321         utimecmp: avoid new warning from upcoming gcc-4.5.0
4322         * lib/utimecmp.c (BILLION): Define using #define rather than an
4323         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4324
4325 2010-01-11  Eric Blake  <ebb9@byu.net>
4326
4327         math: add portability warnings for classification macros
4328         * modules/math (Depends-on): Add warn-on-use.
4329         (Makefile.am): Provide new substitutions.
4330         * m4/math_h.m4 (gl_MATH_H): Require inline.
4331         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4332         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4333         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4334         implement warnings.
4335
4336         unistd: warn on use of environ without module
4337         * modules/unistd (Depends-on): Add warn-on-use.
4338         (Makefile.am): Provide new substitutions.
4339         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4340         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4341
4342         stdio: warn on suspicious uses
4343         * modules/stdio (Depends-on): Add warn-on-use.
4344         (Makefile.am): Provide new substitutions.
4345         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4346         fseeko.
4347         * lib/stdio.in.h (gets): Always warn on use.
4348         (fseek, ftell): Adjust when warnings are issued, and honor
4349         _GL_NO_LARGE_FILES as a way to silence the warning.
4350         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4351         any warning about large file offsets.
4352         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4353         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4354         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4355         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4356         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4357         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4358         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4359         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4360
4361         warn-on-use: new module
4362         * modules/warn-on-use: New file.
4363         * build-aux/warn-on-use.h: Likewise.
4364         * m4/warn-on-use.m4: Likewise.
4365         * MODULES.html.sh (Support for building): Mention it.
4366
4367 2010-01-10  Bruno Haible  <bruno@clisp.org>
4368
4369         Tests for module 'unistr/u32-strdup'.
4370         * modules/unistr/u32-strdup-tests: New file.
4371         * tests/unistr/test-u32-strdup.c: New file.
4372
4373         Tests for module 'unistr/u16-strdup'.
4374         * modules/unistr/u16-strdup-tests: New file.
4375         * tests/unistr/test-u16-strdup.c: New file.
4376
4377         Tests for module 'unistr/u8-strdup'.
4378         * modules/unistr/u8-strdup-tests: New file.
4379         * tests/unistr/test-u8-strdup.c: New file.
4380         * tests/unistr/test-strdup.h: New file.
4381
4382         Tests for module 'unistr/u32-strncmp'.
4383         * modules/unistr/u32-strncmp-tests: New file.
4384         * tests/unistr/test-u32-strncmp.c: New file.
4385
4386         Tests for module 'unistr/u16-strncmp'.
4387         * modules/unistr/u16-strncmp-tests: New file.
4388         * tests/unistr/test-u16-strncmp.c: New file.
4389
4390         Tests for module 'unistr/u8-strncmp'.
4391         * modules/unistr/u8-strncmp-tests: New file.
4392         * tests/unistr/test-u8-strncmp.c: New file.
4393         * tests/unistr/test-strncmp.h: New file.
4394
4395         Tests for module 'unistr/u32-strcoll'.
4396         * modules/unistr/u32-strcoll-tests: New file.
4397         * tests/unistr/test-u32-strcoll.c: New file.
4398
4399         Tests for module 'unistr/u16-strcoll'.
4400         * modules/unistr/u16-strcoll-tests: New file.
4401         * tests/unistr/test-u16-strcoll.c: New file.
4402
4403         Tests for module 'unistr/u8-strcoll'.
4404         * modules/unistr/u8-strcoll-tests: New file.
4405         * tests/unistr/test-u8-strcoll.c: New file.
4406
4407         Tests for module 'unistr/u32-strcmp'.
4408         * modules/unistr/u32-strcmp-tests: New file.
4409         * tests/unistr/test-u32-strcmp.c: New file.
4410         * tests/unistr/test-u32-strcmp.h: New file.
4411
4412         Tests for module 'unistr/u16-strcmp'.
4413         * modules/unistr/u16-strcmp-tests: New file.
4414         * tests/unistr/test-u16-strcmp.c: New file.
4415         * tests/unistr/test-u16-strcmp.h: New file.
4416
4417         Tests for module 'unistr/u8-strcmp'.
4418         * modules/unistr/u8-strcmp-tests: New file.
4419         * tests/unistr/test-u8-strcmp.c: New file.
4420         * tests/unistr/test-u8-strcmp.h: New file.
4421         * tests/unistr/test-strcmp.h: New file.
4422
4423         Tests for module 'unistr/u32-strncat'.
4424         * modules/unistr/u32-strncat-tests: New file.
4425         * tests/unistr/test-u32-strncat.c: New file.
4426
4427         Tests for module 'unistr/u16-strncat'.
4428         * modules/unistr/u16-strncat-tests: New file.
4429         * tests/unistr/test-u16-strncat.c: New file.
4430
4431         Tests for module 'unistr/u8-strncat'.
4432         * modules/unistr/u8-strncat-tests: New file.
4433         * tests/unistr/test-u8-strncat.c: New file.
4434         * tests/unistr/test-strncat.h: New file.
4435
4436         Tests for module 'unistr/u32-strcat'.
4437         * modules/unistr/u32-strcat-tests: New file.
4438         * tests/unistr/test-u32-strcat.c: New file.
4439
4440         Tests for module 'unistr/u16-strcat'.
4441         * modules/unistr/u16-strcat-tests: New file.
4442         * tests/unistr/test-u16-strcat.c: New file.
4443
4444         Tests for module 'unistr/u8-strcat'.
4445         * modules/unistr/u8-strcat-tests: New file.
4446         * tests/unistr/test-u8-strcat.c: New file.
4447         * tests/unistr/test-strcat.h: New file.
4448
4449         Tests for module 'unistr/u32-stpncpy'.
4450         * modules/unistr/u32-stpncpy-tests: New file.
4451         * tests/unistr/test-u32-stpncpy.c: New file.
4452
4453         Tests for module 'unistr/u16-stpncpy'.
4454         * modules/unistr/u16-stpncpy-tests: New file.
4455         * tests/unistr/test-u16-stpncpy.c: New file.
4456
4457         Tests for module 'unistr/u8-stpncpy'.
4458         * modules/unistr/u8-stpncpy-tests: New file.
4459         * tests/unistr/test-u8-stpncpy.c: New file.
4460         * tests/unistr/test-stpncpy.h: New file.
4461
4462         Tests for module 'unistr/u32-strncpy'.
4463         * modules/unistr/u32-strncpy-tests: New file.
4464         * tests/unistr/test-u32-strncpy.c: New file.
4465
4466         Tests for module 'unistr/u16-strncpy'.
4467         * modules/unistr/u16-strncpy-tests: New file.
4468         * tests/unistr/test-u16-strncpy.c: New file.
4469
4470         Tests for module 'unistr/u8-strncpy'.
4471         * modules/unistr/u8-strncpy-tests: New file.
4472         * tests/unistr/test-u8-strncpy.c: New file.
4473         * tests/unistr/test-strncpy.h: New file.
4474
4475         Tests for module 'unistr/u32-stpcpy'.
4476         * modules/unistr/u32-stpcpy-tests: New file.
4477         * tests/unistr/test-u32-stpcpy.c: New file.
4478
4479         Tests for module 'unistr/u16-stpcpy'.
4480         * modules/unistr/u16-stpcpy-tests: New file.
4481         * tests/unistr/test-u16-stpcpy.c: New file.
4482
4483         Tests for module 'unistr/u8-stpcpy'.
4484         * modules/unistr/u8-stpcpy-tests: New file.
4485         * tests/unistr/test-u8-stpcpy.c: New file.
4486         * tests/unistr/test-stpcpy.h: New file.
4487
4488         Tests for module 'unistr/u32-strcpy'.
4489         * modules/unistr/u32-strcpy-tests: New file.
4490         * tests/unistr/test-u32-strcpy.c: New file.
4491
4492         Tests for module 'unistr/u16-strcpy'.
4493         * modules/unistr/u16-strcpy-tests: New file.
4494         * tests/unistr/test-u16-strcpy.c: New file.
4495
4496         Tests for module 'unistr/u8-strcpy'.
4497         * modules/unistr/u8-strcpy-tests: New file.
4498         * tests/unistr/test-u8-strcpy.c: New file.
4499         * tests/unistr/test-strcpy.h: New file.
4500
4501         Tests for module 'unistr/u32-strnlen'.
4502         * modules/unistr/u32-strnlen-tests: New file.
4503         * tests/unistr/test-u32-strnlen.c: New file.
4504
4505         Tests for module 'unistr/u16-strnlen'.
4506         * modules/unistr/u16-strnlen-tests: New file.
4507         * tests/unistr/test-u16-strnlen.c: New file.
4508
4509         Tests for module 'unistr/u8-strnlen'.
4510         * modules/unistr/u8-strnlen-tests: New file.
4511         * tests/unistr/test-u8-strnlen.c: New file.
4512         * tests/unistr/test-strnlen.h: New file.
4513
4514         Tests for module 'unistr/u32-strlen'.
4515         * modules/unistr/u32-strlen-tests: New file.
4516         * tests/unistr/test-u32-strlen.c: New file.
4517
4518         Tests for module 'unistr/u16-strlen'.
4519         * modules/unistr/u16-strlen-tests: New file.
4520         * tests/unistr/test-u16-strlen.c: New file.
4521
4522         Tests for module 'unistr/u8-strlen'.
4523         * modules/unistr/u8-strlen-tests: New file.
4524         * tests/unistr/test-u8-strlen.c: New file.
4525
4526         Tests for module 'unistr/u32-prev'.
4527         * modules/unistr/u32-prev-tests: New file.
4528         * tests/unistr/test-u32-prev.c: New file.
4529
4530         Tests for module 'unistr/u16-prev'.
4531         * modules/unistr/u16-prev-tests: New file.
4532         * tests/unistr/test-u16-prev.c: New file.
4533
4534         Tests for module 'unistr/u8-prev'.
4535         * modules/unistr/u8-prev-tests: New file.
4536         * tests/unistr/test-u8-prev.c: New file.
4537
4538         Tests for module 'unistr/u32-next'.
4539         * modules/unistr/u32-next-tests: New file.
4540         * tests/unistr/test-u32-next.c: New file.
4541
4542         Tests for module 'unistr/u16-next'.
4543         * modules/unistr/u16-next-tests: New file.
4544         * tests/unistr/test-u16-next.c: New file.
4545
4546         Tests for module 'unistr/u8-next'.
4547         * modules/unistr/u8-next-tests: New file.
4548         * tests/unistr/test-u8-next.c: New file.
4549
4550         Tests for module 'unistr/u32-strmbtouc'.
4551         * modules/unistr/u32-strmbtouc-tests: New file.
4552         * tests/unistr/test-u32-strmbtouc.c: New file.
4553
4554         Tests for module 'unistr/u16-strmbtouc'.
4555         * modules/unistr/u16-strmbtouc-tests: New file.
4556         * tests/unistr/test-u16-strmbtouc.c: New file.
4557
4558         Tests for module 'unistr/u8-strmbtouc'.
4559         * modules/unistr/u8-strmbtouc-tests: New file.
4560         * tests/unistr/test-u8-strmbtouc.c: New file.
4561
4562         Tests for module 'unistr/u32-strmblen'.
4563         * modules/unistr/u32-strmblen-tests: New file.
4564         * tests/unistr/test-u32-strmblen.c: New file.
4565
4566         Tests for module 'unistr/u16-strmblen'.
4567         * modules/unistr/u16-strmblen-tests: New file.
4568         * tests/unistr/test-u16-strmblen.c: New file.
4569
4570         Tests for module 'unistr/u8-strmblen'.
4571         * modules/unistr/u8-strmblen-tests: New file.
4572         * tests/unistr/test-u8-strmblen.c: New file.
4573
4574         Tests for module 'unistr/u32-cpy-alloc'.
4575         * modules/unistr/u32-cpy-alloc-tests: New file.
4576         * tests/unistr/test-u32-cpy-alloc.c: New file.
4577
4578         Tests for module 'unistr/u16-cpy-alloc'.
4579         * modules/unistr/u16-cpy-alloc-tests: New file.
4580         * tests/unistr/test-u16-cpy-alloc.c: New file.
4581
4582         Tests for module 'unistr/u8-cpy-alloc'.
4583         * modules/unistr/u8-cpy-alloc-tests: New file.
4584         * tests/unistr/test-u8-cpy-alloc.c: New file.
4585         * tests/unistr/test-cpy-alloc.h: New file.
4586
4587         Tests for module 'unistr/u32-mbsnlen'.
4588         * modules/unistr/u32-mbsnlen-tests: New file.
4589         * tests/unistr/test-u32-mbsnlen.c: New file.
4590
4591         Tests for module 'unistr/u16-mbsnlen'.
4592         * modules/unistr/u16-mbsnlen-tests: New file.
4593         * tests/unistr/test-u16-mbsnlen.c: New file.
4594
4595         Tests for module 'unistr/u8-mbsnlen'.
4596         * modules/unistr/u8-mbsnlen-tests: New file.
4597         * tests/unistr/test-u8-mbsnlen.c: New file.
4598
4599         Tests for module 'unistr/u32-chr'.
4600         * modules/unistr/u32-chr-tests: New file.
4601         * tests/unistr/test-u32-chr.c: New file.
4602
4603         Tests for module 'unistr/u16-chr'.
4604         * modules/unistr/u16-chr-tests: New file.
4605         * tests/unistr/test-u16-chr.c: New file.
4606
4607         Tests for module 'unistr/u8-chr'.
4608         * modules/unistr/u8-chr-tests: New file.
4609         * tests/unistr/test-u8-chr.c: New file.
4610         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4611
4612         Tests for module 'unistr/u32-cmp2'.
4613         * modules/unistr/u32-cmp2-tests: New file.
4614         * tests/unistr/test-u32-cmp2.c: New file.
4615
4616         Tests for module 'unistr/u16-cmp2'.
4617         * modules/unistr/u16-cmp2-tests: New file.
4618         * tests/unistr/test-u16-cmp2.c: New file.
4619
4620         Tests for module 'unistr/u8-cmp2'.
4621         * modules/unistr/u8-cmp2-tests: New file.
4622         * tests/unistr/test-u8-cmp2.c: New file.
4623         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4624
4625         Tests for module 'unistr/u32-cmp'.
4626         * modules/unistr/u32-cmp-tests: New file.
4627         * tests/unistr/test-u32-cmp.c: New file.
4628
4629         Tests for module 'unistr/u16-cmp'.
4630         * modules/unistr/u16-cmp-tests: New file.
4631         * tests/unistr/test-u16-cmp.c: New file.
4632
4633         Tests for module 'unistr/u8-cmp'.
4634         * modules/unistr/u8-cmp-tests: New file.
4635         * tests/unistr/test-u8-cmp.c: New file.
4636         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4637
4638         Tests for module 'unistr/u32-set'.
4639         * modules/unistr/u32-set-tests: New file.
4640         * tests/unistr/test-u32-set.c: New file.
4641
4642         Tests for module 'unistr/u16-set'.
4643         * modules/unistr/u16-set-tests: New file.
4644         * tests/unistr/test-u16-set.c: New file.
4645
4646         Tests for module 'unistr/u8-set'.
4647         * modules/unistr/u8-set-tests: New file.
4648         * tests/unistr/test-u8-set.c: New file.
4649         * tests/unistr/test-set.h: New file.
4650
4651         Tests for module 'unistr/u32-move'.
4652         * modules/unistr/u32-move-tests: New file.
4653         * tests/unistr/test-u32-move.c: New file.
4654
4655         Tests for module 'unistr/u16-move'.
4656         * modules/unistr/u16-move-tests: New file.
4657         * tests/unistr/test-u16-move.c: New file.
4658
4659         Tests for module 'unistr/u8-move'.
4660         * modules/unistr/u8-move-tests: New file.
4661         * tests/unistr/test-u8-move.c: New file.
4662         * tests/unistr/test-move.h: New file.
4663
4664         Tests for module 'unistr/u32-cpy'.
4665         * modules/unistr/u32-cpy-tests: New file.
4666         * tests/unistr/test-u32-cpy.c: New file.
4667
4668         Tests for module 'unistr/u16-cpy'.
4669         * modules/unistr/u16-cpy-tests: New file.
4670         * tests/unistr/test-u16-cpy.c: New file.
4671
4672         Tests for module 'unistr/u8-cpy'.
4673         * modules/unistr/u8-cpy-tests: New file.
4674         * tests/unistr/test-u8-cpy.c: New file.
4675         * tests/unistr/test-cpy.h: New file.
4676
4677 2010-01-09  Bruno Haible  <bruno@clisp.org>
4678
4679         Tests for module 'unistr/u32-uctomb'.
4680         * modules/unistr/u32-uctomb-tests: New file.
4681         * tests/unistr/test-u32-uctomb.c: New file.
4682
4683         Tests for module 'unistr/u16-uctomb'.
4684         * modules/unistr/u16-uctomb-tests: New file.
4685         * tests/unistr/test-u16-uctomb.c: New file.
4686
4687         Tests for module 'unistr/u8-uctomb'.
4688         * modules/unistr/u8-uctomb-tests: New file.
4689         * tests/unistr/test-u8-uctomb.c: New file.
4690
4691         Tests for module 'unistr/u32-mbtoucr'.
4692         * modules/unistr/u32-mbtoucr-tests: New file.
4693         * tests/unistr/test-u32-mbtoucr.c: New file.
4694
4695         Tests for module 'unistr/u16-mbtoucr'.
4696         * modules/unistr/u16-mbtoucr-tests: New file.
4697         * tests/unistr/test-u16-mbtoucr.c: New file.
4698
4699         Tests for module 'unistr/u8-mbtoucr'.
4700         * modules/unistr/u8-mbtoucr-tests: New file.
4701         * tests/unistr/test-u8-mbtoucr.c: New file.
4702
4703         Tests for module 'unistr/u32-mbtouc'.
4704         * modules/unistr/u32-mbtouc-tests: New file.
4705         * tests/unistr/test-u32-mbtouc.c: New file.
4706
4707         Tests for module 'unistr/u16-mbtouc'.
4708         * modules/unistr/u16-mbtouc-tests: New file.
4709         * tests/unistr/test-u16-mbtouc.c: New file.
4710
4711         Tests for module 'unistr/u8-mbtouc'.
4712         * modules/unistr/u8-mbtouc-tests: New file.
4713         * tests/unistr/test-u8-mbtouc.c: New file.
4714
4715         Tests for module 'unistr/u32-mbtouc-unsafe'.
4716         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4717         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4718         * tests/unistr/test-u32-mbtouc.h: New file.
4719
4720         Tests for module 'unistr/u16-mbtouc-unsafe'.
4721         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4722         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4723         * tests/unistr/test-u16-mbtouc.h: New file.
4724
4725         Tests for module 'unistr/u8-mbtouc-unsafe'.
4726         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4727         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4728         * tests/unistr/test-u8-mbtouc.h: New file.
4729
4730         Tests for module 'unistr/u32-mblen'.
4731         * modules/unistr/u32-mblen-tests: New file.
4732         * tests/unistr/test-u32-mblen.c: New file.
4733
4734         Tests for module 'unistr/u16-mblen'.
4735         * modules/unistr/u16-mblen-tests: New file.
4736         * tests/unistr/test-u16-mblen.c: New file.
4737
4738         Tests for module 'unistr/u8-mblen'.
4739         * modules/unistr/u8-mblen-tests: New file.
4740         * tests/unistr/test-u8-mblen.c: New file.
4741
4742         Tests for module 'unistr/u32-to-u16'.
4743         * modules/unistr/u32-to-u16-tests: New file.
4744         * tests/unistr/test-u32-to-u16.c: New file.
4745
4746         Tests for module 'unistr/u32-to-u8'.
4747         * modules/unistr/u32-to-u8-tests: New file.
4748         * tests/unistr/test-u32-to-u8.c: New file.
4749
4750         Tests for module 'unistr/u16-to-u32'.
4751         * modules/unistr/u16-to-u32-tests: New file.
4752         * tests/unistr/test-u16-to-u32.c: New file.
4753
4754         Tests for module 'unistr/u16-to-u8'.
4755         * modules/unistr/u16-to-u8-tests: New file.
4756         * tests/unistr/test-u16-to-u8.c: New file.
4757
4758         Tests for module 'unistr/u8-to-u32'.
4759         * modules/unistr/u8-to-u32-tests: New file.
4760         * tests/unistr/test-u8-to-u32.c: New file.
4761
4762         Tests for module 'unistr/u8-to-u16'.
4763         * modules/unistr/u8-to-u16-tests: New file.
4764         * tests/unistr/test-u8-to-u16.c: New file.
4765
4766         Tests for module 'unistr/u32-check'.
4767         * modules/unistr/u32-check-tests: New file.
4768         * tests/unistr/test-u32-check.c: New file.
4769
4770         Tests for module 'unistr/u16-check'.
4771         * modules/unistr/u16-check-tests: New file.
4772         * tests/unistr/test-u16-check.c: New file.
4773
4774         Tests for module 'unistr/u8-check'.
4775         * modules/unistr/u8-check-tests: New file.
4776         * tests/unistr/test-u8-check.c: New file.
4777
4778         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4779         (category_equals): New function.
4780         (main): Add more tests.
4781         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4782
4783         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4784
4785 2010-01-10  Bruno Haible  <bruno@clisp.org>
4786
4787         unistr/u*-strcoll: Try harder to distinguish different strings.
4788         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4789         compare s1 and s2 to see if they are different.
4790
4791 2010-01-10  Bruno Haible  <bruno@clisp.org>
4792
4793         unistr/u*-stpncpy: Fix the return value.
4794         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4795         description of the return value consistent with stpncpy in glibc.
4796         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4797         written non-NUL unit.
4798
4799 2010-01-10  Bruno Haible  <bruno@clisp.org>
4800
4801         unistr/u*-next: Add missing dependencies.
4802         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4803         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4804         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4805
4806 2010-01-10  Bruno Haible  <bruno@clisp.org>
4807
4808         unistr/u8-mbsnlen: Fix return value for incomplete character.
4809         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4810         u8_mblen.
4811         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4812         Remove unistr/u8-mblen.
4813         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4814         u16_mblen.
4815         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4816         Remove unistr/u16-mblen.
4817
4818 2010-01-10  Bruno Haible  <bruno@clisp.org>
4819
4820         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4821         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4822         Reported by Brian Gough <bjg@gnu.org> and
4823         Chris Clayton <chris2553@googlemail.com> via
4824         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4825
4826 2010-01-09  Bruno Haible  <bruno@clisp.org>
4827
4828         unistr/u16-to-u32: Reject invalid input.
4829         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4830         u16_mbtouc.
4831         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4832         Remove unistr/u16-mbtouc.
4833
4834         unistr/u16-to-u8: Reject invalid input.
4835         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4836         u16_mbtouc.
4837         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4838         Remove unistr/u16-mbtouc.
4839
4840         unistr/u8-to-u32: Reject invalid input.
4841         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4842         u8_mbtouc.
4843         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4844         Remove unistr/u8-mbtouc.
4845
4846         unistr/u8-to-u16: Reject invalid input.
4847         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4848         u8_mbtouc.
4849         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4850         Remove unistr/u8-mbtouc.
4851
4852 2010-01-09  Bruno Haible  <bruno@clisp.org>
4853
4854         Tests for module 'getlogin'.
4855         * modules/getlogin-tests: New file.
4856         * tests/test-getlogin.c: New file.
4857
4858         New module 'getlogin'.
4859         * lib/unistd.in.h (getlogin): New declaration.
4860         * lib/getlogin.c: New file.
4861         * m4/getlogin.m4: New file.
4862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4863         HAVE_GETLOGIN.
4864         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4865         HAVE_GETLOGIN.
4866         * modules/getlogin: New file.
4867         * doc/posix-functions/getlogin.texi: Mention the new module.
4868         Reported by John W. Eaton <jwe@gnu.org>.
4869
4870 2010-01-09  Bruno Haible  <bruno@clisp.org>
4871
4872         getlogin_r: Support for native Windows.
4873         * lib/getlogin_r.c: Include <windows.h>
4874         (getlogin_r): Implement for native Windows.
4875         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4876         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4877         via John W. Eaton <jwe@gnu.org>.
4878
4879 2010-01-09  Bruno Haible  <bruno@clisp.org>
4880
4881         getlogin_r: Small fixes.
4882         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4883         succeeds.
4884         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4885         before testing whether getlogin_r is declared. No need to set
4886         HAVE_DECL_GETLOGIN_R to 1.
4887         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4888
4889 2010-01-09  Bruno Haible  <bruno@clisp.org>
4890
4891         * lib/unistd.in.h (getlogin_r): Add comment.
4892
4893 2010-01-09  Bruno Haible  <bruno@clisp.org>
4894
4895         Tests for module 'getlogin_r'.
4896         * modules/getlogin_r-tests: New file.
4897         * tests/test-getlogin_r.c: New file.
4898
4899 2010-01-09  Jim Meyering  <meyering@redhat.com>
4900
4901         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
4902         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
4903         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
4904
4905 2010-01-08  Simon Josefsson  <simon@josefsson.org>
4906
4907         * lib/dup2.c (rpl_dup2): Improve comment.
4908
4909 2010-01-08  Eric Blake  <ebb9@byu.net>
4910
4911         maint.mk: allow packages to add makefile @@ exceptions
4912         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
4913         (sc_makefile_check): Rename...
4914         (sc_makefile_at_at_check): ...to this, and use hook.
4915
4916         dup2: work around mingw bug
4917         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
4918         Reported by Simon Josefsson.
4919
4920 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
4921
4922         glob: Fix C++ compilation.
4923         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
4924         C++.
4925
4926 2010-01-07  Bruno Haible  <bruno@clisp.org>
4927
4928         Fix indentation of wctype.in.h, broken since 2007-01-06.
4929         * lib/wctype.in.h: Fix indentation of preprocessor directives.
4930
4931 2010-01-07  Bruno Haible  <bruno@clisp.org>
4932
4933         mbslen: Avoid collision with system function.
4934         * lib/string.in.h [MirBSD]: Include <wchar.h>.
4935         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
4936         * m4/mbslen.m4: New file.
4937         * modules/mbslen (Files): Add it.
4938         (configure.ac): Invoke gl_MBSLEN.
4939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
4940         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
4941         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
4942         via Ian Beckwith <ianb@erislabs.net>.
4943
4944 2010-01-07  Bruno Haible  <bruno@clisp.org>
4945
4946         dirent: Document the last fix.
4947         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
4948
4949 2010-01-07  Bruno Haible  <bruno@clisp.org>
4950
4951         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
4952         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
4953         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
4954         va_list are defined.
4955         * doc/posix-headers/stdio.texi: Document the bug of missing types.
4956         Reported by Eric Blake.
4957
4958 2010-01-07  Bruno Haible  <bruno@clisp.org>
4959
4960         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
4961         * modules/xlist (Depends-on): Add 'list',
4962         * modules/xoset (Depends-on): Add 'oset'.
4963         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4964
4965 2010-01-07  Bruno Haible  <bruno@clisp.org>
4966
4967         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
4968         * doc/posix-functions/strncasecmp.texi: Likewise.
4969
4970 2010-01-07  Bruno Haible  <bruno@clisp.org>
4971
4972         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
4973
4974 2010-01-07  John W. Eaton  <jwe@octave.org>
4975
4976         wctype: allow C++ use
4977         * lib/wctype.in.h: Add extern "C" block for C++.
4978
4979 2010-01-06  Eric Blake  <ebb9@byu.net>
4980
4981         maint.mk: detect incorrect GFDL usage
4982         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
4983
4984 2010-01-06  Jim Meyering  <meyering@redhat.com>
4985         and Eric Blake  <ebb9@byu.net>
4986
4987         maint.mk: ignore multi-line copyright in NEWS
4988         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
4989
4990 2010-01-06  Eric Blake  <ebb9@byu.net>
4991
4992         select: add missing dependency
4993         * modules/select-tests (Depends-on): Move sockets dependency...
4994         * modules/select (Depends-on): ...here.
4995         Reported by Ian Beckwith.
4996
4997         doc: regenerate INSTALL
4998         * doc/INSTALL: Reflect recent autoconf update.
4999         * doc/INSTALL.ISO: Likewise.
5000         * doc/INSTALL.UTF-8: Likewise.
5001
5002         pread: fix compilation on glibc
5003         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
5004         Reported by Ralf Wildenhues.
5005
5006         dirent: fix test failure
5007         * lib/dirent.in.h (includes): Guarantee ino_t.
5008         Reported by Ralf Wildenhues.
5009
5010 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
5011
5012         linkat, renameat: avoid bad free
5013         * lib/at-func2.c (at_func2): Fix typo.
5014         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
5015
5016 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5017
5018         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
5019         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
5020         to avoid failure of symlink test later.
5021
5022 2010-01-06  Eric Blake  <ebb9@byu.net>
5023
5024         stdio, unistd: guarantee ssize_t
5025         * lib/unistd.in.h (includes): Ensure that types required by POSIX
5026         2008 are exposed when needed.
5027         * lib/stdio.in.h (includes): Likewise.
5028         Reported by Ralf Wildenhues.
5029
5030 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
5031
5032         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
5033         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
5034         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
5035
5036 2010-01-06  Jim Meyering  <meyering@redhat.com>
5037
5038         readtokens: this module *does* require xalloc.h
5039         It uses only functions that were omitted by the old syntax-check rule.
5040         * lib/readtokens.c: Include "xalloc.h" once again.
5041         * modules/readtokens (Depends-on): Add xalloc.
5042         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
5043
5044 2010-01-05  Eric Blake  <ebb9@byu.net>
5045
5046         maint: support 'make announcement' from a VPATH build
5047         * top/maint.mk (announcement): Look for correct NEWS file.
5048
5049 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
5050
5051         utimens (fdutimens): ignore a negative FD, per contract
5052         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
5053         when we have a valid file descriptor.  Otherwise, using a brand
5054         new glibc (with just-patched futimens that now fails with EBADF)
5055         would cause this function to fail with ENOSYS.
5056         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
5057         See also http://bugzilla.redhat.com/552320.
5058
5059 2010-01-05  Eric Blake  <ebb9@byu.net>
5060
5061         strcase: document what it provides
5062         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
5063         gnulib module.
5064         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
5065         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
5066
5067 2010-01-05  Jim Meyering  <meyering@redhat.com>
5068
5069         maint: remove useless inclusions of "xalloc.h"
5070         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
5071         * lib/readtokens.c: Likewise.
5072         * lib/same.c: Likewise.
5073         * modules/getloadavg (Depends-on): Remove xalloc.
5074         * modules/readtokens: Likewise.
5075         * modules/same: Likewise.
5076
5077         maint.mk: include 4 more function names in alloca.h-checking regexp
5078         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
5079         regexp.  Before, we would give a false-positive (saying alloca.h
5080         is included unnecessarily) when the only uses involved omitted symbols.
5081
5082         xalloc.h: use consistent formatting
5083         * lib/xalloc.h: Move declarations to start in the first column.
5084
5085 2010-01-05  Eric Blake  <ebb9@byu.net>
5086
5087         mkdir: avoid xalloc
5088         * lib/mkdir.c (includes): Drop unused header.
5089         Reported by John W. Eaton.
5090
5091 2010-01-04  Jim Meyering  <meyering@redhat.com>
5092
5093         nl_langinfo: avoid configure-time syntax error
5094         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
5095         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
5096         the empty string.  Don't let that provoke a shell syntax error.
5097
5098         regcomp, regexec, fnmatch: avoid array bounds read error
5099         * lib/regcomp.c (build_equiv_class): From glibc:
5100         Use only the low 24 bits of a findidx return value as an index
5101         into the weights array.  Patch by Ulrich Drepper:
5102         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
5103         * lib/regexec.c (check_node_accept_bytes): Likewise.
5104         * lib/fnmatch_loop.c (FCT): Likewise.
5105
5106         regcomp: skip collseq lookup when there are no rules
5107         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
5108         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
5109
5110         regcomp: recognize ill-formed { } expressions
5111         * lib/regcomp.c (parse_dup_op): From glibc:
5112         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
5113
5114         regcomp: fix typo in comment
5115         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
5116         s/satisfy/satisfies/.
5117
5118         regcomp: sync from glibc: remove dead store
5119         * lib/regcomp.c (duplicate_node_closure): Remove useless
5120         search_duplicated_node call and dead store.
5121
5122         regcomp: sync from glibc; always use nl_langinfo
5123         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
5124         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
5125         * modules/regex (Depends-on): Add nl_langinfo.
5126
5127 2010-01-04  Eric Blake  <ebb9@byu.net>
5128
5129         fdopendir: fix configure test
5130         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
5131
5132 2010-01-01  Bruno Haible  <bruno@clisp.org>
5133
5134         wchar: Remove unused configure check.
5135         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
5136
5137 2010-01-01  Eric Blake  <ebb9@byu.net>
5138
5139         headers: make check of system header explicit
5140         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
5141         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
5142         ourselves.
5143         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5144         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5145         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5146         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
5147         internals.
5148         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
5149         missing.
5150         Suggested by Bruno Haible.
5151
5152 2010-01-01  Jim Meyering  <meyering@redhat.com>
5153
5154         ChangeLog: tweak to eliminate unnecessary copyright line
5155         * ChangeLog: Remove a copyright line that was mistakenly updated
5156         by today's update-copyright run.  Reported by Eric Blake.
5157
5158         test-update-copyright: don't let envvar setting cause test failure
5159         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5160
5161 2010-01-01  Bruno Haible  <bruno@clisp.org>
5162
5163         localename: Avoid gcc warning.
5164         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
5165         function if it is not used.
5166
5167 2010-01-01  Jim Meyering  <meyering@redhat.com>
5168
5169         update nearly all FSF copyright year lists to include 2010
5170         Use the same procedure as for 2009, outlined in
5171         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
5172
5173         version-etc: set COPYRIGHT_YEAR to 2010
5174         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
5175
5176 2009-12-31  Eric Blake  <ebb9@byu.net>
5177
5178         doc: correct availability of cygwin 1.5.x getopt
5179         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
5180         variables.
5181         * doc/posix-functions/opterr.texi (opterr): Likewise.
5182         * doc/posix-functions/optind.texi (optind): Likewise.
5183         * doc/posix-functions/optopt.texi (optopt): Likewise.
5184         * doc/posix-functions/tzname.texi (tzname): Likewise.
5185
5186         openat: update maintainer
5187         * modules/openat (Maintainer): Add myself.
5188
5189         utimens: avoid shadowing warning
5190         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
5191         buffers into one, to avoid shadowing, as well as avoiding a
5192         redundant stat.
5193         Reported by Jim Meyering.
5194
5195         test-dup2: avoid compiler warning
5196         * tests/test-dup2.c (is_inheritable): Only define if used.
5197
5198 2010-01-01  Bruno Haible  <bruno@clisp.org>
5199
5200         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
5201         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
5202         defined, use wctomb instead of wcrtomb.
5203
5204 2010-01-01  Bruno Haible  <bruno@clisp.org>
5205
5206         iconv: Reject native Solaris iconv.
5207         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
5208         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5209
5210 2009-12-31  Bruno Haible  <bruno@clisp.org>
5211
5212         * tests/test-signal.c (main): Remove test of 'SIG'.
5213
5214 2009-12-31  Bruno Haible  <bruno@clisp.org>
5215
5216         spawn: Fix incomplete fix.
5217         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5218         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5219         warnings for GNULIB_POSIXCHECK again.
5220         Reported by Eric Blake.
5221
5222 2009-12-31  Bruno Haible  <bruno@clisp.org>
5223
5224         Avoid namespace pollution on glibc systems.
5225         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5226         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5227         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5228         glibc systems.
5229
5230 2009-12-31  Bruno Haible  <bruno@clisp.org>
5231
5232         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5233         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5234         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5235         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5236         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5237         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5238         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5239
5240 2009-12-31  Bruno Haible  <bruno@clisp.org>
5241
5242         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5243         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5244         afterwards.
5245
5246 2009-12-31  Bruno Haible  <bruno@clisp.org>
5247
5248         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5249         SYS_UTSNAME_H.
5250
5251 2009-12-31  Bruno Haible  <bruno@clisp.org>
5252
5253         spawn: Fix misapplied patch.
5254         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5255         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5256         warnings for GNULIB_POSIXCHECK.
5257
5258 2009-12-31  Bruno Haible  <bruno@clisp.org>
5259
5260         times: Update after sys_times changed.
5261         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5262         * modules/times (Files): Add it.
5263         (configure.ac): Invoke gl_FUNC_TIMES.
5264
5265 2009-12-31  Bruno Haible  <bruno@clisp.org>
5266
5267         Use AC_C_INLINE where necessary.
5268         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5269         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5270         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5271         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5272         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5273         * m4/mbiter.m4 (gl_MBITER): Likewise.
5274         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5275         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5276         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5277         * modules/u64 (configure.ac): Likewise.
5278
5279 2009-12-31  Bruno Haible  <bruno@clisp.org>
5280
5281         Use AC_C_INLINE instead of module 'inline' where possible.
5282         * modules/inline (Description): Clarify purpose.
5283         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5284         * modules/count-one-bits (Depends-on): Remove inline.
5285         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5286         * modules/openat (Depends-on): Remove inline.
5287         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5288         instead of depending on module 'inline'.
5289         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5290         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5291         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5292         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5293         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5294         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5295         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5296         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5297         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5298         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5299         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5300         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5301         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5302         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5303         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5304         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5305         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5306         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5307         Likewise.
5308         * modules/unictype/property-ascii-hex-digit (Depends-on,
5309         configure.ac): Likewise.
5310         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5311         configure.ac): Likewise.
5312         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5313         configure.ac): Likewise.
5314         * modules/unictype/property-bidi-block-separator (Depends-on,
5315         configure.ac): Likewise.
5316         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5317         configure.ac): Likewise.
5318         * modules/unictype/property-bidi-common-separator (Depends-on,
5319         configure.ac): Likewise.
5320         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5321         Likewise.
5322         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5323         configure.ac): Likewise.
5324         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5325         configure.ac): Likewise.
5326         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5327         configure.ac): Likewise.
5328         * modules/unictype/property-bidi-european-digit (Depends-on,
5329         configure.ac): Likewise.
5330         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5331         configure.ac): Likewise.
5332         * modules/unictype/property-bidi-left-to-right (Depends-on,
5333         configure.ac): Likewise.
5334         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5335         configure.ac): Likewise.
5336         * modules/unictype/property-bidi-other-neutral (Depends-on,
5337         configure.ac): Likewise.
5338         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5339         Likewise.
5340         * modules/unictype/property-bidi-segment-separator (Depends-on,
5341         configure.ac): Likewise.
5342         * modules/unictype/property-bidi-whitespace (Depends-on,
5343         configure.ac): Likewise.
5344         * modules/unictype/property-combining (Depends-on, configure.ac):
5345         Likewise.
5346         * modules/unictype/property-composite (Depends-on, configure.ac):
5347         Likewise.
5348         * modules/unictype/property-currency-symbol (Depends-on,
5349         configure.ac): Likewise.
5350         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5351         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5352         Likewise.
5353         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5354         configure.ac): Likewise.
5355         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5356         Likewise.
5357         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5358         Likewise.
5359         * modules/unictype/property-extender (Depends-on, configure.ac):
5360         Likewise.
5361         * modules/unictype/property-format-control (Depends-on, configure.ac):
5362         Likewise.
5363         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5364         Likewise.
5365         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5366         Likewise.
5367         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5368         Likewise.
5369         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5370         Likewise.
5371         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5372         Likewise.
5373         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5374         Likewise.
5375         * modules/unictype/property-id-start (Depends-on, configure.ac):
5376         Likewise.
5377         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5378         Likewise.
5379         * modules/unictype/property-ids-binary-operator (Depends-on,
5380         configure.ac): Likewise.
5381         * modules/unictype/property-ids-trinary-operator (Depends-on,
5382         configure.ac): Likewise.
5383         * modules/unictype/property-ignorable-control (Depends-on,
5384         configure.ac): Likewise.
5385         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5386         Likewise.
5387         * modules/unictype/property-join-control (Depends-on, configure.ac):
5388         Likewise.
5389         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5390         Likewise.
5391         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5392         Likewise.
5393         * modules/unictype/property-logical-order-exception (Depends-on,
5394         configure.ac): Likewise.
5395         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5396         Likewise.
5397         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5398         * modules/unictype/property-non-break (Depends-on, configure.ac):
5399         Likewise.
5400         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5401         Likewise.
5402         * modules/unictype/property-numeric (Depends-on, configure.ac):
5403         Likewise.
5404         * modules/unictype/property-other-alphabetic (Depends-on,
5405         configure.ac): Likewise.
5406         * modules/unictype/property-other-default-ignorable-code-point
5407         (Depends-on, configure.ac): Likewise.
5408         * modules/unictype/property-other-grapheme-extend (Depends-on,
5409         configure.ac): Likewise.
5410         * modules/unictype/property-other-id-continue (Depends-on,
5411         configure.ac): Likewise.
5412         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5413         Likewise.
5414         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5415         Likewise.
5416         * modules/unictype/property-other-math (Depends-on, configure.ac):
5417         Likewise.
5418         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
5419         Likewise.
5420         * modules/unictype/property-paired-punctuation (Depends-on,
5421         configure.ac): Likewise.
5422         * modules/unictype/property-paragraph-separator (Depends-on,
5423         configure.ac): Likewise.
5424         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
5425         Likewise.
5426         * modules/unictype/property-pattern-white-space (Depends-on,
5427         configure.ac): Likewise.
5428         * modules/unictype/property-private-use (Depends-on, configure.ac):
5429         Likewise.
5430         * modules/unictype/property-punctuation (Depends-on, configure.ac):
5431         Likewise.
5432         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
5433         Likewise.
5434         * modules/unictype/property-radical (Depends-on, configure.ac):
5435         Likewise.
5436         * modules/unictype/property-sentence-terminal (Depends-on,
5437         configure.ac): Likewise.
5438         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
5439         Likewise.
5440         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
5441         * modules/unictype/property-terminal-punctuation (Depends-on,
5442         configure.ac): Likewise.
5443         * modules/unictype/property-titlecase (Depends-on, configure.ac):
5444         Likewise.
5445         * modules/unictype/property-unassigned-code-value (Depends-on,
5446         configure.ac): Likewise.
5447         * modules/unictype/property-unified-ideograph (Depends-on,
5448         configure.ac): Likewise.
5449         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5450         Likewise.
5451         * modules/unictype/property-variation-selector (Depends-on,
5452         configure.ac): Likewise.
5453         * modules/unictype/property-white-space (Depends-on, configure.ac):
5454         Likewise.
5455         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5456         Likewise.
5457         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5458         Likewise.
5459         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5460         Likewise.
5461         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5462         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5463         Likewise.
5464
5465 2009-12-31  Bruno Haible  <bruno@clisp.org>
5466
5467         Remove unnecessary AC_C_INLINE invocation.
5468         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5469         since 2009-08-21.
5470
5471 2009-12-31  Jim Meyering  <meyering@redhat.com>
5472
5473         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5474         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5475         With this change, we can all remove the gpg_key_ID = ... definition
5476         from our respective cfg.mk files.
5477
5478         maint.mk: create announcement template in ~/, not in /tmp
5479         * top/maint.mk (emit_upload_commands): Adjust.
5480         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5481         Remove temporary file, .ci-msg.
5482
5483 2009-12-31  Eric Blake  <ebb9@byu.net>
5484
5485         link-warning: always build headers with link warnings
5486         * modules/arpa_inet (Makefile.am): Always build replacement
5487         header.
5488         * modules/ctype (Makefile.am): Likewise.
5489         * modules/dirent (Makefile.am): Likewise.
5490         * modules/inttypes (Makefile.am): Likewise.
5491         * modules/langinfo (Makefile.am): Likewise.
5492         * modules/locale (Makefile.am): Likewise.
5493         * modules/spawn (Makefile.am): Likewise.
5494         * modules/sys_file (Makefile.am): Likewise.
5495         * modules/sys_ioctl (Makefile.am): Likewise.
5496         * modules/sys_select (Makefile.am): Likewise.
5497         * modules/sys_socket (Makefile.am): Likewise.
5498         * modules/sys_times (Makefile.am): Likewise.
5499         * modules/sys_utsname (Makefile.am): Likewise.
5500         * modules/sys_wait (Makefile.am): Likewise.
5501         * modules/wchar (Makefile.am): Likewise.
5502         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5503         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5504         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5505         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5506         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5507         Likewise.
5508         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5509         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5510         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5511         Likewise.
5512         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5513         Likewise.
5514         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5515         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5516         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5517         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5518         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5519         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5520         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5521         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5522         (gl_WCHAR_H_DEFAULTS): Likewise.
5523
5524 2009-12-31  Eric Blake  <ebb9@byu.net>
5525
5526         signal, spawn: use link warnings
5527         * lib/signal.in.h (sigset_t): Make unconditional.
5528         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5529         (sigpending, sigprocmask, sigaction): Add link warnings.
5530         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5531         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5532         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5533         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5534         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5535         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5536         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5537         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5538         (posix_spawn_file_actions_destroy)
5539         (posix_spawn_file_actions_addopen)
5540         (posix_spawn_file_actions_addclose)
5541         (posix_spawn_file_actions_adddup2): Likewise.
5542         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5543         * tests/test-signal.c (main): Enhance test.
5544
5545         spawn: improve wrapper support
5546         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5547         (gl_SPAWN_H_DEFAULTS): New defaults.
5548         * modules/spawn (Makefile.am): Substitute them.
5549         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5550         Only declare if missing or broken.
5551
5552         sys_times, sys_utsname: use include_next
5553         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5554         header.
5555         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5556         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5557         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5558         * modules/sys_times (Depends-on): Add include_next.
5559         (Makefile.am): Substitute additional values.
5560         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5561         * lib/sys_times.in.h (includes): Include native header, if
5562         available.
5563         * lib/sys_utsname.in.h (includes): Likewise.
5564         * tests/test-sys_times.c (main): Enhance test.
5565
5566         fdutimensat: revert prior patch
5567         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5568         utimens.h.
5569         Reported by Bruno Haible.
5570
5571 2009-12-30  Eric Blake  <ebb9@byu.net>
5572
5573         sys_wait: drop link-warning dependency
5574         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5575         link-warning efforts.
5576         * lib/sys_wait.in.h: Likewise.
5577
5578         fdutimensat: remove bogus dependency
5579         * modules/fdutimensat (Depends-on): Drop inline.
5580
5581         unistd: fix typo
5582         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5583
5584 2009-12-30  Bruno Haible  <bruno@clisp.org>
5585
5586         Fix compilation error with Solaris cc.
5587         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5588         * lib/unicase/u16-is-invariant.c: Likewise.
5589         * lib/unicase/u32-is-invariant.c: Likewise.
5590         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5591
5592 2009-12-30  Bruno Haible  <bruno@clisp.org>
5593
5594         Fix test crash.
5595         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5596         locales.
5597         Reported by Simon Josefsson <simon@josefsson.org>.
5598
5599 2009-12-30  Bruno Haible  <bruno@clisp.org>
5600
5601         Fix compilation error on most platforms.
5602         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5603         Reported by Simon Josefsson <simon@josefsson.org>
5604         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5605
5606 2009-12-30  Eric Blake  <ebb9@byu.net>
5607
5608         futimens, utimensat: work around ntfs-3g bug
5609         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5610         a ctime bug is present, and expand workaround to cover ntfs-3g.
5611         * lib/utimens.c (fdutimens, lutimens): Likewise.
5612         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5613         (validate_timespec): Adjust return value.
5614         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5615         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5616         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5617
5618 2009-12-29  Eric Blake  <ebb9@byu.net>
5619
5620         link-warning: make usage consistent
5621         * modules/ctype (Depends-on): Add link-warning.
5622         (Makefile.am): Update rules accordingly.
5623         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5624         * modules/locale (Depends-on, Makefile.am): Likewise.
5625         * modules/sys_file (Makefile.am): Likewise.
5626         * modules/getopt-posix (Makefile.am): Delete unused link warning
5627         efforts.
5628         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5629         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5630         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5631         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5632
5633         stdio: remove unused variables
5634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5635         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5636         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5637
5638         tests: test more substitute headers
5639         * modules/ctype-tests: New file.
5640         * modules/dirent-tests: Likewise.
5641         * modules/spawn-tests: Likewise.
5642         * modules/sys_file-tests: Likewise.
5643         * modules/sys_ioctl-tests: Likewise.
5644         * modules/sys_wait-tests: Likewise.
5645         * tests/test-ctype.c: Likewise.
5646         * tests/test-dirent.c: Likewise.
5647         * tests/test-spawn.c: Likewise.
5648         * tests/test-sys_file.c: Likewise.
5649         * tests/test-sys_ioctl.c: Likewise.
5650         * tests/test-sys_wait.c: Likewise.
5651         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5652         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5653         whether or not flock is in use.
5654
5655         tests: remove License section from module
5656         * modules/arpa_inet-tests: Remove unneeded section.
5657         * modules/byteswap-tests: Likewise.
5658         * modules/ceilf-tests: Likewise.
5659         * modules/ceill-tests: Likewise.
5660         * modules/crypto/des-tests: Likewise.
5661         * modules/crypto/gc-arcfour-tests: Likewise.
5662         * modules/crypto/gc-arctwo-tests: Likewise.
5663         * modules/crypto/gc-des-tests: Likewise.
5664         * modules/crypto/gc-hmac-md5-tests: Likewise.
5665         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5666         * modules/crypto/gc-md2-tests: Likewise.
5667         * modules/crypto/gc-md4-tests: Likewise.
5668         * modules/crypto/gc-md5-tests: Likewise.
5669         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5670         * modules/crypto/gc-rijndael-tests: Likewise.
5671         * modules/crypto/gc-sha1-tests: Likewise.
5672         * modules/crypto/gc-tests: Likewise.
5673         * modules/crypto/md2-tests: Likewise.
5674         * modules/crypto/md4-tests: Likewise.
5675         * modules/fcntl-h-tests: Likewise.
5676         * modules/floorf-tests: Likewise.
5677         * modules/floorl-tests: Likewise.
5678         * modules/frexp-nolibm-tests: Likewise.
5679         * modules/frexp-tests: Likewise.
5680         * modules/frexpl-nolibm-tests: Likewise.
5681         * modules/frexpl-tests: Likewise.
5682         * modules/getaddrinfo-tests: Likewise.
5683         * modules/inttypes-tests: Likewise.
5684         * modules/isfinite-tests: Likewise.
5685         * modules/isinf-tests: Likewise.
5686         * modules/ldexpl-tests: Likewise.
5687         * modules/locale-tests: Likewise.
5688         * modules/math-tests: Likewise.
5689         * modules/netdb-tests: Likewise.
5690         * modules/netinet_in-tests: Likewise.
5691         * modules/printf-frexp-tests: Likewise.
5692         * modules/printf-frexpl-tests: Likewise.
5693         * modules/priv-set-tests: Likewise.
5694         * modules/random_r-tests: Likewise.
5695         * modules/round-tests: Likewise.
5696         * modules/roundf-tests: Likewise.
5697         * modules/roundl-tests: Likewise.
5698         * modules/search-tests: Likewise.
5699         * modules/select-tests: Likewise.
5700         * modules/signal-tests: Likewise.
5701         * modules/stdbool-tests: Likewise.
5702         * modules/stddef-tests: Likewise.
5703         * modules/stdint-tests: Likewise.
5704         * modules/stdio-tests: Likewise.
5705         * modules/stdlib-tests: Likewise.
5706         * modules/string-tests: Likewise.
5707         * modules/strings-tests: Likewise.
5708         * modules/sys_select-tests: Likewise.
5709         * modules/sys_socket-tests: Likewise.
5710         * modules/sys_stat-tests: Likewise.
5711         * modules/sys_time-tests: Likewise.
5712         * modules/sys_utsname-tests: Likewise.
5713         * modules/sysexits-tests: Likewise.
5714         * modules/time-tests: Likewise.
5715         * modules/trunc-tests: Likewise.
5716         * modules/truncf-tests: Likewise.
5717         * modules/truncl-tests: Likewise.
5718         * modules/tsearch-tests: Likewise.
5719         * modules/unistd-tests: Likewise.
5720         * modules/wchar-tests: Likewise.
5721         * modules/wctype-tests: Likewise.
5722
5723         tests: fix license on several tests
5724         * tests/test-des.c: Update to GPLv3+.
5725         * tests/test-flock.c: Likewise.
5726         * tests/test-fsync.c: Likewise.
5727         * tests/test-futimens.h: Likewise.
5728         * tests/test-gc-arcfour.c: Likewise.
5729         * tests/test-gc-arctwo.c: Likewise.
5730         * tests/test-gc-des.c: Likewise.
5731         * tests/test-gc-hmac-md5.c: Likewise.
5732         * tests/test-gc-hmac-sha1.c: Likewise.
5733         * tests/test-gc-md2.c: Likewise.
5734         * tests/test-gc-md4.c: Likewise.
5735         * tests/test-gc-md5.c: Likewise.
5736         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5737         * tests/test-gc-rijndael.c: Likewise.
5738         * tests/test-gc-sha1.c: Likewise.
5739         * tests/test-gc.c: Likewise.
5740         * tests/test-getcwd.c: Likewise.
5741         * tests/test-link.c: Likewise.
5742         * tests/test-link.h: Likewise.
5743         * tests/test-lutimens.h: Likewise.
5744         * tests/test-md2.c: Likewise.
5745         * tests/test-md4.c: Likewise.
5746         * tests/test-mkdir.h: Likewise.
5747         * tests/test-rename.c: Likewise.
5748         * tests/test-rename.h: Likewise.
5749         * tests/test-safe-alloc.c: Likewise.
5750         * tests/test-utimens-common.h: Likewise.
5751         * tests/test-utimens.h: Likewise.
5752
5753         maint: sync license texts
5754         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5755         * doc/gpl-3.0.texi: Revert copyright year update.
5756         * doc/lgpl-3.0.texi: Likewise.
5757
5758 2009-12-29  Jim Meyering  <meyering@redhat.com>
5759
5760         update nearly all FSF copyright year lists to include 2009
5761         The files named by the following are exempted:
5762             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5763               test -f "$dst" && { echo "$dst"; continue; }
5764               test -d "$dst" || continue
5765               echo "$dst"/$(basename "$src")
5766             done > exempt
5767             git ls-files tests/unictype >> exempt
5768         In the remaining files, convert to all-interval notation if
5769         - there is already at least one year interval like 2000-2003
5770         - the file is maintained by me
5771         - the file is in lib/uni*/, where that style already prevails
5772         Otherwise, use update-copyright's default.
5773
5774 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5775         and Eric Blake  <ebb9@byu.net>
5776
5777         tests: don't require debug system() to pass
5778         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5779         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5780         * tests/test-unlink.h (test_unlink_func): Likewise.
5781         * tests/test-fstatat.c (main): ...into callers.
5782         * tests/test-lstat.c (main): Likewise.
5783         * tests/test-rmdir.c (main): Likewise.
5784         * tests/test-unlink.c (main): Likewise.
5785         * tests/test-unlinkat.c (main): Likewise.
5786         * tests/test-areadlink-with-size.c (main): Don't require a
5787         debug-only system call to pass, aiding cross-testing to mingw.
5788         * tests/test-areadlink.c (main): Likewise.
5789         * tests/test-areadlinkat-with-size.c (main): Likewise.
5790         * tests/test-areadlinkat.c (main): Likewise.
5791         * tests/test-canonicalize-lgpl.c (main): Likewise.
5792         * tests/test-canonicalize.c (main): Likewise.
5793         * tests/test-chown.c (main): Likewise.
5794         * tests/test-fchownat.c (main): Likewise.
5795         * tests/test-lchown.c (main): Likewise.
5796         * tests/test-fdutimensat.c (main): Likewise.
5797         * tests/test-futimens.c (main): Likewise.
5798         * tests/test-link.c (main): Likewise.
5799         * tests/test-linkat.c (main): Likewise.
5800         * tests/test-mkdir.c (main): Likewise.
5801         * tests/test-mkdirat.c (main): Likewise.
5802         * tests/test-mkfifo.c (main): Likewise.
5803         * tests/test-mkfifoat.c (main): Likewise.
5804         * tests/test-mknod.c (main): Likewise.
5805         * tests/test-readlink.c (main): Likewise.
5806         * tests/test-remove.c (main): Likewise.
5807         * tests/test-rename.c (main): Likewise.
5808         * tests/test-renameat.c (main): Likewise.
5809         * tests/test-symlink.c (main): Likewise.
5810         * tests/test-symlinkat.c (main): Likewise.
5811         * tests/test-utimens.c (main): Likewise.
5812         * tests/test-utimensat.c (main): Likewise.
5813
5814 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5815
5816         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5817         on $(UNUSED_PARAMETER_H) to avoid build failure.
5818
5819 2009-12-28  Jim Meyering  <meyering@redhat.com>
5820
5821         update-copyright: you may specify a max. line length other than 72
5822         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5823
5824         maint: use consistent FSF copyright line syntax
5825         * lib/posixtm.c: Add missing comma in FSF copyright line.
5826         * lib/posixtm.h: Likewise.
5827         * lib/getugroups.c: Add missing ", Inc.".
5828
5829         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5830         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5831         FSF copyright line.  Remove trailing blanks.
5832
5833 2009-12-28  Eric Blake  <ebb9@byu.net>
5834
5835         test-dup2: reduce dependencies
5836         * modules/cloexec (Configure.ac): Set witness.
5837         * modules/dup2-tests (Depends-on): Drop cloexec.
5838         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5839         not present.
5840         Suggested by Bruno Haible.
5841
5842 2009-12-26  Bruno Haible  <bruno@clisp.org>
5843
5844         Remove an unneeded dependency.
5845         * modules/fseterr (Depends-on): Remove dup2.
5846
5847 2009-12-26  Eric Blake  <ebb9@byu.net>
5848
5849         tests: use macros.h in more places
5850         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5851         (ASSERT_STREAM): Provide default of stderr.
5852         * tests/test-dirent-safer.c: Include macros.h, using alternate
5853         stream for assertions.
5854         * tests/test-dup-safer.c: Likewise.
5855         * tests/test-freopen-safer.c: Likewise.
5856         * tests/test-getopt.c: Likewise.
5857         * tests/test-openat-safer.c: Likewise.
5858         * tests/test-pipe.c: Likewise.
5859         * tests/test-popen-safer.c: Likewise.
5860         * modules/dirent-safer-tests (Files): Include macros.h.
5861         * modules/unistd-safer-tests (Files): Likewise.
5862         * modules/freopen-safer-tests (Files): Likewise.
5863         * modules/getopt-posix-tests (Files): Likewise.
5864         * modules/openat-safer-tests (Files): Likewise.
5865         * modules/pipe-tests (Files): Likewise.
5866
5867 2009-12-26  Bruno Haible  <bruno@clisp.org>
5868
5869         javacomp: Portability fix.
5870         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5871         that it also works on Solaris.
5872
5873 2009-12-26  Bruno Haible  <bruno@clisp.org>
5874
5875         localename: Fix storage allocation of gl_locale_name_thread's result.
5876         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5877         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5878         all platforms that have 'uselocale'.
5879         (gl_locale_name_thread_unsafe): New function, extracted from
5880         gl_locale_name_thread.
5881         (gl_locale_name_thread): Call struniq on all platforms that have
5882         'uselocale'.
5883         * tests/test-localename.c (test_locale_name_thread): Check that the
5884         resulting strings are permanently allocated.
5885         * modules/localename-tests (Depends-on): Add strdup.
5886
5887 2009-12-26  Bruno Haible  <bruno@clisp.org>
5888
5889         * tests/test-localename.c (categories): Fill in the strings.
5890
5891 2009-12-26  Jim Meyering  <meyering@redhat.com>
5892
5893         isdir: complete the removal of m4/isdir.m4
5894         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5895
5896         isdir: clean up, since at least grep still uses it
5897         * lib/isdir.c: Include "isdir.h".
5898         (S_ISDIR): Remove now-unneeded definition.
5899         * modules/isdir (Files): Add lib/isdir.h.
5900         * lib/isdir.h: New file, with declaration.
5901         * m4/isdir.m4: Remove file -- unneeded.
5902
5903 2009-12-25  Bruno Haible  <bruno@clisp.org>
5904
5905         selinux-h: Make generated .h files standalone.
5906         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
5907         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
5908         * lib/se-selinux.in.h: Likewise.
5909         * modules/selinux-h (Depends-on): Add unused-parameter.
5910         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
5911         selinux/selinux.h and selinux/context.h.
5912         Suggested by Eric Blake.
5913
5914 2009-12-25  Bruno Haible  <bruno@clisp.org>
5915
5916         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
5917         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
5918         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
5919         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
5920         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
5921
5922 2009-12-24  Bruno Haible  <bruno@clisp.org>
5923
5924         openat: Fix warning.
5925         * lib/openat-proc.c: Include <unistd.h>.
5926
5927 2009-12-24  Bruno Haible  <bruno@clisp.org>
5928
5929         New module 'unused-parameter'.
5930         * build-aux/unused-parameter.h: New file, extracted from earlier
5931         gnulib-common.m4.
5932         * modules/unused-parameter: New file.
5933         * lib/unistr.h: Include unused-parameter.h.
5934         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
5935         _GL_UNUSED.
5936         * modules/unistr/base (Depends-on): Add unused-parameter.
5937
5938 2009-12-24  Bruno Haible  <bruno@clisp.org>
5939
5940         Add missing dependencies to 'extensions' module.
5941         * m4/extensions.m4: Add comment.
5942         * modules/accept4 (Depends-on): Add extensions.
5943         * modules/dup3 (Depends-on): Likewise.
5944         * modules/fcntl (Depends-on): Likewise.
5945         * modules/futimens (Depends-on): Likewise.
5946         * modules/mknod (Depends-on): Likewise.
5947         * modules/pipe2 (Depends-on): Likewise.
5948         * modules/stat-time (Depends-on): Likewise.
5949         * modules/strcasestr-simple (Depends-on): Likewise.
5950         * modules/strsignal (Depends-on): Likewise.
5951         * modules/utimensat (Depends-on): Likewise.
5952         * modules/localcharset (Depends-on): Likewise. Needed because of
5953         gl_FCNTL_O_FLAGS.
5954         * modules/wcrtomb (Depends-on): Likewise. Needed because of
5955         AC_TYPE_MBSTATE_T.
5956         * modules/wcsnrtombs (Depends-on): Likewise.
5957         * modules/wcsrtombs (Depends-on): Likewise.
5958
5959 2009-12-24  Bruno Haible  <bruno@clisp.org>
5960
5961         binary-io: Avoid gcc warning due to SET_BINARY.
5962         * lib/binary-io.h (SET_BINARY): Cast the result to void.
5963         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
5964
5965 2009-12-24  Bruno Haible  <bruno@clisp.org>
5966
5967         Avoid future namespace pollution on glibc systems.
5968         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
5969         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
5970         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
5971         glibc systems.
5972
5973 2009-12-24  Bruno Haible  <bruno@clisp.org>
5974
5975         Refactor common macros used in tests.
5976         * tests/macros.h: New file.
5977         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
5978         and/or <stdlib.h>, if appropriate.
5979         (ASSERT, SIZEOF): Remove macros.
5980         * tests/test-areadlink-with-size.c: Likewise.
5981         * tests/test-areadlinkat.c: Likewise.
5982         * tests/test-areadlinkat-with-size.c: Likewise.
5983         * tests/test-argmatch.c: Likewise.
5984         * tests/test-argv-iter.c: Likewise.
5985         * tests/test-array-mergesort.c: Likewise.
5986         * tests/test-array_list.c: Likewise.
5987         * tests/test-array_oset.c: Likewise.
5988         * tests/test-avltree_list.c: Likewise.
5989         * tests/test-avltree_oset.c: Likewise.
5990         * tests/test-avltreehash_list.c: Likewise.
5991         * tests/test-base64.c: Likewise.
5992         * tests/test-binary-io.c: Likewise.
5993         * tests/test-bitrotate.c: Likewise.
5994         * tests/test-btowc.c: Likewise.
5995         * tests/test-byteswap.c: Likewise.
5996         * tests/test-c-ctype.c: Likewise.
5997         * tests/test-c-stack.c: Likewise.
5998         * tests/test-c-strcasecmp.c: Likewise.
5999         * tests/test-c-strcasestr.c: Likewise.
6000         * tests/test-c-strncasecmp.c: Likewise.
6001         * tests/test-c-strstr.c: Likewise.
6002         * tests/test-canonicalize-lgpl.c: Likewise.
6003         * tests/test-canonicalize.c: Likewise.
6004         * tests/test-carray_list.c: Likewise.
6005         * tests/test-ceilf1.c: Likewise.
6006         * tests/test-ceilf2.c: Likewise.
6007         * tests/test-ceill.c: Likewise.
6008         * tests/test-chown.c: Likewise.
6009         * tests/test-cloexec.c: Likewise.
6010         * tests/test-copy-acl.c: Likewise.
6011         * tests/test-copy-file.c: Likewise.
6012         * tests/test-count-one-bits.c: Likewise.
6013         * tests/test-dprintf-posix.c: Likewise.
6014         * tests/test-dup2.c: Likewise.
6015         * tests/test-dup3.c: Likewise.
6016         * tests/test-duplocale.c: Likewise.
6017         * tests/test-fbufmode.c: Likewise.
6018         * tests/test-fchdir.c: Likewise.
6019         * tests/test-fchownat.c: Likewise.
6020         * tests/test-fcntl-safer.c: Likewise.
6021         * tests/test-fcntl.c: Likewise.
6022         * tests/test-fdopendir.c: Likewise.
6023         * tests/test-fdutimensat.c: Likewise.
6024         * tests/test-fflush2.c: Likewise.
6025         * tests/test-file-has-acl.c: Likewise.
6026         * tests/test-filevercmp.c: Likewise.
6027         * tests/test-flock.c: Likewise.
6028         * tests/test-floorf1.c: Likewise.
6029         * tests/test-floorf2.c: Likewise.
6030         * tests/test-floorl.c: Likewise.
6031         * tests/test-fnmatch.c: Likewise.
6032         * tests/test-fopen.h: Likewise.
6033         * tests/test-fpending.c: Likewise.
6034         * tests/test-fprintf-posix.c: Likewise.
6035         * tests/test-fpurge.c: Likewise.
6036         * tests/test-freadable.c: Likewise.
6037         * tests/test-freadahead.c: Likewise.
6038         * tests/test-freading.c: Likewise.
6039         * tests/test-freadptr.c: Likewise.
6040         * tests/test-freadptr2.c: Likewise.
6041         * tests/test-freadseek.c: Likewise.
6042         * tests/test-freopen.c: Likewise.
6043         * tests/test-frexp.c: Likewise.
6044         * tests/test-frexpl.c: Likewise.
6045         * tests/test-fseek.c: Likewise.
6046         * tests/test-fseeko.c: Likewise.
6047         * tests/test-fstatat.c: Likewise.
6048         * tests/test-fstrcmp.c: Likewise.
6049         * tests/test-fsync.c: Likewise.
6050         * tests/test-ftell.c: Likewise.
6051         * tests/test-ftello.c: Likewise.
6052         * tests/test-func.c: Likewise.
6053         * tests/test-futimens.c: Likewise.
6054         * tests/test-fwritable.c: Likewise.
6055         * tests/test-fwriting.c: Likewise.
6056         * tests/test-getcwd.c: Likewise.
6057         * tests/test-getdate.c: Likewise.
6058         * tests/test-getdelim.c: Likewise.
6059         * tests/test-getdtablesize.c: Likewise.
6060         * tests/test-getgroups.c: Likewise.
6061         * tests/test-getline.c: Likewise.
6062         * tests/test-getndelim2.c: Likewise.
6063         * tests/test-glob.c: Likewise.
6064         * tests/test-hash.c: Likewise.
6065         * tests/test-i-ring.c: Likewise.
6066         * tests/test-iconv-utf.c: Likewise.
6067         * tests/test-iconv.c: Likewise.
6068         * tests/test-idpriv-drop.c: Likewise.
6069         * tests/test-idpriv-droptemp.c: Likewise.
6070         * tests/test-inet_ntop.c: Likewise.
6071         * tests/test-inet_pton.c: Likewise.
6072         * tests/test-isblank.c: Likewise.
6073         * tests/test-isfinite.c: Likewise.
6074         * tests/test-isinf.c: Likewise.
6075         * tests/test-isnan.c: Likewise.
6076         * tests/test-isnand.h: Likewise.
6077         * tests/test-isnanf.h: Likewise.
6078         * tests/test-isnanl.h: Likewise.
6079         * tests/test-lchown.c: Likewise.
6080         * tests/test-ldexpl.c: Likewise.
6081         * tests/test-link.c: Likewise.
6082         * tests/test-linkat.c: Likewise.
6083         * tests/test-linked_list.c: Likewise.
6084         * tests/test-linkedhash_list.c: Likewise.
6085         * tests/test-localename.c: Likewise.
6086         * tests/test-lseek.c: Likewise.
6087         * tests/test-lstat.c: Likewise.
6088         * tests/test-mbmemcasecmp.c: Likewise.
6089         * tests/test-mbmemcasecoll.c: Likewise.
6090         * tests/test-mbrtowc.c: Likewise.
6091         * tests/test-mbscasecmp.c: Likewise.
6092         * tests/test-mbscasestr1.c: Likewise.
6093         * tests/test-mbscasestr2.c: Likewise.
6094         * tests/test-mbscasestr3.c: Likewise.
6095         * tests/test-mbscasestr4.c: Likewise.
6096         * tests/test-mbschr.c: Likewise.
6097         * tests/test-mbscspn.c: Likewise.
6098         * tests/test-mbsinit.c: Likewise.
6099         * tests/test-mbsncasecmp.c: Likewise.
6100         * tests/test-mbsnrtowcs.c: Likewise.
6101         * tests/test-mbspbrk.c: Likewise.
6102         * tests/test-mbspcasecmp.c: Likewise.
6103         * tests/test-mbsrchr.c: Likewise.
6104         * tests/test-mbsrtowcs.c: Likewise.
6105         * tests/test-mbsspn.c: Likewise.
6106         * tests/test-mbsstr1.c: Likewise.
6107         * tests/test-mbsstr2.c: Likewise.
6108         * tests/test-mbsstr3.c: Likewise.
6109         * tests/test-memchr.c: Likewise.
6110         * tests/test-memchr2.c: Likewise.
6111         * tests/test-memcmp.c: Likewise.
6112         * tests/test-memmem.c: Likewise.
6113         * tests/test-memrchr.c: Likewise.
6114         * tests/test-mkdir.c: Likewise.
6115         * tests/test-mkdirat.c: Likewise.
6116         * tests/test-mkfifo.c: Likewise.
6117         * tests/test-mkfifoat.c: Likewise.
6118         * tests/test-mknod.c: Likewise.
6119         * tests/test-nanosleep.c: Likewise.
6120         * tests/test-nl_langinfo.c: Likewise.
6121         * tests/test-obstack-printf.c: Likewise.
6122         * tests/test-open.c: Likewise.
6123         * tests/test-openat.c: Likewise.
6124         * tests/test-pipe-filter-gi1.c: Likewise.
6125         * tests/test-pipe-filter-gi2-main.c: Likewise.
6126         * tests/test-pipe-filter-ii1.c: Likewise.
6127         * tests/test-pipe-filter-ii2-main.c: Likewise.
6128         * tests/test-pipe2.c: Likewise.
6129         * tests/test-popen.h: Likewise.
6130         * tests/test-posixtm.c: Likewise.
6131         * tests/test-pread.c: Likewise.
6132         * tests/test-printf-frexp.c: Likewise.
6133         * tests/test-printf-frexpl.c: Likewise.
6134         * tests/test-printf-posix.c: Likewise.
6135         * tests/test-priv-set.c: Likewise.
6136         * tests/test-quotearg.c: Likewise.
6137         * tests/test-random_r.c: Likewise.
6138         * tests/test-rawmemchr.c: Likewise.
6139         * tests/test-rbtree_list.c: Likewise.
6140         * tests/test-rbtree_oset.c: Likewise.
6141         * tests/test-rbtreehash_list.c: Likewise.
6142         * tests/test-readlink.c: Likewise.
6143         * tests/test-remove.c: Likewise.
6144         * tests/test-rename.c: Likewise.
6145         * tests/test-renameat.c: Likewise.
6146         * tests/test-rmdir.c: Likewise.
6147         * tests/test-round1.c: Likewise.
6148         * tests/test-roundf1.c: Likewise.
6149         * tests/test-roundl.c: Likewise.
6150         * tests/test-safe-alloc.c: Likewise.
6151         * tests/test-sameacls.c: Likewise.
6152         * tests/test-set-mode-acl.c: Likewise.
6153         * tests/test-setenv.c: Likewise.
6154         * tests/test-sigaction.c: Likewise.
6155         * tests/test-signbit.c: Likewise.
6156         * tests/test-sleep.c: Likewise.
6157         * tests/test-snprintf-posix.c: Likewise.
6158         * tests/test-snprintf.c: Likewise.
6159         * tests/test-sprintf-posix.c: Likewise.
6160         * tests/test-stat-time.c: Likewise.
6161         * tests/test-stat.c: Likewise.
6162         * tests/test-strcasestr.c: Likewise.
6163         * tests/test-strchrnul.c: Likewise.
6164         * tests/test-strerror.c: Likewise.
6165         * tests/test-striconv.c: Likewise.
6166         * tests/test-striconveh.c: Likewise.
6167         * tests/test-striconveha.c: Likewise.
6168         * tests/test-strsignal.c: Likewise.
6169         * tests/test-strstr.c: Likewise.
6170         * tests/test-strtod.c: Likewise.
6171         * tests/test-strverscmp.c: Likewise.
6172         * tests/test-symlink.c: Likewise.
6173         * tests/test-symlinkat.c: Likewise.
6174         * tests/test-trunc1.c: Likewise.
6175         * tests/test-trunc2.c: Likewise.
6176         * tests/test-truncf1.c: Likewise.
6177         * tests/test-truncf2.c: Likewise.
6178         * tests/test-truncl.c: Likewise.
6179         * tests/test-uname.c: Likewise.
6180         * tests/test-unlink.c: Likewise.
6181         * tests/test-unlinkat.c: Likewise.
6182         * tests/test-unsetenv.c: Likewise.
6183         * tests/test-usleep.c: Likewise.
6184         * tests/test-utimens.c: Likewise.
6185         * tests/test-utimensat.c: Likewise.
6186         * tests/test-vasnprintf-posix.c: Likewise.
6187         * tests/test-vasnprintf-posix2.c: Likewise.
6188         * tests/test-vasnprintf.c: Likewise.
6189         * tests/test-vasprintf-posix.c: Likewise.
6190         * tests/test-vasprintf.c: Likewise.
6191         * tests/test-vdprintf-posix.c: Likewise.
6192         * tests/test-vfprintf-posix.c: Likewise.
6193         * tests/test-vprintf-posix.c: Likewise.
6194         * tests/test-vsnprintf-posix.c: Likewise.
6195         * tests/test-vsnprintf.c: Likewise.
6196         * tests/test-vsprintf-posix.c: Likewise.
6197         * tests/test-wcrtomb.c: Likewise.
6198         * tests/test-wcsnrtombs.c: Likewise.
6199         * tests/test-wcsrtombs.c: Likewise.
6200         * tests/test-wctype.c: Likewise.
6201         * tests/test-wcwidth.c: Likewise.
6202         * tests/test-xfprintf-posix.c: Likewise.
6203         * tests/test-xmemdup0.c: Likewise.
6204         * tests/test-xprintf-posix.c: Likewise.
6205         * tests/test-xvasprintf.c: Likewise.
6206         * tests/unicase/test-locale-language.c: Likewise.
6207         * tests/unicase/test-mapping-part1.h: Likewise.
6208         * tests/unicase/test-predicate-part1.h: Likewise.
6209         * tests/unicase/test-u8-casecmp.c: Likewise.
6210         * tests/unicase/test-u8-casecoll.c: Likewise.
6211         * tests/unicase/test-u8-casefold.c: Likewise.
6212         * tests/unicase/test-u8-is-cased.c: Likewise.
6213         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6214         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6215         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6216         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6217         * tests/unicase/test-u8-tolower.c: Likewise.
6218         * tests/unicase/test-u8-totitle.c: Likewise.
6219         * tests/unicase/test-u8-toupper.c: Likewise.
6220         * tests/unicase/test-u16-casecmp.c: Likewise.
6221         * tests/unicase/test-u16-casecoll.c: Likewise.
6222         * tests/unicase/test-u16-casefold.c: Likewise.
6223         * tests/unicase/test-u16-is-cased.c: Likewise.
6224         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6225         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6226         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6227         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6228         * tests/unicase/test-u16-tolower.c: Likewise.
6229         * tests/unicase/test-u16-totitle.c: Likewise.
6230         * tests/unicase/test-u16-toupper.c: Likewise.
6231         * tests/unicase/test-u32-casecmp.c: Likewise.
6232         * tests/unicase/test-u32-casecoll.c: Likewise.
6233         * tests/unicase/test-u32-casefold.c: Likewise.
6234         * tests/unicase/test-u32-is-cased.c: Likewise.
6235         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6236         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6237         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6238         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6239         * tests/unicase/test-u32-tolower.c: Likewise.
6240         * tests/unicase/test-u32-totitle.c: Likewise.
6241         * tests/unicase/test-u32-toupper.c: Likewise.
6242         * tests/unicase/test-ulc-casecmp.c: Likewise.
6243         * tests/unicase/test-ulc-casecoll.c: Likewise.
6244         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6245         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6246         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6247         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6248         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6249         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6250         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6251         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6252         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6253         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6254         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6255         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6256         * tests/unictype/test-bidi_byname.c: Likewise.
6257         * tests/unictype/test-bidi_name.c: Likewise.
6258         * tests/unictype/test-bidi_of.c: Likewise.
6259         * tests/unictype/test-bidi_test.c: Likewise.
6260         * tests/unictype/test-block_list.c: Likewise.
6261         * tests/unictype/test-block_of.c: Likewise.
6262         * tests/unictype/test-block_test.c: Likewise.
6263         * tests/unictype/test-categ_and.c: Likewise.
6264         * tests/unictype/test-categ_and_not.c: Likewise.
6265         * tests/unictype/test-categ_byname.c: Likewise.
6266         * tests/unictype/test-categ_name.c: Likewise.
6267         * tests/unictype/test-categ_none.c: Likewise.
6268         * tests/unictype/test-categ_of.c: Likewise.
6269         * tests/unictype/test-categ_or.c: Likewise.
6270         * tests/unictype/test-categ_test_withtable.c: Likewise.
6271         * tests/unictype/test-combining.c: Likewise.
6272         * tests/unictype/test-decdigit.c: Likewise.
6273         * tests/unictype/test-digit.c: Likewise.
6274         * tests/unictype/test-mirror.c: Likewise.
6275         * tests/unictype/test-numeric.c: Likewise.
6276         * tests/unictype/test-pr_byname.c: Likewise.
6277         * tests/unictype/test-pr_test.c: Likewise.
6278         * tests/unictype/test-predicate-part1.h: Likewise.
6279         * tests/unictype/test-scripts.c: Likewise.
6280         * tests/unictype/test-sy_c_ident.c: Likewise.
6281         * tests/unictype/test-sy_java_ident.c: Likewise.
6282         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6283         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6284         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6285         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6286         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6287         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6288         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6289         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6290         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6291         * tests/uninorm/test-compat-decomposition.c: Likewise.
6292         * tests/uninorm/test-composition.c: Likewise.
6293         * tests/uninorm/test-decomposing-form.c: Likewise.
6294         * tests/uninorm/test-decomposition.c: Likewise.
6295         * tests/uninorm/test-u8-nfc.c: Likewise.
6296         * tests/uninorm/test-u8-nfd.c: Likewise.
6297         * tests/uninorm/test-u8-nfkc.c: Likewise.
6298         * tests/uninorm/test-u8-nfkd.c: Likewise.
6299         * tests/uninorm/test-u8-normcmp.c: Likewise.
6300         * tests/uninorm/test-u8-normcoll.c: Likewise.
6301         * tests/uninorm/test-u16-nfc.c: Likewise.
6302         * tests/uninorm/test-u16-nfd.c: Likewise.
6303         * tests/uninorm/test-u16-nfkc.c: Likewise.
6304         * tests/uninorm/test-u16-nfkd.c: Likewise.
6305         * tests/uninorm/test-u16-normcmp.c: Likewise.
6306         * tests/uninorm/test-u16-normcoll.c: Likewise.
6307         * tests/uninorm/test-u32-nfc.c: Likewise.
6308         * tests/uninorm/test-u32-nfd.c: Likewise.
6309         * tests/uninorm/test-u32-nfkc.c: Likewise.
6310         * tests/uninorm/test-u32-nfkd.c: Likewise.
6311         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6312         * tests/uninorm/test-u32-normcmp.c: Likewise.
6313         * tests/uninorm/test-u32-normcoll.c: Likewise.
6314         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6315         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6316         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6317         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6318         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6319         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6320         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6321         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6322         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6323         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6324         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6325         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6326         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6327         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6328         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6329         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6330         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6331         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6332         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6333         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6334         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6335         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6336         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6337         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6338         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6339         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6340         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6341         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6342         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6343         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6344         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6345         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6346         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6347         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6348         * tests/uniwidth/test-u8-width.c: Likewise.
6349         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6350         * tests/uniwidth/test-u16-width.c: Likewise.
6351         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6352         * tests/uniwidth/test-u32-width.c: Likewise.
6353         * tests/uniwidth/test-uc_width.c: Likewise.
6354         * tests/uniwidth/test-uc_width2.c: Likewise.
6355         * modules/acl-tests (Files): Add tests/macros.h.
6356         * modules/areadlink-tests (Files): Likewise.
6357         * modules/areadlink-with-size-tests (Files): Likewise.
6358         * modules/areadlinkat-tests (Files): Likewise.
6359         * modules/areadlinkat-with-size-tests (Files): Likewise.
6360         * modules/argmatch-tests (Files): Likewise.
6361         * modules/argv-iter-tests (Files): Likewise.
6362         * modules/array-list-tests (Files): Likewise.
6363         * modules/array-mergesort-tests (Files): Likewise.
6364         * modules/array-oset-tests (Files): Likewise.
6365         * modules/avltree-list-tests (Files): Likewise.
6366         * modules/avltree-oset-tests (Files): Likewise.
6367         * modules/avltreehash-list-tests (Files): Likewise.
6368         * modules/base64-tests (Files): Likewise.
6369         * modules/binary-io-tests (Files): Likewise.
6370         * modules/bitrotate-tests (Files): Likewise.
6371         * modules/btowc-tests (Files): Likewise.
6372         * modules/byteswap-tests (Files): Likewise.
6373         * modules/c-ctype-tests (Files): Likewise.
6374         * modules/c-stack-tests (Files): Likewise.
6375         * modules/c-strcase-tests (Files): Likewise.
6376         * modules/c-strcasestr-tests (Files): Likewise.
6377         * modules/c-strstr-tests (Files): Likewise.
6378         * modules/canonicalize-lgpl-tests (Files): Likewise.
6379         * modules/canonicalize-tests (Files): Likewise.
6380         * modules/carray-list-tests (Files): Likewise.
6381         * modules/ceilf-tests (Files): Likewise.
6382         * modules/ceill-tests (Files): Likewise.
6383         * modules/chown-tests (Files): Likewise.
6384         * modules/cloexec-tests (Files): Likewise.
6385         * modules/copy-file-tests (Files): Likewise.
6386         * modules/count-one-bits-tests (Files): Likewise.
6387         * modules/dprintf-posix-tests (Files): Likewise.
6388         * modules/dup2-tests (Files): Likewise.
6389         * modules/dup3-tests (Files): Likewise.
6390         * modules/duplocale-tests (Files): Likewise.
6391         * modules/fbufmode-tests (Files): Likewise.
6392         * modules/fchdir-tests (Files): Likewise.
6393         * modules/fcntl-safer-tests (Files): Likewise.
6394         * modules/fcntl-tests (Files): Likewise.
6395         * modules/fdopendir-tests (Files): Likewise.
6396         * modules/fdutimensat-tests (Files): Likewise.
6397         * modules/fflush-tests (Files): Likewise.
6398         * modules/filevercmp-tests (Files): Likewise.
6399         * modules/flock-tests (Files): Likewise.
6400         * modules/floorf-tests (Files): Likewise.
6401         * modules/floorl-tests (Files): Likewise.
6402         * modules/fnmatch-tests (Files): Likewise.
6403         * modules/fopen-safer-tests (Files): Likewise.
6404         * modules/fopen-tests (Files): Likewise.
6405         * modules/fpending-tests (Files): Likewise.
6406         * modules/fprintf-posix-tests (Files): Likewise.
6407         * modules/fpurge-tests (Files): Likewise.
6408         * modules/freadable-tests (Files): Likewise.
6409         * modules/freadahead-tests (Files): Likewise.
6410         * modules/freading-tests (Files): Likewise.
6411         * modules/freadptr-tests (Files): Likewise.
6412         * modules/freadseek-tests (Files): Likewise.
6413         * modules/freopen-tests (Files): Likewise.
6414         * modules/frexp-nolibm-tests (Files): Likewise.
6415         * modules/frexp-tests (Files): Likewise.
6416         * modules/frexpl-nolibm-tests (Files): Likewise.
6417         * modules/frexpl-tests (Files): Likewise.
6418         * modules/fseek-tests (Files): Likewise.
6419         * modules/fseeko-tests (Files): Likewise.
6420         * modules/fstrcmp-tests (Files): Likewise.
6421         * modules/fsync-tests (Files): Likewise.
6422         * modules/ftell-tests (Files): Likewise.
6423         * modules/ftello-tests (Files): Likewise.
6424         * modules/func-tests (Files): Likewise.
6425         * modules/futimens-tests (Files): Likewise.
6426         * modules/fwritable-tests (Files): Likewise.
6427         * modules/fwriting-tests (Files): Likewise.
6428         * modules/getcwd-tests (Files): Likewise.
6429         * modules/getdate-tests (Files): Likewise.
6430         * modules/getdelim-tests (Files): Likewise.
6431         * modules/getdtablesize-tests (Files): Likewise.
6432         * modules/getgroups-tests (Files): Likewise.
6433         * modules/getline-tests (Files): Likewise.
6434         * modules/getndelim2-tests (Files): Likewise.
6435         * modules/glob-tests (Files): Likewise.
6436         * modules/hash-tests (Files): Likewise.
6437         * modules/i-ring-tests (Files): Likewise.
6438         * modules/iconv-tests (Files): Likewise.
6439         * modules/iconv_open-utf-tests (Files): Likewise.
6440         * modules/idpriv-drop-tests (Files): Likewise.
6441         * modules/idpriv-droptemp-tests (Files): Likewise.
6442         * modules/inet_ntop-tests (Files): Likewise.
6443         * modules/inet_pton-tests (Files): Likewise.
6444         * modules/isblank-tests (Files): Likewise.
6445         * modules/isfinite-tests (Files): Likewise.
6446         * modules/isinf-tests (Files): Likewise.
6447         * modules/isnan-tests (Files): Likewise.
6448         * modules/isnand-nolibm-tests (Files): Likewise.
6449         * modules/isnand-tests (Files): Likewise.
6450         * modules/isnanf-nolibm-tests (Files): Likewise.
6451         * modules/isnanf-tests (Files): Likewise.
6452         * modules/isnanl-nolibm-tests (Files): Likewise.
6453         * modules/isnanl-tests (Files): Likewise.
6454         * modules/lchown-tests (Files): Likewise.
6455         * modules/ldexpl-tests (Files): Likewise.
6456         * modules/link-tests (Files): Likewise.
6457         * modules/linkat-tests (Files): Likewise.
6458         * modules/linked-list-tests (Files): Likewise.
6459         * modules/linkedhash-list-tests (Files): Likewise.
6460         * modules/localename-tests (Files): Likewise.
6461         * modules/lseek-tests (Files): Likewise.
6462         * modules/lstat-tests (Files): Likewise.
6463         * modules/mbmemcasecmp-tests (Files): Likewise.
6464         * modules/mbmemcasecoll-tests (Files): Likewise.
6465         * modules/mbrtowc-tests (Files): Likewise.
6466         * modules/mbscasecmp-tests (Files): Likewise.
6467         * modules/mbscasestr-tests (Files): Likewise.
6468         * modules/mbschr-tests (Files): Likewise.
6469         * modules/mbscspn-tests (Files): Likewise.
6470         * modules/mbsinit-tests (Files): Likewise.
6471         * modules/mbsncasecmp-tests (Files): Likewise.
6472         * modules/mbsnrtowcs-tests (Files): Likewise.
6473         * modules/mbspbrk-tests (Files): Likewise.
6474         * modules/mbspcasecmp-tests (Files): Likewise.
6475         * modules/mbsrchr-tests (Files): Likewise.
6476         * modules/mbsrtowcs-tests (Files): Likewise.
6477         * modules/mbsspn-tests (Files): Likewise.
6478         * modules/mbsstr-tests (Files): Likewise.
6479         * modules/memchr-tests (Files): Likewise.
6480         * modules/memchr2-tests (Files): Likewise.
6481         * modules/memcmp-tests (Files): Likewise.
6482         * modules/memmem-tests (Files): Likewise.
6483         * modules/memrchr-tests (Files): Likewise.
6484         * modules/mkdir-tests (Files): Likewise.
6485         * modules/mkfifo-tests (Files): Likewise.
6486         * modules/mkfifoat-tests (Files): Likewise.
6487         * modules/mknod-tests (Files): Likewise.
6488         * modules/nanosleep-tests (Files): Likewise.
6489         * modules/nl_langinfo-tests (Files): Likewise.
6490         * modules/obstack-printf-tests (Files): Likewise.
6491         * modules/open-tests (Files): Likewise.
6492         * modules/openat-tests (Files): Likewise.
6493         * modules/pipe-filter-gi-tests (Files): Likewise.
6494         * modules/pipe-filter-ii-tests (Files): Likewise.
6495         * modules/pipe2-tests (Files): Likewise.
6496         * modules/popen-safer-tests (Files): Likewise.
6497         * modules/popen-tests (Files): Likewise.
6498         * modules/posixtm-tests (Files): Likewise.
6499         * modules/pread-tests (Files): Likewise.
6500         * modules/printf-frexp-tests (Files): Likewise.
6501         * modules/printf-frexpl-tests (Files): Likewise.
6502         * modules/printf-posix-tests (Files): Likewise.
6503         * modules/priv-set-tests (Files): Likewise.
6504         * modules/quotearg-tests (Files): Likewise.
6505         * modules/random_r-tests (Files): Likewise.
6506         * modules/rawmemchr-tests (Files): Likewise.
6507         * modules/rbtree-list-tests (Files): Likewise.
6508         * modules/rbtree-oset-tests (Files): Likewise.
6509         * modules/rbtreehash-list-tests (Files): Likewise.
6510         * modules/readlink-tests (Files): Likewise.
6511         * modules/remove-tests (Files): Likewise.
6512         * modules/rename-tests (Files): Likewise.
6513         * modules/renameat-tests (Files): Likewise.
6514         * modules/rmdir-tests (Files): Likewise.
6515         * modules/round-tests (Files): Likewise.
6516         * modules/roundf-tests (Files): Likewise.
6517         * modules/roundl-tests (Files): Likewise.
6518         * modules/safe-alloc-tests (Files): Likewise.
6519         * modules/setenv-tests (Files): Likewise.
6520         * modules/sigaction-tests (Files): Likewise.
6521         * modules/signbit-tests (Files): Likewise.
6522         * modules/sleep-tests (Files): Likewise.
6523         * modules/snprintf-posix-tests (Files): Likewise.
6524         * modules/snprintf-tests (Files): Likewise.
6525         * modules/sprintf-posix-tests (Files): Likewise.
6526         * modules/stat-tests (Files): Likewise.
6527         * modules/stat-time-tests (Files): Likewise.
6528         * modules/strcasestr-tests (Files): Likewise.
6529         * modules/strchrnul-tests (Files): Likewise.
6530         * modules/strerror-tests (Files): Likewise.
6531         * modules/striconv-tests (Files): Likewise.
6532         * modules/striconveh-tests (Files): Likewise.
6533         * modules/striconveha-tests (Files): Likewise.
6534         * modules/strsignal-tests (Files): Likewise.
6535         * modules/strstr-tests (Files): Likewise.
6536         * modules/strtod-tests (Files): Likewise.
6537         * modules/strverscmp-tests (Files): Likewise.
6538         * modules/symlink-tests (Files): Likewise.
6539         * modules/symlinkat-tests (Files): Likewise.
6540         * modules/trunc-tests (Files): Likewise.
6541         * modules/truncf-tests (Files): Likewise.
6542         * modules/truncl-tests (Files): Likewise.
6543         * modules/uname-tests (Files): Likewise.
6544         * modules/unicase/cased-tests (Files): Likewise.
6545         * modules/unicase/ignorable-tests (Files): Likewise.
6546         * modules/unicase/locale-language-tests (Files): Likewise.
6547         * modules/unicase/tolower-tests (Files): Likewise.
6548         * modules/unicase/totitle-tests (Files): Likewise.
6549         * modules/unicase/toupper-tests (Files): Likewise.
6550         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6551         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6552         * modules/unicase/u8-casefold-tests (Files): Likewise.
6553         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6554         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6555         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6556         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6557         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6558         * modules/unicase/u8-tolower-tests (Files): Likewise.
6559         * modules/unicase/u8-totitle-tests (Files): Likewise.
6560         * modules/unicase/u8-toupper-tests (Files): Likewise.
6561         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6562         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6563         * modules/unicase/u16-casefold-tests (Files): Likewise.
6564         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6565         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6566         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6567         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6568         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6569         * modules/unicase/u16-tolower-tests (Files): Likewise.
6570         * modules/unicase/u16-totitle-tests (Files): Likewise.
6571         * modules/unicase/u16-toupper-tests (Files): Likewise.
6572         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6573         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6574         * modules/unicase/u32-casefold-tests (Files): Likewise.
6575         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6576         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6577         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6578         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6579         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6580         * modules/unicase/u32-tolower-tests (Files): Likewise.
6581         * modules/unicase/u32-totitle-tests (Files): Likewise.
6582         * modules/unicase/u32-toupper-tests (Files): Likewise.
6583         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6584         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6585         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6586         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6587         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6588         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6589         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6590         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6591         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6592         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6593         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6594         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6595         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6596         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6597         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6598         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6599         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6600         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6601         * modules/unictype/block-list-tests (Files): Likewise.
6602         * modules/unictype/block-of-tests (Files): Likewise.
6603         * modules/unictype/block-test-tests (Files): Likewise.
6604         * modules/unictype/category-C-tests (Files): Likewise.
6605         * modules/unictype/category-Cc-tests (Files): Likewise.
6606         * modules/unictype/category-Cf-tests (Files): Likewise.
6607         * modules/unictype/category-Cn-tests (Files): Likewise.
6608         * modules/unictype/category-Co-tests (Files): Likewise.
6609         * modules/unictype/category-Cs-tests (Files): Likewise.
6610         * modules/unictype/category-L-tests (Files): Likewise.
6611         * modules/unictype/category-Ll-tests (Files): Likewise.
6612         * modules/unictype/category-Lm-tests (Files): Likewise.
6613         * modules/unictype/category-Lo-tests (Files): Likewise.
6614         * modules/unictype/category-Lt-tests (Files): Likewise.
6615         * modules/unictype/category-Lu-tests (Files): Likewise.
6616         * modules/unictype/category-M-tests (Files): Likewise.
6617         * modules/unictype/category-Mc-tests (Files): Likewise.
6618         * modules/unictype/category-Me-tests (Files): Likewise.
6619         * modules/unictype/category-Mn-tests (Files): Likewise.
6620         * modules/unictype/category-N-tests (Files): Likewise.
6621         * modules/unictype/category-Nd-tests (Files): Likewise.
6622         * modules/unictype/category-Nl-tests (Files): Likewise.
6623         * modules/unictype/category-No-tests (Files): Likewise.
6624         * modules/unictype/category-P-tests (Files): Likewise.
6625         * modules/unictype/category-Pc-tests (Files): Likewise.
6626         * modules/unictype/category-Pd-tests (Files): Likewise.
6627         * modules/unictype/category-Pe-tests (Files): Likewise.
6628         * modules/unictype/category-Pf-tests (Files): Likewise.
6629         * modules/unictype/category-Pi-tests (Files): Likewise.
6630         * modules/unictype/category-Po-tests (Files): Likewise.
6631         * modules/unictype/category-Ps-tests (Files): Likewise.
6632         * modules/unictype/category-S-tests (Files): Likewise.
6633         * modules/unictype/category-Sc-tests (Files): Likewise.
6634         * modules/unictype/category-Sk-tests (Files): Likewise.
6635         * modules/unictype/category-Sm-tests (Files): Likewise.
6636         * modules/unictype/category-So-tests (Files): Likewise.
6637         * modules/unictype/category-Z-tests (Files): Likewise.
6638         * modules/unictype/category-Zl-tests (Files): Likewise.
6639         * modules/unictype/category-Zp-tests (Files): Likewise.
6640         * modules/unictype/category-Zs-tests (Files): Likewise.
6641         * modules/unictype/category-and-not-tests (Files): Likewise.
6642         * modules/unictype/category-and-tests (Files): Likewise.
6643         * modules/unictype/category-byname-tests (Files): Likewise.
6644         * modules/unictype/category-name-tests (Files): Likewise.
6645         * modules/unictype/category-none-tests (Files): Likewise.
6646         * modules/unictype/category-of-tests (Files): Likewise.
6647         * modules/unictype/category-or-tests (Files): Likewise.
6648         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6649         * modules/unictype/combining-class-tests (Files): Likewise.
6650         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6651         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6652         * modules/unictype/ctype-blank-tests (Files): Likewise.
6653         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6654         * modules/unictype/ctype-digit-tests (Files): Likewise.
6655         * modules/unictype/ctype-graph-tests (Files): Likewise.
6656         * modules/unictype/ctype-lower-tests (Files): Likewise.
6657         * modules/unictype/ctype-print-tests (Files): Likewise.
6658         * modules/unictype/ctype-punct-tests (Files): Likewise.
6659         * modules/unictype/ctype-space-tests (Files): Likewise.
6660         * modules/unictype/ctype-upper-tests (Files): Likewise.
6661         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6662         * modules/unictype/decimal-digit-tests (Files): Likewise.
6663         * modules/unictype/digit-tests (Files): Likewise.
6664         * modules/unictype/mirror-tests (Files): Likewise.
6665         * modules/unictype/numeric-tests (Files): Likewise.
6666         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6667         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6668         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6669         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6670         Likewise.
6671         * modules/unictype/property-bidi-block-separator-tests (Files):
6672         Likewise.
6673         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6674         Likewise.
6675         * modules/unictype/property-bidi-common-separator-tests (Files):
6676         Likewise.
6677         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6678         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6679         Likewise.
6680         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6681         Likewise.
6682         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6683         Likewise.
6684         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6685         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6686         Likewise.
6687         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6688         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6689         Likewise.
6690         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6691         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6692         * modules/unictype/property-bidi-segment-separator-tests (Files):
6693         Likewise.
6694         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6695         * modules/unictype/property-byname-tests (Files): Likewise.
6696         * modules/unictype/property-combining-tests (Files): Likewise.
6697         * modules/unictype/property-composite-tests (Files): Likewise.
6698         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6699         * modules/unictype/property-dash-tests (Files): Likewise.
6700         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6701         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6702         Likewise.
6703         * modules/unictype/property-deprecated-tests (Files): Likewise.
6704         * modules/unictype/property-diacritic-tests (Files): Likewise.
6705         * modules/unictype/property-extender-tests (Files): Likewise.
6706         * modules/unictype/property-format-control-tests (Files): Likewise.
6707         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6708         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6709         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6710         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6711         * modules/unictype/property-hyphen-tests (Files): Likewise.
6712         * modules/unictype/property-id-continue-tests (Files): Likewise.
6713         * modules/unictype/property-id-start-tests (Files): Likewise.
6714         * modules/unictype/property-ideographic-tests (Files): Likewise.
6715         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6716         * modules/unictype/property-ids-trinary-operator-tests (Files):
6717         Likewise.
6718         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6719         * modules/unictype/property-iso-control-tests (Files): Likewise.
6720         * modules/unictype/property-join-control-tests (Files): Likewise.
6721         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6722         * modules/unictype/property-line-separator-tests (Files): Likewise.
6723         * modules/unictype/property-logical-order-exception-tests (Files):
6724         Likewise.
6725         * modules/unictype/property-lowercase-tests (Files): Likewise.
6726         * modules/unictype/property-math-tests (Files): Likewise.
6727         * modules/unictype/property-non-break-tests (Files): Likewise.
6728         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6729         * modules/unictype/property-numeric-tests (Files): Likewise.
6730         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6731         * modules/unictype/property-other-default-ignorable-code-point-tests
6732         (Files): Likewise.
6733         * modules/unictype/property-other-grapheme-extend-tests (Files):
6734         Likewise.
6735         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6736         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6737         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6738         * modules/unictype/property-other-math-tests (Files): Likewise.
6739         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6740         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6741         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6742         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6743         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6744         * modules/unictype/property-private-use-tests (Files): Likewise.
6745         * modules/unictype/property-punctuation-tests (Files): Likewise.
6746         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6747         * modules/unictype/property-radical-tests (Files): Likewise.
6748         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6749         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6750         * modules/unictype/property-space-tests (Files): Likewise.
6751         * modules/unictype/property-terminal-punctuation-tests (Files):
6752         Likewise.
6753         * modules/unictype/property-test-tests (Files): Likewise.
6754         * modules/unictype/property-titlecase-tests (Files): Likewise.
6755         * modules/unictype/property-unassigned-code-value-tests (Files):
6756         Likewise.
6757         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6758         * modules/unictype/property-uppercase-tests (Files): Likewise.
6759         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6760         * modules/unictype/property-white-space-tests (Files): Likewise.
6761         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6762         * modules/unictype/property-xid-start-tests (Files): Likewise.
6763         * modules/unictype/property-zero-width-tests (Files): Likewise.
6764         * modules/unictype/scripts-tests (Files): Likewise.
6765         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6766         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6767         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6768         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6769         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6770         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6771         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6772         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6773         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6774         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6775         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6776         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6777         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6778         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6779         * modules/uninorm/composition-tests (Files): Likewise.
6780         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6781         * modules/uninorm/decomposition-tests (Files): Likewise.
6782         * modules/uninorm/filter-tests (Files): Likewise.
6783         * modules/uninorm/nfc-tests (Files): Likewise.
6784         * modules/uninorm/nfd-tests (Files): Likewise.
6785         * modules/uninorm/nfkc-tests (Files): Likewise.
6786         * modules/uninorm/nfkd-tests (Files): Likewise.
6787         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6788         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6789         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6790         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6791         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6792         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6793         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6794         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6795         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6796         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6797         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6798         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6799         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6800         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6801         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6802         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6803         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6804         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6805         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6806         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6807         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6808         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6809         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6810         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6811         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6812         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6813         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6814         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6815         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6816         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6817         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6818         * modules/uniwidth/u8-width-tests (Files): Likewise.
6819         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6820         * modules/uniwidth/u16-width-tests (Files): Likewise.
6821         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6822         * modules/uniwidth/u32-width-tests (Files): Likewise.
6823         * modules/uniwidth/width-tests (Files): Likewise.
6824         * modules/unlink-tests (Files): Likewise.
6825         * modules/unsetenv-tests (Files): Likewise.
6826         * modules/usleep-tests (Files): Likewise.
6827         * modules/utimens-tests (Files): Likewise.
6828         * modules/utimensat-tests (Files): Likewise.
6829         * modules/vasnprintf-posix-tests (Files): Likewise.
6830         * modules/vasnprintf-tests (Files): Likewise.
6831         * modules/vasprintf-posix-tests (Files): Likewise.
6832         * modules/vasprintf-tests (Files): Likewise.
6833         * modules/vdprintf-posix-tests (Files): Likewise.
6834         * modules/vfprintf-posix-tests (Files): Likewise.
6835         * modules/vprintf-posix-tests (Files): Likewise.
6836         * modules/vsnprintf-posix-tests (Files): Likewise.
6837         * modules/vsnprintf-tests (Files): Likewise.
6838         * modules/vsprintf-posix-tests (Files): Likewise.
6839         * modules/wcrtomb-tests (Files): Likewise.
6840         * modules/wcsnrtombs-tests (Files): Likewise.
6841         * modules/wcsrtombs-tests (Files): Likewise.
6842         * modules/wctype-tests (Files): Likewise.
6843         * modules/wcwidth-tests (Files): Likewise.
6844         * modules/xmemdup0-tests (Files): Likewise.
6845         * modules/xprintf-posix-tests (Files): Likewise.
6846         * modules/xvasprintf-tests (Files): Likewise.
6847
6848 2009-12-24  Eric Blake  <ebb9@byu.net>
6849
6850         test-nanosleep: fix typo
6851         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6852         patch.
6853         Reported by Bruno Haible.
6854
6855 2009-12-24  Bruno Haible  <bruno@clisp.org>
6856
6857         Reduce namespace pollution on glibc systems.
6858         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6859         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6860         systems.
6861         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6862         <getopt.h> on glibc systems.
6863         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6864         systems.
6865         * lib/fcntl.c: Include <unistd.h> here instead.
6866
6867 2009-12-24  Bruno Haible  <bruno@clisp.org>
6868
6869         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6870
6871 2009-12-24  Eric Blake  <ebb9@byu.net>
6872
6873         tests: add signature checks
6874         * tests/signature.h (SIGNATURE_CHECK): New file.
6875         * modules/atexit-tests (Files): Use it.
6876         * modules/btowc-tests (Files): Likewise.
6877         * modules/canonicalize-lgpl-tests (Files): Likewise.
6878         * modules/ceilf-tests (Files): Likewise.
6879         * modules/ceill-tests (Files): Likewise.
6880         * modules/chown-tests (Files): Likewise.
6881         * modules/dprintf-posix-tests (Files): Likewise.
6882         * modules/dup2-tests (Files): Likewise.
6883         * modules/dup3-tests (Files): Likewise.
6884         * modules/duplocale-tests (Files): Likewise.
6885         * modules/fchdir-tests (Files): Likewise.
6886         * modules/fcntl-tests (Files): Likewise.
6887         * modules/fdopendir-tests (Files): Likewise.
6888         * modules/fflush-tests (Files): Likewise.
6889         * modules/flock-tests (Files): Likewise.
6890         * modules/floorf-tests (Files): Likewise.
6891         * modules/floorl-tests (Files): Likewise.
6892         * modules/fnmatch-tests (Files): Likewise.
6893         * modules/fopen-tests (Files): Likewise.
6894         * modules/fprintf-posix-tests (Files): Likewise.
6895         * modules/freopen-tests (Files): Likewise.
6896         * modules/frexp-nolibm-tests (Files): Likewise.
6897         * modules/frexp-tests (Files): Likewise.
6898         * modules/frexpl-nolibm-tests (Files): Likewise.
6899         * modules/frexpl-tests (Files): Likewise.
6900         * modules/fseek-tests (Files): Likewise.
6901         * modules/fseeko-tests (Files): Likewise.
6902         * modules/fsync-tests (Files): Likewise.
6903         * modules/ftell-tests (Files): Likewise.
6904         * modules/ftello-tests (Files): Likewise.
6905         * modules/futimens-tests (Files): Likewise.
6906         * modules/getaddrinfo-tests (Files): Likewise.
6907         * modules/getcwd-tests (Files): Likewise.
6908         * modules/getdelim-tests (Files): Likewise.
6909         * modules/getdtablesize-tests (Files): Likewise.
6910         * modules/getgroups-tests (Files): Likewise.
6911         * modules/gethostname-tests (Files): Likewise.
6912         * modules/getline-tests (Files): Likewise.
6913         * modules/getopt-posix-tests (Files): Likewise.
6914         * modules/gettimeofday-tests (Files): Likewise.
6915         * modules/glob-tests (Files): Likewise.
6916         * modules/iconv-tests (Files): Likewise.
6917         * modules/inet_ntop-tests (Files): Likewise.
6918         * modules/inet_pton-tests (Files): Likewise.
6919         * modules/isblank-tests (Files): Likewise.
6920         * modules/lchown-tests (Files): Likewise.
6921         * modules/ldexpl-tests (Files): Likewise.
6922         * modules/link-tests (Files): Likewise.
6923         * modules/linkat-tests (Files): Likewise.
6924         * modules/lseek-tests (Files): Likewise.
6925         * modules/lstat-tests (Files): Likewise.
6926         * modules/mbrtowc-tests (Files): Likewise.
6927         * modules/mbsinit-tests (Files): Likewise.
6928         * modules/mbsnrtowcs-tests (Files): Likewise.
6929         * modules/mbsrtowcs-tests (Files): Likewise.
6930         * modules/memchr-tests (Files): Likewise.
6931         * modules/memcmp-tests (Files): Likewise.
6932         * modules/memmem-tests (Files): Likewise.
6933         * modules/memrchr-tests (Files): Likewise.
6934         * modules/mkdir-tests (Files): Likewise.
6935         * modules/mkfifo-tests (Files): Likewise.
6936         * modules/mkfifoat-tests (Files): Likewise.
6937         * modules/mknod-tests (Files): Likewise.
6938         * modules/nanosleep-tests (Files): Likewise.
6939         * modules/nl_langinfo-tests (Files): Likewise.
6940         * modules/obstack-printf-tests (Files): Likewise.
6941         * modules/open-tests (Files): Likewise.
6942         * modules/openat-tests (Files): Likewise.
6943         * modules/perror-tests (Files): Likewise.
6944         * modules/pipe2-tests (Files): Likewise.
6945         * modules/poll-tests (Files): Likewise.
6946         * modules/popen-tests (Files): Likewise.
6947         * modules/posix_spawn-tests (Files): Likewise.
6948         * modules/posix_spawnp-tests (Files): Likewise.
6949         * modules/pread-tests (Files): Likewise.
6950         * modules/printf-posix-tests (Files): Likewise.
6951         * modules/pty-tests (Files): Likewise.
6952         * modules/random_r-tests (Files): Likewise.
6953         * modules/rawmemchr-tests (Files): Likewise.
6954         * modules/readlink-tests (Files): Likewise.
6955         * modules/remove-tests (Files): Likewise.
6956         * modules/rename-tests (Files): Likewise.
6957         * modules/renameat-tests (Files): Likewise.
6958         * modules/rmdir-tests (Files): Likewise.
6959         * modules/round-tests (Files): Likewise.
6960         * modules/roundf-tests (Files): Likewise.
6961         * modules/roundl-tests (Files): Likewise.
6962         * modules/select-tests (Files): Likewise.
6963         * modules/setenv-tests (Files): Likewise.
6964         * modules/sigaction-tests (Files): Likewise.
6965         * modules/sleep-tests (Files): Likewise.
6966         * modules/snprintf-posix-tests (Files): Likewise.
6967         * modules/snprintf-tests (Files): Likewise.
6968         * modules/sprintf-posix-tests (Files): Likewise.
6969         * modules/stat-tests (Files): Likewise.
6970         * modules/strcasestr-tests (Files): Likewise.
6971         * modules/strchrnul-tests (Files): Likewise.
6972         * modules/strerror-tests (Files): Likewise.
6973         * modules/strsignal-tests (Files): Likewise.
6974         * modules/strstr-tests (Files): Likewise.
6975         * modules/strtod-tests (Files): Likewise.
6976         * modules/strverscmp-tests (Files): Likewise.
6977         * modules/symlink-tests (Files): Likewise.
6978         * modules/symlinkat-tests (Files): Likewise.
6979         * modules/times-tests (Files): Likewise.
6980         * modules/trunc-tests (Files): Likewise.
6981         * modules/truncf-tests (Files): Likewise.
6982         * modules/truncl-tests (Files): Likewise.
6983         * modules/tsearch-tests (Files): Likewise.
6984         * modules/uname-tests (Files): Likewise.
6985         * modules/unlink-tests (Files): Likewise.
6986         * modules/unsetenv-tests (Files): Likewise.
6987         * modules/usleep-tests (Files): Likewise.
6988         * modules/utimensat-tests (Files): Likewise.
6989         * modules/vasprintf-tests (Files): Likewise.
6990         * modules/vdprintf-posix-tests (Files): Likewise.
6991         * modules/vfprintf-posix-tests (Files): Likewise.
6992         * modules/vprintf-posix-tests (Files): Likewise.
6993         * modules/vsnprintf-posix-tests (Files): Likewise.
6994         * modules/vsnprintf-tests (Files): Likewise.
6995         * modules/vsprintf-posix-tests (Files): Likewise.
6996         * modules/wcrtomb-tests (Files): Likewise.
6997         * modules/wcsnrtombs-tests (Files): Likewise.
6998         * modules/wcsrtombs-tests (Files): Likewise.
6999         * modules/wcwidth-tests (Files): Likewise.
7000         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
7001         * tests/test-isinf.c (isinf): Likewise.
7002         * tests/test-isnan.c (isnan): Likewise.
7003         * tests/test-signbit.c (signbit): Likewise.
7004         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
7005         declaration, either as macro or with correct signature.
7006         (select): Ensure function under test is declared with correct
7007         signature in correct header.
7008         * tests/test-atexit.c (atexit): Likewise.
7009         * tests/test-btowc.c (btowc): Likewise.
7010         * tests/test-canonicalize-lgpl.c (realpath)
7011         (canonicalize_file_name): Likewise.
7012         * tests/test-ceilf1.c (ceilf): Likewise.
7013         * tests/test-ceill.c (ceill): Likewise.
7014         * tests/test-chown.c (chown): Likewise.
7015         * tests/test-dprintf-posix.c (dprintf): Likewise.
7016         * tests/test-dup2.c (dup2): Likewise.
7017         * tests/test-dup3.c (dup3): Likewise.
7018         * tests/test-duplocale.c (duplocale): Likewise.
7019         * tests/test-fchdir.c (fchdir): Likewise.
7020         * tests/test-fchownat.c (fchownat): Likewise.
7021         * tests/test-fcntl.c (fcntl): Likewise.
7022         * tests/test-fdopendir.c (fdopendir): Likewise.
7023         * tests/test-fflush.c (fflush): Likewise.
7024         * tests/test-flock.c (flock): Likewise.
7025         * tests/test-floorf1.c (floorf): Likewise.
7026         * tests/test-floorl.c (floorl): Likewise.
7027         * tests/test-fnmatch.c (fnmatch): Likewise.
7028         * tests/test-fopen.c (fopen): Likewise.
7029         * tests/test-fprintf-posix.c (fprintf): Likewise.
7030         * tests/test-freopen.c (freopen): Likewise.
7031         * tests/test-frexp.c (frexp): Likewise.
7032         * tests/test-frexpl.c (frexpl): Likewise.
7033         * tests/test-fseek.c (fseek): Likewise.
7034         * tests/test-fseeko.c (fseeko): Likewise.
7035         * tests/test-fstatat.c (fstatat): Likewise.
7036         * tests/test-fsync.c (fsync): Likewise.
7037         * tests/test-ftell.c (ftell): Likewise.
7038         * tests/test-ftello.c (ftello): Likewise.
7039         * tests/test-futimens.c (futimens): Likewise.
7040         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
7041         (gai_strerror): Likewise.
7042         * tests/test-getcwd.c (getcwd): Likewise.
7043         * tests/test-getdelim.c (getdelim): Likewise.
7044         * tests/test-getdtablesize.c (getdtablesize): Likewise.
7045         * tests/test-getgroups.c (getgroups): Likewise.
7046         * tests/test-gethostname.c (gethostname): Likewise.
7047         * tests/test-getline.c (getline): Likewise.
7048         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
7049         Likewise.
7050         * tests/test-gettimeofday.c (gettimeofday): Likewise.
7051         * tests/test-glob.c (glob, globfree): Likewise.
7052         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
7053         * tests/test-inet_ntop.c (inet_ntop): Likewise.
7054         * tests/test-inet_pton.c (inet_pton): Likewise.
7055         * tests/test-isblank.c (isblank): Likewise.
7056         * tests/test-lchown.c (lchown): Likewise.
7057         * tests/test-ldexpl.c (ldexpl): Likewise.
7058         * tests/test-link.c (link): Likewise.
7059         * tests/test-linkat.c (linkat): Likewise.
7060         * tests/test-lseek.c (lseek): Likewise.
7061         * tests/test-lstat.c (lstat): Likewise.
7062         * tests/test-mbrtowc.c (mbrtowc): Likewise.
7063         * tests/test-mbsinit.c (mbsinit): Likewise.
7064         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
7065         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
7066         * tests/test-memchr.c (memchr): Likewise.
7067         * tests/test-memcmp.c (memcmp): Likewise.
7068         * tests/test-memmem.c (memmem): Likewise.
7069         * tests/test-memrchr.c (memrchr): Likewise.
7070         * tests/test-mkdir.c (mkdir): Likewise.
7071         * tests/test-mkdirat.c (mkdirat): Likewise.
7072         * tests/test-mkfifo.c (mkfifo): Likewise.
7073         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
7074         * tests/test-mknod.c (mknod): Likewise.
7075         * tests/test-nanosleep.c (nanosleep): Likewise.
7076         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
7077         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
7078         Likewise.
7079         * tests/test-open.c (open): Likewise.
7080         * tests/test-openat.c (openat): Likewise.
7081         * tests/test-perror.c (perror): Likewise.
7082         * tests/test-pipe2.c (pipe2): Likewise.
7083         * tests/test-poll.c (poll): Likewise.
7084         * tests/test-popen.c (popen, pclose): Likewise.
7085         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
7086         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
7087         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
7088         (posix_spawn_file_actions_destroy)
7089         (posix_spawn_file_actions_addclose)
7090         (posix_spawn_file_actions_addopen)
7091         (posix_spawn_file_actions_adddup2): Likewise.
7092         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
7093         * tests/test-pread.c (pread): Likewise.
7094         * tests/test-printf-posix.c (printf): Likewise.
7095         * tests/test-pty.c (openpty, forkpty): Likewise.
7096         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
7097         (random_r): Likewise.
7098         * tests/test-rawmemchr.c (rawmemchr): Likewise.
7099         * tests/test-readlink.c (readlink): Likewise.
7100         * tests/test-remove.c (remove): Likewise.
7101         * tests/test-rename.c (rename): Likewise.
7102         * tests/test-renameat.c (renameat): Likewise.
7103         * tests/test-rmdir.c (rmdir): Likewise.
7104         * tests/test-round1.c (round): Likewise.
7105         * tests/test-roundf1.c (roundf): Likewise.
7106         * tests/test-roundl.c (roundl): Likewise.
7107         * tests/test-setenv.c (setenv): Likewise.
7108         * tests/test-sigaction.c (sigaction): Likewise.
7109         * tests/test-sleep.c (sleep): Likewise.
7110         * tests/test-snprintf.c (snprintf): Likewise.
7111         * tests/test-sprintf-posix.c (sprintf): Likewise.
7112         * tests/test-stat.c (stat): Likewise.
7113         * tests/test-stpncpy.c (stpncpy): Likewise.
7114         * tests/test-strcasestr.c (strcasestr): Likewise.
7115         * tests/test-strchrnul.c (strchrnul): Likewise.
7116         * tests/test-strerror.c (strerror): Likewise.
7117         * tests/test-strsignal.c (strsignal): Likewise.
7118         * tests/test-strstr.c (strstr): Likewise.
7119         * tests/test-strtod.c (strtod): Likewise.
7120         * tests/test-strverscmp.c (strverscmp): Likewise.
7121         * tests/test-symlink.c (symlink): Likewise.
7122         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
7123         * tests/test-times.c (times): Likewise.
7124         * tests/test-trunc1.c (trunc): Likewise.
7125         * tests/test-truncf1.c (truncf): Likewise.
7126         * tests/test-truncl.c (truncl): Likewise.
7127         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
7128         Likewise.
7129         * tests/test-uname.c (uname): Likewise.
7130         * tests/test-unlink.c (unlink): Likewise.
7131         * tests/test-unlinkat.c (unlinkat): Likewise.
7132         * tests/test-unsetenv.c (unsetenv): Likewise.
7133         * tests/test-usleep.c (usleep): Likewise.
7134         * tests/test-utimensat.c (utimensat): Likewise.
7135         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
7136         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
7137         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
7138         * tests/test-vprintf-posix.c (vprintf): Likewise.
7139         * tests/test-vsnprintf.c (vsnprintf): Likewise.
7140         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
7141         * tests/test-wcrtomb.c (wcrtomb): Likewise.
7142         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
7143         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
7144         * tests/test-wcwidth.c (wcwidth): Likewise.
7145
7146         build: pull in conditional headers during GNULIB_POSIXCHECK
7147         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
7148         definitions from any conditionally-included headers.
7149         * lib/stdlib.in.h (includes): Likewise.
7150         * lib/unistd.in.h (includes): Likewise.
7151
7152 2009-12-24  Bruno Haible  <bruno@clisp.org>
7153
7154         * tests/test-argv-iter.c: Include header file being tested immediately
7155         after config.h.
7156         * tests/test-base64.c: Likewise.
7157         * tests/test-flock.c: Likewise.
7158         * tests/test-fsync.c: Likewise.
7159         * tests/test-getdate.c: Likewise.
7160         * tests/test-getndelim2.c: Likewise.
7161         * tests/test-isfinite.c: Likewise.
7162         * tests/test-isinf.c: Likewise.
7163         * tests/test-strerror.c: Likewise.
7164         * tests/test-strsignal.c: Likewise.
7165
7166 2009-12-23  Eric Blake  <ebb9@byu.net>
7167
7168         unistd: work around cygwin bug
7169         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
7170         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
7171         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7172
7173 2009-12-23  Bruno Haible  <bruno@clisp.org>
7174
7175         localename: More tests.
7176         * tests/test-localename.c (SIZEOF): New macro.
7177         (categories): New variable.
7178         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
7179         test_locale_name_default): Add test w.r.t. thread locale.
7180         (test_locale_name_thread): New function.
7181         (main): Invoke it.
7182
7183         localename: Make aware of thread locale.
7184         * lib/localename.h (gl_locale_name_thread): New declaration.
7185         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
7186         behaviour with respect to thread locale.
7187         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
7188         <langinfo.h>, glthread/lock.h.
7189         (SIZE_BITS): New macro.
7190         (string_hash): New function.
7191         (struct hash_node): New type.
7192         (HASH_TABLE_SIZE): New macro.
7193         (struniq_hash_table, struniq_lock): New variables.
7194         (struniq): New function.
7195         (gl_locale_name_thread): New function.
7196         (gl_locale_name): Invoke it.
7197         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
7198         * modules/localename (Depends-on): Add lock.
7199         Reported by Mike Gran <spk121@yahoo.com>.
7200
7201 2009-12-23  Eric Blake  <ebb9@byu.net>
7202
7203         va-args: new module
7204         * modules/va-args: New file.
7205         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
7206         * MODULES.html.sh (Core language properties): Mention it.
7207
7208         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7209         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7210         named alias for __attribute__((__unused__)).
7211         * lib/chown.c: Update client.
7212         * lib/fchmodat.c: Likewise.
7213         * lib/fts.c: Likewise.
7214         * lib/getdate.y: Likewise.
7215         * lib/getgroups.c: Likewise.
7216         * lib/getopt.c: Likewise.
7217         * lib/getugroups.c: Likewise.
7218         * lib/mkdir.c: Likewise.
7219         * lib/mkfifo.c: Likewise.
7220         * lib/mkfifoat.c: Likewise.
7221         * lib/mknod.c: Likewise.
7222         * lib/mknodat.c: Likewise.
7223         * lib/readlink.c: Likewise.
7224         * lib/se-context.in.h: Likewise.
7225         * lib/se-selinux.in.h: Likewise.
7226         * lib/sockets.c: Likewise.
7227         * lib/symlink.c: Likewise.
7228         * lib/symlinkat.c: Likewise.
7229         * lib/unicodeio.c: Likewise.
7230         * lib/unistr.h: Likewise.
7231         * tests/test-areadlink.c: Likewise.
7232         * tests/test-areadlinkat.c: Likewise.
7233         * tests/test-filenamecat.c: Likewise.
7234         * tests/test-fseeko.c: Likewise.
7235         * tests/test-ftello.c: Likewise.
7236         * tests/test-getdate.c: Likewise.
7237         * tests/test-getgroups.c: Likewise.
7238         * tests/test-gethostname.c: Likewise.
7239         * tests/test-quotearg.c: Likewise.
7240         * tests/test-version-etc.c: Likewise.
7241         * tests/test-xalloc-die.c: Likewise.
7242         * tests/test-xfprintf-posix.c: Likewise.
7243         * tests/test-xprintf-posix.c: Likewise.
7244         * tests/test-xvasprintf.c: Likewise.
7245
7246         tests: avoid compiler warnings
7247         * tests/test-fcntl.c (main): Delete unused parameters.
7248         * tests/test-freopen-safer.c (main): Likewise.
7249         * tests/test-xalloc-die.c (main): Mark unused parameters.
7250         * tests/test-fseeko.c (main): Likewise.
7251         * tests/test-ftello.c (main): Likewise.
7252         * tests/test-nanosleep.c (main): Avoid declaration warning.
7253         * tests/test-sleep.c (main): Likewise.
7254         * tests/test-unsetenv.c (main): Silence warning about string
7255         literal.
7256         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7257
7258 2009-12-23  Bruno Haible  <bruno@clisp.org>
7259
7260         * tests/test-localename.c (test_locale_name): New function, extracted
7261         from main. Also test mixed situations.
7262         (test_locale_name_posix, test_locale_name_environ,
7263         test_locale_name_default): New functions.
7264         (main): Invoke them all.
7265         * modules/localename-tests (configure.ac): Test for newlocale.
7266
7267 2009-12-23  Bruno Haible  <bruno@clisp.org>
7268
7269         unistd: Ensure getcwd gets declared before being overridden.
7270         * lib/unistd.in.h: Conditionally include <io.h>.
7271
7272 2009-12-22  Bruno Haible  <bruno@clisp.org>
7273
7274         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7275         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7276         (gl_WCHAR_H): Invoke it.
7277         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7278         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7279         Reported by Karl Berry <karl@freefriends.org>.
7280
7281 2009-12-22  Eric Blake  <ebb9@byu.net>
7282
7283         math, unistd: avoid redundant includes
7284         * lib/math.in.h (isnan): No need to re-include <math.h>.
7285         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7286
7287         getsubopt: work around cygwin bug
7288         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7289         avoid conflicting with system getsubopt.
7290         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7291         bug.
7292
7293         getopt: synchronize from glibc
7294         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7295         parameter order.  Adjust all callers.
7296         (_getopt_internal_r, main): Adjust quoting in error messages.
7297         Drop considerations for outdated POSIX 1003.2 error message.
7298         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7299         callers.
7300         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7301
7302         test-getopt: test stderr behavior
7303         * modules/getopt-posix-tests (Depends-on): Add dup2.
7304         * tests/test-getopt.c (ASSERT): Avoid stderr.
7305         (main): Move stderr to a temporary file.
7306         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7307         Instead, add parameter to inform caller if output occurred.
7308         (test_getopt): Adjust all existing tests to expect silence, and
7309         add new tests of leading ":".
7310         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7311         glibc shortcomings with leading "-:" or "+:" in optstring.
7312         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7313         Likewise.
7314         * doc/posix-functions/getopt.texi (getopt): Likewise.
7315
7316         test-getopt: enhance test
7317         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7318         supports optind=0.
7319         * tests/test-getopt.c (OPTIND_MIN): Move...
7320         * tests/test-getopt.h (OPTIND_MIN): ...here.
7321         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7322         Require that optind=0 works, since modern BSD supports it in
7323         addition to optreset, and since coreutils expects it.
7324         (test_getopt_long_only): New test.
7325         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7326         glibc shortcomings with 'W;', and enforcement of optind=0.
7327         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7328         Likewise.
7329
7330 2009-12-21  Bruno Haible  <bruno@clisp.org>
7331
7332         localename: Improvements for MacOS X and Cygwin.
7333         * lib/localename.h (gl_locale_name_environ): New declaration.
7334         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7335         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7336         (gl_locale_name_posix): Invoke it.
7337         (gl_locale_name_default): Add comments. Use Windows native API also on
7338         Cygwin.
7339
7340 2009-12-21  Bruno Haible  <bruno@clisp.org>
7341
7342         Update list of Win32 locale ids.
7343         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7344         (LANG_SAMI): Renamed from LANG_SAAMI.
7345         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7346         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7347         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7348         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7349         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7350         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7351         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7352         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7353         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7354         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7355         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7356         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7357         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7358         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7359         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7360         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7361         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7362         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7363         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7364         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7365         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7366         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7367         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7368         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7369         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7370         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7371         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7372         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7373         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7374         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7375         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7376         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7377         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7378         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7379         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7380         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7381         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7382         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7383         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7384         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7385         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7386         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7387         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7388         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7389         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7390         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7391         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7392         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7393         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7394         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7395         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7396         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7397         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7398         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7399         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7400         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7401         Add more languages and countries for Sami, Sorbian. Add more countries
7402         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7403         for Pashto. Change country for Syriac, Tswana.
7404
7405 2009-12-21  Eric Blake  <ebb9@byu.net>
7406
7407         test-utimens: avoid spurious failure
7408         * tests/test-chown.h (nap): Factor...
7409         * tests/nap.h: ...into new file.
7410         * tests/test-lchown.h (nap): Avoid duplication.
7411         * tests/test-utimens-common.h (nap): Use shared implementation,
7412         necessary on file systems with 1-second resolution.
7413         * modules/chown-tests (Files): Include new file.
7414         * modules/fdutimensat-tests (Files): Likewise.
7415         * modules/futimens-tests (Files): Likewise.
7416         * modules/lchown-tests (Files): Likewise.
7417         * modules/openat-tests (Files): Likewise.
7418         * modules/utimens-tests (Files): Likewise.
7419         * modules/utimensat-tests (Files): Likewise.
7420
7421 2009-12-19  Eric Blake  <ebb9@byu.net>
7422
7423         futimens, utimensat: work around Linux bug
7424         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
7425         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7426         * lib/utimensat.c (rpl_utimensat): Work around it.
7427         * lib/futimens.c (rpl_futimens): Adjust comment.
7428
7429         utimens: work around Linux ctime bug
7430         * lib/utimens.c (detect_ctime_bug): New helper function.
7431         (update_timespec): Differentiate between workaround needed for
7432         this bug vs. what is needed for systems that lack utimensat.
7433         (fdutimens, lutimens): Work around bug.
7434
7435         utimens: check for ctime update
7436         * tests/test-utimens-common.h (check_ctime): Define.
7437         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
7438         * tests/test-futimens.h (test_futimens): Likewise.
7439         * tests/test-lutimens.h (test_lutimens): Likewise.
7440         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7441         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7442
7443 2009-12-19  Bruno Haible  <bruno@clisp.org>
7444
7445         dprintf-posix: Check against memory leak fixed on 2009-12-15.
7446         * tests/test-dprintf-posix2.sh: New file.
7447         * tests/test-dprintf-posix2.c: New file.
7448         * modules/dprintf-posix-tests (Files): Add them.
7449         (configure.ac): Check for getrlimit and setrlimit.
7450         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7451
7452 2009-12-19  Bruno Haible  <bruno@clisp.org>
7453
7454         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7455         * tests/test-fprintf-posix3.sh: New file.
7456         * tests/test-fprintf-posix3.c: New file.
7457         * modules/fprintf-posix-tests (Files): Add them.
7458         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7459
7460 2009-12-19  Eric Blake  <ebb9@byu.net>
7461
7462         dirfd: fix prototype
7463         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7464         * lib/dirfd.c (dirfd): Likewise.
7465
7466         canonicalize: reduce memory usage
7467         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7468         allocation to size.
7469         Reported by Solar Designer <solar@openwall.com>.
7470
7471 2009-12-19  Bruno Haible  <bruno@clisp.org>
7472
7473         New module attribute 'Applicability'.
7474         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7475         * gnulib-tool: New option --extract-applicability.
7476         (func_usage): Document it.
7477         (sed_extract_prog): Recognize it.
7478         (func_get_applicability): New function.
7479         (func_import): Generalize handling of 'link-warning' module.
7480         * modules/link-warning (Applicability): New section.
7481         * modules/arg-nonnull (Applicability): New section.
7482         Repoted by Simon Josefsson <simon@josefsson.org>.
7483
7484 2009-12-19  Bruno Haible  <bruno@clisp.org>
7485
7486         fflush: tweak
7487         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7488         * lib/fseeko.c (rpl_fseeko): Likewise.
7489
7490 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7491
7492         * lib/gl_list.h: Fix typo in comment.
7493
7494 2009-12-16  Eric Blake  <ebb9@byu.net>
7495
7496         fcntl: use to simplify other modules
7497         * modules/cloexec (Depends-on): Add fcntl.
7498         * modules/fchdir (Depends-on): Likewise.
7499         * modules/fd-safer-flag (Depends-on): Likewise.
7500         * modules/unistd-safer (Depends-on): Likewise.
7501         * modules/dup3 (configure.ac): Set module indicator.
7502         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7503         missing.
7504         * lib/fchdir.c (_gl_register_dup): Fix comment.
7505         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7506         * lib/dup-safer.c (dup_safer): Likewise.
7507         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7508         * lib/dup3.c (dup3): Likewise.
7509         * tests/test-fchdir.c (main): Enhance test.
7510         Fixes a dup_cloexec bug reported by Ondřej Vašík.
7511
7512         fcntl: port portions of fcntl to mingw
7513         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7514         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7515         replacement for mingw.
7516         * modules/fcntl (Description): Update.
7517         (Depends-on): Add dup2.
7518         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7519         * modules/fcntl-h (Makefile.am): Substitute it.
7520         * lib/fcntl.in.h (fcntl): Update declaration.
7521         (F_DUPFD, F_GETFD): New macros, when needed.
7522         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7523         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7524         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7525         we now guarantee.
7526
7527         fcntl: work around cygwin bug in F_DUPFD
7528         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7529         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7530         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7531         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7532         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7533
7534         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7535         * modules/fcntl (Files): List new files.
7536         (configure.ac): Run a test.
7537         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7538         * lib/fcntl.c (rpl_fcntl): Likewise.
7539         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7540         (gl_FCNTL_H): Always replace fcntl.h.
7541         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7542         * lib/fcntl.in.h (fcntl): Declare replacement.
7543         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7544         needed, plus a witness.
7545         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7546         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7547         * tests/test-fcntl.c: New file.
7548         * modules/fcntl-tests: Likewise.
7549
7550         binary-io: avoid potential compilation warning
7551         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7552         directives.
7553
7554         fflush: avoid compilation error on NetBSD
7555         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7556         between off_t and fpos_t, since the latter is sometimes a struct.
7557         * lib/fseeko.c (rpl_fseeko): Likewise.
7558         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7559
7560 2009-12-15  Eric Blake  <ebb9@byu.net>
7561
7562         fcntl-h, stdio, sys_ioctl: fix declarations
7563         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7564         function must not take arguments.
7565         * lib/sys_ioctl.in.h (ioctl): Likewise.
7566         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7567         (open): Add a link warning.
7568
7569 2009-12-15  Jim Meyering  <meyering@redhat.com>
7570
7571         areadlink, areadlink-with-size: relax license to LGPLv2+
7572         * modules/areadlink (License): Relax to LGPLv2+.
7573         * modules/areadlink-with-size (License): Likewise.
7574
7575 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7576             Bruno Haible  <bruno@clisp.org>
7577
7578         *printf: Fix memory leak.
7579         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7580         * lib/vfprintf.c (vfprintf): Likewise.
7581         * lib/dprintf.c (dprintf): Likewise.
7582         * lib/vdprintf.c (vdprintf): Likewise.
7583
7584 2009-12-14  Eric Blake  <ebb9@byu.net>
7585
7586         accept4: adjust module dependencies
7587         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7588
7589         utimens: one more try at avoiding compiler warning
7590         * lib/utimens.c (lutimens): Lower scope of result.
7591
7592 2009-12-13  Bruno Haible  <bruno@clisp.org>
7593
7594         Move the malloc checking from module 'list' to new module 'xlist'.
7595         * modules/xlist: New file.
7596         * lib/gl_xlist.h: New file.
7597         * lib/gl_xlist.c: New file.
7598         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7599         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7600         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7601         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7602         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7603         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7604         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7605         gl_sortedlist_nx_add): New declarations.
7606         (struct gl_list_implementation): Rename and change methods accordingly.
7607         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7608         (gl_list_nx_create): Renamed from gl_list_create.
7609         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7610         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7611         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7612         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7613         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7614         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7615         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7616         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7617         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7618         gl_list_create_empty.
7619         (gl_list_nx_create): Renamed from gl_list_create.
7620         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7621         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7622         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7623         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7624         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7625         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7626         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7627         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7628         * lib/gl_array_list.c: Don't include xalloc.h.
7629         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7630         NULL upon out-of-memory.
7631         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7632         out-of-memory.
7633         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7634         Change return type to 'int'.
7635         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7636         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7637         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7638         upon out-of-memory.
7639         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7640         upon out-of-memory.
7641         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7642         upon out-of-memory.
7643         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7644         upon out-of-memory.
7645         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7646         out-of-memory.
7647         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7648         Update.
7649         (gl_array_list_implementation): Update.
7650         * lib/gl_carray_list.c: Don't include xalloc.h.
7651         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7652         Return NULL upon out-of-memory.
7653         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7654         out-of-memory.
7655         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7656         Change return type to 'int'.
7657         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7658         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7659         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7660         upon out-of-memory.
7661         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7662         upon out-of-memory.
7663         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7664         out-of-memory.
7665         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7666         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7667         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7668         Update.
7669         (gl_carray_list_implementation): Update.
7670         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7671         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7672         gl_linked_create_empty. Return NULL upon out-of-memory.
7673         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7674         out-of-memory.
7675         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7676         Change return type to 'int'. Return -1 upon out-of-memory.
7677         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7678         out-of-memory.
7679         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7680         upon out-of-memory.
7681         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7682         upon out-of-memory.
7683         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7684         NULL upon out-of-memory.
7685         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7686         upon out-of-memory.
7687         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7688         out-of-memory.
7689         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7690         Update.
7691         * lib/gl_linked_list.c: Don't include xalloc.h.
7692         (gl_linked_list_implementation): Update.
7693         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7694         (add_to_bucket): Change return type to 'int'.
7695         (gl_linkedhash_list_implementation): Update.
7696         * lib/gl_anytree_list1.h (free_subtree): New function.
7697         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7698         gl_tree_create_empty. Return NULL upon out-of-memory.
7699         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7700         Change return type to 'int'. Return -1 upon out-of-memory.
7701         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7702         out-of-memory.
7703         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7704         (gl_tree_remove_node): New function, moved here from
7705         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7706         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7707         Update.
7708         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7709         malloc, not xmalloc. Return NULL upon out-of-memory.
7710         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7711         out-of-memory.
7712         (gl_tree_remove_node_from_tree): New function, extracted from
7713         gl_tree_remove_node.
7714         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7715         upon out-of-memory.
7716         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7717         out-of-memory.
7718         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7719         upon out-of-memory.
7720         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7721         upon out-of-memory.
7722         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7723         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7724         not xmalloc. Return NULL upon out-of-memory.
7725         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7726         out-of-memory.
7727         (gl_tree_remove_node_from_tree): New function, extracted from
7728         gl_tree_remove_node.
7729         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7730         upon out-of-memory.
7731         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7732         out-of-memory.
7733         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7734         upon out-of-memory.
7735         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7736         upon out-of-memory.
7737         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7738         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7739         gl_anytree_list1.h before gl_anyavltree_list2.h.
7740         (gl_avltree_list_implementation): Update.
7741         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7742         gl_anytree_list1.h before gl_anyavltree_list2.h.
7743         (gl_rbtree_list_implementation): Update.
7744         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7745         Change return type to 'int'. Return -1 upon out-of-memory. Use
7746         __builtin_expect.
7747         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7748         (gl_avltreehash_list_implementation): Update.
7749         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7750         (gl_rbtreehash_list_implementation): Update.
7751         * modules/array-list (Depends-on): Remove xalloc.
7752         * modules/carray-list (Depends-on): Likewise.
7753         * modules/linked-list (Depends-on): Likewise.
7754         * modules/linkedhash-list (Depends-on): Likewise.
7755         * modules/avltree-list (Depends-on): Likewise.
7756         * modules/rbtree-list (Depends-on): Likewise.
7757         * modules/avltreehash-list (Depends-on): Likewise.
7758         * modules/rbtreehash-list (Depends-on): Likewise.
7759
7760         * modules/xsublist: New file.
7761         * lib/gl_xsublist.h: New file.
7762         * lib/gl_xsublist.c: New file.
7763         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7764         (gl_sublist_nx_create): New declaration.
7765         * lib/gl_sublist.c: Don't include xalloc.h.
7766         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7767         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7768         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7769         Change return type to 'int'. Return -1 upon out-of-memory.
7770         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7771         upon out-of-memory.
7772         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7773         NULL upon out-of-memory.
7774         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7775         upon out-of-memory.
7776         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7777         NULL upon out-of-memory.
7778         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7779         NULL upon out-of-memory.
7780         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7781         upon out-of-memory.
7782         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7783         (gl_sublist_list_implementation): Update.
7784         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7785         upon out-of-memory.
7786         * modules/sublist (Depends-on): Remove xalloc.
7787
7788         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7789         * tests/test-carray_list.c: Likewise.
7790         * tests/test-linked_list.c: Likewise.
7791         * tests/test-linkedhash_list.c: Likewise.
7792         * tests/test-avltree_list.c: Likewise.
7793         * tests/test-rbtree_list.c: Likewise.
7794         * tests/test-avltreehash_list.c: Likewise.
7795         * tests/test-rbtreehash_list.c: Likewise.
7796         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7797         * modules/carray-list-tests (Makefile.am): Likewise.
7798         * modules/linked-list-tests (Makefile.am): Likewise.
7799         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7800         * modules/avltree-list-tests (Makefile.am): Likewise.
7801         * modules/rbtree-list-tests (Makefile.am): Likewise.
7802         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7803         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7804
7805         * NEWS: Mention the changes.
7806
7807         * lib/clean-temp.c: Include gl_xlist.h.
7808         * modules/clean-temp (Depends-on): Add xlist.
7809
7810         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7811         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7812
7813         * tests/test-array_oset.c: Include gl_xlist.h.
7814         * modules/array-oset-tests (Depends-on): Add xlist.
7815
7816         Reported by José E. Marchesi <jemarch@gnu.org>.
7817
7818 2009-12-13  Bruno Haible  <bruno@clisp.org>
7819
7820         Move the malloc checking from module 'oset' to new module 'xoset'.
7821         * modules/xoset: New file.
7822         * lib/gl_xoset.h: New file.
7823         * lib/gl_xoset.c: New file.
7824         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7825         declarations.
7826         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7827         (struct gl_oset_implementation): Rename and change methods accordingly.
7828         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7829         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7830         'int'. Mark as __warn_unused_result__.
7831         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7832         gl_oset_create_empty.
7833         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7834         'int'.
7835         * lib/gl_array_oset.c: Don't include xalloc.h.
7836         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7837         malloc, not xmalloc.
7838         (grow): Change return type to 'int'. Don't call xalloc_die.
7839         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7840         to 'int'.
7841         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7842         'int'.
7843         (gl_array_oset_implementation): Update.
7844         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7845         gl_tree_create_empty.
7846         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7847         'int'.
7848         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7849         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7850         xmalloc.
7851         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7852         not xmalloc.
7853         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7854         xmalloc.
7855         (gl_avltree_oset_implementation): Update.
7856         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7857         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7858         xmalloc.
7859         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7860         not xmalloc.
7861         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7862         xmalloc.
7863         (gl_rbtree_oset_implementation): Update.
7864         * modules/array-oset (Depends-on): Remove xalloc.
7865         * modules/avltree-oset (Depends-on): Likewise.
7866         * modules/rbtree-oset (Depends-on): Likewise.
7867         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7868         * tests/test-avltree_oset.c: Likewise.
7869         * tests/test-rbtree_oset.c: Likewise.
7870         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7871         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7872         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7873         * NEWS: Mention the change.
7874
7875 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7876
7877         maint.mk: allow a project to override release-prep commands
7878         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7879         commands into a new rule.
7880         (release-prep): New rule.
7881         (release-prep-hook): New overridable variable.
7882
7883 2009-12-13  Bruno Haible  <bruno@clisp.org>
7884
7885         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7886
7887 2009-12-13  Jim Meyering  <meyering@redhat.com>
7888
7889         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7890         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7891
7892 2009-12-12  Bruno Haible  <bruno@clisp.org>
7893
7894         duplocale: Tweak.
7895         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7896
7897 2009-12-12  Karl Berry  <karl@gnu.org>
7898
7899         * config/srclist.txt (strtoll.c): tab changes, no more sync.
7900
7901 2009-12-12  Bruno Haible  <bruno@clisp.org>
7902
7903         * m4/po.m4: Undo incorrect untabification.
7904
7905 2009-12-12  Bruno Haible  <bruno@clisp.org>
7906
7907         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
7908         * modules/c-strtod (Depends-on): Add locale.
7909         * modules/c-strtold (Depends-on): Likewise.
7910
7911 2009-12-12  Bruno Haible  <bruno@clisp.org>
7912
7913         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
7914
7915 2009-12-11  Eric Blake  <ebb9@byu.net>
7916
7917         setenv: relax requirement in light of POSIX ruling
7918         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
7919         not NULL.
7920         * tests/test-setenv.c (main): Relax test.
7921         * tests/test-unsetenv.c (main): Likewise.
7922         * doc/posix-functions/setenv.texi (setenv): Document this.
7923         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
7924
7925 2009-12-11  Bruno Haible  <bruno@clisp.org>
7926
7927         New module 'fd-safer-flag'.
7928         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
7929         * lib/dup-safer.c (dup_safer_flag): Remove function.
7930         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
7931         * lib/fd-safer.c (fd_safer_flag): Remove function.
7932         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
7933         * modules/cloexec (configure.ac): Drop indicator macro.
7934         * modules/fd-safer-flag: New file.
7935         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
7936         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
7937         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
7938
7939 2009-12-11  Bruno Haible  <bruno@clisp.org>
7940
7941         Tests for module 'nl_langinfo'.
7942         * modules/nl_langinfo-tests: New file.
7943         * tests/test-nl_langinfo.sh: New file.
7944         * tests/test-nl_langinfo.c: New file.
7945
7946         New module 'nl_langinfo'.
7947         * lib/nl_langinfo.c: New file.
7948         * m4/nl_langinfo.m4: New file.
7949         * modules/nl_langinfo: New file.
7950         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
7951
7952 2009-12-11  Bruno Haible  <bruno@clisp.org>
7953
7954         Tests for module 'langinfo'.
7955         * modules/langinfo-tests: New file.
7956         * tests/test-langinfo.c: New file.
7957
7958         New module 'langinfo'.
7959         * lib/langinfo.in.h: New file.
7960         * m4/langinfo_h.m4: New file.
7961         * modules/langinfo: New file.
7962         * doc/posix-headers/langinfo.texi: Mention the new module.
7963
7964 2009-12-11  Bruno Haible  <bruno@clisp.org>
7965
7966         * lib/config.charset: Untabify.
7967
7968 2009-12-11  Bruno Haible  <bruno@clisp.org>
7969
7970         * modules/unistd-safer (configure.ac): Drop indicator macro.
7971
7972 2009-12-11  Bruno Haible  <bruno@clisp.org>
7973
7974         Move pipe2-safer code to its own file.
7975         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
7976         * lib/pipe-safer.c (pipe2_safer): Remove function.
7977         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
7978         (Makefile.am): Add it to lib_SOURCES.
7979
7980 2009-12-10  Bruno Haible  <bruno@clisp.org>
7981
7982         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
7983
7984 2009-12-10  Bruno Haible  <bruno@clisp.org>
7985
7986         Declare which arguments expect non-NULL values, for GCC and clang.
7987         * build-aux/arg-nonnull.h: New file.
7988         * modules/arg-nonnull: New file.
7989         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
7990         (inet_ntop, inet_pton): Use it.
7991         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
7992         (closedir, dirfd, opendir, scandir, alphasort): Use it.
7993         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
7994         (open, openat): Use it.
7995         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
7996         (fnmatch): Use it.
7997         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
7998         (getopt, getopt_long, getopt_long_only): Use it.
7999         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
8000         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
8001         Use it.
8002         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
8003         (iconv_open): Use it.
8004         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
8005         (strtoimax, strtoumax): Use it.
8006         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
8007         (duplocale): Use it.
8008         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
8009         (frexp, frexpl): Use it.
8010         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
8011         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
8012         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
8013         (tsearch, tfind, tdelete, twalk): Use it.
8014         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
8015         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
8016         sigpending): Use it.
8017         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
8018         (posix_spawn, posix_spawnp, posix_spawnattr_init,
8019         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
8020         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
8021         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
8022         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
8023         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
8024         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
8025         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
8026         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
8027         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
8028         Use it.
8029         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
8030         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
8031         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
8032         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
8033         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
8034         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
8035         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
8036         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
8037         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
8038         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
8039         strtoull, unsetenv): Use it.
8040         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
8041         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8042         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8043         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
8044         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
8045         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
8046         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
8047         (strcasecmp, strncasecmp): Use it.
8048         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
8049         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
8050         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
8051         rpl_setsockopt): Use it.
8052         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
8053         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
8054         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
8055         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
8056         (gettimeofday): Use it.
8057         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
8058         (times): Use it.
8059         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
8060         (uname): Use it.
8061         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
8062         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
8063         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
8064         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
8065         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
8066         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
8067         unlinkat, write): Use it.
8068         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
8069         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
8070         * lib/argv-iter.h: Include arg-nonnull.h.
8071         (_ATTRIBUTE_NONNULL_): Remove macro.
8072         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
8073         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
8074         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
8075         optimization.
8076         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
8077         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
8078         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
8079         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
8080         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
8081         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
8082         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
8083         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
8084         * modules/arpa_inet (Depends-on): Add arg-nonnull.
8085         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
8086         * modules/dirent (Depends-on): Add arg-nonnull.
8087         (Makefile.am): Insert arg-nonnull.h into dirent.h.
8088         * modules/fcntl-h (Depends-on): Add arg-nonnull.
8089         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
8090         * modules/fnmatch (Depends-on): Add arg-nonnull.
8091         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
8092         * modules/getopt-posix (Depends-on): Add arg-nonnull.
8093         (Makefile.am): Insert arg-nonnull.h into getopt.h.
8094         * modules/glob (Depends-on): Add arg-nonnull.
8095         (Makefile.am): Insert arg-nonnull.h into glob.h.
8096         * modules/iconv_open (Depends-on): Add arg-nonnull.
8097         (Makefile.am): Insert arg-nonnull.h into iconv.h.
8098         * modules/inttypes (Depends-on): Add arg-nonnull.
8099         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
8100         * modules/locale (Depends-on): Add arg-nonnull.
8101         (Makefile.am): Insert arg-nonnull.h into locale.h.
8102         * modules/math (Depends-on): Add arg-nonnull.
8103         (Makefile.am): Insert arg-nonnull.h into math.h.
8104         * modules/netdb (Depends-on): Add arg-nonnull.
8105         (Makefile.am): Insert arg-nonnull.h into netdb.h.
8106         * modules/search (Depends-on): Add arg-nonnull.
8107         (Makefile.am): Insert arg-nonnull.h into search.h.
8108         * modules/signal (Depends-on): Add arg-nonnull.
8109         (Makefile.am): Insert arg-nonnull.h into signal.h.
8110         * modules/spawn (Depends-on): Add arg-nonnull.
8111         (Makefile.am): Insert arg-nonnull.h into spawn.h.
8112         * modules/stdio (Depends-on): Add arg-nonnull.
8113         (Makefile.am): Insert arg-nonnull.h into stdio.h.
8114         * modules/stdlib (Depends-on): Add arg-nonnull.
8115         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
8116         * modules/string (Depends-on): Add arg-nonnull.
8117         (Makefile.am): Insert arg-nonnull.h into string.h.
8118         * modules/strings (Depends-on): Add arg-nonnull.
8119         (Makefile.am): Insert arg-nonnull.h into strings.h.
8120         * modules/sys_socket (Depends-on): Add arg-nonnull.
8121         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
8122         * modules/sys_stat (Depends-on): Add arg-nonnull.
8123         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
8124         * modules/sys_time (Depends-on): Add arg-nonnull.
8125         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
8126         * modules/sys_times (Depends-on): Add arg-nonnull.
8127         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
8128         * modules/sys_utsname (Depends-on): Add arg-nonnull.
8129         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
8130         * modules/time (Depends-on): Add arg-nonnull.
8131         (Makefile.am): Insert arg-nonnull.h into time.h.
8132         * modules/unistd (Depends-on): Add arg-nonnull.
8133         (Makefile.am): Insert arg-nonnull.h into unistd.h.
8134         * modules/wchar (Depends-on): Add arg-nonnull.
8135         (Makefile.am): Insert arg-nonnull.h into wchar.h.
8136         * modules/argv-iter (Depends-on): Add arg-nonnull.
8137         * tests/test-canonicalize.c (null_ptr): New function.
8138         (main): Use it.
8139         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
8140         (main): Use it.
8141         * tests/test-memmem.c (null_ptr): New function.
8142         (main): Use it.
8143         Reported by Jim Meyering.
8144
8145 2009-12-10  Bruno Haible  <bruno@clisp.org>
8146
8147         Use spaces for indentation, not tabs.
8148         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8149         * m4/*.m4: Untabify.
8150         * build-aux/*.h: Untabify.
8151         * tests/**/*.[hc]: Untabify.
8152         * README: New section "Indent with spaces, not TABs", based on
8153         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
8154         * NEWS: Mention the change.
8155
8156 2009-12-10  Bruno Haible  <bruno@clisp.org>
8157
8158         pty test: Fix link error.
8159         * modules/pty-tests (Makefile.am): Add the default LDADD value to
8160         test_pty_LDADD.
8161
8162 2009-12-07  Simon Josefsson  <simon@josefsson.org>
8163
8164         * modules/pty: New file.
8165         * modules/pty-tests: New file.
8166         * m4/pty.m4: New file.
8167         * tests/test-pty.c: New file.
8168         * doc/glibc-headers/pty.texi: Modified.
8169         * doc/glibc-functions/forkpty.texi: Modified.
8170         * doc/glibc-functions/openpty.texi: Modified.
8171
8172 2009-12-10  Bruno Haible  <bruno@clisp.org>
8173
8174         Avoid syntax error in C++ mode.
8175         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
8176
8177 2009-12-10  Bruno Haible  <bruno@clisp.org>
8178
8179         Use sed with option -e.
8180         * gnulib-tool (func_version, func_emit_copyright_notice,
8181         func_emit_initmacro_end, func_import, func_create_testdir): Pass
8182         option -e to sed.
8183         * modules/link-warning (Makefile.am): Likewise.
8184
8185 2009-12-10  Jim Meyering  <meyering@redhat.com>
8186
8187         mgetgroups: do not write bytes beyond end of malloc'd buffer
8188         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
8189         username, we call getgroups with a one-element-shorter buffer,
8190         but still told it the length was original, max_n_groups.
8191
8192 2009-12-09  Eric Blake  <ebb9@byu.net>
8193
8194         cloexec: relax license
8195         * modules/cloexec (Maintainer): Add myself.
8196         (License): Use LGPL, not GPL.
8197
8198         link-warning: optimize generation
8199         * modules/link-warning (Makefile.am): Reduce process usage.
8200
8201 2009-12-09  Bruno Haible  <bruno@clisp.org>
8202
8203         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
8204         workaround was added on 2009-11-17.
8205
8206 2009-12-09  Jim Meyering  <meyering@redhat.com>
8207             Bruno Haible  <bruno@clisp.org>
8208
8209         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8210         * modules/link-warning (Makefile.am): Make the comment-removing sed
8211         command more robust in the face of bootstrap-prepended comment lines.
8212
8213 2009-12-09  Bruno Haible  <bruno@clisp.org>
8214
8215         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8216         most one group.
8217
8218 2009-12-09  Simon Josefsson <simon@josefsson.org>
8219             Bruno Haible  <bruno@clisp.org>
8220
8221         * build-aux/link-warning.h: Add copyright notice.
8222         * modules/link-warning (Makefile.am): Generate link-warning.h from
8223         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8224         * NEWS: Mention change in link-warning module.
8225         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8226         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8227         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8228         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8229         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8230         * modules/math (Makefile.am): Add dependency to math.h.
8231         * modules/search (Makefile.am): Add dependency to search.h.
8232         * modules/signal (Makefile.am): Add dependency to signal.h.
8233         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8234         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8235         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8236         * modules/string (Makefile.am): Add dependency to string.h.
8237         * modules/strings (Makefile.am): Add dependency to strings.h.
8238         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8239         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8240         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8241         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8242         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8243         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8244         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8245         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8246         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8247
8248 2009-12-09  Bruno Haible  <bruno@clisp.org>
8249
8250         fchdir: Optimize away rpl_fstat when possible.
8251         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8252         REPLACE_OPEN_DIRECTORY.
8253         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8254
8255 2009-12-09  Bruno Haible  <bruno@clisp.org>
8256
8257         * lib/fchdir.c: Update comment.
8258
8259 2009-12-09  Bruno Haible  <bruno@clisp.org>
8260
8261         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8262
8263 2009-12-08  Eric Blake  <ebb9@byu.net>
8264
8265         fchdir: avoid memory leak on re-registration.
8266         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8267
8268 2009-12-08  Jim Meyering  <meyering@redhat.com>
8269
8270         init.sh: avoid Solaris 10 /bin/sh portability problem
8271         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8272         sourced script:
8273           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8274           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8275           bar
8276         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8277         and two tests used that idiom.
8278         * tests/init.sh: Update suggested usage comments.
8279         (path_prepend_): New function, to be used in place
8280         of the --src-path=DIR option.
8281         (setup_): Move PATH-prepending code into path_prepend_.
8282         * tests/test-pread.sh: Adapt to new usage.
8283         * tests/test-xalloc-die.sh: Likewise.
8284
8285 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8286
8287         * doc/gnulib.texi (Glibc pty.h): Add.
8288         * doc/glibc-functions/forkpty.texi: Add.
8289         * doc/glibc-functions/openpty.texi: Add.
8290         Suggested by Bruno Haible.
8291
8292 2009-12-08  Eric Blake  <ebb9@byu.net>
8293
8294         fchdir: fix logic bugs
8295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8296         * tests/test-fchdir.c (main): Enhance test.
8297         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8298         is in use.
8299
8300         dup2: fix logic bugs
8301         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8302         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8303         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8304         exists.
8305         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8306
8307 2009-12-07  Eric Blake  <ebb9@byu.net>
8308
8309         unlink: fix m4 detection
8310         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8311
8312         unistd-safer: add unit test
8313         * modules/unistd-safer-tests: New file.
8314         * tests/test-dup-safer.c: Likewise.
8315         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8316         * tests/test-dup2.c (setmode): Likewise.
8317         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8318
8319         cloexec: preserve text vs. binary across dup_cloexec
8320         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8321         mode.
8322         * modules/dup2-tests (Depends-on): Add binary-io.
8323         * modules/cloexec-tests (Depends-on): Likewise.
8324         * tests/test-dup2.c (setmode, is_mode): New helpers.
8325         (main): Add tests that translation mode is preserved.
8326         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8327         Reported by Bruno Haible.
8328
8329         mgetgroups: reduce duplicate listings
8330         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8331         resulting array.
8332         * tests/test-chown.h (test_chown): Simplify client.
8333         * tests/test-lchown.h (test_lchown): Likewise.
8334
8335 2009-12-06  Bruno Haible  <bruno@clisp.org>
8336
8337         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8338         value.
8339
8340 2009-12-06  Bruno Haible  <bruno@clisp.org>
8341
8342         * lib/progname.c: Include stdio.h, stdlib.h.
8343         (set_program_name): Reject a NULL argument.
8344
8345 2009-12-05  Eric Blake  <ebb9@byu.net>
8346
8347         pipe2-safer: new module
8348         * modules/pipe2-safer: New file.
8349         * lib/unistd-safer.h (pipe2_safer): New prototype.
8350         * lib/unistd--.h (pipe2): New wrapper.
8351         * lib/pipe-safer.c (pipe2_safer): New function.
8352         * modules/pipe (Depends-on): Add pipe2-safer.
8353         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8354
8355         stdlib-safer: preserve cloexec flag for mkostemp[s]
8356         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8357         fd_safer_flag.
8358
8359         unistd-safer: allow preservation of cloexec status via flag
8360         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8361         prototypes.
8362         * lib/dup-safer.c (dup_safer_flag): New function.
8363         * lib/fd-safer.c (fd_safer_flag): Likewise.
8364         * modules/cloexec (configure.ac): Set witness.
8365
8366         test-dup2: enhance test
8367         * modules/dup2-tests (Depends-on): Add cloexec.
8368         * tests/test-dup2.c (main): Enhance test.
8369
8370         cloexec: add dup_cloexec
8371         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8372         header and comments.
8373         * lib/cloexec.c (set_cloexec_flag): Add comments.
8374         (dup_cloexec): New function, with mingw implementation borrowed
8375         from...
8376         * lib/w32spawn.h (dup_noinherit): ...here.
8377         * modules/execute (Depends-on): Add cloexec.
8378         * modules/pipe (Depends-on): Likewise.
8379         * modules/cloexec (Depends-on): Add dup2.
8380         * modules/cloexec-tests (Files): New file.
8381         * tests/test-cloexec.c: Likewise.
8382
8383         test-xalloc-die: fix test for mingw
8384         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8385         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8386         directory and .exe suffix off argv[0] output.
8387
8388         test-fseeko: fix test for mingw
8389         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8390         than undefining fseek, so test will pass on mingw.
8391
8392 2009-12-05  Bruno Haible  <bruno@clisp.org>
8393
8394         * lib/progname.h (set_program_name): Clarify specification.
8395         * lib/progname.c (set_program_name): Likewise.
8396         Reported by Jim Meyering.
8397
8398 2009-12-05  Jim Meyering  <meyering@redhat.com>
8399
8400         maint.mk: backslash-escape parens in default regexp
8401         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8402         backslash-escape the literal parentheses.
8403
8404         maint.mk: news-date-check: use grep -E
8405         * top/maint.mk (today): Define a Make variable, not a...
8406         (news-date-check): ...shell variable.
8407         (news-date-regexp): Use the Make variable.
8408         Use grep's -E option.  Change the failing diagnostic to mention
8409         the variable, $(news-date-regexp).
8410
8411 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8412
8413         maintainer-makefile: allow customization of NEWS entry format
8414         * top/maint.mk (news-date-regexp): New overridable variable.
8415         (news-date-check): Use it.
8416
8417 2009-12-04  Eric Blake  <ebb9@byu.net>
8418
8419         mgetgroups: add xgetgroups, and avoid ENOSYS failures
8420         * lib/mgetgroups.h (xgetgroups): New prototype.
8421         * lib/mgetgroups.c (xgetgroups): New wrapper.
8422         (mgetgroups): Handle ENOSYS.
8423         * modules/mgetgroups (Depends-on): Add realloc.
8424         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
8425
8426         mgetgroups: avoid argument promotion issues with -1
8427         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
8428         for invalid gid_t.
8429         * tests/test-chown.h (getegid, test_chown): Likewise.
8430         * tests/test-lchown.h (getegid, test_lchown): Likewise.
8431
8432 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
8433
8434         exclude: Fix header file problems.
8435         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
8436
8437 2009-12-01  Jim Meyering  <meyering@redhat.com>
8438
8439         fts: fts_open: do not let an empty string cause immediate failure
8440         This is required in support of GNU rm, for which the command
8441         "rm A '' B" must process and remove both A and B, in spite of
8442         the empty string argument.
8443         * lib/fts.c (fts_open): Do not let the presence of an empty string
8444         cause fts_open to fail immediately.  Most fts-using tools must be
8445         able to process all arguments, in order, and can be expected to
8446         diagnose such arguments themselves.
8447
8448 2009-11-30  Eric Blake  <ebb9@byu.net>
8449
8450         utimens: fix compilation error
8451         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8452         Declare variable at right scope.
8453
8454 2009-11-29  Jim Meyering  <meyering@redhat.com>
8455
8456         bootstrap: handle perl-5.11's changed --version output
8457         * build-aux/bootstrap (get_version): Handle perl separately,
8458         since perl-5.11's --version output is different.
8459
8460 2009-11-28  Jim Meyering  <meyering@redhat.com>
8461
8462         userspec: depend on the inttostr module, too
8463         * modules/userspec (Depends-on): Add inttostr.
8464
8465         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8466         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8467         number of MAXUID when it evaluates to (uid_t) -1.
8468         Likewise for group ID.  Reported by Matt McCutchen in
8469         <http://savannah.gnu.org/bugs/?28113>
8470
8471         userspec: reformat to use spaces, not TABs
8472         * lib/userspec.c: Expand TABs to spaces.
8473         Add Emacs' "indent-tabs-mode: nil" hint.
8474
8475 2009-11-27  Eric Blake  <ebb9@byu.net>
8476
8477         getopt-gnu: flush out another BSD bug
8478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8479         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8480         flush out BSD bug.
8481         * tests/test-getopt.h (test_getopt): End lists with NULL.
8482         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8483         (test_getopt_long_posix): Enhance test.
8484         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8485         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8486         getopt-gnu.
8487         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8488         Likewise.
8489
8490 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8491
8492         * modules/idpriv-droptemp-tests (Notice): Fix text.
8493
8494 2009-11-27  Jim Meyering  <meyering@redhat.com>
8495
8496         test-xalloc-die: avoid spurious failure due to libtool argv difference
8497         In a libtool-enabled project, this test would fail due to a difference
8498         in the emitted program name, e.g.,
8499         -test-xalloc-die: memory exhausted
8500         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8501         Use program to avoid that.
8502         * modules/xalloc-die-tests (Depends-on): Add progname.
8503         * tests/test-xalloc-die.c: Include progname.h".
8504         (program_name): Remove decl.
8505         (main): Call set_program_name.
8506         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8507
8508 2009-11-26  Richard Jones  <rjones@redhat.com>
8509
8510         w32sock: leave win32 error in place.
8511         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8512
8513 2009-11-26  Eric Blake  <ebb9@byu.net>
8514
8515         init.sh: suggest to use skip_ and fail_ functions in comments
8516         * tests/init.sh: Add a sentence.
8517
8518 2009-11-25  Bruno Haible  <bruno@clisp.org>
8519
8520         init.sh: add documentation in comments
8521         * tests/init.sh: Add some developer and user documentation.
8522
8523 2009-11-26  Jim Meyering  <meyering@redhat.com>
8524
8525         init.sh: accommodate even those who specify bogus srcdir manually
8526         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8527         configure-time tests to be sanitized, so that there is no need to
8528         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8529         (with no double quotes) suffices.  However, since tests may be
8530         invoked manually, and since you may explicitly set srcdir to the
8531         name of a directory containing spaces, do quote its uses here.
8532         * tests/test-pread.sh: Likewise.
8533         Suggested by Bruno Haible.
8534
8535         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8536         * tests/test-pread.sh: Write no data into the pipe, because
8537         test-pread actually reads none.  This avoids a diagnostic,
8538         "bash: echo: write error: Broken pipe", that arises in the unusual
8539         event something is ignoring SIGPIPE, and might be interpreted
8540         as some sort of failure.  Reported by Bruno Haible.
8541
8542 2009-11-25  Jim Meyering  <meyering@redhat.com>
8543
8544         test-pread: cover failure with ESPIPE and EINVAL
8545         * tests/test-pread.c (main): Test for failure, too.
8546         * tests/test-pread.sh: Invoke with stdin on a pipe.
8547         Suggested by Eric Blake.
8548
8549         pread: improvement and fix
8550         * modules/pread (Depends-on): Depend on lseek, for portability to
8551         e.g., mingw.  Suggested by Eric Blake.
8552         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8553
8554         unistd.in.h: correct declaration of pread
8555         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8556         Reported by Richard W.M. Jones.
8557
8558         test-pread.sh: distribute the test script
8559         * modules/pread-tests (Files): Include test-pread.sh.
8560
8561         test-pread.sh: clean up
8562         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8563         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8564         That is unnecessary, since it's always ".".
8565         Suggestion from Eric Blake.
8566
8567         test-pread.sh: make executable
8568         * tests/test-pread.sh: Set executable bit.
8569         Reported by Eric Blake.
8570
8571         correct typo in test-pread.sh
8572         * tests/test-pread.sh: Add #! line.
8573
8574         test pread
8575         * tests/test-pread.c: New file.
8576         * tests/test-pread.sh: Likewise.
8577         * modules/pread-tests: Likewise.
8578
8579         pread: new module
8580         * modules/pread: New file.
8581         * lib/unistd.in.h (pread): Define/declare.
8582         * lib/pread.c (pread): New file.
8583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8584         * modules/unistd (Makefile.am): Substitute witnesses.
8585         * doc/posix-functions/pread.texi (pread): Update.
8586         * MODULES.html.sh: Add pread.
8587
8588 2009-11-25  Jim Meyering  <meyering@redhat.com>
8589
8590         tests/init.sh: new file to be used via most *.sh tests
8591         * tests/init.sh: New file.
8592
8593 2009-11-25  Eric Blake  <ebb9@byu.net>
8594
8595         utimens: work around older Linux failure with symlinks
8596         * lib/utimens.c (lutimensat_works_really): New variable.
8597         (fdutimens, lutimens): Use it to manage kernels that support
8598         nanosecond times on files, but not on symlinks.
8599         Reported by Ondřej Vašík.
8600
8601         utimes: fix configure grammar
8602         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8603
8604 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8605
8606         regex: Fix fastmap for multibyte character ranges.
8607         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8608         characters when a multibyte character range is included.
8609
8610 2009-11-22  Andy Wingo  <wingo@pobox.com>
8611
8612         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8613         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8614
8615 2009-11-24  Bruno Haible  <bruno@clisp.org>
8616
8617         doc: Most *_l functions exist in MacOS X 10.5.
8618         * doc/posix-functions/duplocale.texi: Update platforms list.
8619         * doc/posix-functions/freelocale.texi: Likewise.
8620         * doc/posix-functions/newlocale.texi: Likewise.
8621         * doc/posix-functions/uselocale.texi: Likewise.
8622         * doc/posix-functions/isalnum_l.texi: Likewise.
8623         * doc/posix-functions/isalpha_l.texi: Likewise.
8624         * doc/posix-functions/isblank_l.texi: Likewise.
8625         * doc/posix-functions/iscntrl_l.texi: Likewise.
8626         * doc/posix-functions/isdigit_l.texi: Likewise.
8627         * doc/posix-functions/isgraph_l.texi: Likewise.
8628         * doc/posix-functions/islower_l.texi: Likewise.
8629         * doc/posix-functions/isprint_l.texi: Likewise.
8630         * doc/posix-functions/ispunct_l.texi: Likewise.
8631         * doc/posix-functions/isspace_l.texi: Likewise.
8632         * doc/posix-functions/isupper_l.texi: Likewise.
8633         * doc/posix-functions/iswalnum_l.texi: Likewise.
8634         * doc/posix-functions/iswalpha_l.texi: Likewise.
8635         * doc/posix-functions/iswblank_l.texi: Likewise.
8636         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8637         * doc/posix-functions/iswctype_l.texi: Likewise.
8638         * doc/posix-functions/iswdigit_l.texi: Likewise.
8639         * doc/posix-functions/iswgraph_l.texi: Likewise.
8640         * doc/posix-functions/iswlower_l.texi: Likewise.
8641         * doc/posix-functions/iswprint_l.texi: Likewise.
8642         * doc/posix-functions/iswpunct_l.texi: Likewise.
8643         * doc/posix-functions/iswspace_l.texi: Likewise.
8644         * doc/posix-functions/iswupper_l.texi: Likewise.
8645         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8646         * doc/posix-functions/isxdigit_l.texi: Likewise.
8647         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8648         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8649         * doc/posix-functions/strcoll_l.texi: Likewise.
8650         * doc/posix-functions/strfmon_l.texi: Likewise.
8651         * doc/posix-functions/strftime_l.texi: Likewise.
8652         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8653         * doc/posix-functions/strxfrm_l.texi: Likewise.
8654         * doc/posix-functions/tolower_l.texi: Likewise.
8655         * doc/posix-functions/toupper_l.texi: Likewise.
8656         * doc/posix-functions/towctrans_l.texi: Likewise.
8657         * doc/posix-functions/towlower_l.texi: Likewise.
8658         * doc/posix-functions/towupper_l.texi: Likewise.
8659         * doc/posix-functions/wcscoll_l.texi: Likewise.
8660         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8661         * doc/posix-functions/wctrans_l.texi: Likewise.
8662         * doc/posix-functions/wctype_l.texi: Likewise.
8663         * doc/glibc-functions/strptime_l.texi: Likewise.
8664         * doc/glibc-functions/strtod_l.texi: Likewise.
8665         * doc/glibc-functions/strtof_l.texi: Likewise.
8666         * doc/glibc-functions/strtol_l.texi: Likewise.
8667         * doc/glibc-functions/strtold_l.texi: Likewise.
8668         * doc/glibc-functions/strtoll_l.texi: Likewise.
8669         * doc/glibc-functions/strtoul_l.texi: Likewise.
8670         * doc/glibc-functions/strtoull_l.texi: Likewise.
8671         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8672         * doc/glibc-functions/wcstod_l.texi: Likewise.
8673         * doc/glibc-functions/wcstof_l.texi: Likewise.
8674         * doc/glibc-functions/wcstol_l.texi: Likewise.
8675         * doc/glibc-functions/wcstold_l.texi: Likewise.
8676         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8677         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8678         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8679
8680 2009-11-24  Bruno Haible  <bruno@clisp.org>
8681
8682         duplocale: Fix logic bug.
8683         * lib/duplocale.c: Don't include <langinfo.h>.
8684         (_NL_LOCALE_NAME): Remove macro.
8685         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8686         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8687
8688 2009-11-23  Jim Meyering  <meyering@redhat.com>
8689
8690         test-update-copyright: don't hard-code /usr/bin/perl
8691         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8692         perl to print the current year.  Gilles Espinasse reported that
8693         the replaced use of perl was hard-coded as /usr/bin/perl.
8694
8695 2009-11-23  Bruno Haible  <bruno@clisp.org>
8696
8697         duplocale: Add support for glibc 2.3.x.
8698         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8699
8700 2009-11-22  Bruno Haible  <bruno@clisp.org>
8701
8702         vasnprintf: Tiny optimization.
8703         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8704         MacOS X.
8705
8706 2009-11-22  Bruno Haible  <bruno@clisp.org>
8707
8708         Tests for module 'duplocale'.
8709         * modules/duplocale-tests: New file.
8710         * tests/test-duplocale.c: New file.
8711
8712         New module 'duplocale'.
8713         * m4/duplocale.m4: New file.
8714         * lib/locale.in.h (duplocale): New declaration.
8715         * lib/duplocale.c: New file.
8716         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8717         gl_LOCALE_H_DEFAULTS): New macros.
8718         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8719         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8720         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8721         REPLACE_DUPLOCALE.
8722         * modules/duplocale: New file.
8723         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8724
8725 2009-11-22  Bruno Haible  <bruno@clisp.org>
8726
8727         * modules/locale-tests (configure.ac): Test for newlocale function.
8728         * tests/test-locale.c: When the system has extended locale functions,
8729         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8730
8731         locale: Make locale_t available when possible.
8732         * lib/locale.in.h: Include <xlocale.h> when it exists.
8733         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8734         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8735         * modules/locale (Depends-on): Add extensions.
8736         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8737         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8738
8739 2009-11-22  Bruno Haible  <bruno@clisp.org>
8740
8741         Add comments.
8742         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8743         invocation.
8744         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8745         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8746         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8747
8748 2009-11-22  Bruno Haible  <bruno@clisp.org>
8749
8750         error: account for the possibility of freopen (stdout).
8751         * lib/error.c: Include <unistd.h>.
8752         (flush_stdout): New function, extracted from error and error_at_line.
8753         Determine stdout's fd dynamically.
8754         (error, error_at_line): Invoke flush_stdout.
8755         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8756         * modules/error (Depends-on): Add unistd.
8757
8758 2009-11-22  Bruno Haible  <bruno@clisp.org>
8759
8760         diffseq: Add comment.
8761         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8762
8763 2009-11-22  Jim Meyering  <meyering@redhat.com>
8764
8765         c-stack: avoid defining an unused static function
8766         * lib/c-stack.c (find_stack_direction): Do not define this function
8767         when it will not be used.
8768
8769         diffseq: avoid spurious gcc warnings
8770         * lib/diffseq.h (IF_LINT2): Define.
8771         (compareseq): Use it to initialize two members of "part".
8772         This avoids two used-uninitialized warnings.
8773
8774 2009-11-21  Jim Meyering  <meyering@redhat.com>
8775
8776         c-stack: avoid "ignoring return value of `write'" warning
8777         * lib/c-stack.c: Include "ignore-value.h".
8778         (die): Explicitly ignore each write return value.
8779         * modules/c-stack (Depends-on): Add ignore-value.
8780
8781 2009-11-21  Bruno Haible  <bruno@clisp.org>
8782
8783         diffseq: reduce scope of variable 'best'.
8784         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8785         variable, earlier used for two different purposes.
8786
8787 2009-11-21  Jim Meyering  <meyering@redhat.com>
8788
8789         diffseq: remove useless assignment to "best"
8790         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8791         assignment.  At that point "best" is already guaranteed to be zero.
8792
8793 2009-11-20  Eric Blake  <ebb9@byu.net>
8794
8795         build: mention ftp redirector in release announcements
8796         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8797         values that used to come from cfg.mk; mention FTP redirect URL.
8798         * build-aux/announce-gen: Mention the mirror list.
8799         Suggested by Karl Berry.
8800
8801         nanosleep: improve port to mingw
8802         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8803         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8804         LIB_NANOSLEEP, but only when needed.
8805         * modules/select (Link): Document LIBSOCKET.
8806         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8807         enough.
8808
8809         nanosleep: work around cygwin bug
8810         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8811         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8812         bug.
8813         (getnow): Delete, not needed.
8814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8815         LIB_CLOCK_GETTIME.
8816         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8817         clock-time, gettime.
8818         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8819         bug.
8820         * modules/nanosleep-tests: New test.
8821         * tests/test-nanosleep.c: New file.
8822
8823         sleep: work around cygwin bug
8824         * lib/sleep.c (rpl_sleep): Work around the bug.
8825         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8826         (gl_PREREQ_SLEEP): Delete unused macro.
8827         * modules/sleep (Depends-on): Add verify.
8828         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8829         * modules/unistd (Makefile.am): Substitute witness.
8830         * lib/unistd.in.h (sleep): Update prototype.
8831         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8832         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8833         * modules/sleep-tests (Depends-on): Check for alarm.
8834
8835 2009-11-20  Jim Meyering  <meyering@redhat.com>
8836
8837         maint.mk: improve sc_prohibit_magic_number_exit
8838         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8839         so it does not match uses like System.exit(1).
8840         Add comments showing how to correct all offenders.
8841
8842 2009-11-19  Eric Blake  <ebb9@byu.net>
8843
8844         xalloc-die-tests: add missing library
8845         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8846
8847         test-xvasprintf: silence compiler warnings
8848         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8849         empty string from gcc.
8850
8851 2009-11-19  Jim Meyering  <meyering@redhat.com>
8852
8853         xfreopen: new module, from coreutils
8854         * modules/xfreopen: New module.
8855         * lib/xfreopen.c: New file.
8856         * lib/xfreopen.h: New file.
8857         * MODULES.html.sh (File stream based Input/Output"): Add it.
8858
8859 2009-11-19  Eric Blake  <ebb9@byu.net>
8860
8861         manywarnings: depend on warnings
8862         * modules/manywarnings (Depends-on): Add warnings.
8863
8864         build: avoid compiler warnings
8865         * lib/select.c (rpl_select): Delete unused variable.
8866         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8867
8868 2009-11-18  Eric Blake  <ebb9@byu.net>
8869
8870         tests: avoid false negative with --with-packager
8871         * tests/test-version-etc.sh: Discard packager information.
8872         * tests/test-argp-version-etc-1.sh: Likewise.
8873         Reported by Mike Frysinger.
8874
8875         utimens: fix regression on Solaris
8876         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8877         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8878         can only change fd timestamps via futimesat.  Instead, use an
8879         additional witness macro to avoid BSD bug.
8880         Reported by Jim Meyering.
8881
8882 2009-11-17  Eric Blake  <ebb9@byu.net>
8883
8884         usleep: use it to simplify tests
8885         * modules/stat-time-tests (Depends-on): Add usleep.
8886         (configure.ac): Drop usleep check.
8887         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8888         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8889         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8890         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8891         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8892         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8893         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8894         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8895         Likewise.
8896         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8897         * tests/test-lchown.h (nap): Likewise.
8898         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8899         * tests/test-stat-time.c (nap): Likewise.
8900         * tests/test-utimens-common.h (nap): Update comments.
8901
8902         usleep: new module
8903         * modules/usleep: New file.
8904         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8905         * lib/usleep.c (usleep): Likewise.
8906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8907         * modules/unistd (Makefile.am): Substitute witnesses.
8908         * lib/unistd.in.h (usleep): Add declaration.
8909         * doc/pastposix-functions/usleep.texi (usleep): Document this.
8910         * MODULES.html.sh (Date and time): Likewise.
8911         * modules/usleep-tests (Depends-on): New test.
8912         * tests/test-usleep.c: New file.
8913
8914         chown: work around OpenBSD bug
8915         * lib/chown.c (rpl_chown): Work around the bug.
8916         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
8917         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
8918         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
8919         * modules/chown (Depends-on): Add stdbool.
8920         * modules/lchown (Depends-on): Likewise.
8921         * doc/posix-functions/chown.texi (chown): Document the bug.
8922         * doc/posix-functions/lchown.texi (lchown): Likewise.
8923         * tests/test-lchown.h (test_chown): Relax test.
8924
8925         mkstemp: avoid conflict with C++ keyword template
8926         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
8927         * lib/mkostemp.c (mkostemp): Likewise.
8928         * lib/mkostemps.c (mkostemps): Likewise.
8929         * lib/mkstemp.c (mkstemp): Likewise.
8930         * lib/mkstemps.c (mkstemps): Likewise.
8931
8932         xalloc-die-tests: optimize
8933         * tests/test-xalloc-die.sh: Reduce number of processes.
8934
8935 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8936
8937         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
8938         patch from ludo@gnu.org (Ludovic Courtès).
8939
8940 2009-11-17  Jim Meyering  <meyering@redhat.com>
8941
8942         version-etc: use proper license string
8943         * modules/version-etc (License): Use LGPL, not LGPLv3+.
8944         * modules/version-etc-fsf: Likewise.
8945
8946 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8947
8948         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
8949         printed to stdout.  Deal with EOL differences.
8950
8951 2009-11-17  Eric Blake  <ebb9@byu.net>
8952
8953         unsetenv: work around Solaris bug
8954         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
8955         * lib/unsetenv.c (rpl_unsetenv): Work around it.
8956         Reported by Jim Meyering.
8957
8958         vasnprintf: avoid compiler warnings
8959         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
8960         variables.
8961         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
8962
8963 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8964
8965         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
8966         settings since xalloc-die is no longer the self test,
8967         xalloc-die.sh is.
8968
8969 2009-11-17  Jim Meyering  <meyering@redhat.com>
8970
8971         test-xalloc-die.sh: make the code agree with the commit log
8972         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
8973         at the end, just in case you happen to have a test-xalloc-die
8974         program in some other PATH directory.
8975
8976         test-xalloc-die.sh: fix a portability bug
8977         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
8978         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
8979         Otherwise, argv[0] (as often seen in diagnostics) would be too
8980         system-dependent, sometimes with, and sometimes without the leading "./".
8981
8982         version-etc-fsf: relax license to LGPLv3+
8983         * modules/version-etc-fsf (License): Relax license.
8984
8985 2009-11-16  Eric Blake  <ebb9@byu.net>
8986
8987         xalloc-die-tests: avoid printing null pointer
8988         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
8989         shell script.
8990         * tests/test-xalloc-die.c (program_name): Declare.
8991         * tests/test-xalloc-die.sh (tmpfiles): New file.
8992
8993         setenv, unsetenv: work around various bugs
8994         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
8995         (setenv) [HAVE_SETENV]: Work around bugs.
8996         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
8997         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
8998         for bugs.
8999         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
9000         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
9001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
9002         * modules/stdlib (Makefile.am): Update substitutions.
9003         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
9004         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
9005         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9006         * modules/setenv-tests: New test.
9007         * modules/unsetenv-tests: Likewise.
9008         * tests/test-setenv.c: New file.
9009         * tests/test-unsetenv.c: Likewise.
9010
9011 2009-11-16  Jim Meyering  <meyering@redhat.com>
9012
9013         version-etc: relax license to LGPLv3+
9014         * modules/version-etc (License): Relax license.
9015
9016         better AC_REQUIRE expanded-before-required-warning avoidance
9017         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
9018         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
9019         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
9020         which is no longer needed.
9021
9022 2009-11-16  Eric Blake  <ebb9@byu.net>
9023
9024         test-freading: clean up temporary file
9025         * tests/test-freading.c (main): Remove file on success, and use
9026         ASSERT more liberally.
9027         Reported by Jim Meyering.
9028
9029 2009-11-16  Jim Meyering  <meyering@redhat.com>
9030
9031         avoid new AC_REQUIRE expanded-before-required warnings
9032         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
9033         merely using it.
9034         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
9035         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
9036
9037 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9038
9039         * tests/test-xalloc-die.c: New file.
9040         * modules/xalloc-die-tests: New file.
9041         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
9042         XFAIL_TESTS so it can be appended by modules.
9043
9044 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9045
9046         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
9047         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
9048
9049 2009-11-14  Eric Blake  <ebb9@byu.net>
9050
9051         fnmatch: avoid compiler warning
9052         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
9053         to silence compiler warning about mismatch signedness in ?:.
9054         Reported by Robert Millan.
9055
9056         intprops: add double-inclusion guard
9057         * lib/intprops.h: Allow idempotent includes.
9058         Suggested by Bruce Korb.
9059
9060         openat: detect Solaris fchownat bug
9061         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
9062         penalizing glibc chownat when only lchownat is broken.
9063         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
9064         trailing slash bugs.
9065         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
9066         * modules/openat-tests (Files): Include more files.
9067         (Depends-on): Add mgetgroups, sleep, stat-time.
9068         (configure.ac): Add additional checks.
9069         (Makefile.am): Build new test.
9070         * tests/test-fchownat.c: New file.
9071
9072         lchown: detect Solaris and FreeBSD bug
9073         * lib/lchown.c (rpl_lchown): Work around bug.
9074         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
9075         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9076         * modules/unistd (Makefile.am): Populate it.
9077         * lib/unistd.in.h (lchown): Update declaration.
9078         * doc/posix-functions/lchown.texi (lchown): Document the bug.
9079         * modules/lchown-tests: New file.
9080         * tests/test-lchown.h (test_lchown): Likewise.
9081         * tests/test-lchown.c (main): Likewise.
9082
9083         chown: detect Solaris and FreeBSD bug
9084         * lib/chown.c (rpl_chown): Work around bug.
9085         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
9086         (gl_PREREQ_CHOWN): Delete.
9087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9088         * modules/unistd (Makefile.am): Populate it.
9089         * lib/unistd.in.h (chown): Update declaration.
9090         * lib/lchown.c (chown): Update client.
9091         * modules/lchown (Depends-on): Add lstat.
9092         * doc/posix-functions/chown.texi (chown): Document the bug.
9093         * doc/posix-functions/getgroups.texi (getgroups): Document
9094         getgroups pitfall.
9095         * modules/chown-tests: New file.
9096         * tests/test-chown.h (test_chown): Likewise.
9097         * tests/test-chown.c (main): Likewise.
9098
9099 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
9100
9101         gnulib-tool: correctly detect absence of m4 directories
9102         * gnulib-tool: Avoid extra newline on data passed to wc -l.
9103
9104 2009-11-14  Jim Meyering  <meyering@redhat.com>
9105
9106         maint.mk: Prohibit inclusion of "xalloc.h" without use.
9107         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9108
9109 2009-11-14  John W. Eaton  <jwe@gnu.org>
9110
9111         strftime.h: wrap funtion declaration in extern "C" block
9112         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
9113
9114 2009-11-13  Eric Blake  <ebb9@byu.net>
9115
9116         getgroups: avoid compiler warning
9117         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
9118
9119         getgroups: work around FreeBSD bug
9120         * lib/getgroups.c (rpl_getgroups): Work around the bug.
9121         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
9122         * doc/posix-functions/getgroups.texi (getgroups): Document it.
9123         * tests/test-getgroups.c (main): Fix buffer overrun.
9124
9125         getgroups: avoid compilation failure
9126         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
9127         * modules/getgroups (Depends-on): Add stdint.
9128
9129 2009-11-13  Jim Meyering  <meyering@redhat.com>
9130
9131         test-getgroups: avoid compilation failure
9132         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
9133
9134 2009-11-13  Eric Blake  <ebb9@byu.net>
9135
9136         mgetgroups: new module, taken from coreutils
9137         * modules/mgetgroups: New file.
9138         * lib/mgetgroups.h: Likewise.
9139         * lib/mgetgroups.c (mgetgroups): Likewise.
9140         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
9141         * MODULES.html.sh (Users and groups): Mention it.
9142
9143         getgroups: don't expose GETGROUPS_T to user
9144         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
9145         an element at a time if GETGROUPS_T is wrong size.
9146         * lib/getugroups.h (getugroups): Change signature.
9147         * lib/unistd.in.h (getgroups): Likewise.
9148         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
9149         signature needs fixing.
9150         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
9151         AC_TYPE_GETGROUPS.
9152         * modules/group-member (Depends-on): Add getgroups.
9153         * lib/group-member.c (group_info, get_group_info): Use gid_t.
9154         (group_member): Rely on getgroups replacement.
9155         * lib/getugroups.c (getugroups): Use gid_t.
9156         * tests/test-getgroups.c (main): Likewise.
9157         * NEWS: Mention the signature change.
9158         * doc/posix-functions/getgroups.texi (getgroups): Mention the
9159         problem with signature.
9160         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
9161         GETGROUPS_T is still useful for setgroups.
9162
9163         getgroups, getugroups: provide stubs for mingw
9164         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
9165         * lib/getugroups.c (getugroups): Likewise.
9166         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
9167         function.  Modernize replacement scheme.
9168         (gl_PREREQ_GETGROUPS): Delete.
9169         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
9170         * modules/getgroups (configure.ac): Declare witness.
9171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9172         * modules/unistd (Depends-on): Substitute witness.
9173         * lib/unistd.in.h (getgroups): Declare replacement.
9174
9175         getgroups: avoid calling exit
9176         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
9177         drop xalloc.
9178         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
9179         dependencies.
9180         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
9181         exiting, in the rare case of malloc failure.
9182
9183         getgroups: fix logic error
9184         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
9185         has more than 20 groups.
9186         * modules/getgroups-tests: New test.
9187         * tests/test-getgroups.c: New file.
9188
9189 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9190
9191         * tests/test-base64.c: Improve.
9192
9193 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9194
9195         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
9196         Blake <ebb9@byu.net>.
9197
9198 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9199
9200         * tests/test-xvasprintf.c: Add %s%s related checks.
9201
9202 2009-11-12  Eric Blake  <ebb9@byu.net>
9203
9204         version-etc: match standards.texi style
9205         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
9206         and use <> only for URLs.
9207
9208 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9209
9210         fts: do not fail on a submount during traversal
9211         * lib/fts.c (fts_build): Read the stat info again after opening
9212         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9213         Original report at http://bugzilla.redhat.com/501848.
9214
9215 2009-11-12  Jim Meyering  <meyering@redhat.com>
9216
9217         bootstrap: sync from coreutils
9218         * build-aux/bootstrap (bootstrap_epilogue): New function.
9219         Use git_modules_config in one more place.  This make bootstrap's
9220         --gnulib-srcdir option more useful for testing.
9221
9222         bootstrap: generalize autoheader check
9223         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9224         AC_CONFIG_HEADERS.
9225
9226 2009-11-11  Eric Blake  <ebb9@byu.net>
9227
9228         mkfifoat: use new modules for Solaris and BSD bugs
9229         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9230         * lib/mkfifoat.c (mknodat): Split...
9231         * lib/mknodat.c (mknodat): ...into new file.
9232         * modules/mkfifoat (Files): Ship new file.
9233         (Depends-on): Add mkfifo, mknod.
9234         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9235         (Depends-on): Add symlink.
9236         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9237         redundant with test_mkfifo.h.
9238         (do_mkfifoat, do_mknodat): New helpers.
9239
9240         mknod: new module
9241         * modules/mknod: New file.
9242         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9243         * lib/mknod.c (mknod): Likewise.
9244         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9245         defaults.
9246         * modules/sys_stat (Makefile.am): Substitute them.
9247         * lib/sys_stat.in.h (mknod): Declare replacement.
9248         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9249         Document it.
9250         * doc/posix-functions/mknod.texi (mknod): Likewise.
9251         * modules/mknod-tests: New test.
9252         * tests/test-mknod.c: Likewise.
9253
9254         mkfifo: new module
9255         * modules/mkfifo: New file.
9256         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9257         * lib/mkfifo.c (mkfifo): Likewise.
9258         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9259         defaults.
9260         * modules/sys_stat (Makefile.am): Substitute them.
9261         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9262         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9263         Document it.
9264         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9265         * modules/mkfifo-tests: New test.
9266         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9267         from test-mkfifoat.c.
9268         * tests/test-mkfifo.c: New file.
9269
9270         readlink: detect FreeBSD bug
9271         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9272         slash on symlink.
9273         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9274         * tests/test-readlink.h (test_readlink): Enhance test.
9275
9276         symlink: detect FreeBSD bug
9277         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9278         slash on symlink.
9279         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9280         * tests/test-symlink.h (test_symlink): Enhance test.
9281
9282 2009-11-10  Eric Blake  <ebb9@byu.net>
9283
9284         link: detect FreeBSD bug
9285         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9286         symlink.
9287         * doc/posix-functions/link.texi (link): Document the bug.
9288         * tests/test-link.h (test_link): Enhance test.
9289         * tests/test-linkat.c (main): Update caller.
9290
9291         unlink, remove: detect FreeBSD bug
9292         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9293         slash on symlink.
9294         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9295         * doc/posix-functions/remove.texi (remove): Likewise.
9296         * tests/test-unlink.h (test_unlink): Enhance test.
9297         * tests/test-remove.c (main): Likewise.
9298
9299 2009-11-09  Eric Blake  <ebb9@byu.net>
9300
9301         rename: detect FreeBSD bug
9302         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9303         slash on symlink.
9304         * modules/renameat-tests (Depends-on): Add filenamecat.
9305         * tests/test-rename.h (test_rename): Allow one more errno.
9306         * tests/test-renameat.c (main): Likewise.
9307         * doc/posix-functions/rename.texi (rename): Document the bug.
9308
9309         open: detect FreeBSD bug
9310         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9311         symlink.
9312         * doc/posix-functions/open.texi (open): Document the bug.
9313         * doc/posix-functions/utimes.texi (utimes): Likewise.
9314         * tests/test-open.h (test_open): Add parameters, and test symlink
9315         handling.
9316         * tests/test-open.c (main): Adjust caller.
9317         * tests/test-fcntl-safer.c (main): Likewise.
9318         * modules/open-tests (Depends-on): Add stdbool, symlink.
9319         * modules/fcntl-safer-tests (Depends-on): Likewise.
9320         * tests/test-openat.c (main): Add test-open tests.
9321
9322         stat: detect FreeBSD bug
9323         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9324         symlink.
9325         * doc/posix-functions/stat.texi (stat): Document the bug.
9326         * tests/test-stat.h (test_stat_func): Add argument.
9327         * tests/test-stat.c (main): Adjust caller.
9328         * tests/test-fstatat.c (main): Likewise.
9329         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9330         Reported by Jim Meyering.
9331
9332 2009-11-09  James Youngman  <jay@gnu.org>
9333
9334         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9335         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9336
9337 2009-11-08  Jim Meyering  <meyering@redhat.com>
9338
9339         utimens: remove invalid futimesat call
9340         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9341         It used the file descriptor of the target file as the DIR_FD
9342         parameter and NULL as the file name.  That caused failure with
9343         errno == EFAULT on FreeBSD-8.0-rc2
9344
9345 2009-11-07  Eric Blake  <ebb9@byu.net>
9346
9347         fflush, freadseek: use fseeko, not fseek
9348         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9349         (clear_ungetc_buffer): Avoid potential problems on large files.
9350         * lib/freadseek.c (freadseek): Likewise.
9351         * modules/freadseek (Depends-on): Add fseeko.
9352         * modules/fseek (configure.ac): Set a witness.
9353         * tests/test-fflush.c (main): Use fseeko.
9354         * tests/test-fpurge.c (fseek): Disable link warning.
9355         * tests/test-freadable.c (fseek): Likewise.
9356         * tests/test-freading.c (fseek): Likewise.
9357         * tests/test-fseeko.c (fseek): Likewise.
9358         * tests/test-ftell.c (fseek): Likewise.
9359         * tests/test-ftello.c (fseek): Likewise.
9360         * tests/test-fwritable.c (fseek): Likewise.
9361         * tests/test-fwriting.c (fseek): Likewise.
9362
9363 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9364
9365         * modules/memchr (Depends-on): Drop getpagesize dependency.
9366
9367 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9368
9369         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9370         Reported by Ludovic Courtès.
9371         * build-aux/pmccabe2html: Improve example usage.
9372         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9373
9374 2009-11-06  Jim Meyering  <meyering@redhat.com>
9375
9376         do-release-commit-and-tag: New module.
9377         Automate the release-commit and tag process.
9378         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9379         * modules/do-release-commit-and-tag: New file.
9380         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9381
9382 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9383
9384         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9385         because test-select.c uses inet_pton.
9386
9387 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9388
9389         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9390         GETADDRINFO_LIB.  Bump serial number.
9391         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9392         Suggested by Eric Blake <ebb9@byu.net>.
9393
9394 2009-11-05  Eric Blake  <ebb9@byu.net>
9395
9396         strtod: detect darwin bug
9397         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9398         Reported by Leo Davis.
9399
9400         freopen-safer: new module
9401         * modules/freopen-safer: New module.
9402         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9403         * lib/freopen-safer.c (freopen_safer): New file.
9404         * lib/stdio-safer.h (freopen_safer): New declaration.
9405         * lib/stdio--.h (freopen): New override.
9406         * MODULES.html.sh (File stream based Input/Output): Mention it.
9407         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9408         freopen-safer module.
9409         * doc/posix-functions/stderr.texi (stderr): Likewise.
9410         * doc/posix-functions/stdin.texi (stdin): Likewise.
9411         * doc/posix-functions/stdout.texi (stdout): Likewise.
9412         * modules/freopen-safer-tests: New test.
9413         * tests/test-reopen-safer.c: New file.
9414
9415 2009-11-05  Jim Meyering  <meyering@redhat.com>
9416
9417         maint.mk: Prohibit inclusion of "close-stream.h" without use.
9418         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9419
9420 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9421
9422         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
9423
9424 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9425
9426         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
9427
9428 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9429
9430         Fix link error.
9431         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9432         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9433
9434 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9435
9436         * tests/test-func.c: Also test value of __func__.
9437
9438 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9439
9440         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
9441         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
9442
9443 2009-11-05  Bruno Haible  <bruno@clisp.org>
9444
9445         Fix link error.
9446         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9447         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9448         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9449
9450 2009-11-05  Bruno Haible  <bruno@clisp.org>
9451
9452         Tests for module 'inet_pton'.
9453         * modules/inet_pton-tests: New file.
9454         * tests/test-inet_pton.c: New file.
9455
9456 2009-11-05  Bruno Haible  <bruno@clisp.org>
9457
9458         Tests for module 'inet_ntop'.
9459         * modules/inet_ntop-tests: New file.
9460         * tests/test-inet_ntop.c: New file.
9461
9462 2009-11-04  Eric Blake  <ebb9@byu.net>
9463
9464         stdlib-safer: wrap all mkstemp variants
9465         * modules/mkostemp (configure.ac): Set witness.
9466         * modules/mkostemps (configure.ac): Likewise.
9467         * modules/mkstemps (configure.ac): Likewise.
9468         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9469         (mkstemps_safer): Wrap more functions.
9470         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9471         wrapping.
9472         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9473         (mkstemps_safer): Implement the wrappers.
9474
9475         mkstemps, mkostemps: new modules
9476         * modules/mkostemps: New module.
9477         * modules/mkstemps: Likewise.
9478         * lib/mkostemps.c (mkostemps): New file.
9479         * lib/mkstemps.c (mkstemps): Likewise.
9480         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9481         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9483         * modules/stdlib (Makefile.am): Substitute them.
9484         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9485         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9486         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9487         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9488         * MODULES.html.sh (File system functions): Mention them.
9489
9490         tempname: resync from glibc
9491         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9492         same values for __GT_FILE as glibc.  Abort even when assertions
9493         are disabled.
9494         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9495         match its value otherwise.  Allow idempotent inclusion.
9496         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9497         * lib/mkostemp.c (mkostemp): Likewise.
9498         * lib/mkstemp.c (mkstemp): Likewise.
9499         * lib/tmpfile.c (tmpfile): Likewise.
9500         * NEWS: Document this.
9501
9502         utimens: fix use of futimens on older Linux
9503         * lib/utimens.c (fdutimens): Use updated, rather than original,
9504         timespec to avoid bug in older Linux kernel.
9505         Reported by Simon Josefsson.
9506
9507 2009-11-04  Bruno Haible  <bruno@clisp.org>
9508
9509         Make num_processors more flexible and consistent.
9510         * lib/nproc.h (enum nproc_query): New type.
9511         (num_processors): Add a 'query' argument.
9512         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9513         (num_processors): Add a 'query' argument. Test the value of the
9514         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9515         mingw, count the number of CPUs available for the current process.
9516         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9517         Check for sched_getaffinity and sched_getaffinity_np.
9518         * modules/nproc (Depends-on): Add c-ctype, extensions.
9519         * NEWS: Mention the change.
9520
9521 2009-11-03  Bruno Haible  <bruno@clisp.org>
9522
9523         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9524
9525 2009-11-03  Jim Meyering  <meyering@redhat.com>
9526
9527         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9528         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9529         if it is defined.
9530
9531 2009-11-02  Eric Blake  <ebb9@byu.net>
9532
9533         mktime, timegm: share common declaration
9534         * lib/mktime-internal.h: New file.
9535         * lib/mktime.c: Use it rather than open-coding a declaration.
9536         * lib/timegm.c: Likewise.
9537         * modules/mktime (Files): Ship it.
9538         * modules/timegm (Files): Likewise.
9539         Suggested by Bruno Haible.
9540
9541         test-update-copyright: update test to match script changes
9542         * tests/test-update-copyright.sh: Avoid hard-coding perl
9543         location.  Don't update *.bak created by earlier runs.
9544
9545 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9546             Simon Josefsson  <simon@josefsson.org>
9547             Bruno Haible  <bruno@clisp.org>
9548
9549         Fix link error on Solaris 8.
9550         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9551         also in libnsl. Define also INET_PTON_LIB.
9552         * modules/inet_pton (Link): New section.
9553
9554 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9555             Bruno Haible  <bruno@clisp.org>
9556
9557         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9558         * modules/inet_ntop (Link): New section.
9559         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9560
9561 2009-11-02  Eric Blake  <ebb9@byu.net>
9562
9563         maint: avoid compiler warnings in m4 macros
9564         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9565         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9566
9567 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9568
9569         * m4/pmccabe2html.m4: Remove file.
9570         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9571         function.  Change maintainer.
9572         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9573         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9574         Courtès).
9575
9576 2009-10-31  Eric Blake  <ebb9@byu.net>
9577
9578         fseeko: fix m4 regression
9579         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9580         regression from 2009-10-27.
9581         Reported by Ralf Wildenhues.
9582
9583 2009-10-31  Jim Meyering  <meyering@redhat.com>
9584
9585         inttostr: aesthetics and improved (compile-time) safety
9586         Define inttype_is_signed rather than inttype_is_unsigned,
9587         since the sole use is via "#if inttype_is_signed".
9588         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9589         inttype_is_unsigned.
9590         * lib/offtostr.c (inttype_is_signed): Likewise.
9591         * lib/uinttostr.c (inttype_is_signed): Likewise.
9592         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9593         * lib/inttostr.c (inttostr): Use verify to cross-check the
9594         inttype_is_signed value and the signedness of the actual type.
9595         * modules/inttostr (Depends-on): Add verify.
9596
9597 2009-10-30  Eric Blake  <ebb9@byu.net>
9598
9599         build: avoid compiler warnings
9600         * lib/fchmodat.c (lchmod): Mark unused variables.
9601         * lib/getopt.c (_getopt_initialize): Likewise.
9602         * lib/mktime.c (__mktime_internal): Provide prototype.
9603         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9604         older gcc that do not understand #pragma GCC diagnostic.
9605         * lib/uinttostr.c (inttype_is_unsigned): Define.
9606         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9607
9608 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9609
9610         stat: fix compilation on AIX
9611         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9612         only see struct stat64.
9613
9614 2009-10-30  Eric Blake  <ebb9@byu.net>
9615
9616         exclude: make more robust
9617         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9618         rather than masking a coding bug.
9619         Suggested by Bruno Haible.
9620
9621 2009-10-30  Jim Meyering  <meyering@redhat.com>
9622
9623         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9624         Rather than putting #!/usr/bin/perl on the first line,
9625         start with a variant of what's recommended by "man perlrun" that
9626         invokes the first "perl" program from your shell's search path.
9627         * build-aux/gitlog-to-changelog: Replace #!... as above.
9628         Add a "Local Variables" perl mode setting.
9629         Prompted by a patch from Ludovic Courtès.
9630         Improved by Eric Blake.
9631         * build-aux/useless-if-before-free: Likewise.
9632         * build-aux/announce-gen: Likewise.
9633         * build-aux/update-copyright: Likewise.
9634
9635 2009-10-29  Eric Blake  <ebb9@byu.net>
9636
9637         filenamecat-lgpl: adjust clients
9638         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9639         filenamecat.
9640         * modules/renameat (Depends-on): Likewise.
9641
9642         filenamecat: split into filenamecat-lgpl
9643         * modules/filenamecat-lgpl: New module.
9644         * modules/filenamecat (Files): Move library-safe files into
9645         filenamecat-lgpl.
9646         (Depends-on): Add filenamecat-lgpl.
9647         (configure.ac): Declare witness.
9648         * lib/filenamecat.h (file_name_concat): Only declare when using
9649         GPL module.
9650         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9651         Move...
9652         * lib/filenamecat-lgpl.c: ...into new file.
9653         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9654         (gl_FILE_NAME_CONCAT): Use it.
9655         * MODULES.html.sh (File system functions): Mention new module.
9656
9657         argp: avoid memory leak
9658         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9659         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9660         base_name, since the latter malloc()s and can call exit().
9661         Leak introduced 2006-07-03.
9662
9663         dirname-lgpl: adjust clients that don't need full dirname
9664         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9665         * modules/filenamecat (Depends-on): Likewise.
9666         * modules/linkat (Depends-on): Likewise.
9667         * modules/mkancesdirs (Depends-on): Likewise.
9668         * modules/mkdir (Depends-on): Likewise.
9669         * modules/openat (Depends-on): Likewise.
9670         * modules/savewd (Depends-on): Likewise.
9671         * modules/rename (Depends-on): Likewise.
9672         (License): Relax license.
9673         * modules/mkdir-tests (Depends-on): Drop progname.
9674         (Makefile.am): Delete unneeded LDADD.
9675         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9676
9677         dirname: split into dirname-lgpl
9678         * modules/dirname-lgpl: New module.
9679         * modules/dirname (Files): Move library-safe files into
9680         dirname-lgpl.
9681         (Depends-on): Add dirname-lgpl.
9682         (configure.ac): Declare witness.
9683         * modules/double-slash-root (License): Relax license.
9684         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9685         module.
9686         * lib/dirname.c (dir_len, mdir_name): Move...
9687         * lib/dirname-lgpl.c: ...into new file.
9688         * lib/basename.c (last_component, base_len): Move...
9689         * lib/basename-lgpl.c: ...into new file.
9690         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9691         (gl_DIRNAME): Use it.
9692         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9693         Mention new module.
9694         * modules/dirname-tests (Depends-on): Add progname.
9695         * tests/test-dirname.c (program_name): Delete.
9696
9697         mkdir: make safe for libraries
9698         * modules/mkdir (Depends-on): Drop xalloc.
9699         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9700         exit.
9701
9702         tests: avoid some compiler warnings
9703         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9704         literals.
9705         * tests/test-memchr.c (main): Avoid type mismatch.
9706         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9707         * tests/test-base64.c (main): Likewise.
9708         * tests/test-getdelim.c (main): Likewise.
9709         * tests/test-gethostname.c (main): Likewise.
9710         * tests/test-getline.c (main): Likewise.
9711         * tests/test-netinet_in.c (main): Likewise.
9712         * tests/test-select.c (open_server_socket, main): Likewise.
9713         * tests/test-select-stdin.c (main): Likewise.
9714         * tests/test-sockets.c (main): Likewise.
9715         * tests/test-strsignal.c (main): Likewise.
9716         * tests/test-sys_select.c (main): Likewise.
9717         * tests/test-sys_socket.c (main): Likewise.
9718         * tests/test-u64.c (main): Likewise.
9719         * tests/test-xfprintf-posix.c (main): Likewise.
9720         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9721
9722         sockets: avoid compiler warning
9723         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9724
9725         maint: detect usage(1) and other suspicious exits
9726         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9727
9728 2009-10-29  Jim Meyering  <meyering@redhat.com>
9729
9730         timespec: long-to-int truncation could make timespec_cmp malfunction
9731         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9732         a multiple of 2^32 nanoseconds as no difference.
9733
9734 2009-10-28  Jim Meyering  <meyering@redhat.com>
9735
9736         fprintftime: wrap macro code argument in "do {...} while(0)"
9737         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9738         cpy macro must be a statement that can be followed by a semicolon.
9739         Now that the else clause contains a comment and is hence longer
9740         than one line, I require curly braces.  That in turn requires
9741         that we wrap this code block in the standard do...while(0).
9742
9743         fprintftime: remove stray semicolon from previous change
9744         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9745
9746         fprintftime: avoid a warning about ignored fwrite return value
9747         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9748         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9749         that is unsafe.
9750         * modules/fprintftime (Depends-on): Add ignore-value.
9751
9752         exclude: avoid an unwarranted warning
9753         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9754
9755 2009-10-27  Eric Blake  <ebb9@byu.net>
9756
9757         fseek: avoid compilation failure when fflush is replaced
9758         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9759         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9760         module is in use.
9761         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9762         module is not in use; since REPLACE_FSEEK worked otherwise.
9763         (GNULIB_FTELLO): Likewise for ftell.
9764         Reported by Ian Beckwith and others.
9765
9766 2009-10-27  Bruno Haible  <bruno@clisp.org>
9767
9768         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9769         Reported by Jim Meyering.
9770
9771 2009-10-27  Jim Meyering  <jim@meyering.net>
9772             Bruno Haible  <bruno@clisp.org>
9773
9774         Avoid warning despite dropping the return value of fwrite.
9775         * lib/unicodeio.c: Include ignore-value.h.
9776         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9777         * modules/unicodeio (Depends-on): Add ignore-value.
9778
9779 2009-10-26  Eric Blake  <ebb9@byu.net>
9780
9781         areadlinkat: fix fallback path
9782         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9783         pointer and zero.
9784
9785 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9786
9787         Use a better IO block size for modern systems
9788         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9789         * lib/md2.c: Likewise.
9790         * lib/md4.c: Likewise.
9791         * lib/md5.c: Likewise.
9792         * lib/sha1.c: Likewise.
9793         * lib/sha256.c: Likewise.
9794         * lib/sha512.c: Likewise.
9795
9796 2009-10-22  Eric Blake  <ebb9@byu.net>
9797
9798         tests: avoid several compiler warnings
9799         * tests/test-getcwd.c (main): Avoid buffer underflow.
9800         * tests/test-getdate.c (main): String literals are not safe with
9801         putenv, so use setenv.  Declare unused argument.
9802         * modules/getdate-tests (Depends-on): Add setenv.
9803         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9804         problems with string literals in char *.
9805         * tests/test-hash.c (main): Avoid shadowing declaration.
9806         (insert_new): Treat string literals as char const *.
9807         * tests/test-getopt.h (test_getopt): Likewise.
9808         (getopt_loop): Alter types to minimize casting elsewhere.
9809         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9810         (test_getopt_long_posix): Likewise.
9811         (do_getopt_long): Add wrapper to minimize casting.
9812         * tests/test-atexit.c (clear_temp_file): Use void.
9813         * tests/test-areadlink-with-size.c (main): Declare unused
9814         arguments.
9815         * tests/test-areadlink.c (main): Likewise.
9816         * tests/test-areadlinkat-with-size.c (main): Likewise.
9817         * tests/test-areadlinkat.c (main): Likewise.
9818         * tests/test-canonicalize-lgpl.c (main): Likewise.
9819         * tests/test-canonicalize.c (main): Likewise.
9820         * tests/test-dirent-safer.c (main): Likewise.
9821         * tests/test-dirname.c (main): Likewise.
9822         * tests/test-dup2.c (main): Likewise.
9823         * tests/test-fchdir.c (main): Likewise.
9824         * tests/test-fcntl-h.c (main): Likewise.
9825         * tests/test-fcntl-safer.c (main): Likewise.
9826         * tests/test-fdopendir.c (main): Likewise.
9827         * tests/test-fdutimensat.c (main): Likewise.
9828         * tests/test-fflush.c (main): Likewise.
9829         * tests/test-filenamecat.c (main): Likewise.
9830         * tests/test-filevercmp.c (main): Likewise.
9831         * tests/test-fopen-safer.c (main): Likewise.
9832         * tests/test-fopen.c (main): Likewise.
9833         * tests/test-fpending.c (main): Likewise.
9834         * tests/test-fpurge.c (main): Likewise.
9835         * tests/test-freading.c (main): Likewise.
9836         * tests/test-fstatat.c (main): Likewise.
9837         * tests/test-fsync.c (main): Likewise.
9838         * tests/test-futimens.c (main): Likewise.
9839         * tests/test-getndelim2.c (main): Likewise.
9840         * tests/test-gettimeofday.c (main): Likewise.
9841         * tests/test-getopt.c (main): Likewise.
9842         * tests/test-i-ring.c (main): Likewise.
9843         * tests/test-inttypes.c (main): Likewise.
9844         * tests/test-link.c (main): Likewise.
9845         * tests/test-lstat.c (main): Likewise.
9846         * tests/test-math.c (main): Likewise.
9847         * tests/test-md5.c (main): Likewise.
9848         * tests/test-memchr2.c (main): Likewise.
9849         * tests/test-memrchr.c (main): Likewise.
9850         * tests/test-mkdir.c (main): Likewise.
9851         * tests/test-mkdirat.c (main): Likewise.
9852         * tests/test-mkfifoat.c (main): Likewise.
9853         * tests/test-open.c (main): Likewise.
9854         * tests/test-openat-safer.c (main): Likewise.
9855         * tests/test-openat.c (main): Likewise.
9856         * tests/test-quotearg.c (main): Likewise.
9857         * tests/test-rawmemchr.c (main): Likewise.
9858         * tests/test-readlink.c (main): Likewise.
9859         * tests/test-remove.c (main): Likewise.
9860         * tests/test-rename.c (main): Likewise.
9861         * tests/test-renameat.c (main): Likewise.
9862         * tests/test-rmdir.c (main): Likewise.
9863         * tests/test-sha1.c (main): Likewise.
9864         * tests/test-signal.c (main): Likewise.
9865         * tests/test-sigaction.c (main): Likewise.
9866         * tests/test-stat.c (main): Likewise.
9867         * tests/test-stat-time.c (main): Likewise.
9868         * tests/test-stddef.c (main): Likewise.
9869         * tests/test-stdint.c (main): Likewise.
9870         * tests/test-stdio.c (main): Likewise.
9871         * tests/test-stdlib.c (main): Likewise.
9872         * tests/test-strchrnul.c (main): Likewise.
9873         * tests/test-strerror.c (main): Likewise.
9874         * tests/test-string.c (main): Likewise.
9875         * tests/test-strtod.c (main): Likewise.
9876         * tests/test-strverscmp.c (main): Likewise.
9877         * tests/test-symlink.c (main): Likewise.
9878         * tests/test-symlinkat.c (main): Likewise.
9879         * tests/test-sys_stat.c (main): Likewise.
9880         * tests/test-sys_time.c (main): Likewise.
9881         * tests/test-time.c (main): Likewise.
9882         * tests/test-unistd.c (main): Likewise.
9883         * tests/test-unlink.c (main): Likewise.
9884         * tests/test-unlinkat.c (main): Likewise.
9885         * tests/test-utimens.c (main): Likewise.
9886         * tests/test-utimensat.c (main): Likewise.
9887         * tests/test-version-etc.c (main): Likewise.
9888         * tests/test-wchar.c (main): Likewise.
9889         * tests/test-wctype.c (main): Likewise.
9890         * tests/test-xprintf-posix.c (main): Likewise.
9891         * tests/test-posixtm.c (main): Likewise.
9892         (STREQ): Delete unused macro.
9893         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9894         shadowed variables.
9895         * tests/test-memchr.c (main): Likewise.
9896
9897 2009-10-21  Eric Blake  <ebb9@byu.net>
9898
9899         areadlinkat: avoid failure on older glibc
9900         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
9901         rather than mis-comparing 0 against FUNC_RESULT of char*.
9902
9903 2009-10-21  Bruno Haible  <bruno@clisp.org>
9904
9905         * modules/stpncpy (License): Relicense under LGPLv2+.
9906         Reported by David Lutterkort <lutter@redhat.com>.
9907
9908 2009-10-20  Eric Blake  <ebb9@byu.net>
9909
9910         utimensat: work around Solaris 9 bug
9911         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
9912         has trailing slash bugs.
9913         * tests/test-lutimens.h (test_lutimens): Enhance test.
9914         * tests/test-utimens.h (test_utimens): Likewise.
9915         * doc/posix-functions/utime.texi (utime): Enhance documentation.
9916         * doc/posix-functions/utimes.texi (utimes): Likewise.
9917         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9918         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
9919         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
9920         * doc/posix-functions/futimens.texi (futimens): Likewise.
9921
9922         fdutimensat: new module
9923         * modules/fdutimensat: New file.
9924         * lib/fdutimensat.c (fdutimensat): Likewise.
9925         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
9926         * MODULES.html.sh (File system functions): Mention module.
9927         * modules/fdutimensat-tests: New test.
9928         * tests/test-fdutimensat.c: Likewise.
9929
9930         doc: regenerate INSTALL
9931         * doc/INSTALL: Reflect recent autoconf update.
9932         * doc/INSTALL.ISO: Likewise.
9933         * doc/INSTALL.UTF-8: Likewise.
9934
9935 2009-10-20  Pádraig Brady  <P@draigBrady.com>
9936
9937         acl: warn if ACL support is not detected
9938         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
9939
9940 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
9941
9942         * lib/nproc.h: Add extern "C" block for C++.
9943
9944 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
9945             Bruno Haible  <bruno@clisp.org>
9946
9947         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
9948         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
9949         * doc/posix-functions/isalpha.texi: Likewise.
9950         * doc/posix-functions/isblank.texi: Likewise.
9951         * doc/posix-functions/iscntrl.texi: Likewise.
9952         * doc/posix-functions/isdigit.texi: Likewise.
9953         * doc/posix-functions/isgraph.texi: Likewise.
9954         * doc/posix-functions/islower.texi: Likewise.
9955         * doc/posix-functions/isprint.texi: Likewise.
9956         * doc/posix-functions/ispunct.texi: Likewise.
9957         * doc/posix-functions/isspace.texi: Likewise.
9958         * doc/posix-functions/isupper.texi: Likewise.
9959         * doc/posix-functions/isxdigit.texi: Likewise.
9960
9961 2009-10-18  Bruno Haible  <bruno@clisp.org>
9962
9963         Tests for module 'isblank'.
9964         * modules/isblank-tests: New file.
9965         * tests/test-isblank.c: New file.
9966
9967         New module 'isblank'.
9968         * lib/isblank.c: New file.
9969         * m4/isblank.m4: New file.
9970         * modules/isblank: New file.
9971         * doc/posix-functions/isblank.texi: Mention the new module.
9972
9973 2009-10-18  Bruno Haible  <bruno@clisp.org>
9974
9975         New module 'ctype'.
9976         * lib/ctype.in.h: New file.
9977         * m4/ctype.m4: New file.
9978         * modules/ctype: New file.
9979         * doc/posix-headers/ctype.texi: Mention the new module.
9980
9981 2009-10-18  Jim Meyering  <meyering@redhat.com>
9982
9983         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
9984         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
9985         right after its initialization, rather than farther down.
9986         Keeping these in close proximity makes it easier to ensure
9987         that each such variable is initialized.  E.g.,
9988
9989             LIB_CLOCK_GETTIME=
9990             AC_SUBST([LIB_CLOCK_GETTIME])
9991
9992         This change also increments these serial numbers.
9993         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
9994         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9995         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9996
9997 2009-10-18  Bruno Haible  <bruno@clisp.org>
9998
9999         Don't let environment variables perturb build.
10000         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
10001         (gl_PREREQ_GETHRXTIME): ... not here.
10002
10003 2009-10-18  Bruno Haible  <bruno@clisp.org>
10004
10005         Avoid symlink attack in localcharset module.
10006         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
10007         (O_NOFOLLOW): Define fallback.
10008         (get_charset_aliases): Don't open the file if it is a symbolic link.
10009         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
10010         gl_FCNTL_H.
10011         (gl_FCNTL_H): Require it.
10012         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
10013         * modules/localcharset (Files): Add m4/fcntl_h.m4.
10014         Reported by Fergal Glynn <fglynn@veracode.com>.
10015
10016 2009-10-18  Bruno Haible  <bruno@clisp.org>
10017
10018         Implement nproc for mingw.
10019         * lib/nproc.c: Include <windows.h>
10020         (num_processors): On native Windows platforms, try GetSystemInfo.
10021
10022 2009-10-18  Bruno Haible  <bruno@clisp.org>
10023
10024         Implement nproc for IRIX.
10025         * lib/nproc.c: Include <sys/sysmp.h>.
10026         (num_processors): On IRIX systems, try sysmp.
10027         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
10028
10029 2009-10-18  Bruno Haible  <bruno@clisp.org>
10030
10031         Implement nproc for HP-UX.
10032         * lib/nproc.c: Include <sys/pstat.h>
10033         (num_processors): On HP-UX systems, try pstat_getdynamic.
10034         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
10035         pstat_getdynamic.
10036
10037 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
10038             Bruno Haible  <bruno@clisp.org>
10039
10040         Implement nproc for NetBSD, OpenBSD.
10041         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
10042         (ARRAY_SIZE): New macro.
10043         (num_processors): On BSD systems, try sysctl of HW_NCPU.
10044         * m4/nproc.m4: New file.
10045         * modules/nproc (Files): Add m4/nproc.m4.
10046         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
10047         (Makefile.am): Instead, augment lib_SOURCES.
10048
10049 2009-10-18  Bruno Haible  <bruno@clisp.org>
10050
10051         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
10052         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
10053         sys/param.h.
10054
10055 2009-10-16  Eric Blake  <ebb9@byu.net>
10056
10057         utimensat: new module
10058         * modules/utimensat: New file.
10059         * lib/utimensat.c (utimensat): Likewise.
10060         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10061         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
10062         so we can work around Linux bugs.
10063         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10064         * modules/sys_stat (Makefile.am): Substitute them.
10065         * lib/sys_stat.in.h (utimensat): Declare it.
10066         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10067         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10068         * modules/utimensat-tests: New test.
10069         * tests/test-utimensat.c: Likewise.
10070
10071         utimens: let lutimens work on non-symlinks
10072         * lib/utimens.c (lutimens): Fall back to utimens rather than
10073         failing with ENOSYS, when file is not a symlink.
10074         (utimens): Reduce redirection.
10075         * tests/test-lutimens.h (test_lutimens): Update test to cover
10076         non-symlinks.
10077         * tests/test-utimens.h (test_utimens): Update test to cover
10078         symlinks.
10079         * tests/test-utimens.c (main): Update caller.
10080
10081         utimens: cache whether utimensat syscall works
10082         * lib/utimens.c (utimensat_works_really): New cache variable.
10083         (fdutimens, lutimens): Use it to avoid failing syscall.
10084
10085         test-stat-time, test-utimens: improve portability
10086         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
10087         ext4 on alpha, and for cygwin.
10088         * tests/test-utimens-common.h: New file.
10089         (nap): Factor delays into single function.
10090         * tests/test-lutimens.h (test_lutimens): Use new header.
10091         * tests/test-futimens.h (test_futimens): Likewise.
10092         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
10093         timestamps to occur from same machine, as was done previously for
10094         test_utimens.
10095         * modules/utimens-tests (Files): Ship new file.
10096         * modules/futimens-tests (Files): Likewise.
10097         Reported in part by Jim Meyering.
10098
10099         sys_stat: sort replacement declarations
10100         * lib/sys_stat.in.h: Sort declarations.
10101         * lib/futimens.c (futimens): Fix typo.
10102
10103 2009-10-15  Jim Meyering  <meyering@redhat.com>
10104
10105         don't let environment settings perturb build
10106         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
10107         could cause a configure-time and/or build-time malfunction.
10108         Typically, a configure-time function-in-library test is performed
10109         via code like this:
10110
10111           LIB_VAR=
10112           AC_SUBST([LIB_VAR])
10113           prefix_saved_LIBS=$LIBS
10114             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
10115                        [test "$ac_cv_search_FUNC" = "none required" ||
10116                         LIB_VAR=$ac_cv_search_FUNC])
10117           LIBS=$prefix_saved_LIBS
10118
10119         However, in each of the files affected by this change, the LIB_VAR=
10120         initialization was omitted.  Thus, when set in the environment, its
10121         value would propagate into generated Makefiles when FUNC is not found
10122         in LIB_NAME.
10123         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
10124         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10125         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10126
10127 2009-10-14  Eric Blake  <ebb9@byu.net>
10128
10129         fchdir: avoid infinite recursion in mingw
10130         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
10131         recursing.
10132
10133         test-stat-time: port to mingw
10134         * tests/test-stat-time.c (force_unlink): Return a value.
10135         (test_ctime) [W32]: Fix compilation error.
10136         (nap): Don't call usleep with too large an argument.  Use
10137         force_unlink.
10138         * doc/pastposix-functions/usleep.texi (usleep): Document the
10139         portability issue.
10140
10141 2009-10-13  Jim Meyering  <meyering@redhat.com>
10142
10143         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
10144         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
10145         * modules/pipe-filter-ii: Likewise.
10146         * modules/sys_socket-tests: Likewise.
10147         * modules/tsearch-tests: Likewise.
10148         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
10149         (check): Depend on it.
10150
10151 2009-10-12  Eric Blake  <ebb9@byu.net>
10152
10153         utimens-tests: port to NFS file systems
10154         * tests/test-utimens.h (test_utimens): Refactor utimecmp
10155         comparisons to avoid spurious failures from timestamp drift
10156         between NFS machines.
10157
10158 2009-10-12  Eric Blake  <ebb9@byu.net>
10159
10160         stat-time-tests: minor cleanups
10161         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
10162         * tests/test-stat-time.c (nap): Separate assignment from call.
10163         Suggested by Paolo Bonzini and Bruno Haible.
10164
10165         sys_stat: guarantee struct timespec
10166         * lib/sys_stat.in.h (includes): Always include <time.h>
10167         * modules/sys_stat (Depends-on): Add time.
10168         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
10169         mode_t permission values.
10170         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
10171         get at subsecond timestamps.
10172
10173 2009-10-10  Eric Blake  <ebb9@byu.net>
10174
10175         futimens: new module
10176         * modules/futimens: New file.
10177         * lib/futimens.c (futimens): Likewise.
10178         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
10179         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
10180         we can work around Linux bugs.
10181         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10182         * modules/sys_stat (Makefile.am): Substitute them.
10183         * lib/sys_stat.in.h (futimens): Declare it.
10184         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10185         * doc/posix-functions/futimens.texi (futimens): Likewise.
10186         * modules/futimens-tests: New test.
10187         * tests/test-futimens.c: Likewise.
10188
10189         utimens: introduce fdutimens
10190         * lib/utimens.h (fdutimens): New prototype.
10191         * lib/utimens.c (gl_futimens): Move guts...
10192         (fdutimens): ...to new interface.
10193         * tests/test-utimens.c (do_fdutimens): Use it.
10194
10195         utimens: add UTIME_NOW and UTIME_OMIT support
10196         * lib/utimens.c (validate_timespec, update_timespec): New helper
10197         functions.
10198         (gl_futimens, lutimens): Use them.
10199         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
10200         stdbool, sys_stat.
10201         (Link): Mention resulting library dependency.
10202         * modules/utimecmp (Link): Likewise.
10203         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
10204         (Makefile.am): Pick up library dependency.
10205         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
10206         definition.
10207         * tests/test-sys_stat.c: Test the definitions.
10208         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10209         * NEWS: Document library dependency.
10210
10211         utimecmp: support symlink timestamps
10212         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10213         hashing when possible.  Use pathconf when available.
10214         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10215         * modules/utimecmp (Depends-on): Add lstat.
10216
10217         utimens: add lutimens interface
10218         * lib/utimens.c (lutimens): New function.
10219         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10220         * lib/utimens.h (lutimens): Declare new interface.
10221         * tests/test-utimens.c (main): Enhance test.
10222         * tests/test-lutimens.h (test_lutimens): New file.
10223         * modules/utimens-tests (Files): Distribute it.
10224         (Depends-on): Add symlink.
10225         (configure.ac): Check for usleep.
10226
10227         utimens: validate futimens usage
10228         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10229         fewer syscalls on failure later on.  Avoid compiler warning on
10230         mingw.
10231         * modules/utimens (Depends-on): Add dup2.
10232
10233         utimens: add test
10234         * modules/utimens-tests: New test.
10235         * tests/test-utimens.h: New file.
10236         * tests/test-futimens.h: Likewise.
10237         * tests/test-utimens.c: Likewise.
10238
10239         doc: mention timestamp portability issues
10240         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10241         instead.
10242         * doc/posix-functions/utime.texi (utime): Likewise.
10243         * doc/posix-functions/utimes.texi (utimes): Likewise.
10244         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10245         instead.
10246         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10247         module.
10248         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10249         Mention weakness with symlink timestamps.
10250         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10251         to utimensat/futimens instead.
10252         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10253
10254         test-dup2: enhance test
10255         * tests/test-dup2.c (main): Also check AT_FDCWD.
10256
10257         test-stat-time: avoid more spurious failures
10258         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10259         xfs; and avoid race if the two timestamps cross quantization edge.
10260
10261         relocatable: prefer 'file system' over 'filesystem'
10262         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10263         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10264         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10265         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10266         * lib/relocatable.c (compute_curr_prefix): Likewise.
10267
10268 2009-10-10  Jim Meyering  <meyering@redhat.com>
10269
10270         stat-time-tests: check for the usleep function
10271         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10272
10273 2009-10-10  Bruno Haible  <bruno@clisp.org>
10274
10275         * modules/xnanosleep: Put the Link section after the Include section.
10276
10277 2009-10-09  Eric Blake  <ebb9@byu.net>
10278
10279         dup2: work around FreeBSD 6.1 bug
10280         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10281         * doc/posix-functions/dup2.texi (dup2): Document it.
10282         Reported by Nelson H. F. Beebe and Jim Meyering.
10283
10284         test-stat-time: port to buggy NFS clients
10285         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10286         (test_ctime): Also skip test if mtime and ctime are skewed.
10287
10288         maint: prefer 'file system' over 'filesystem'
10289         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10290         * doc/posix-functions/lstat.texi (lstat): Likewise.
10291         * lib/file-has-acl.c (file_has_acl): Likewise.
10292         * lib/fwriteerror.c [TEST]: Likewise.
10293         * tests/test-areadlink.h (test_areadlink): Likewise.
10294         * tests/test-areadlinkat-with-size.c (main): Likewise.
10295         * tests/test-areadlinkat.c (main): Likewise.
10296         * tests/test-canonicalize-lgpl.c (main): Likewise.
10297         * tests/test-canonicalize.c (main): Likewise.
10298         * tests/test-fstatat.c (main): Likewise.
10299         * tests/test-linkat.c (main): Likewise.
10300         * tests/test-lstat.h (test_lstat_func): Likewise.
10301         * tests/test-mkdir.h (test_mkdir): Likewise.
10302         * tests/test-readlink.h (test_readlink): Likewise.
10303         * tests/test-remove.c (main): Likewise.
10304         * tests/test-rename.h (test_rename): Likewise.
10305         * tests/test-renameat.c (main): Likewise.
10306         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10307         * tests/test-symlink.h (test_symlink): Likewise.
10308         * tests/test-symlinkat.c (main): Likewise.
10309         * tests/test-unlink.h (test_unlink_func): Likewise.
10310         * tests/test-unlinkat.c (main): Likewise.
10311
10312         maint: make realtime library usage explicit
10313         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10314         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10315         * modules/settime (Link): Likewise.
10316         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10317
10318         test-stat-time: speed up execution
10319         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10320         warning on mingw.
10321         (nap): New helper function.
10322         (prepare_test): Use it to reduce sleep time.
10323         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10324         execution.
10325         * modules/stat-time-tests (configure.ac): Check for usleep.
10326
10327 2009-10-09  Jim Meyering  <meyering@redhat.com>
10328
10329         selinux-h: always use getfilecon wrappers
10330         * lib/getfilecon.c: New file.
10331         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10332         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10333         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10334         (fgetfilecon): Provide a stub.
10335         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10336         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10337         file unconditionally.
10338         When <selinux/selinux.h> is found, arrange to use wrappers.
10339         * modules/selinux-h (Files): Add getfilecon.c.
10340         (Makefile.am): Substitute include-next-related bits
10341         into the now-always-generated selinux/selinux.h file.
10342         * doc/glibc-functions/lgetfilecon.texi: New file.
10343         * doc/glibc-functions/fgetfilecon.texi: New file.
10344         * doc/glibc-functions/getfilecon.texi: New file.
10345         * doc/glibc-functions/getfilecon-desc.texi: New file.
10346         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10347         which to pull in the new files.
10348         * MODULES.html.sh (Misc): Add selinux-h.
10349
10350 2009-10-08  Jim Meyering  <meyering@redhat.com>
10351
10352         unistd: fix comment typo
10353         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10354
10355 2009-10-08  Eric Blake  <ebb9@byu.net>
10356
10357         areadlink: use SIZE_MAX consistently
10358         * modules/areadlink (Depends-on): Add stdint.
10359         * modules/areadlink-with-size (Depends-on): Likewise.
10360         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10361         gives NULL; drop sys/types, since unistd gives size_t; and add
10362         stdint for SIZE_MAX.
10363         (SIZE_MAX): Rely on headers.
10364         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10365         and add stdint.
10366         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10367         (SIZE_MAX): Likewise.
10368         (INITIAL_BUF_SIZE): Turn into enum.
10369         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10370
10371 2009-10-08  Jim Meyering  <meyering@redhat.com>
10372
10373         areadlinkat: avoid compilation failure
10374         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10375         Fix typo in comment.
10376
10377 2009-10-07  Eric Blake  <ebb9@byu.net>
10378
10379         areadlinkat-with-size: new module
10380         * modules/areadlinkat-with-size: New module.
10381         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10382         * lib/areadlink.h (areadlinkat): Declare it.
10383         * MODULES.html.sh (File system functions): Mention it.
10384         * modules/areadlinkat-with-size-tests: New test.
10385         * tests/test-areadlinkat-with-size.c: New file.
10386
10387         xreadlinkat: new module
10388         * modules/xreadlinkat: New module.
10389         * lib/xreadlinkat.c (xreadlinkat): New file.
10390         * lib/xreadlink.h (xreadlinkat): Declare it.
10391         * MODULES.html.sh (File system functions): Mention it.
10392
10393         areadlinkat: new module
10394         * lib/at-func.c (FUNC_FAIL): New define.
10395         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10396         * modules/areadlinkat: New module.
10397         * lib/linkat.c (areadlinkat): Move...
10398         * lib/areadlinkat.c (areadlinkat): ...to new file.
10399         * lib/areadlink.h (areadlinkat): Declare it.
10400         * modules/linkat (Depends-on): Add areadlinkat.
10401         * MODULES.html.sh (File system functions): Mention it.
10402         * modules/areadlinkat-tests: New test.
10403         * tests/test-areadlinkat.c: New file.
10404
10405         areadlink, areadlink-with-size: add tests
10406         * modules/areadlink-tests: New test.
10407         * modules/areadlink-with-size-tests: Likewise.
10408         * tests/test-areadlink.h: New file.
10409         * tests/test-areadlink.c: Likewise.
10410         * tests/test-areadlink-with-size.c: Likewise.
10411
10412         maint: minor cleanups
10413         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10414         _UNUSED_PARAMETER_ instead.
10415         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10416         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10417         * modules/linkat-tests (Files): Distribute test-link.h.
10418
10419         openat, utimens: whitespace cleanup
10420         * lib/openat.c: Prefer space throughout, rather than mix of 8
10421         spaces vs. tabs.
10422         * lib/at-func.c: Likewise.
10423         * lib/utimens.c: Likewise.
10424
10425         openat: avoid using wrong fd
10426         * lib/openat.c (openat_permissive): Reject user's fd if saving the
10427         working directory chooses same fd.
10428         * lib/at-func.c (AT_FUNC_NAME): Likewise.
10429
10430         mkdir, mkdirat: fix cygwin 1.5.x bug
10431         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
10432         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
10433         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
10434         bug.
10435         (gl_PREREQ_MKDIR): Delete unused macro.
10436         * modules/mkdir (Files): Track file rename.
10437         (configure.ac): Update macro name.
10438         * modules/openat (Depends-on): Add mkdir.
10439         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
10440
10441         mkdir, mkdirat: add tests
10442         * modules/mkdir-tests: New test.
10443         * tests/test-mkdir.h: New file.
10444         * tests/test-mkdir.c: Likewise.
10445         * tests/test-mkdirat.c: Likewise.
10446         * modules/openat-tests (Files): Add new files.
10447         (Makefile.am): Run new test.
10448
10449 2009-10-06  Eric Blake  <ebb9@byu.net>
10450
10451         doc: tweak *at function documentation
10452         * doc/posix-functions/faccessat.texi (faccessat): Mention
10453         known issue with replacement.
10454         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10455         * doc/posix-functions/linkat.texi (linkat): Likewise.
10456         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10457         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10458         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10459         * doc/posix-functions/renameat.texi (renameat): Likewise.
10460         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10461
10462         openat: fix GNU/Hurd bug in unlinkat
10463         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10464         broken.
10465         * doc/posix-functions/unlink.texi (unlink): Document this.
10466         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10467
10468         fdopendir: fix GNU/Hurd bug
10469         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10470         allowing non-directory fds.
10471         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10472         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10473         * modules/dirent (Makefile.am): Substitute it.
10474         * lib/dirent.in.h (fdopendir): Declare replacement.
10475         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10476         * tests/test-fdopendir.c (main): Test something other than
10477         /dev/null, since on Hurd that behaves like a directory.
10478
10479         test-symlink: port to GNU/Hurd
10480         * tests/test-symlink.h (test_symlink): Relax expected errno.
10481
10482         doc: tweak more cygwin information
10483         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10484         now compatible with glibc.
10485         * doc/posix-functions/getopt.texi (getopt): Likewise.
10486
10487         getopt-gnu: add another test
10488         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10489         guarantee behavior relied on by m4.
10490         * tests/test-getopt.c (main): Use it.
10491         * modules/getopt-posix-tests (Depends-on): Add setenv.
10492         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10493
10494         getopt: fix compilation on darwin
10495         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10496         include.
10497         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10498         Reported by Ludovic Courtès.
10499
10500 2009-10-06  Bruno Haible  <bruno@clisp.org>
10501
10502         * modules/size_max (Description): Discourage its use.
10503         Reported by Simon Josefsson.
10504
10505 2009-10-06  Jim Meyering  <meyering@redhat.com>
10506
10507         linkat: avoid compilation failure
10508         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10509
10510 2009-10-05  Eric Blake  <ebb9@byu.net>
10511
10512         linkat: support Linux 2.6.17
10513         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10514         linkat on Linux, but allow cache variable override.
10515         * lib/linkat.c (rpl_linkat): Define override.
10516         * modules/linkat (Depends-on): Add symlinkat.
10517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10518         * modules/unistd (Makefile.am): Substitute it.
10519         * lib/unistd.in.h (linkat): Declare replacement.
10520         Reported by Pádraig Brady.
10521
10522         quotearg: port test to systems with C.UTF-8 locale
10523         * tests/test-quotearg.c (struct result_strings): Add another
10524         member, differentiating between C.ASCII and C.UTF-8 handling.
10525         (compare_strings): Add parameter.
10526         (main): Adjust all callers.
10527
10528         getopt: avoid clash with FreeBSD _getopt_internal
10529         * lib/getopt.in.h (_getopt_internal): Override the name.
10530         * lib/getopt_int.h (includes): Pick up any overrides.
10531         Reported by Reuben Thomas.
10532
10533         hash: allow C89 compilation
10534         * lib/hash.c (check_tuning): Move declaration before statement.
10535         Reported by Reuben Thomas.
10536
10537 2009-10-05  Karl Berry  <karl@gnu.org>
10538
10539         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10540
10541 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10542             Bruno Haible  <bruno@clisp.org>
10543
10544         * lib/uname.c (uname): Use a table-driven algorithm to compute
10545         Windows NT versions.
10546
10547 2009-10-04  Bruno Haible  <bruno@clisp.org>
10548
10549         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10550         program_invocation_short_name.
10551         * modules/progname (configure.ac): Test for presence of
10552         program_invocation_short_name.
10553         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10554
10555 2009-10-04  Bruno Haible  <bruno@clisp.org>
10556
10557         * lib/progname.c (set_program_name): Fix comment.
10558         Reported by Jim Meyering.
10559
10560 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10561             Bruno Haible  <bruno@clisp.org>
10562
10563         * lib/uname.c: Include <string.h>.
10564         (uname): Do only one call to GetVersionEx in the common case.
10565
10566 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10567             Bruno Haible  <bruno@clisp.org>
10568
10569         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10570         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10571         (uname): Add support for Windows CE and various non-x86 CPU types.
10572
10573 2009-10-03  Bruno Haible  <bruno@clisp.org>
10574
10575         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10576         invocation to tests/configure.ac.
10577         Reported by Ian Beckwith <ianb@erislabs.net>.
10578
10579 2009-10-02  Eric Blake  <ebb9@byu.net>
10580
10581         fchdir: avoid compiler warning
10582         * lib/fchdir.c (canonicalize_file_name)
10583         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10584
10585         test-open: support mingw errno values
10586         * tests/test-open.h (test_open): Relax test.
10587         * tests/test-fopen.h (test_fopen): Likewise.
10588         * tests/test-openat-safer.c (main): Likewise.
10589
10590         open: fix opening directory on mingw
10591         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10592
10593         test-open: on GNU/Hurd, /dev/null is a directory
10594         * tests/test-fopen.h (main): Rename...
10595         (test_fopen): ...to this.  Use a guaranteed non-directory when
10596         confirming open behavior on trailing slash.
10597         * tests/test-openat-safer.c (main): Likewise.
10598         * tests/test-open.h (main): Likewise....
10599         (test_open): ...to this.
10600         * tests/test-fopen.c (main): Adjust caller.
10601         * tests/test-fopen-safer.c (main): Likewise.
10602         * tests/test-open.c (main): Likewise.
10603         * tests/test-fcntl-safer.c (main): Likewise.
10604         Reported by Samuel Thibault.
10605
10606         rename, fchdir: don't ignore chdir failure
10607         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10608         * lib/rename.c (rpl_rename) [W32]: Likewise.
10609         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10610         an empty destination directory if source cannot be renamed,
10611         although there is still possibility for failure.
10612         * doc/posix-functions/rename.texi (rename): Document the race.
10613         Reported by Jim Meyering.
10614
10615         maint: cleanup whitespace in recent commits
10616         * lib/rename.c (rpl_rename): Remove tabs.
10617         * tests/test-link.h (test_link): Likewise.
10618         * lib/fchdir.c (get_name): Likewise.
10619         Reported by Jim Meyering.
10620
10621 2009-10-02  Ben Pfaff  <blp@gnu.org>
10622
10623         relocatable-prog-wrapper: Add missing dependency on
10624         double-slash-root.
10625         * modules/relocatable-prog-wrapper: Add dependency.
10626         Reported by Ian Beckwith <ianb@erislabs.net>.
10627
10628 2009-10-02  Eric Blake  <ebb9@byu.net>
10629
10630         renameat: fix Solaris bugs
10631         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10632         needed fixing.
10633         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10634         * modules/stdio (Makefile.am): Substitute it.
10635         * lib/stdio.in.h (renameat): Declare replacement.
10636         * lib/renameat.c (rpl_renameat): Implement fix.
10637
10638         renameat: new module
10639         * modules/renameat: New file.
10640         * lib/renameat.c (renameat): Likewise.
10641         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10642         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10643         * modules/stdio (Makefile.am): Substitute them.
10644         * lib/stdio.in.h (renameat): Declare it.
10645         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10646         * doc/posix-functions/renameat.texi (renameat): Likewise.
10647         * modules/renameat-tests: New test.
10648         * tests/test-renameat.c: Likewise.
10649
10650         rename: fix mingw bugs
10651         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10652         directory overwrite bugs.
10653
10654         rename: fix another cygwin 1.5 bug
10655         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10656         checks.
10657         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10658         unnecessary cygwin workarounds.  Also work around bug with moving
10659         full directory onto an empty one.
10660         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10661
10662         rename-dest-slash: merge into rename module
10663         * modules/rename-dest-slash (Status): Mark obsolete.
10664         (Depends-on): Add rename.
10665         (Files): Let rename do it all.
10666         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10667         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10668         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10669         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10670         * lib/rename.c (rpl_rename): Update comments.
10671
10672         rename: fix cygwin 1.5.x bugs
10673         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10674         * lib/rename.c (rpl_rename): Work around them.
10675         * modules/rename (Depends-on): Add same-inode.
10676
10677         rename: fix Solaris 10 bug
10678         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10679         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10680         was the only bug.
10681
10682         rename: fix Solaris 9 bug
10683         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10684         on non-directory.  Avoid calling exit.
10685         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10686         strdup.
10687         * modules/rename-tests (Depends-on): Drop lstat.
10688         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10689         (gl_PREREQ_RENAME): Delete unused macro.
10690
10691         rename-dest-slash: fix NetBSD bug
10692         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10693         links.
10694         * modules/rename-dest-slash (Depends-on): Add same-inode.
10695
10696         rename-tests: new test, exposes several platform bugs
10697         * modules/rename-tests: New file.
10698         * tests/test-rename.h: Likewise.
10699         * tests/test-rename.c: Likewise.
10700         * doc/posix-functions/rename.texi (rename): Improve documentation,
10701         including bugs that will eventually be fixed in gnulib.
10702
10703 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10704
10705         * lib/uname.c: Include <stdlib.h>
10706         (uname): Assume version info is available.
10707
10708 2009-10-02  Jim Meyering  <meyering@redhat.com>
10709
10710         gnu-web-doc-update: correct --help output
10711         * build-aux/gnu-web-doc-update: Make --help output relevant.
10712
10713         gnu-web-doc-update: add standard options
10714         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10715
10716         gnu-web-doc-update: New module.
10717         Use this script to automatically update the on-line web documentation
10718         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10719         * modules/gnu-web-doc-update: New file, from coreutils.
10720         * build-aux/gnu-web-doc-update: New script.
10721
10722 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10723
10724         link: LoadLibrary is not needed.
10725         * lib/link.c: Use GetModuleHandle.
10726
10727 2009-10-01  Eric Blake  <ebb9@byu.net>
10728
10729         getopt: bump serial number
10730         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10731         change.
10732
10733         tests: tighten link, rmdir, and remove tests
10734         * tests/test-link.h (includes): No need to use <config.h> here.
10735         Clean up if directory hard link was created, otherwise test for
10736         trailing '.'.
10737         * tests/test-linkat.c (main): Simplify.
10738         * tests/test-remove.c (main): Enhance test for trailing '.'.
10739         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10740
10741 2009-10-01  Jim Meyering  <meyering@redhat.com>
10742
10743         maint.mk: requiring "make major" was annoying, for a "minor" release.
10744         What is intended is "stable", to contrast with alpha and beta,
10745         so require "make stable", not "make major".
10746         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10747         (get_tool_versions): Likewise.
10748         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10749
10750 2009-09-30  Ben Pfaff  <blp@gnu.org>
10751
10752         Fix broken build of replacement for Windows tmpfile().
10753         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10754         flags argument added along with the 'mkostemp' module.
10755
10756 2009-09-28  Bruno Haible  <bruno@clisp.org>
10757
10758         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10759         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10760         to 'remove_elt'.
10761         (gl_list_remove): Update.
10762         * lib/gl_list.c (gl_list_remove): Update.
10763         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10764         to 'remove_elt'.
10765         (gl_oset_remove): Update.
10766         * lib/gl_list.c (gl_oset_remove): Update.
10767         Reported by Eric Blake.
10768
10769 2009-09-28  Eric Blake  <ebb9@byu.net>
10770
10771         doc: mention yet more cygwin 1.7 status
10772         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10773         cygwin.
10774         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10775         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10776
10777         argp: fix test failure
10778         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10779         that are not upper-case.  Pass correct range to tolower.
10780
10781 2009-09-27  Jim Meyering  <meyering@redhat.com>
10782
10783         test-yesno: work around sparc-dash here-document infelicity
10784         Without this change, the literal \177 byte in a here document
10785         would make dash 0.5.5.1-3 access uninitialized memory.
10786         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10787         Instead, use a marker, "@", and filter through tr to create the desired
10788         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10789
10790 2009-09-27  Bruno Haible  <bruno@clisp.org>
10791
10792         Disable untested support for new flavours of ACLs on AIX.
10793         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10794         progress.
10795         * lib/set-mode-acl.c (qset_acl): Likewise.
10796
10797 2008-12-07  Bruno Haible  <bruno@clisp.org>
10798
10799         Add support for new flavours of ACLs on AIX. (Untested.)
10800         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10801         (file_has_acl): Add support for newer AIX.
10802         * lib/set-mode-acl.c (qset_acl): Likewise.
10803         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10804         Rainer Tammer <tammer@tammer.net>.
10805
10806 2009-09-26  Eric Blake  <ebb9@byu.net>
10807
10808         argp: fix compilation of getopt
10809         * lib/getopt.in.h (includes): Use different guard than glibc.
10810         Reported by Sergey Poznyakoff.
10811
10812         doc: mention more cygwin 1.7 status
10813         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10814         bug.
10815         * doc/posix-functions/execl.texi (execl): Likewise.
10816         * doc/posix-functions/execle.texi (execle): Likewise.
10817         * doc/posix-functions/execlp.texi (execlp): Likewise.
10818         * doc/posix-functions/execv.texi (execv): Likewise.
10819         * doc/posix-functions/execve.texi (execve): Likewise.
10820         * doc/posix-functions/execvp.texi (execvp): Likewise.
10821         * doc/glibc-functions/canonicalize_file_name.texi
10822         (canonicalize_file_name): Cygwin 1.7 now provides this.
10823         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10824         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10825         on AT_SYMLINK_NOFOLLOW.
10826
10827 2009-09-24  Eric Blake  <ebb9@byu.net>
10828
10829         test-linkat: make test more robust
10830         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10831
10832         getopt: fix inclusion guards for cygwin
10833         * modules/getopt-posix (Depends-on): Add include-next.
10834         (Makefile.am): Substitute more items in replacement header.
10835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10836         <getopt.h>.
10837         * lib/getopt.in.h (includes): Use split inclusion guard, and
10838         prefer <getopt.h> over include <unistd.h> when one is present.
10839         (option): Also override name of 'struct option'.
10840
10841         same-inode: revert prior change; it is not yet ready
10842         * NEWS: Undo mention of this change.
10843         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10844         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10845         * lib/cycle-check.c (cycle_check): Likewise.
10846         * lib/same.c (same_name): Likewise.
10847         * lib/at-func2.c (at_func2): Likewise.
10848
10849 2009-09-23  Eric Blake  <ebb9@byu.net>
10850
10851         linkat: new module
10852         * modules/linkat: New file.
10853         * lib/at-func2.c (at_func2): Likewise.
10854         * lib/linkat.c (linkat): Likewise.
10855         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10856         * lib/openat-priv.h (at_func2): Add declaration.
10857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10858         * modules/unistd (Makefile.am): Substitute them.
10859         * lib/unistd.in.h (linkat): Declare it.
10860         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10861         * doc/posix-functions/linkat.texi (linkat): Likewise.
10862         * doc/posix-functions/link.texi (link): Tweak wording.
10863         * tests/test-link.c (main): Move guts...
10864         * tests/test-link.h (test_link): ...into new file.
10865         * modules/linkat-tests: New test.
10866         * tests/test-linkat.c: Likewise.
10867         * modules/link-tests (Files): Ship new file.
10868         (Depends-on): Add stdbool.
10869
10870         dirname: add library-safe mdir_name
10871         * lib/dirname.h (mdir_name): New prototype.
10872         * lib/dirname.c (dir_name): Move guts...
10873         (mdir_name): ...to new function that avoids xalloc_die.
10874
10875         fchdir: another mingw fix
10876         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10877         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10878         on mingw (where it has not yet been ported), and make it optional
10879         elsewhere.
10880         (_gl_register_fd): Use it.
10881
10882         same-inode: make SAME_INODE tri-state, to port to mingw
10883         * NEWS: Mention this change.
10884         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10885         st_ino always being 0.
10886         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10887         * lib/cycle-check.c (cycle_check): Likewise.
10888         * lib/same.c (same_name): Likewise.
10889
10890         lstat: avoid mingw compilation error
10891         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10892         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10893         lstat ourselves.
10894         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10895         was adequate.
10896         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10897         the checks for lstat.
10898         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10899
10900         link: fix test failure on Solaris 9
10901         * lib/link.c (rpl_link): Don't assume link will catch bogus
10902         trailing slash on source.
10903
10904         test-symlinkat: enhance test
10905         * tests/test-readlink.c (main): Move guts...
10906         * tests/test-readlink.h (test_readlink): ...into new file.
10907         * tests/test-symlink.c (main): Move guts...
10908         * tests/test-symlink.h (test_symlink): ...into new file.
10909         * tests/test-symlinkat.c (main): Use new files for further
10910         coverage.
10911         (do_symlink, do_readlink): New helper functions.
10912         * modules/symlink-tests (Files): Ship new file.
10913         (Depends-on): Add stdbool.
10914         * modules/readlink-tests (Files): Ship new file.
10915         (Depends-on): Add stdbool.
10916         * modules/symlinkat-tests (Files): Use new files.
10917
10918 2009-09-23  Eric Blake  <ebb9@byu.net>
10919
10920         readlink: document portability issue with symlink length
10921         * doc/posix-functions/lstat.texi (lstat): Mention that some file
10922         systems have bogus st_size on symlinks, and mention the
10923         areadlink-with-size module.
10924         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10925         * doc/posix-functions/readlink.texi (readlink): Mention the
10926         areadlink module, and ERANGE failure.
10927         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10928         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
10929
10930         readlink: fix Solaris 9 bug with trailing slash
10931         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
10932         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
10933         * doc/posix-functions/readlink.texi (readlink): Document this.
10934         * modules/readlink-tests: New test.
10935         * tests/test-readlink.c: Likewise.
10936
10937         readlink: fix cygwin 1.5.x bug with return type
10938         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
10939         * lib/unistd.in.h (readlink): Use ssize_t.
10940         * lib/readlink.c (readlink): Likewise.
10941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10942         * modules/unistd (Makefile.am): Substitute it.
10943         * lib/unistd.in.h (readlink): Declare replacement.
10944         * doc/posix-functions/readlink.texi (readlink): Document this.
10945
10946         symlink: use throughout gnulib
10947         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
10948         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
10949         symlink is not used.
10950         * modules/symlinkat (Depends-on): Add symlink.
10951         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10952         * modules/canonicalize-tests (Depends-on): Likewise.
10953         * modules/lstat-tests (Depends-on): Likewise.
10954         * modules/openat-tests (Depends-on): Likewise.
10955         * modules/remove-tests (Depends-on): Likewise.
10956         * modules/rmdir-tests (Depends-on): Likewise.
10957         * modules/unlink-tests (Depends-on): Likewise.
10958         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
10959         * tests/test-canonicalize.c (symlink): Likewise.
10960         * tests/test-fstatat.c (symlink): Likewise.
10961         * tests/test-lstat.c (symlink): Likewise.
10962         * tests/test-remove.c (symlink): Likewise.
10963         * tests/test-rmdir.c (symlink): Likewise.
10964         * tests/test-unlink.c (symlink): Likewise.
10965         * tests/test-unlinkat.c (symlink): Likewise.
10966
10967         symlink: new module, for Solaris 9 bug
10968         * modules/symlink: New file.
10969         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10970         * lib/symlink.c: Likewise.
10971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10972         * modules/unistd (Makefile.am): Substitute them.
10973         * lib/unistd.in.h (symlink): Declare replacement.
10974         * MODULES.html.sh (File system functions): Mention it.
10975         * doc/posix-functions/symlink.texi (symlink): Likewise.
10976         * modules/symlink-tests: New test.
10977         * tests/test-symlink.c: Likewise.
10978
10979 2009-09-23  Bruno Haible  <bruno@clisp.org>
10980
10981         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
10982         when needed.
10983         Test case: gnulib-tool --import --with-tests atexit inttypes.
10984         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
10985
10986 2009-09-23  Bruno Haible  <bruno@clisp.org>
10987
10988         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
10989         subcommand, not in a subshell.
10990
10991 2009-09-22  Eric Blake  <ebb9@byu.net>
10992
10993         unistd: sort replacement declarations
10994         * lib/unistd.in.h: Sort declarations.
10995
10996         open, openat: minor optimization
10997         * lib/open.c (open): If open succeeded, len is non-zero.
10998         * lib/openat.c (rpl_openat): Likewise.
10999
11000         link-follow: ensure correct result
11001         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
11002         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
11003         distinguish between possible failures.
11004
11005 2009-09-21  Eric Blake  <ebb9@byu.net>
11006
11007         fts: avoid compiler warning
11008         * lib/fts.c (dirent_inode_sort_may_be_useful)
11009         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
11010
11011 2009-09-19  Bruno Haible  <bruno@clisp.org>
11012
11013         * lib/progreloc.c (canonicalize_file_name): New declaration.
11014
11015 2009-09-19  Eric Blake  <ebb9@byu.net>
11016
11017         link: fix quoting
11018         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
11019
11020         openat: fix openat bugs on Solaris 9
11021         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
11022         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
11023         * modules/openat (Depends-on): Add open.
11024         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
11025         * modules/fcntl-h (Makefile.am): Substitute it.
11026         * lib/fcntl.in.h (openat): Declare replacement.
11027         * doc/posix-functions/openat.texi (openat): Document this.
11028
11029         openat: move fstatat and unlinkat into correct files
11030         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
11031         compiled.
11032         * lib/openat.c (fstatat, unlinkat): Move...
11033         * lib/fstatat.c (fstatat): ...into correct files.
11034         * lib/unlinkat.c (unlinkat): Likewise.
11035
11036         openat: fix unlinkat bugs on Solaris 9
11037         * lib/unlinkat.c (unlinkat): New file.
11038         * modules/openat (Depends-on): Add unlink.
11039         (Files): Distribute it.
11040         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
11041         trailing slash behavior is broken.
11042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11043         * modules/unistd (Makefile.am): Substitute it.
11044         * lib/unistd.in.h (unlinkat): Declare replacement.
11045         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
11046
11047         openat: fix fstatat bugs on Solaris 9
11048         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
11049         stat.
11050         * doc/posix-functions/fstatat.texi (fstatat): Document this.
11051
11052         test-unlinkat: enhance test, to expose Solaris 9 bug
11053         * tests/test-unlink.c (main): Factor guts...
11054         * tests/test-unlink.h (test_rmdir_func): ...into new file.
11055         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
11056         * tests/test-rmdir.c (main): Adjust caller.
11057         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
11058         (unlinker): New helper function.
11059         (rmdirat): Enhance check.
11060         * modules/rmdir-tests (Depends-on): Add stdbool.
11061         * modules/unlink-tests (Depends-on): Likewise.
11062         (Files): Add test-unlink.h.
11063         * modules/openat-tests (Files): Likewise.
11064         (Depends-on): Add unlinkdir.
11065
11066         test-fstatat: new test, to expose Solaris 9 bugs
11067         * tests/test-stat.c (main): Factor guts...
11068         * tests/test-stat.h (test_stat_func): ...into new file.
11069         * tests/test-lstat.c (main): Factor guts...
11070         * tests/test-lstat.h (test_lstat_func): ...into new file.
11071         * tests/test-fstatat.c: New file.
11072         * modules/stat-tests (Files): Add test-stat.h.
11073         * modules/lstat-tests (Files): Add test-lstat.h.
11074         (Depends-on): Add stdbool.
11075         * modules/openat-tests (Depends-on): Add pathmax.
11076         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
11077         (Makefile.am): Run new test.
11078
11079         remove: new module, for mingw and Solaris 9 bugs
11080         * modules/remove: New file.
11081         * lib/remove.c: Likewise.
11082         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
11083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11084         * modules/stdio (Makefile.am): Use them.
11085         * lib/stdio.in.h (remove): Declare replacement.
11086         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11087         * doc/posix-functions/remove.texi (remove): Likewise.
11088         * modules/remove-tests: New test.
11089         * tests/test-remove.c: Likewise.
11090
11091         unlink: new module, for Solaris 9 bug
11092         * modules/unlink: New file.
11093         * lib/unlink.c: Likewise.
11094         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11096         * modules/unistd (Makefile.am): Use them.
11097         * lib/unistd.in.h (stat): Declare replacement.
11098         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11099         * doc/posix-functions/unlink.texi (unlink): Likewise.
11100         * modules/unlink-tests: New test.
11101         * tests/test-unlink.c: Likewise.
11102
11103         lstat: fix Solaris 9 bug
11104         * lib/lstat.c (lstat): Also check for trailing slash on
11105         non-symlink, non-directories.  Use stat module to simplify logic.
11106         * doc/posix-functions/lstat.texi (lstat): Document it.
11107         * modules/lstat-tests (Depends-on): Add errno, same-inode.
11108         (configure.ac): Check for symlink.
11109         * tests/test-lstat.c (main): Add more tests.
11110
11111         stat: add as dependency to other modules
11112         * modules/chown (Depends-on): Add stat.
11113         * modules/euidaccess (Depends-on): Likewise.
11114         * modules/fchdir (Depends-on): Likewise.
11115         * modules/isdir (Depends-on): Likewise.
11116         * modules/link (Depends-on): Likewise.
11117         * modules/lstat (Depends-on): Likewise.
11118         * modules/mkdir-p (Depends-on): Likewise.
11119         * modules/modechange (Depends-on): Likewise.
11120         * modules/open (Depends-on): Likewise.
11121         * modules/readlink (Depends-on): Likewise.
11122         * modules/same (Depends-on): Likewise.
11123
11124         stat: fix Solaris 9 bug
11125         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
11126         slash.
11127         * lib/stat.c (rpl_stat): Work around it.
11128         * doc/posix-functions/stat.texi (stat): Update documentation.
11129
11130         stat: new module, for mingw bug
11131         * modules/stat: New file.
11132         * lib/stat.c: Likewise.
11133         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11134         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11135         * modules/sys_stat (Makefile.am): Use them.
11136         * lib/sys_stat.in.h (stat): Declare replacement.
11137         * lib/openat.c (fstatat): Deal with lstat and stat being function
11138         macros.
11139         * modules/openat (Depends-on): Add inline.
11140         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11141         * doc/posix-functions/stat.texi (stat): Likewise.
11142         * modules/stat-tests: New test.
11143         * tests/test-stat.c: Likewise.
11144
11145 2009-09-19  Jim Meyering  <meyering@redhat.com>
11146
11147         syntax-check: detect unnecessary inclusion of canonicalize.h
11148         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
11149
11150 2009-09-19  Eric Blake  <ebb9@byu.net>
11151
11152         canonicalize-lgpl: adjust clients to use correct header
11153         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11154         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
11155         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
11156         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
11157         * lib/progreloc.c (includes): Likewise.
11158
11159 2009-09-19  Jim Meyering  <meyering@redhat.com>
11160
11161         test-posixtm.c: correct a comment
11162         * tests/test-posixtm.c: Correct first-line comment.
11163         Spotted by Eric Blake.
11164
11165 2009-09-16  Jim Meyering  <meyering@redhat.com>
11166
11167         posixtm-tests: make T const-correct; add a test case
11168         * tests/test-posixtm.c (T): Declare const.
11169         Add a test for -(2^31+1).
11170         Remove useless can-succeed-only-in-2002 test.
11171
11172         posixtm-tests: adjust the sole failing test
11173         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
11174         expected output matches what mktime now produces.  Cross-checked via
11175         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
11176
11177         posixtm: move #ifdef'd tests into a new module
11178         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
11179         * tests/test-posixtm.c: ... this new file.
11180         * modules/posixtm-tests: New module.
11181
11182 2009-09-19  Eric Blake  <ebb9@byu.net>
11183
11184         openat: simplify use of at-func.c
11185         * lib/at-func.c (includes): Include prerequisites here, to
11186         simplify requirements on client files.
11187         * lib/openat-priv.h: Add double-inclusion guard.
11188         * lib/faccessat.c (includes): Simplify.
11189         * lib/fchmodat.c (includes): Likewise.
11190         * lib/fchownat.c (includes): Likewise.
11191         * lib/mkdirat.c (includes): Likewise.
11192         * lib/mkfifoat.c (includes): Likewise.
11193         * lib/symlinkat.c (includes): Likewise.
11194
11195         openat: allow return of fd 0
11196         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
11197         * modules/save-cwd (Depends-on): Replace fcntl-safer with
11198         unistd-safer.
11199         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
11200         <fcntl.h>; this module does not leak fds.
11201         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
11202         must be allowed to return 0, leaving openat_safer to add the
11203         safety.
11204         (openat_permissive): Avoid writing to just-opened fd 2 if
11205         restoring the current directory fails.
11206         * lib/openat-die.c (openat_restore_fail): Add comment.
11207         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
11208         (save_cwd): Guarantee safe fd, but without use of open_safer.
11209         * tests/test-openat.c: New test.
11210         * modules/openat-tests (Files, Makefile.am): Distribute and build
11211         new file.
11212
11213         relocatable-prog-wrapper: fix build
11214         * modules/relocatable-prog-wrapper (Files): Update name of
11215         canonicalize m4 file, broken on 2009-09-17.
11216         Reported by emad hajjar <aleppos@hotmail.com>.
11217
11218 2009-09-19  Bruno Haible  <bruno@clisp.org>
11219
11220         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11221         * lib/safe-alloc.c: Likewise.
11222         Reported by Ian Beckwith <ianb@erislabs.net>.
11223
11224 2009-09-18  Bruno Haible  <bruno@clisp.org>
11225
11226         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11227         Reported by <erobles@sensacd.com.mx>.
11228
11229 2009-09-17  Eric Blake  <ebb9@byu.net>
11230
11231         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11232         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11233         slashes when checking if last component is missing.
11234         * tests/test-canonicalize.c (main): Test this.
11235
11236         canonicalize, canonicalize-lgpl: honor // if distinct from /
11237         * modules/canonicalize (Files): Add double-slash-root.m4.
11238         * modules/canonicalize-lgpl (Files): Likewise.
11239         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11240         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11241         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11242         fallback definition.
11243         (canonicalize_filename_mode): Use it to protect //.
11244         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11245         (__realpath): Likewise.
11246         * tests/test-canonicalize.c (main): Test this.
11247         * tests/test-canonicalize-lgpl.c (main): Likewise.
11248         * modules/canonicalize-tests (Depends-on): Add same-inode.
11249         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11250
11251         canonicalize-lgpl: fix glibc bug with trailing slash
11252         * m4/canonicalize-lgpl.m4: Move contents...
11253         * m4/canonicalize.m4: ...here.
11254         (gl_CANONICALIZE_LGPL): Factor realpath check...
11255         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11256         glibc 2.3.5 bug, fixed 2005-04-27.
11257         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11258         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11259         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11260         * modules/canonicalize-lgpl (Files): Manage file rename.
11261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11262         * modules/stdlib (Makefile.am): Substitute witness.
11263         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11264         is needed.
11265         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11266         replacement is required.
11267         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11268         * doc/glibc-functions/canonicalize_file_name.texi
11269         (canonicalize_file_name): Document this.
11270         * doc/posix-functions/realpath.texi (realpath): Likewise.
11271
11272         canonicalize-lgpl: reject non-directory with trailing slash
11273         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11274         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11275         catches failures in glibc 2.3.5.
11276         * tests/test-canonicalize.c (main): Likewise.
11277
11278         canonicalize-lgpl: use native realpath if it works
11279         * lib/canonicalize-lgpl.c (realpath): Guard with
11280         FUNC_REALPATH_WORKS.
11281         * lib/stdlib.in.h (realpath): Make declaration optional based on
11282         HAVE_REALPATH.
11283         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11284         native realpath works.
11285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11286         * modules/stdlib (Makefile.am): Substitute witness.
11287
11288         canonicalize, canonicalize-lgpl: use <stdlib.h>
11289         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11290         (Include): Mention <stdlib.h>.
11291         (configure.ac): Mention functions we provide.
11292         * modules/canonicalize (configure.ac): Likewise.
11293         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11294         realpath if canonicalize_file_name is missing.
11295         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11296         * modules/stdlib (Makefile.am): Substitute witnesses.
11297         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11298         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11299         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11300         * NEWS: Document this.
11301         * doc/glibc-functions/canonicalize_file_name.texi
11302         (canonicalize_file_name): Likewise.
11303         * doc/posix-functions/realpath.texi (realpath): Likewise.
11304         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11305
11306         test-canonicalize: consolidate into single C program
11307         * tests/test-canonicalize.sh: Delete; move setup into...
11308         * tests/test-canonicalize.c (main): ...the program, making it
11309         easier to run in debugger.  Add some tests.
11310         * modules/canonicalize-tests (Files): Remove unused file.
11311         (Depends-on): Add progname.
11312         (configure.ac, Makefile.am): Simplify.
11313
11314         test-canonicalize-lgpl: consolidate into single C program
11315         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11316         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11317         easier to run in debugger.  Add some tests.
11318         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11319         (configure.ac, Makefile.am): Simplify.
11320
11321         canonicalize: avoid resolvepath
11322         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11323         unnecessary checks.
11324         * lib/canonicalize.c (includes): Simplify.
11325         (canonicalize_file_name): Drop resolvepath implementation.
11326         * modules/canonicalize (Depends-on): Drop filenamecat.
11327
11328         canonicalize: don't lose errno
11329         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11330         over calls to free.
11331
11332         canonicalize: simplify errno handling
11333         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11334         assignment.
11335
11336         canonicalize, canonicalize-lgpl: update module dependencies
11337         * modules/canonicalize (Depends-on): Add extensions, lstat,
11338         pathmax, stdlib.
11339         (Files): Drop pathmax.h.
11340         (configure.ac): Adjust macro name.
11341         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11342         lstat, stdlib, sys_stat.
11343         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11344         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11345         extensions.
11346         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11347         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11348         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11349         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11350         declaration, if available.
11351         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11352         we can rely on the readlink module.
11353         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11354         (includes): Use <unistd.h> unconditionally.
11355
11356 2009-09-17  Eric Blake  <ebb9@byu.net>
11357
11358         maint: make Include sections of modules consistent
11359         * modules/alloca: Use only header name; no need to list #include.
11360         * modules/alloca-opt: Likewise.
11361         * modules/arpa_inet: Likewise.
11362         * modules/canon-host: Likewise.
11363         * modules/configmake: Likewise.
11364         * modules/dirent: Likewise.
11365         * modules/eealloc: Likewise.
11366         * modules/environ: Likewise.
11367         * modules/fchdir: Likewise.
11368         * modules/fcntl: Likewise.
11369         * modules/fcntl-h: Likewise.
11370         * modules/gethrxtime: Likewise.
11371         * modules/gettime: Likewise.
11372         * modules/ignore-value: Likewise.
11373         * modules/inet_ntop: Likewise.
11374         * modules/inet_pton: Likewise.
11375         * modules/inttypes: Likewise.
11376         * modules/isnand-nolibm: Likewise.
11377         * modules/isnanf-nolibm: Likewise.
11378         * modules/mbchar: Likewise.
11379         * modules/mbfile: Likewise.
11380         * modules/mbiter: Likewise.
11381         * modules/mbuiter: Likewise.
11382         * modules/netdb: Likewise.
11383         * modules/netinet_in: Likewise.
11384         * modules/nproc: Likewise.
11385         * modules/pagealign_alloc: Likewise.
11386         * modules/poll: Likewise.
11387         * modules/printf-frexp: Likewise.
11388         * modules/pthread: Likewise.
11389         * modules/putenv: Likewise.
11390         * modules/random_r: Likewise.
11391         * modules/relocatable-prog: Likewise.
11392         * modules/search: Likewise.
11393         * modules/select: Likewise.
11394         * modules/selinux-h: Likewise.
11395         * modules/settime: Likewise.
11396         * modules/signal: Likewise.
11397         * modules/size_max: Likewise.
11398         * modules/socklen: Likewise.
11399         * modules/ssize_t: Likewise.
11400         * modules/stdarg: Likewise.
11401         * modules/stdbool: Likewise.
11402         * modules/stddef: Likewise.
11403         * modules/stdint: Likewise.
11404         * modules/stdio: Likewise.
11405         * modules/stdlib: Likewise.
11406         * modules/string: Likewise.
11407         * modules/strings: Likewise.
11408         * modules/sys_file: Likewise.
11409         * modules/sys_ioctl: Likewise.
11410         * modules/sys_select: Likewise.
11411         * modules/sys_socket: Likewise.
11412         * modules/sys_stat: Likewise.
11413         * modules/sys_time: Likewise.
11414         * modules/sys_times: Likewise.
11415         * modules/sys_utsname: Likewise.
11416         * modules/sys_wait: Likewise.
11417         * modules/sysexits: Likewise.
11418         * modules/time: Likewise.
11419         * modules/times: Likewise.
11420         * modules/tmpfile: Likewise.
11421         * modules/trim: Likewise.
11422         * modules/unistd: Likewise.
11423         * modules/wchar: Likewise.
11424         * modules/wctype: Likewise.
11425
11426 2009-09-17  Bruno Haible  <bruno@clisp.org>
11427
11428         Make getdate.y compile on QNX and NetBSD 5 / i386.
11429         * m4/getdate.m4 (gl_GETDATE): Conditionally define
11430         TIME_T_FITS_IN_LONG_INT.
11431         * lib/getdate.y (long_time_t): New type.
11432         (relative_time): Change type of 'seconds' field to long_time_t.
11433         (get_date): Update types of local variables. Check against overflow
11434         during conversion from long_time_t to time_t.
11435         Reported by Matt Kraai <kraai@ftbfs.org>
11436         and Hasso Tepper <hasso@netbsd.org>.
11437
11438 2009-09-17  Bruno Haible  <bruno@clisp.org>
11439
11440         * modules/COPYING: Update copyright years.
11441         * modules/README: Likeiwse.
11442         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
11443         Reported by Ian Beckwith <ianb@erislabs.net>.
11444
11445 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11446
11447         * users.txt: Update references for gnuit package.
11448
11449 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11450
11451         * m4/getdelim.m4: Fix typo in copyright line.
11452
11453 2009-09-17  Bruno Haible  <bruno@clisp.org>
11454
11455         * lib/atoll.c: Use the standard header with GPL copyright.
11456         * lib/argz.in.h: Likewise.
11457         * lib/glob.c: Likewise.
11458         * lib/glob-libc.h: Likewise.
11459         * lib/random_r.c: Likewise.
11460         * lib/siglist.h: Likewise.
11461         * lib/strsignal.c: Likewise.
11462         Reported by Ian Beckwith <ianb@erislabs.net>.
11463
11464 2009-09-17  Eric Blake  <ebb9@byu.net>
11465
11466         rmdir: ensure correct dependency order
11467         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11468
11469 2009-09-17  Bruno Haible  <bruno@clisp.org>
11470
11471         Disable assertion that fails on NetBSD 5 / i386.
11472         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11473         Reported by Sam Steingold <sds@gnu.org>
11474         and Hasso Tepper <hasso@netbsd.org>.
11475
11476 2009-09-16  Eric Blake  <ebb9@byu.net>
11477
11478         unlinkdir: port to mingw
11479         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11480         on which no one can unlink a directory.
11481
11482         stdlib: sort witness names
11483         * modules/stdlib (Makefile.am): Sort replacements.
11484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11485         * lib/stdlib.in.h: Likewise.
11486
11487         parse-duration-tests: avoid link failure
11488         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11489         LIBINTL.
11490         Reported by Tom G. Christensen.
11491
11492         openat-tests: ensure unlinkat behaves like rmdir
11493         * tests/test-rmdir.c (main): Factor guts...
11494         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11495         * modules/rmdir-tests (Files): Ship new file.
11496         * modules/openat-tests: New test.
11497         * tests/test-unlinkat.c: Likewise.
11498
11499         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11500         * modules/rmdir-errno (Status, Notice): Now obsolete.
11501
11502         rmdir: work around cygwin 1.5.x and mingw bugs
11503         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11504         * lib/rmdir.c (rmdir): Work around it.
11505         * modules/rmdir (Status, Notice): No longer obsolete.
11506         (Files): Add dos.m4.
11507         (Depends-on): Add unistd.
11508         (configure.ac): Set witnesses.
11509         (License): Relax to LGPLv2+.
11510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11511         * modules/unistd (Makefile.am): Substitute witnesses.
11512         * lib/unistd.in.h (rmdir): Declare replacement.
11513         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11514         * modules/rmdir-tests: New tests.
11515         * tests/test-rmdir.c: Likewise.
11516
11517 2009-09-15  Eric Blake  <ebb9@byu.net>
11518
11519         fchdir: improve use of replacement functions
11520         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11521         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11522         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11523         REPLACE_CLOSEDIR.
11524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11525         * modules/sys_stat (Makefile.am): Substitute correct witness.
11526         * modules/dirent (Makefile.am): Likewise.
11527         * modules/unistd (Makefile.am): Likewise.
11528         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11529         * lib/unistd.in.h (dup): Likewise.
11530         * lib/sys_stat.in.h (fstat): Likewise.
11531
11532         maint: ignore gnulib-tool temp files
11533         * .gitignore: Ignore files created during gnulib-tool --test.
11534
11535 2009-09-13  Jim Meyering  <meyering@redhat.com>
11536
11537         posixtm: don't reject a time that specify "60" as the number of seconds
11538         * lib/posixtm.c (posixtime): The code to reject invalid dates
11539         would also reject a time specified with the .60 suffix.
11540         But POSIX allows that, in order to accommodate leap seconds.
11541         So don't reject it.
11542         (main): Adjust tests accordingly.
11543         * modules/posixtm (Depends-on): Add stpcpy.
11544
11545 2009-09-11  Jim Meyering  <meyering@redhat.com>
11546
11547         announce-gen: include [$release_type] in emitted Subject:
11548         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11549         e.g., [stable] in the emitted Subject: line.
11550
11551 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11552
11553         Remove obsolete macros from several modules.
11554         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11555         obsolete Autoconf macros with their modern counterparts.
11556         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11557         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11558         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11559         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11560         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11561         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11562         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11563         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11564         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11565         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11566         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11567         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11568         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11569         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11570         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11571         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11572         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11573         * m4/time_r.m4 (gl_TIME_R): Likewise.
11574         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11575         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11576         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11577
11578         Fix copyright header in build-aux scripts.
11579         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11580         recommendation.
11581         * build-aux/ncftpput-ftp: Likewise.
11582         * build-aux/update-copyright: Likewise.
11583
11584 2009-09-09  Eric Blake  <ebb9@byu.net>
11585
11586         test-link: allow Linux choice of errno
11587         * tests/test-link.c (main): Relax test for alternate error.
11588
11589         strndup: fix improper m4 caching
11590         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11591         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11592         (gl_PREREQ_STRNDUP): Delete.
11593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11594         * modules/string (Makefile.am): Substitute it.
11595         * lib/string.in.h (strndup): Modernize prototype.
11596
11597         getcwd: port to mingw
11598         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11599         different from the POSIX assumptions made throughout the getcwd
11600         module; fortunately, the mingw getcwd does not need replacement.
11601         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11602         * modules/getcwd-tests: New test.
11603         * tests/test-getcwd.c: Likewise.
11604
11605         link: fix platform bugs
11606         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11607         * lib/link.c (link): Work around them.  Fix related mingw bug.
11608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11609         * modules/unistd (Makefile.am): Substitute it.
11610         * lib/unistd.in.h (link): Declare replacement.
11611         * doc/posix-functions/link.texi (link): Document this.
11612         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11613
11614         test-link: consolidate into single C program, test more cases
11615         * tests/test-link.sh: Delete.
11616         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11617         at least Cygwin and Solaris.
11618         * modules/link-tests (Files): Remove unused file.
11619         (Depends-on): Add errno, sys_stat.
11620         (Makefile.am): Simplify.
11621
11622 2009-09-08  Bruno Haible  <bruno@clisp.org>
11623
11624         Work around towlower, towupper bug on mingw.
11625         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11626         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11627         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11628         * doc/posix-functions/towupper.texi: Likewise.
11629         Reported by Eric Blake.
11630
11631 2009-09-08  Jim Meyering  <meyering@redhat.com>
11632
11633         build: don't try to run autoheader if we don't use it
11634         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11635         is not used in configure.ac.
11636
11637 2009-09-08  Eric Blake  <ebb9@byu.net>
11638
11639         euidaccess: fix compilation error
11640         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11641
11642         rawmemchr: relax license
11643         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11644         okay.
11645         Reported by Jim Meyering.
11646
11647         mkfifoat: new module
11648         * modules/mkfifoat: New file.
11649         * lib/mkfifoat.c: Likewise.
11650         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11651         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11652         * modules/sys_stat (Makefile.am): Use them.
11653         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11654         * MODULES.html.sh (File system functions): Mention module.
11655         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11656         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11657         * modules/mkfifoat-tests: New test.
11658         * tests/test-mkfifoat.c: Likewise.
11659
11660         strchrnul: relax license
11661         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11662         okay.
11663         Reported by Jim Meyering.
11664
11665 2009-09-08  Eric Blake  <ebb9@byu.net>
11666
11667         fstatat: fix compilation on Solaris
11668         * lib/fstatat.c (includes): Add fcntl.h.
11669         Reported by Pádraig Brady.
11670
11671 2009-09-07  Eric Blake  <ebb9@byu.net>
11672
11673         rename: modernize replacement
11674         * modules/rename (Depends-on): Add stdio.
11675         (configure.ac): Declare witness.
11676         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11677         stdio take care of replacement.
11678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11679         * modules/stdio (Makefile.am): Substitute them.
11680         * lib/stdio.in.h (rename): Declare replacement.
11681         * lib/rename.c (includes): Allow cross-compilation to non-windows
11682         machines.
11683         * doc/posix-functions/rename.texi (rename): Improve
11684         documentation.
11685
11686         stdio: sort witness names
11687         * modules/stdio (Makefile.am): Sort replacements.
11688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11689         * lib/stdio.in.h: Likewise.
11690
11691         getcwd: minor cleanups
11692         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11693         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11694
11695         openat: provide more convenience names
11696         * modules/faccessat (configure.ac): Add C witness.
11697         * lib/unistd.in.h (readlinkat): Fix typo.
11698         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11699         convenience wrappers.
11700         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11701         wrappers in syntax checks.
11702
11703 2009-09-06  Eric Blake  <ebb9@byu.net>
11704
11705         doc: fix comments in recent patches
11706         * lib/faccessat.c: Mention correct function.
11707         * lib/fchmodat.c: Likewise.
11708         * lib/fchownat.c: Likewise.
11709         * lib/symlinkat.c: Likewise.
11710         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11711         constants.
11712
11713         faccessat, symlinkat: continue cleanup of previous patch
11714         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11715         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11716         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11718         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11719         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11720         set.
11721
11722 2009-09-06  Bruno Haible  <bruno@clisp.org>
11723
11724         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11725         (fstatat): Declare if GNULIB_FSTATAT is set.
11726         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11727         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11728         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11729         * modules/fcntl-h (Files): Remove m4/openat.m4.
11730         * modules/sys_stat (Files): Remove m4/openat.m4.
11731         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11732         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11733         * modules/unistd (Files): Remove m4/openat.m4.
11734         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11735         GNULIB_OPENAT.
11736         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11737         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11738         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11739         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11740         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11741         gl_OPENAT_DEFAULTS.
11742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11743         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11744         Don't require gl_OPENAT_DEFAULTS.
11745         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11746         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11747         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11748         (gl_OPENAT_DEFAULTS): Remove macro.
11749
11750 2009-09-06  Bruno Haible  <bruno@clisp.org>
11751
11752         * modules/openat (configure.ac): Remove unneeded witness.
11753
11754 2009-09-06  Bruno Haible  <bruno@clisp.org>
11755
11756         Set errno to ENOSYS when a function is entirely unsupported.
11757         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11758         EOPNOTSUPP.
11759         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11760         * modules/chown (Depends-on): Remove errno.
11761
11762 2009-09-06  Bruno Haible  <bruno@clisp.org>
11763
11764         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11765
11766 2009-09-06  Bruno Haible  <bruno@clisp.org>
11767
11768         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11769
11770 2009-09-06  Ben Pfaff  <blp@gnu.org>
11771             Bruno Haible  <bruno@clisp.org>
11772
11773         Work around a glibc bug in strtok_r.
11774         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11775         Undefine if UNDEFINE_STRTOK_R is set.
11776         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11777         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11778         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11779         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11780         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11781         UNDEFINE_STRTOK_R.
11782         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11783
11784 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11785
11786         exclude: minor fix
11787         * lib/exclude.c: Include wctype.h
11788
11789 2009-09-06  Akim Demaille  <demaille@gostai.com>
11790
11791         bootstrap: improve error message
11792         * build-aux/bootstrap (find_tool): Upon failure, report the list
11793         of candidates.
11794         Honor the initial value of the envvar.
11795
11796 2009-09-05  Eric Blake  <ebb9@byu.net>
11797
11798         symlinkat: new module
11799         * modules/symlinkat: New file.
11800         * lib/symlinkat.c: Likewise.
11801         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11803         * modules/unistd (Makefile.am): Use them.
11804         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11805         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11806         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11807         * MODULES.html.sh (File system functions): Mention module.
11808         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11809         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11810         * modules/symlinkat-tests: New test.
11811         * tests/test-symlinkat.c: Likewise.
11812
11813         test-openat-safer: add more checks
11814         * tests/test-openat-safer.c (main): Check more code paths.
11815
11816 2009-09-05  Jim Meyering  <meyering@redhat.com>
11817
11818         syntax-check: detect unnecessary inclusion of openat.h
11819         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11820
11821 2009-09-05  Bruno Haible  <bruno@clisp.org>
11822
11823         Support towlower, towupper.
11824         * doc/posix-functions/towlower.texi: Mention module wctype.
11825         * doc/posix-functions/towupper.texi: Likewise.
11826         * lib/wctype.in.h (towlower, towupper): New functions.
11827         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11828         (ASSERT): New macro.
11829         (e): New variable.
11830         (main): Test also towlower, towupper. Test WEOF argument.
11831         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11832
11833 2009-09-05  Bruno Haible  <bruno@clisp.org>
11834
11835         Fix conversion behaviour when the input is invalid.
11836         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11837         mark occurring in first pass of indirect conversion.
11838         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11839         input.
11840         Found by clang's static analyzer.
11841
11842 2009-09-05  Bruno Haible  <bruno@clisp.org>
11843
11844         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11845         where direct conversion is possible.
11846
11847 2009-09-04  Eric Blake  <ebb9@byu.net>
11848
11849         openat: fail with ENOENT on empty name
11850         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11851         buffer.
11852
11853         link-follow: fix logic bug in prior patch
11854         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11855         reversed sense of yes and no in prior patch.  Avoid confusing
11856         compilation failure with desired semantics.
11857
11858         link-follow: accomodate mingw and cross-compilation
11859         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11860         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11861         cross-compilation results to -1, to make linkat easier to
11862         implement when cross-compiling.  Trivially support mingw.
11863         * modules/link-follow (configure.ac): Call new name.
11864         * NEWS: Mention this.
11865
11866 2009-09-03  Eric Blake  <ebb9@byu.net>
11867
11868         faccessat: compile replacement
11869         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11870         needed.
11871
11872         fts: fix compilation error
11873         * lib/fts.c (includes): Re-add "openat.h", for
11874         openat_needs_fchdir.
11875
11876         faccessat: new module
11877         * modules/faccessat: New file.
11878         * lib/faccessat.c: Likewise.
11879         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11881         * modules/unistd (Makefile.am): Use it.
11882         * lib/unistd.in.h (faccessat): Declare it.
11883         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11884         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11885         * MODULES.html.sh (File system functions): Mention it.
11886         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11887         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11888
11889         euidaccess: prefer POSIX over non-standard implementation
11890         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11891         * lib/euidaccess.c (euidaccess): Use it if available.
11892
11893         openat: make template easier to use
11894         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11895         AT_FUNC_F2 to be undefined.
11896         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11897         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11898         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11899         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
11900         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
11901         Likewise.
11902         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
11903         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
11904         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
11905         Likewise.
11906
11907         openat: declare in POSIX headers
11908         * NEWS: Mention this.
11909         * modules/openat (configure.ac): Declare witnesses.
11910         (Depends-on): Add fcntl-h, sys_stat, unistd.
11911         (Include): Mention correct headers.
11912         * modules/fcntl-h (Depends-on): Add link-warning.
11913         (Files): Add openat.m4.
11914         (Makefile.am): Substitute witnesses.
11915         * modules/sys_stat (Files, Makefile.am): Likewise.
11916         * modules/unistd (Files, Makefile.am): Likewise.
11917         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
11918         (gl_OPENAT_DEFAULTS): New macro.
11919         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
11920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
11921         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
11922         (SYS_STAT_H): Remove unused variable.
11923         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
11924         * lib/fcntl--.h (includes): Remove unneeded header.
11925         * lib/openat-safer.c (includes): Likewise.
11926         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
11927         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
11928         appropriate headers.
11929         (__OPENAT_PREFIX): Delete.
11930         * lib/fcntl.in.h (openat): Provide declaration.
11931         (AT_FDCWD): Fix Solaris bug.
11932         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
11933         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
11934         * lib/fchmodat.c (includes):  Adjust to find declaration.
11935         * lib/fchownat.c (includes): Likewise.
11936         * lib/mkdirat.c (includes): Likewise.
11937         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
11938         still visible.
11939
11940 2009-09-02  Eric Blake  <ebb9@byu.net>
11941
11942         errno: use consistently
11943         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
11944         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
11945         * lib/canonicalize.c (ELOOP): Likewise.
11946         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
11947         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
11948         * lib/lchown.c (EOPNOTSUPP): Likewise.
11949         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
11950         * lib/savewd.c (ESTALE): Likewise.
11951         * lib/settime.c (ENOSYS): Likewise.
11952         * lib/utimens.c (ENOSYS): Likewise.
11953         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
11954         * lib/chdir-safer.c (ELOOP): Likewise.
11955         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
11956         * modules/c-stack (Depends-on): Add errno.
11957         * modules/canonicalize (Depends-on): Likewise.
11958         * modules/chdir-safer (Depends-on): Likewise.
11959         * modules/fdopendir (Depends-on): Likewise.
11960         * modules/inet_ntop (Depends-on): Likewise.
11961         * modules/inet_pton (Depends-on): Likewise.
11962         * modules/lchown (Depends-on): Likewise.
11963         * modules/openat (Depends-on): Likewise.
11964         * modules/savewd (Depends-on): Likewise.
11965         * modules/settime (Depends-on): Likewise.
11966         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
11967
11968         fts: avoid leaking fds
11969         * modules/fts (Depends-on): Add cloexec.
11970         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
11971         flag.
11972
11973         fts: make directory fds more robust
11974         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
11975         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
11976
11977         backupfile, chdir-long, fts, savedir: make safer
11978         * lib/backupfile.c (includes): Use "dirent--.h", since
11979         numbered_backup can write to stderr during readdir.
11980         * lib/savedir.c (includes): Likewise.
11981         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
11982         emulation can write to stderr on failure.
11983         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
11984         * lib/getcwd.c: Document why opendir_safer is unused.
11985         * lib/glob.c: Likewise.
11986         * lib/scandir.c: Likewise.
11987         * lib/openat-proc.c: Likewise, for open_safer.
11988         * modules/backupfile (Depends-on): Add dirent-safer.
11989         * modules/savedir (Depends-on): Likewise.
11990         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
11991         * modules/chdir-long (Depends-on): Add openat-safer.
11992
11993         openat-safer: new module
11994         * modules/openat-safer: New file.
11995         * lib/openat-safer.c: Likewise.
11996         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
11997         * lib/fcntl-safer.h (openat_safer): Declare.
11998         * lib/fcntl--.h (openat): Override.
11999         * MODULES.html.sh (File descriptor based I/O): Mention it.
12000         * lib/openat.h: Add double-inclusion guards.
12001         * lib/openat.c (includes): Only include "fcntl-safer.h", not
12002         "fcntl--.h", so we can implement openat.
12003         * modules/openat-safer-tests: New test.
12004         * tests/test-openat-safer.c: New file.
12005
12006         dirent-safer: new module
12007         * modules/dirent-safer: New file.
12008         * lib/dirent--.h: Likewise.
12009         * lib/dirent-safer.h: Likewise.
12010         * lib/opendir-safer.c: Likewise.
12011         * m4/dirent-safer.m4: Likewise.
12012         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
12013         * modules/dirent-safer-tests: New test.
12014         * tests/test-dirent-safer.c: New file.
12015         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
12016
12017         fdopendir: optimize on mingw
12018         * lib/unistd.in.h (_gl_directory_name): New prototype.
12019         * lib/fchdir.c (_gl_directory_name): Implement it.
12020         (fchdir): Use it to simplify implementation.
12021         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
12022         fchdir, when available, to avoid calling [f]chdir().
12023
12024         fdopendir: split into its own module
12025         * lib/openat.c (fdopendir): Move...
12026         * lib/fdopendir.c: ...into new file.
12027         * modules/fdopendir: New module.
12028         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
12029         * modules/openat (Depends-on): Add fdopendir.
12030         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
12031         fdopendir here.
12032         * modules/savedir (Depends-on): Only need fdopendir, not full
12033         openat.
12034         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
12035         * lib/openat.h (fdopendir): Drop prototype.
12036         * lib/dirent.in.h (fdopendir): Provide prototype.
12037         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
12038         * modules/dirent (Makefile.am): Substitute them.
12039         * MODULES.html.sh (File system functions): Mention it.
12040         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
12041         * modules/fdopendir-tests: New file.
12042         * tests/test-fdopendir.c: Likewise.
12043
12044         fchdir: use more consistent macro convention
12045         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
12046         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
12047         REPLACE_FCHDIR, rather than relying on config.h macros.
12048         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
12049         inside a single make-time REPLACE_FCHDIR block, rather than using
12050         the config.h FCHDIR_REPLACEMENT.
12051         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
12052         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
12053         Manage fstat replacement.
12054         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
12055         REPLACE_FCHDIR.
12056         * modules/sys_stat (Files): Add m4/unistd_h.m4.
12057         (Makefile.am): Substitute REPLACE_FCHDIR.
12058         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
12059         FCHDIR_REPLACEMENT.
12060         * lib/dup-safer.c (dup_safer): Likewise.
12061         * lib/dup2.c (rpl_dup2): Likewise.
12062         * lib/dup3.c (rpl_dup3): Likewise.
12063         * lib/open.c (rpl_open): Likewise.
12064
12065         fchdir: simplify error handling, and support dup3
12066         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
12067         stdbool, malloc-posix, realloc-posix.
12068         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
12069         (ensure_dirs_slot): Return false on allocation failure.
12070         (rpl_dup2): Delete.
12071         (_gl_register_dup): New function.
12072         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
12073         (_gl_register_fd): Close fd on allocation failure.
12074         * lib/fcntl.in.h (_gl_register_fd): Update signature.
12075         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
12076         prototype.
12077         (rpl_dup2_fchdir): Delete prototype.
12078         * lib/open.c (open): Update caller.
12079         * lib/dup2.c (dup2): Track fchdir metadata.
12080         * lib/dup3.c (dup3): Likewise.
12081         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
12082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
12083
12084 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12085
12086         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
12087         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
12088         don't pass arguments to AC_OUTPUT.
12089
12090 2009-09-02  Bruno Haible  <bruno@clisp.org>
12091
12092         * modules/mkdtemp (License): Relicense under LGPLv2+.
12093         Reported by Paolo Bonzini.
12094
12095 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12096
12097         Replace uses of obsolete autoconf macros in Jim's modules.
12098         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
12099         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
12100         can evoke a warning from autoconf when run with -Wobsolete
12101         enabled.  They were declared obsolete for good reasons (see
12102         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
12103         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
12104         should not continue using the deprecated macros.
12105         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
12106         obsolete Autoconf macros with modern counterparts.
12107         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12108         * m4/dos.m4 (gl_AC_DOS): Likewise.
12109         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
12110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12111         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
12112         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
12113         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
12114         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
12115         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
12116         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
12117         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12118         Likewise.
12119         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12120         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
12121         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
12122         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
12123         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12124         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
12125
12126 2009-09-01  Eric Blake  <ebb9@byu.net>
12127
12128         fchdir: fix off-by-one bug in previous patch
12129         * lib/fchdir.c (rpl_fstat): Use correct bounds.
12130         (_gl_unregister_fd): Delete useless if.
12131
12132 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
12133
12134         maint.mk: sort the list of syntax-check rules
12135         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
12136         easier to get a sense of progress when the rules are run sequentially
12137         and take a long time.
12138
12139 2009-09-01  Simon Josefsson  <simon@josefsson.org>
12140
12141         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
12142         * modules/netinet_in: Likewise.
12143         * modules/sys_file: Likewise.
12144         * modules/sys_ioctl: Likewise.
12145         * modules/sys_select: Likewise.
12146         * modules/sys_socket: Likewise.
12147         * modules/sys_stat: Likewise.
12148         * modules/sys_time: Likewise.
12149         * modules/sys_times: Likewise.
12150         * modules/sys_utsname: Likewise.
12151         * modules/sys_wait: Likewise.
12152
12153 2009-09-01  Jim Meyering  <meyering@redhat.com>
12154
12155         fts: help ensure that return values are not ignored
12156         * lib/fts_.h (__GNUC_PREREQ): Define.
12157         (__attribute_warn_unused_result__): Define.
12158         (fts_children, fts_close, fts_open, fts_read): Declare with
12159         __attribute_warn_unused_result__.
12160
12161         fts: fts_close now fails also when closing a dir file descriptor fails
12162         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
12163         and propagate to caller, along with errno.
12164
12165         announce-gen: correct formatting in --help output
12166         * build-aux/announce-gen (usage): Move the one-line description in
12167         --help output "up", to where it belongs, just after Usage:.
12168
12169 2009-08-31  Eric Blake  <ebb9@byu.net>
12170
12171         fchdir: port to mingw
12172         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
12173         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
12174         opened, then use a substitute.
12175         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
12176         replacement.
12177         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
12178         (_gl_register_fd): No need to check stat if open already filters
12179         all directories.
12180         (fchdir): Fix error condition to match POSIX.
12181         * modules/fchdir (Depends-on): Add sys_stat.
12182         * doc/posix-functions/open.texi (open): Document the limitation.
12183         * modules/fchdir-tests: New file.
12184         * tests/test-fchdir.c: Likewise.
12185
12186         canonicalize: allow cross-testing from cygwin to mingw
12187         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
12188         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
12189         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
12190         Likewise.
12191         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
12192         target does not support symlinks.
12193         * tests/test-canonicalize-lgpl.sh: Likewise.
12194
12195         chown: avoid compilation warning on mingw
12196         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
12197         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
12198         mingw.
12199         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12200         * modules/chown (Depends-on): Add errno.
12201
12202 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12203
12204         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
12205         command.
12206
12207 2009-08-31  Jim Meyering  <meyering@redhat.com>
12208
12209         canonicalize: remove useless initialization
12210         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12211         initialization of local, "end".
12212
12213 2009-08-30  Bruno Haible  <bruno@clisp.org>
12214
12215         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12216         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12217         ENOSYS.
12218
12219 2009-08-30  Bruno Haible  <bruno@clisp.org>
12220
12221         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12222         /usr/xpg4/bin/tr when it exists.
12223         * tests/test-pipe-filter-gi1.sh: Likewise.
12224
12225 2009-08-30  Bruno Haible  <bruno@clisp.org>
12226
12227         Work around deficient /usr/bin/id program on Solaris.
12228         * tests/test-file-has-acl.sh (ID): New variable.
12229         * tests/test-set-mode-acl.sh (ID): Likewise.
12230         * tests/test-copy-acl.sh (ID): Likewise.
12231         * tests/test-copy-file.sh (ID): Likewise.
12232
12233 2009-08-30  Bruno Haible  <bruno@clisp.org>
12234
12235         New module 'xstriconveh'.
12236         * lib/xstriconveh.h: New file.
12237         * lib/xstriconveh.c: New file.
12238         * modules/xstriconveh: New file.
12239
12240 2009-08-30  Bruno Haible  <bruno@clisp.org>
12241
12242         Make it easier to use mem_cd_iconveh.
12243         * lib/striconveh.h (iconveh_t): New type.
12244         (iconveh_open, iconveh_close): New declarations.
12245         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12246         with a single 'const iconveh_t *' argument.
12247         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12248         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12249         with a single 'const iconveh_t *' argument.
12250         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12251         * tests/test-striconveh.c (main): Update.
12252         * NEWS: Mention the change.
12253
12254 2009-08-30  Bruno Haible  <bruno@clisp.org>
12255
12256         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12257         problem.
12258
12259 2009-08-30  Bruno Haible  <bruno@clisp.org>
12260
12261         Work around iconv_open problem on Solaris.
12262         * lib/iconv_open-solaris.gperf: New file.
12263         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12264         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12265         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12266         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12267         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12268         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12269
12270 2009-08-29  Jim Meyering  <meyering@redhat.com>
12271
12272         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12273         * top/maint.mk (cvs-check): Remove target; it was just an alias
12274         to the better-named vc-diff-check.
12275         (maintainer-distcheck): Remove rule.  It was used only from
12276         the (alpha/beta/major) target, and all of its commands but one
12277         were coreutils-specific.
12278         (vc-dist): Remove rule.
12279         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12280         Run vc-diff-check, not vc-dist.
12281         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12282
12283 2009-08-27  Bruno Haible  <bruno@clisp.org>
12284
12285         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12286         of 0.
12287
12288 2009-08-27  Bruno Haible  <bruno@clisp.org>
12289
12290         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12291         compilers.
12292         * doc/func.texi: Document the SunPRO C bug.
12293
12294 2009-08-27  Bruno Haible  <bruno@clisp.org>
12295
12296         Fix link error on Solaris.
12297         * tests/test-parse-duration.c (xstrdup): Remove function.
12298
12299 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12300
12301         ignore-value: handle pointer types, too
12302         * lib/ignore-value.h (__attribute__): Remove definition.
12303         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12304         of a more concise and more-often effective "(void) i" statement.
12305         (ignore_ptr): New function to suppress warnings from functions that
12306         return pointers, and to make it explicit that one function doesn't
12307         handle all cases.
12308
12309 2009-08-25  Bruno Haible  <bruno@clisp.org>
12310
12311         dup2: work around a Linux bug.
12312         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12313         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12314         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12315         Reported by Simon Josefsson.
12316
12317 2009-08-25  Jim Meyering  <meyering@redhat.com>
12318
12319         libguestfs uses gnulib
12320         * users.txt: Add libguestfs.
12321
12322 2009-08-24  Eric Blake  <ebb9@byu.net>
12323
12324         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12325         * lib/pipe2.c (includes): Add binary-io.h.
12326         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12327
12328 2009-08-24  Bruno Haible  <bruno@clisp.org>
12329
12330         Tolerate declared but missing accept4 syscall.
12331         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12332         available.
12333         * lib/sys_socket.in.h (accept4): If the function is already present,
12334         override it.
12335         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12336         * modules/accept4 (Makefile.am): Compile accept4.c always.
12337         Reported by Paolo Bonzini and Eric Blake.
12338
12339 2009-08-23  Bruno Haible  <bruno@clisp.org>
12340
12341         New module 'accept4'.
12342         * lib/sys_socket.in.h (accept4): New declaration.
12343         * lib/accept4.c: New file.
12344         * m4/accept4.m4: New file.
12345         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12346         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12347         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12348         HAVE_ACCEPT4.
12349         * modules/accept4: New file.
12350         * doc/glibc-functions/accept4.texi: Mention the new module.
12351
12352 2009-08-24  Jim Meyering  <meyering@redhat.com>
12353
12354         progname: also set global program_invocation_name, when possible
12355         Before this change, a libtool-enabled program that calls glibc's
12356         error function would report the program name as
12357         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12358         * modules/progname (configure.ac): Check for a declaration of
12359         program_invocation_name.
12360         * lib/progname.c:  Include <errno.h>.
12361         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12362         Set program_invocation_name.
12363
12364 2009-08-23  Bruno Haible  <bruno@clisp.org>
12365
12366         * lib/dup3.c: Include <string.h>.
12367
12368 2009-08-23  Bruno Haible  <bruno@clisp.org>
12369
12370         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12371         * lib/pipe2.c (pipe2): Likewise.
12372         Suggested by Eric Blake.
12373
12374 2009-08-23  Bruno Haible  <bruno@clisp.org>
12375
12376         Tolerate declared but missing dup3 syscall.
12377         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12378         * lib/unistd.in.h (dup3): If the function is already present,
12379         override it.
12380         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12381         * modules/dup3 (Makefile.am): Compile dup3.c always.
12382         Reported by Paolo Bonzini.
12383
12384 2009-08-23  Bruno Haible  <bruno@clisp.org>
12385
12386         Tolerate declared but missing pipe2 syscall.
12387         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12388         available.
12389         * lib/unistd.in.h (pipe2): If the function is already present,
12390         override it.
12391         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12392         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12393         Reported by Paolo Bonzini.
12394
12395 2009-08-23  Bruno Haible  <bruno@clisp.org>
12396
12397         * lib/pipe2.c (pipe2): Move #ifs inside function.
12398
12399 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12400
12401         quotearg: document limitations of quote_these_too
12402         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12403         those limitations are created.
12404         * lib/quotearg.h (set_char_quoting): Document that digits and
12405         letters that are special after backslash are not permitted.
12406         (quotearg_char): Cross-reference set_char_quoting documentation.
12407
12408 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12409
12410         quotearg: implement custom_quoting_style
12411         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12412         right_quote fields.
12413         (set_custom_quoting): New public function.
12414         (quotearg_buffer_restyled): Add left_quote and right_quote
12415         arguments, handle them very much like locale quoting, and update
12416         all uses.
12417         (quotearg_n_custom): New public function.
12418         (quotearg_n_custom_mem): New public function.
12419         (quotearg_custom): New public function.
12420         (quotearg_custom_mem): New public function.
12421         * lib/quotearg.h: Prototype and document new public functions.
12422         (enum quoting_style): For escape_quoting_style and
12423         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
12424         ignored even though they're otherwise like c_quoting_style.
12425         Add custom_quoting_style member and document with comparison to
12426         clocale_quoting_style.
12427         * tests/test-quotearg.c (custom_quotes): New array.
12428         (custom_results): New array.
12429         (main): Extend to test custom quoting.
12430
12431 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12432
12433         quotearg: fix right quote escaping when it's in quote_these_too
12434         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
12435         quote, be sure to prepend only one backslash.
12436         * tests/test-quotearg.c (use_quote_double_quotes): New function.
12437         (main): Test it.
12438
12439 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12440
12441         quotearg-tests: test escaping of embedded locale quotes
12442         * tests/test-quotearg.c (struct result_strings): Add member for
12443         new input.
12444         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
12445         (inputs): Add new input.
12446         (results_g): Add expected results.
12447         (flag_results): Likewise.
12448         (locale_results): Likewise.
12449         (compare_strings): Check those.
12450
12451 2009-08-23  Bruno Haible  <bruno@clisp.org>
12452
12453         Tests for module 'dup3'.
12454         * modules/dup3-tests: New file.
12455         * tests/test-dup3.c: New file.
12456
12457         New module 'dup3'.
12458         * lib/unistd.in.h (dup3): New declaration.
12459         * lib/dup3.c: New file.
12460         * m4/dup3.m4: New file.
12461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12462         HAVE_DUP3.
12463         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12464         * modules/dup3: New file.
12465         * doc/glibc-functions/dup3.texi: Mention the new module.
12466
12467 2009-08-23  Bruno Haible  <bruno@clisp.org>
12468
12469         Tweak the dup2 test.
12470         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12471         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12472         the test file is still empty. Fix argument order of lseek.
12473
12474 2009-08-23  Bruno Haible  <bruno@clisp.org>
12475
12476         Avoid test link errors when the modules getopt-gnu, gettext are used.
12477         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12478         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12479
12480 2009-08-23  Bruno Haible  <bruno@clisp.org>
12481
12482         Fix getdtablesize() on mingw.
12483         * lib/getdtablesize.c (getdtablesize): Implement differently.
12484         * lib/unistd.in.h (getdtablesize): Improve comment.
12485
12486 2009-08-23  Bruno Haible  <bruno@clisp.org>
12487
12488         New module 'mkostemp'.
12489         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12490         * lib/stdlib.in.h (mksotemp): New declaration.
12491         * lib/mkostemp.c: New file, from glibc with modifications.
12492         * lib/tempname.h (GT_FILE): Remove outdated comment.
12493         (gen_tempname): Add flags argument.
12494         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12495         (__GT_FILE): Map to 1.
12496         (small_open, large_open): Remove macros.
12497         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12498         * lib/mkstemp.c (mkstemp): Update.
12499         * lib/mkdtemp.c (mkdtemp): Likewise.
12500         * m4/mkostemp.m4: New file.
12501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12502         HAVE_MKOSTEMP.
12503         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12504         HAVE_MKOSTEMP.
12505         * modules/mkostemp: New file, based on modules/mkstemp.
12506         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12507         * NEWS: Mention the change.
12508
12509 2009-08-23  Bruno Haible  <bruno@clisp.org>
12510
12511         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12512         Reported by Eric Blake.
12513
12514 2009-08-23  Bruno Haible  <bruno@clisp.org>
12515
12516         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12517         Reported by Eric Blake.
12518
12519 2009-08-23  Bruno Haible  <bruno@clisp.org>
12520
12521         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12522         * modules/pipe2 (Depends-on): Likewise.
12523
12524 2009-08-23  Eric Blake  <ebb9@byu.net>
12525
12526         fcntl-h: add O_TTY_INIT support
12527         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12528         * tests/test-fcntl-h.c (o): Test it.
12529         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12530
12531         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12532         * modules/fcntl: Move <fcntl.h> header replacement...
12533         * modules/fcntl-h: ...to new name, so as not to collide with
12534         like-named function.
12535         * tests/test-fcntl.c: Rename...
12536         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12537         * modules/fcntl-tests: Rename...
12538         * modules/fcntl-h-tests: ...to this.  Update test file name.
12539         * modules/chdir-long (Depends-on): Update clients.
12540         * modules/chdir-safer (Depends-on): Likewise.
12541         * modules/fcntl-safer (Depends-on): Likewise.
12542         * modules/fts (Depends-on): Likewise.
12543         * modules/mkancesdirs (Depends-on): Likewise.
12544         * modules/mkdir-p (Depends-on): Likewise.
12545         * modules/open (Depends-on): Likewise.
12546         * modules/savewd (Depends-on): Likewise.
12547         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12548         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12549
12550 2009-08-22  Bruno Haible  <bruno@clisp.org>
12551
12552         * modules/binary-io (License): Relicense under LGPL.
12553         * modules/pipe2 (License): Likewise.
12554
12555 2009-08-22  Bruno Haible  <bruno@clisp.org>
12556
12557         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12558         return value.
12559         * lib/pipe-filter-gi.c (filter_init): Likewise.
12560         Reported by Eric Blake.
12561
12562 2009-08-22  Bruno Haible  <bruno@clisp.org>
12563
12564         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12565         * modules/pipe (Depends-on): Add pipe2.
12566
12567 2009-08-22  Bruno Haible  <bruno@clisp.org>
12568
12569         Tests for module 'pipe2'.
12570         * modules/pipe2-tests: New file.
12571         * tests/test-pipe2.c: New file.
12572
12573         New module 'pipe2'.
12574         * lib/unistd.in.h (pipe2): New declaration.
12575         * lib/pipe2.c: New file.
12576         * m4/pipe2.m4: New file.
12577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12578         HAVE_PIPE2.
12579         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12580         * modules/pipe2: New file.
12581         * doc/glibc-functions/pipe2.texi: Mention the new module.
12582
12583 2009-08-22  Bruno Haible  <bruno@clisp.org>
12584
12585         Reference some new glibc functions.
12586         * doc/glibc-functions/accept4.texi: New file.
12587         * doc/glibc-functions/dup3.texi: New file.
12588         * doc/glibc-functions/mkostemp.texi: New file.
12589         * doc/glibc-functions/pipe2.texi: New file.
12590         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12591         (Glibc sys/socket.h): Refer to accept4.
12592         (Glibc unistd.h): Refer to dup3, pipe2.
12593         Reported by Eric Blake.
12594
12595 2009-08-22  Jim Meyering  <meyering@redhat.com>
12596             Bruno Haible  <bruno@clisp.org>
12597
12598         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12599         This makes it so packages using automake-1.11's silent-rules option
12600         can print e.g., a single "GEN    configmake.h" line, rather than
12601         the 30+ statements that perform the job.  If you want to see the
12602         actual commands, you can still run "make V=1".
12603         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12604         so that make output is abbreviated when those variables are defined
12605         appropriately.
12606         * modules/argz: Likewise.
12607         * modules/arpa_inet: Likewise.
12608         * modules/byteswap: Likewise.
12609         * modules/configmake: Likewise.
12610         * modules/dirent: Likewise.
12611         * modules/errno: Likewise.
12612         * modules/fcntl: Likewise.
12613         * modules/float: Likewise.
12614         * modules/fnmatch: Likewise.
12615         * modules/getopt-posix: Likewise.
12616         * modules/glob: Likewise.
12617         * modules/iconv_open: Likewise.
12618         * modules/inttypes: Likewise.
12619         * modules/localcharset: Likewise.
12620         * modules/locale: Likewise.
12621         * modules/math: Likewise.
12622         * modules/netdb: Likewise.
12623         * modules/netinet_in: Likewise.
12624         * modules/poll: Likewise.
12625         * modules/posix_spawnp-tests: Likewise.
12626         * modules/sched: Likewise.
12627         * modules/search: Likewise.
12628         * modules/selinux-h: Likewise.
12629         * modules/signal: Likewise.
12630         * modules/spawn: Likewise.
12631         * modules/stdarg: Likewise.
12632         * modules/stdbool: Likewise.
12633         * modules/stddef: Likewise.
12634         * modules/stdint: Likewise.
12635         * modules/stdio: Likewise.
12636         * modules/stdlib: Likewise.
12637         * modules/string: Likewise.
12638         * modules/strings: Likewise.
12639         * modules/sys_file: Likewise.
12640         * modules/sys_ioctl: Likewise.
12641         * modules/sys_select: Likewise.
12642         * modules/sys_socket: Likewise.
12643         * modules/sys_stat: Likewise.
12644         * modules/sys_time: Likewise.
12645         * modules/sys_times: Likewise.
12646         * modules/sys_utsname: Likewise.
12647         * modules/sys_wait: Likewise.
12648         * modules/sysexits: Likewise.
12649         * modules/time: Likewise.
12650         * modules/unistd: Likewise.
12651         * modules/wchar: Likewise.
12652         * modules/wctype: Likewise.
12653
12654 2009-08-22  Jim Meyering  <meyering@redhat.com>
12655
12656         announce-gen: detect write failure
12657         * build-aux/announce-gen: Add Coda at end.
12658         Remove equivalent-but-more-verbose block at top.
12659
12660 2009-08-19  Akim Demaille  <demaille@gostai.com>
12661
12662         bootstrap: --help to stdout.
12663         * bootstrap (usage): Don't send --help to stderr.
12664         Use a here doc instead of a long string.
12665
12666 2009-08-21  Eric Blake  <ebb9@byu.net>
12667
12668         test-popen-safer: split from test-popen
12669         * tests/test-popen.c (main): Move...
12670         * tests/test-popen.h: ...into new file.
12671         * tests/test-popen-safer2.c: New file.
12672         * modules/popen-tests (Files): Add test-popen.h.
12673         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12674         Suggested by Bruno Haible.
12675
12676         test-fcntl-safer: split from test-open
12677         * tests/test-open.c (main): Move...
12678         * tests/test-open.h: ...into new file.
12679         * tests/test-fcntl-safer.c: New file.
12680         * modules/open-tests (Files): Add test-open.h.
12681         * modules/fcntl-safer-tests: New file.
12682         Suggested by Bruno Haible.
12683
12684         test-fopen-safer: split from test-fopen
12685         * tests/test-fopen.c (main): Move...
12686         * tests/test-fopen.h: ...into new file.
12687         * tests/test-fopen-safer.c: New file.
12688         * modules/fopen-tests (Files): Add test-fopen.h.
12689         * modules/fopen-safer-tests: New file.
12690         Suggested by Bruno Haible.
12691
12692 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12693
12694         popen-safer: test O_CLOEXEC at run-time.
12695         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12696
12697 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12698
12699         fcntl: move more flags to the header
12700         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12701         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12702         * lib/fcntl.in.h: Do both things here.
12703
12704 2009-08-21  Jim Meyering  <meyering@redhat.com>
12705
12706         consistently remove $@-t before redirecting to it
12707         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12708         * modules/alloca-opt: Likewise.
12709         * modules/byteswap: Likewise.
12710         * modules/fnmatch: Likewise.
12711         * modules/getopt-posix: Likewise.
12712         * modules/glob: Likewise.
12713         * modules/poll: Likewise.
12714         * modules/posix_spawnp-tests: Likewise.
12715         * modules/sys_socket: Likewise.
12716         * modules/sysexits: Likewise.
12717
12718 2009-08-21  Eric Blake  <ebb9@byu.net>
12719
12720         popen: simplify access to original popen
12721         * lib/popen.c (rpl_popen): No need to worry about popen being a
12722         macro.
12723         Reported by Bruno Haible.
12724
12725 2009-08-20  Eric Blake  <ebb9@byu.net>
12726
12727         build: avoid some compiler warnings
12728         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12729         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12730         type.
12731         (new_exclude_segment, excluded_file_pattern_p)
12732         (excluded_file_name_p): Reduce scope.
12733         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12734         old-style declaration.
12735
12736 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12737
12738         * tests/test-exclude1.sh: Handle Windows EOL.
12739         * tests/test-exclude2.sh: Likewise.
12740         * tests/test-exclude3.sh: Likewise.
12741         * tests/test-exclude4.sh: Likewise.
12742         * tests/test-exclude5.sh: Likewise.
12743         * tests/test-exclude6.sh: Likewise.
12744         * tests/test-exclude7.sh: Likewise.
12745
12746 2009-08-19  Akim Demaille  <demaille@gostai.com>
12747
12748         bootstrap: find sha1sum when named gsha1sum.
12749         * bootstrap (find_tool): New.
12750         ($SHA1SUM): New.
12751         Use it.
12752
12753 2009-08-20  Jim Meyering  <meyering@redhat.com>
12754
12755         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12756         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12757         expression that converts "." in a file name to "\." in the resulting
12758         regexp.  Start with a dummy statement, so that prior shell variable
12759         definitions are expanded portably.  Reported by Simon Josefsson.
12760
12761 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12762
12763         Fix polling for writeability of a screen buffer.
12764         * lib/poll.c: Distinguish input and screen buffers for the
12765         Win32 implementation.
12766         * lib/select.c: Likewise.
12767
12768 2009-08-19  Eric Blake  <ebb9@byu.net>
12769
12770         popen-safer: prevent popen from clobbering std descriptors
12771         * modules/popen-safer: New file.
12772         * lib/popen-safer.c: Likewise.
12773         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12774         * lib/stdio--.h (popen): Provide override.
12775         * lib/stdio-safer.h (popen_safer): Provide declaration.
12776         * tests/test-popen.c (includes): Partially test this.
12777         * modules/popen-safer-tests: New file, for more tests.
12778         * tests/test-popen-safer.c: Likewise.
12779         * MODULES.html.sh (file stream based Input/Output): Mention it.
12780
12781         tests: test some of the *-safer modules
12782         * modules/fopen-safer (Depends-on): Add fopen.
12783         * modules/fcntl-safer (Depends-on): Add fcntl.
12784         * modules/stdlib-safer (Depends-on): Add stdlib.
12785         (configure.ac): Set indicator.
12786         * modules/unistd-safer (configure.ac): Likewise.
12787         * modules/tmpfile-safer (configure.ac): Likewise.
12788         (Depends-on): Add tmpfile.
12789         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12790         active.
12791         * tests/test-fopen.c (includes): Test safer versions when they are
12792         in use.
12793         * tests/test-open.c (includes): Likewise.
12794
12795         popen: fix cygwin 1.5 bug when stdin closed
12796         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12797         * modules/popen: New file.
12798         * modules/popen-tests: Likewise.
12799         * tests/test-popen.c: Likewise.
12800         * m4/popen.m4: Likewise.
12801         * lib/popen.c: Likewise.
12802         * lib/stdio.in.h (popen): New declaration.
12803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12804         * modules/stdio (Makefile.am): Likewise.
12805         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12806
12807 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12808
12809         maint.mk: give full control over update-copyright exclusions
12810         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12811         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12812         (update-copyright): Don't force inclusion of top-level
12813         ChangeLog.  Don't force exclusion of all COPYING files, but make
12814         them the default exclusion instead.
12815
12816 2009-08-16  Bruno Haible  <bruno@clisp.org>
12817
12818         Fix test failures on Solaris 10.
12819         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12820         tests when Solaris iconv() is used.
12821         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12822         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12823         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12824         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12825         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12826
12827 2009-08-16  Bruno Haible  <bruno@clisp.org>
12828
12829         Fix test failures on Solaris 10.
12830         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12831         'tr' program and pass it as first argument.
12832         * tests/test-pipe-filter-gi1.sh: Likewise.
12833         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12834         program as first argument.
12835         * tests/test-pipe-filter-gi1.c (main): Likewise.
12836
12837 2009-08-16  Eric Blake  <ebb9@byu.net>
12838
12839         fpurge: fix previous commits
12840         * modules/fpurge (Makefile.am): Make replacement conditional,
12841         partially reverting 2007-04-29 change; missed in previous
12842         attempt.
12843         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12844         is missing.
12845
12846 2009-08-16  Bruno Haible  <bruno@clisp.org>
12847
12848         Clarify fpurge's effect on the file position.
12849         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12850         * tests/test-fpurge.c (main): Make a second pass for checking the file
12851         position.
12852
12853 2009-08-16  Bruno Haible  <bruno@clisp.org>
12854
12855         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12856         declaration of fpurge is missing.
12857         * tests/test-fpurge.c (main): Check that the file has not more contents
12858         than expected. Close the file before removing it.
12859
12860 2009-08-15  Eric Blake  <ebb9@byu.net>
12861
12862         fpurge: don't wrap working cygwin implementation
12863         * lib/fpurge.c (fpurge): Fix comment typo.
12864         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12865         1.7 to avoid replacement.
12866         * tests/test-fpurge.c (main): Enhance test.
12867
12868 2009-08-15  Eric Blake  <ebb9@byu.net>
12869         and Jim Meyering  <meyering@redhat.com>
12870
12871         test-update-copyright: skip if perl is insufficient
12872         * tests/test-update-copyright.sh: Failure to run maintainer tool
12873         should not cause testsuite failure on cygwin 1.5.
12874
12875 2009-08-14  Eric Blake  <ebb9@byu.net>
12876
12877         doc: mention more functions added in cygwin 1.7.0
12878         * doc/posix-headers/limits.texi (limits.h): Update for recent
12879         cygwin additions.
12880         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12881         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12882         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12883         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12884         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12885
12886 2009-08-14  Eric Blake  <ebb9@byu.net>
12887
12888         maint.mk: simplify update-copyright rule
12889         * top/maint.mk (update-copyright-local): Delete, and document how
12890         to do it in cfg.mk instead.
12891         (update-copyright-exclude-regexp): Delete, and document how to do
12892         it in .x-update-copyright instead.
12893         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12894         exclude ChangeLog.
12895
12896 2009-08-14  Bruno Haible  <bruno@clisp.org>
12897
12898         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12899
12900 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12901
12902         maint.mk: support update-copyright-env
12903         * top/maint.mk (update-copyright-env): Define place-holder.
12904         (update-copyright): Expand $(update-copyright-env) before
12905         invoking update-copyright.
12906
12907 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12908
12909         update-copyright: implement forced reformatting
12910         * build-aux/update-copyright: Implement and document
12911         UPDATE_COPYRIGHT_FORCE.
12912         * tests/test-update-copyright.sh: Test it.
12913
12914 2009-08-14  Eric Blake  <ebb9@byu.net>
12915         and Bruno Haible  <bruno@clisp.org>
12916
12917         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
12918         * tests/test-locale.c: Revert previous patch related to NULL.
12919         * tests/test-stdio.c: Likewise.
12920         * tests/test-stdlib.c: Likewise.
12921         * tests/test-string.c: Likewise.
12922         * tests/test-unistd.c: Likewise.
12923         * modules/time-tests (Depends-on): Add verify.
12924         * modules/wchar-tests (Depends-on): Likewise.
12925         * tests/test-time.c: Test for NULL compliance.
12926         * tests/test-wchar.c: Likewise.
12927         * modules/locale (Depends-on): Add stddef.
12928         * modules/stdio (Depends-on): Likewise.
12929         * modules/stdlib (Depends-on): Likewise.
12930         * modules/string (Depends-on): Likewise.
12931         * modules/time (Depends-on): Likewise.
12932         * modules/unistd (Depends-on): Likewise.
12933         * modules/wchar (Depends-on): Likewise.
12934         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
12935         * lib/stdlib.in.h (includes): Likewise.
12936         * lib/string.in.h (includes): Likewise.
12937         * lib/time.in.h (includes): Likewise.
12938         * lib/unistd.in.h (includes): Likewise.
12939         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
12940         replaced.
12941         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12942         * m4/stddef_h.m4: New file.
12943         * modules/stddef: Likewise.
12944         * lib/stddef.in.h: Likewise.
12945         * modules/stddef-tests: Likewise.
12946         * tests/test-stddef.c: Likewise.
12947         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
12948         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
12949         * doc/posix-headers/locale.texi (locale.h): Likewise.
12950         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
12951         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12952         * doc/posix-headers/string.texi (string.h): Likewise.
12953         * doc/posix-headers/time.texi (time.h): Likewise.
12954         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
12955         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
12956
12957 2009-08-14  Eric Blake  <ebb9@byu.net>
12958
12959         doc: improve git diff of texinfo files
12960         * .gitattributes: Add rule for *.texi files, with hint on how to
12961         use it.
12962         Copied from m4, and based on a report by Bruno Haible.
12963
12964 2009-08-14  Bruno Haible  <bruno@clisp.org>
12965
12966         Disable multithread support by default on Cygwin 1.5.x for real.
12967         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
12968
12969 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12970
12971         update-copyright: much ado about intervals
12972         * build-aux/update-copyright: Implement and document
12973         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
12974         of copyright year intervals.
12975         Also, document UPDATE_COPYRIGHT_YEAR.
12976         * tests/test-update-copyright.sh: Test it.
12977
12978         update-copyright: convert 2-digit to 4-digit years
12979         * build-aux/update-copyright: Implement and document.
12980         * tests/test-update-copyright.sh: Update.
12981
12982 2009-08-14  Jim Meyering  <meyering@redhat.com>
12983
12984         test-exclude: avoid coreutils "make check" failure
12985         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
12986         just as in test-argmatch.c.
12987
12988 2009-08-13  Eric Blake  <ebb9@byu.net>
12989
12990         test-dup2: fix bad assumption
12991         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
12992         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
12993
12994         test-version-etc: fix CRLF portability issue
12995         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
12996         recognize \r.
12997         * tests/test-argp-version-etc-1.sh: Likewise.
12998
12999         getopt: update client modules
13000         * modules/argp (Depends-on): Use getopt-gnu.
13001         * modules/git-merge-changelog (Depends-on): Likewise.
13002         * modules/long-options (Depends-on): Likewise.
13003         * modules/xstrtol (Depends-on): Likewise.
13004
13005 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13006
13007         * tests/test-version-etc.sh: Don't fail on different
13008         project/version.  Don't fail on CRLF differences.  Rewrite to use
13009         multiple -e instead of multiple sed forks, suggested by Eric Blake
13010         <ebb9@byu.net>.
13011         * tests/test-argp-version-etc-1.sh: Likewise.
13012
13013 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13014
13015         * tests/test-version-etc.sh: Don't fail on different
13016         project/version.
13017
13018 2009-08-12  Bruno Haible  <bruno@clisp.org>
13019
13020         Tests for modules 'getopt-posix', 'getopt-gnu'.
13021         * modules/getopt-posix-tests: New file.
13022         * tests/test-getopt.c: New file.
13023         * tests/test-getopt.h: New file.
13024         * tests/test-getopt_long.h: New file.
13025
13026         New modules 'getopt-posix', 'getopt-gnu'.
13027         * modules/getopt-gnu: New file, renamed from modules/getopt.
13028         * modules/getopt-posix: New file.
13029         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
13030         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
13031         (gl_GETOPT): Remove macro.
13032         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
13033         Disable the test against BSD systems that declare optreset. Test
13034         against mingw bug. Test against lack of support of optional arguments
13035         on many platforms.
13036         * doc/glibc-headers/getopt.texi: Update module name and list of
13037         relevant platforms.
13038         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
13039         'getopt-gnu' and more portability problems.
13040         * NEWS: Mention the changes.
13041
13042 2009-08-12  Bruno Haible  <bruno@clisp.org>
13043
13044         Ensure that optarg etc. get declared by <unistd.h>.
13045         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
13046         AC_USE_SYSTEM_EXTENSIONS.
13047         * modules/getopt (Depends-on): Add 'extensions'.
13048
13049 2009-08-12  Bruno Haible  <bruno@clisp.org>
13050
13051         Avoid test link errors.
13052         * modules/pipe-filter-ii-tests (Makefile.am): Define
13053         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
13054         * modules/pipe-filter-gi-tests (Makefile.am): Define
13055         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
13056         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13057
13058 2009-08-12  Bruno Haible  <bruno@clisp.org>
13059
13060         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
13061         gl_GETOPT_SUBSTITUTE before.
13062         (gl_GETOPT): Use it.
13063         * m4/argp.m4 (gl_ARGP): Update.
13064         Reported by Sergey Poznyakoff.
13065
13066         * m4/getopt.m4: Reorder macros.
13067         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
13068         (gl_GETOPT_SUBSTITUTE): Remove macro.
13069
13070 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13071
13072         Minor improvement in gitlog-to-changelog
13073
13074         * build-aux/gitlog-to-changelog: New option `--format' makes
13075         output format string configurable.
13076
13077 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13078
13079         Optimize exclude: use hash tables for non-wildcard patterns.
13080
13081         * lib/exclude.c: Include hash.h and mbuiter.h
13082         (struct exclude_pattern, exclude_segment): New data types.
13083         (struct exclude): Rewrite.
13084         (fnmatch_pattern_has_wildcards): New function.
13085         (new_exclude_segment, free_exclude_segment): New functions.
13086         (excluded_file_pattern_p, excluded_file_name_p): New functions.
13087         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
13088         * lib/exclude.h (is_fnmatch_pattern): New prototype.
13089         * modules/exclude: Depend on hash and mbuiter.
13090
13091         * modules/exclude-tests: New file.
13092         * tests/test-exclude.c: New file.
13093         * tests/test-exclude1.sh: New file.
13094         * tests/test-exclude2.sh: New file.
13095         * tests/test-exclude3.sh: New file.
13096         * tests/test-exclude4.sh: New file.
13097         * tests/test-exclude5.sh: New file.
13098         * tests/test-exclude6.sh: New file.
13099         * tests/test-exclude7.sh: New file.
13100
13101 2009-08-12  Bruno Haible  <bruno@clisp.org>
13102
13103         Ensure that getopt() gets declared by <unistd.h>.
13104         * lib/unistd.in.h: Conditionally include getopt.h.
13105         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
13106         Set GNULIB_UNISTD_H_GETOPT.
13107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13108         GNULIB_UNISTD_H_GETOPT.
13109         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
13110
13111 2009-08-12  Bruno Haible  <bruno@clisp.org>
13112
13113         Clarify logic.
13114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
13115         gl_replace_getopt instead of GETOPT_H.
13116
13117 2009-08-12  Bruno Haible  <bruno@clisp.org>
13118
13119         * m4/getopt.m4: Add comments.
13120
13121 2009-08-12  Bruno Haible  <bruno@clisp.org>
13122
13123         Disable multithread support by default on Cygwin 1.5.x.
13124         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
13125         set gl_use_threads=no if not specified otherwise.
13126
13127 2009-08-11  Bruno Haible  <bruno@clisp.org>
13128
13129         Avoid compilation error on NetBSD 5.0.
13130         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
13131         * tests/test-stdio.c: Likewise.
13132         * tests/test-stdlib.c: Likewise.
13133         * tests/test-string.c: Likewise.
13134         * tests/test-unistd.c: Likewise.
13135         Reported by Greg Troxel <gdt@ir.bbn.com>
13136         at <https://savannah.gnu.org/support/?106973>.
13137
13138 2009-08-11  Bruno Haible  <bruno@clisp.org>
13139
13140         * modules/dup2-tests (Depends-on): Remove close.
13141
13142         Undo 2009-07-19 commit.
13143         * modules/acl-tests (Depends-on): Remove close.
13144         * modules/binary-io-tests (Depends-on): Likewise.
13145         * modules/closein-tests (Depends-on): Likewise.
13146         * modules/flock-tests (Depends-on): Likewise.
13147         * modules/fsync-tests (Depends-on): Likewise.
13148         * modules/lseek-tests (Depends-on): Likewise.
13149         * modules/pipe-tests (Depends-on): Likewise.
13150         * modules/posix_spawn-tests (Depends-on): Likewise.
13151         * modules/posix_spawnp-tests (Depends-on): Likewise.
13152         * modules/stat-time-tests (Depends-on): Likewise.
13153         * modules/yesno-tests (Depends-on): Likewise.
13154
13155 2009-08-10  Bruno Haible  <bruno@clisp.org>
13156
13157         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
13158
13159 2009-08-10  Bruno Haible  <bruno@clisp.org>
13160
13161         Fix a gcc warning.
13162         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
13163
13164 2009-08-10  Bruno Haible  <bruno@clisp.org>
13165
13166         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
13167         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
13168         not only the first time.
13169         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
13170         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
13171         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
13172         is 1, not only the the first time.
13173
13174 2009-08-10  Bruno Haible  <bruno@clisp.org>
13175
13176         Make it possible to use module 'gethostname' without module 'close'.
13177         * lib/unistd.in.h (close): Evoke a link error only if
13178         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13180         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13181         * modules/unistd (Makefile.am): Substitute
13182         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13183         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
13184         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13185         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13186         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13187         * modules/sys_ioctl (Makefile.am): Substitute
13188         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13189         * modules/socket (configure.ac): On native Windows, set
13190         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
13191         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13192         Reported by Sam Steingold <sds@gnu.org>.
13193
13194 2009-08-10  Bruno Haible  <bruno@clisp.org>
13195
13196         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
13197         * modules/ioctl (configure.ac): Likewise.
13198
13199 2009-08-10  Bruno Haible  <bruno@clisp.org>
13200
13201         Avoid collision between gnulib wrapper and libintl wrapper.
13202         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
13203         already defined in intl/printf.c.
13204         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
13205         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
13206
13207 2009-08-09  Bruno Haible  <bruno@clisp.org>
13208
13209         Make <sys/select.h> really self-contained, also on Solaris 10.
13210         * lib/sys_select.in.h: Include <string.h>.
13211         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13212         Solaris 10 problem.
13213         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13214         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13215         Reported by Jim Meyering.
13216
13217 2009-08-09  Bruno Haible  <bruno@clisp.org>
13218
13219         Avoid warnings from 'aclocal' that are due to a use of macro name
13220         AM_XGETTEXT_OPTION that is not defined in automake.
13221         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13222         automake.
13223         * modules/error (configure.ac): Likewise.
13224         * modules/propername (configure.ac): Likewise.
13225         * modules/vasprintf (configure.ac): Likewise.
13226         * modules/verror (configure.ac): Likewise.
13227         * modules/xprintf (configure.ac): Likewise.
13228         * modules/xvasprintf (configure.ac): Likewise.
13229
13230 2009-08-08  Bruno Haible  <bruno@clisp.org>
13231
13232         Avoid compilation error in C++ mode.
13233         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13234         Reported by Sam Steingold <sds@gnu.org>.
13235
13236 2009-08-08  Bruno Haible  <bruno@clisp.org>
13237
13238         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13239         for the various Unix platforms.
13240         * doc/posix-headers/limits.texi: Update platforms list regarding
13241         HOST_NAME_MAX.
13242         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13243
13244 2009-08-07  Jim Meyering  <meyering@redhat.com>
13245
13246         selinux-at: fix typo in a comment
13247         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13248         Spotted by Paolo Bonzini.
13249
13250         selinux-at: remove redundant m4 code, add documentation
13251         * modules/selinux-at (configure.ac): Remove redundant code.
13252         LIB_SELINUX is already set via the dependent module, selinux-h.
13253         (Include): Add quotes around selinux-at.h.
13254         * lib/selinux-at.h: Add documentation.
13255         Reported by Bruno Haible in
13256         http://marc.info/?l=gnulib-bug&m=124958988300749
13257
13258 2009-08-07  Bruno Haible  <bruno@clisp.org>
13259
13260         Avoid link error on MacOS X 10.3 and 10.4.
13261         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13262         on non-ELF systems.
13263         * lib/argp-pv.c (argp_program_version): Likewise.
13264         Reported by Simon Josefsson.
13265
13266 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13267
13268         * tests/test-version-etc.sh: Use $EXEEXT.
13269
13270 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13271
13272         update-copyright: update documentation to point to maint.mk
13273         * build-aux/update-copyright: Here.
13274
13275 2009-08-06  Jim Meyering  <meyering@redhat.com>
13276
13277         maint.mk: support update-copyright-local
13278         * top/maint.mk (update-copyright-local): Define place-holder.
13279         (update-copyright): Depend on $(update-copyright-local).
13280
13281 2009-08-06  Jim Meyering  <meyering@redhat.com>
13282
13283         selinux-at: new module
13284         Initially written for coreutils, this module will soon be
13285         used by findutils, too.
13286         * MODULES.html.sh [Misc]: Add selinux-at.
13287         * lib/selinux-at.h: New file, from coreutils.
13288         * lib/selinux-at.c: Likewise.
13289         * modules/selinux-at: Likewise.
13290         (License): Change from LGPL to GPL, since it depends
13291         on the GPL'd openat module.
13292
13293         doc: update README
13294         * README: Remove references to cogito.
13295         Remove cvs-repo-updating instructions from 2007.
13296         Don't imply that CVS is better if you have limited disk space.
13297
13298 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13299
13300         update-copyright: support C-style comments
13301         * build-aux/update-copyright: Implement and document.
13302         * tests/test-update-copyright.sh: Test.
13303
13304 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13305
13306         update-copyright: support omitted "(C)"
13307         * build-aux/update-copyright: Implement and document.  Also,
13308         allow variable whitespace before "(C)".
13309         * tests/test-update-copyright.sh: Test.
13310
13311 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13312
13313         update-copyright: don't trip on non-FSF copyright statements
13314         * build-aux/update-copyright: Fix so that the first correctly
13315         formatted FSF copyright statement is recognized no matter what
13316         appears before it.  Update documentation.
13317         * tests/test-update-copyright.sh: Test that.
13318
13319 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13320
13321         update-copyright: clean up code a little
13322         * build-aux/update-copyright: Append "_re" to the name of any
13323         variable holding a regular expression.
13324         Replace "old" and "new" with "stmt" in variable names.
13325         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13326         handled correctly.
13327         Format code more consistently.
13328
13329 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13330
13331         update-copyright-tests: improve portability
13332         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13333         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13334
13335 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13336
13337         update-copyright: support @copyright{} and &copy;
13338         * build-aux/update-copyright: Implement and document.
13339         * tests/test-update-copyright.sh: Test.
13340
13341 2009-08-04  Jim Meyering  <meyering@redhat.com>
13342
13343         update-copyright-tests: correctly test EOL=\r\n handling
13344         * tests/test-update-copyright.sh: Put \r at the end of some lines
13345         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13346
13347         maint.mk: make update-copyright exclusion list more configurable
13348         * top/maint.mk (update-copyright): Default to excluding COPYING,
13349         but allow an override, in case someone does want to update that file.
13350
13351         maint.mk: don't update copyright date in COPYING
13352         * top/maint.mk (update-copyright): Exclude COPYING.
13353
13354         maint.mk: add a copyright-updating rule
13355         * top/maint.mk (update-copyright): New rule.
13356         Derived from coreutils/Makefile.am.
13357
13358         update-copyright: rename some variables
13359         * build-aux/update-copyright: Rename a few variables for clarity.
13360         Tweak syntax.  List Joel E. Denny as coauthor.
13361
13362 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13363
13364         update-copyright: fix bug for 2-digit last year and add tests
13365         * build-aux/update-copyright: Fix bug.
13366         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13367         specified.
13368         * modules/update-copyright-tests: New
13369         * tests/test-update-copyright.sh: New.
13370
13371 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13372
13373         update-copyright: handle leading tabs in line prefix
13374         * build-aux/update-copyright: Count leading tabs as 8 spaces
13375         when computing margin.  This helps with the formatting of
13376         ChangeLogs, for example.
13377         Fix documentation a little.
13378
13379 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13380
13381         update-copyright: support EOL=\r\n
13382         * build-aux/update-copyright: Implement that.
13383
13384 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13385
13386         update-copyright: automatically format copyright statements
13387         * build-aux/update-copyright: Implement that.
13388         Also, be a little more predictable and safer by always failing
13389         when the full copyright format is not perfectly recognized as an
13390         unbroken whole.  Discussed at
13391         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13392         Rewrite documentation.
13393
13394 2009-08-03  Bruno Haible  <bruno@clisp.org>
13395
13396         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13397
13398 2009-08-02  Bruno Haible  <bruno@clisp.org>
13399
13400         Tests for module 'uname'.
13401         * modules/uname-tests: New file.
13402         * tests/test-uname.c: New file.
13403
13404         New module 'uname'.
13405         * lib/uname.c: New file.
13406         * m4/uname.m4: New file.
13407         * modules/uname: New file.
13408         * doc/posix-functions/uname.texi: Mention the new module.
13409
13410 2009-08-02  Bruno Haible  <bruno@clisp.org>
13411
13412         Tests for module 'sys_utsname'.
13413         * modules/sys_utsname-tests: New file.
13414         * tests/test-sys_utsname.c: New file.
13415
13416         New module 'sys_utsname'.
13417         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
13418         * m4/sys_utsname_h.m4: New file.
13419         * modules/sys_utsname: New file.
13420         * doc/posix-headers/sys_utsname.texi: Mention the new module.
13421
13422 2009-08-02  Bruno Haible  <bruno@clisp.org>
13423
13424         Implicitly initialize the sockets library.
13425         * lib/gethostname.c: Include sockets.h.
13426         (rpl_gethostname): Invoke gl_sockets_startup.
13427         * lib/socket.c: Include sockets.h.
13428         (rpl_socket): Invoke gl_sockets_startup.
13429         * modules/gethostname (Depends-on): Add sockets.
13430         * modules/socket (Depends-on): Likewise.
13431         * tests/test-poll.c: Don't include sockets.h.
13432         (main): Don't invoke gl_sockets_startup.
13433         * tests/test-select.c: Don't include sockets.h.
13434         (main): Don't invoke gl_sockets_startup.
13435
13436 2009-08-02  Bruno Haible  <bruno@clisp.org>
13437
13438         Allow multiple calls to gl_sockets_startup.
13439         * lib/sockets.c (initialized_sockets_version): New variable.
13440         (gl_sockets_startup): Do nothing if already called for this or a higher
13441         version.
13442         (gl_sockets_cleanup): Reset initialized_sockets_version.
13443
13444 2009-08-03  Simon Josefsson  <simon@josefsson.org>
13445
13446         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
13447         different project/version.
13448
13449 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13450             Bruno Haible  <bruno@clisp.org>
13451
13452         Tests for module 'pipe-filter-gi'.
13453         * modules/pipe-filter-gi-tests: New file.
13454         * tests/test-pipe-filter-gi1.sh: New file.
13455         * tests/test-pipe-filter-gi1.c: New file.
13456         * tests/test-pipe-filter-gi2.sh: New file.
13457         * tests/test-pipe-filter-gi2-main.c: New file.
13458         * tests/test-pipe-filter-gi2-child.c: New file.
13459
13460         New module 'pipe-filter-gi'.
13461         * lib/pipe-filter-gi.c: New file.
13462         * modules/pipe-filter-gi: New file.
13463
13464 2009-08-02  Bruno Haible  <bruno@clisp.org>
13465             Paolo Bonzini  <bonzini@gnu.org>
13466
13467         Tests for module 'pipe-filter-ii'.
13468         * modules/pipe-filter-ii-tests: New file.
13469         * tests/test-pipe-filter-ii1.sh: New file.
13470         * tests/test-pipe-filter-ii1.c: New file.
13471         * tests/test-pipe-filter-ii2.sh: New file.
13472         * tests/test-pipe-filter-ii2-main.c: New file.
13473         * tests/test-pipe-filter-ii2-child.c: New file.
13474
13475         New module 'pipe-filter-ii'.
13476         * lib/pipe-filter.h: New file.
13477         * lib/pipe-filter-ii.c: New file.
13478         * lib/pipe-filter-aux.h: New file.
13479         * modules/pipe-filter-ii: New file.
13480
13481 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13482
13483         * lib/gc-libgcrypt.c: Change copyright to FSF.
13484         * lib/gc-gnulib.c: Likewise.
13485
13486 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13487
13488         * lib/gethostname.c: Include limits.h.
13489
13490 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13491             Bruno Haible  <bruno@clisp.org>
13492
13493         Ensure HOST_NAME_MAX as part of the gethostname module.
13494         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13495         define also HOST_NAME_MAX.
13496         * tests/test-gethostname.c: Include <limits.h>.
13497         (main): Check also HOST_NAME_MAX.
13498         * doc/posix-headers/limits.texi: Document the mingw problem.
13499
13500 2009-08-02  Bruno Haible  <bruno@clisp.org>
13501
13502         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13503         Add comments.
13504
13505 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13506
13507         * lib/gethostname.c: Add Windows wrapper.
13508         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13509         * modules/gethostname: Depend on sys_socket & errno, for also
13510         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13511         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13512
13513 2009-07-31  Jim Meyering  <meyering@redhat.com>
13514
13515         getloadavg: fix symbol name in comment
13516         * lib/getloadavg.c: Correct a typo I introduced when adding
13517         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13518         Matt Kraai spotted the problem.
13519
13520 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13521
13522         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13523         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13524         code also if ! defined N_NAME_POINTER.
13525         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13526         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13527         but the n_name member is a 12-byte array.
13528
13529 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13530
13531         update-copyright: generalize comment handling
13532         * build-aux/update-copyright: Handle copyright statements
13533         within more comment styles.
13534         Document usage.
13535         Report any file with an external copyright holder or parse failure.
13536
13537 2009-07-29  Jim Meyering  <meyering@redhat.com>
13538
13539         mktime: correct setting of REPLACE_MKTIME
13540         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13541
13542         update-copyright: new module
13543         * modules/update-copyright: New file.
13544         * build-aux/update-copyright: New file.
13545         * MODULES.html.sh (maint+release support): Add update-copyright.
13546
13547 2009-07-27  Bruno Haible  <bruno@clisp.org>
13548
13549         Fix compilation error when <ctime> is used and mktime is replaced.
13550         * lib/time.in.h (mktime): New declaration.
13551         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13552         REPLACE_MKTIME instead of defining mktime in config.h.
13553         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13554         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13555         Reported by Ross McFarland <rwmcfa1@neces.com>.
13556
13557 2009-07-27  Bruno Haible  <bruno@clisp.org>
13558
13559         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13560         Reported by Matt Kraai <mkraai@beckman.com>.
13561
13562 2009-07-25  Jim Meyering  <meyering@redhat.com>
13563
13564         maint.mk: avoid warnings about missing files
13565         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13566         diagnostic when .prev-version does not exist.
13567         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13568         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13569         nonexistent cfg.mk.
13570         Suggestions from Simon Josefsson.
13571
13572 2009-07-25  Bruno Haible  <bruno@clisp.org>
13573
13574         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13575         defined as macros. Needed on QNX 6.4.1.
13576         Reported by Matt Kraai <mkraai@beckman.com>.
13577
13578 2009-07-23  Jim Meyering  <meyering@redhat.com>
13579
13580         maint.mk: invoke "make dist" with a working value of XZ_OPT
13581         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13582
13583 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13584
13585         Make fseeko.c compile on QNX.
13586         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13587
13588 2009-07-22  Peter Simons  <simons@cryp.to>
13589
13590         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13591         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13592         * lib/md4.h: Likewise.
13593         * lib/md5.h: Likewise.
13594         * lib/sha1.h: Likewise.
13595         * lib/sha256.h: Likewise.
13596         * lib/sha512.h: Likewise.
13597
13598         tests-sha1: don't assign literal string to 'char *' variable
13599         * tests/test-sha1.c (main): Declare locals with "const" to match
13600         attributes of the right hand side.
13601
13602 2009-07-21  Eric Blake  <ebb9@byu.net>
13603
13604         dup2: fix more mingw problems
13605         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13606         fd to itself.
13607         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13608         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13609         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13610         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13611         care of mingw bugs.
13612
13613 2009-07-21  Jim Meyering  <meyering@redhat.com>
13614
13615         vc-list-files: avoid failure when /bin/sh is dash
13616         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13617         On some Debian based systems, /bin/sh is a symlink to dash, and running
13618         this command would omit the "/" following each 'tests' prefix:
13619           dash -x build-aux/vc-list-files -C . tests
13620         That is because bash and dash work differently:
13621           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13622           bash ok
13623           dash odd
13624
13625 2009-07-21  Eric Blake  <ebb9@byu.net>
13626
13627         dup2-tests: test previous patch
13628         * modules/dup2-tests: New file.
13629         * tests/test-dup2.c: Likewise.
13630         * tests/test-open.c (main): Avoid unspecified behavior.
13631         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13632         test.
13633
13634         dup2: work around mingw and cygwin 1.5 bug
13635         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13637         * modules/unistd (Makefile.am): Substitute it.
13638         * lib/unistd.in.h (dup2): Declare the replacement.
13639         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13640         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13641         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13642         * modules/execute (Depends-on): Add dup2.
13643         * modules/fseterr (Depends-on): Likewise.
13644         * modules/pipe (Depends-on): Likewise.
13645         * modules/posix_spawn-internal (Depends-on): Likewise.
13646
13647 2009-07-21  Bruno Haible  <bruno@clisp.org>
13648
13649         * modules/.gitattributes: New file.
13650
13651 2009-07-20  Bruno Haible  <bruno@clisp.org>
13652
13653         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13654         (main): Use it.
13655
13656 2009-07-20  Eric Blake  <ebb9@byu.net>
13657
13658         test-pipe: make a bit more robust.
13659         * tests/test-pipe.c (myerr): Allow error messages regardless of
13660         what we do to stderr.
13661         (test_pipe): Rearrange to avoid deadlock.
13662         (child_main): Try a larger read, to ensure we avoided deadlock.
13663         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13664         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13665         if misused.
13666
13667 2009-07-19  Jim Meyering  <meyering@redhat.com>
13668
13669         fts: avoid false-positive cycle-detection
13670         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13671         for each new command line argument.
13672
13673 2009-07-19  Bruno Haible  <bruno@clisp.org>
13674
13675         Fix build error on mingw with the modules sys_select and unistd.
13676         * modules/acl-tests (Depends-on): Add close.
13677         * modules/binary-io-tests (Depends-on): Likewise.
13678         * modules/closein-tests (Depends-on): Likewise.
13679         * modules/flock-tests (Depends-on): Likewise.
13680         * modules/fsync-tests (Depends-on): Likewise.
13681         * modules/lseek-tests (Depends-on): Likewise.
13682         * modules/pipe-tests (Depends-on): Likewise.
13683         * modules/posix_spawn-tests (Depends-on): Likewise.
13684         * modules/posix_spawnp-tests (Depends-on): Likewise.
13685         * modules/stat-time-tests (Depends-on): Likewise.
13686         * modules/yesno-tests (Depends-on): Likewise.
13687
13688 2009-07-19  Bruno Haible  <bruno@clisp.org>
13689
13690         Unify conditionals.
13691         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13692         macros, not at the compiler macros.
13693         * lib/pipe.c: Likewise.
13694         * lib/execute.c: Likewise.
13695         * lib/spawni.c: Likewise.
13696
13697 2009-07-19  Bruno Haible  <bruno@clisp.org>
13698
13699         Fix handling of closed stdin/stdout/stderr on mingw.
13700         * lib/w32spawn.h: Include unistd.h.
13701         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13702         file descriptor with O_NOINHERIT flag.
13703         (fd_safer_noinherit): New function, based on fd-safer.c.
13704         (dup_safer_noinherit): New function, based on dup-safer.c.
13705         (undup_safer_noinherit): New function.
13706         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13707         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13708         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13709         instead of fd_safer.
13710         * tests/test-pipe.c: Include <windows.h>.
13711         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13712
13713         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13714         from main.
13715         (test_pipe): Pass an extra argument for disambiguation.
13716         (main): Invoke parent_main or child_main.
13717
13718         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13719         consistently.
13720
13721 2009-07-18  Eric Blake  <ebb9@byu.net>
13722
13723         test-pipe: fix mingw build
13724         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13725
13726 2009-07-18  Bruno Haible  <bruno@clisp.org>
13727
13728         * modules/pipe-tests (Makefile.am): Fix typo.
13729
13730 2009-07-18  Eric Blake  <ebb9@byu.net>
13731
13732         error: fix mingw build
13733         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13734         Reported by Bruno Haible.
13735
13736         error: avoid undefined use of stdout
13737         * lib/error.c (error, error_at_line): Check that fd 1 is open
13738         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13739         is handling faults and the close_stdout module wants to report the
13740         detection of closed stdout as an error.
13741
13742 2009-07-17  Eric Blake  <ebb9@byu.net>
13743
13744         pipe: be robust in face of closed fds
13745         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13746         should cause child to misbehave.
13747         * modules/pipe-tests: New module.
13748         * tests/test-pipe.c: New file.
13749         * tests/test-pipe.sh: New file.
13750         Reported by Akim Demaille.
13751
13752 2009-07-14  Bruno Haible  <bruno@clisp.org>
13753
13754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13755         Reported by anonymous kc.
13756
13757 2009-07-07  Jim Meyering  <meyering@redhat.com>
13758
13759         maint.mk: don't look for translatable strings in *.m4 or *.mk
13760         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13761         when searching for translatable strings.
13762
13763 2009-07-05  Jim Meyering  <meyering@redhat.com>
13764
13765         remove superfluous parentheses in STREQ definition
13766         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13767         * lib/getugroups.c (STREQ): Likewise.
13768         * lib/fnmatch.c (STREQ): Likewise.
13769         Spotted by Bruno Haible.
13770
13771 2009-07-04  Jim Meyering  <meyering@redhat.com>
13772
13773         argv-iter: new module
13774         * MODULES.html.sh: Add argv-iter.
13775         * lib/argv-iter.c, lib/argv-iter.h: New files.
13776         * modules/argv-iter: New file.
13777         * modules/argv-iter-tests: New file.
13778         * tests/test-argv-iter.c: Test it.
13779
13780 2009-07-04  Bruno Haible  <bruno@clisp.org>
13781
13782         Fix assertion.
13783         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13784         contains more exact copies of a given entry than file2, leave the extra
13785         copies unpaired rather than aborting.
13786         Reported by Eric Blake.
13787
13788 2009-07-02  Bruno Haible  <bruno@clisp.org>
13789
13790         Speedup git-merge-changelog for git cherry-pick.
13791         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13792         (entries_mapping_get): New function, extracted from compute_mapping.
13793         (entries_mapping_reverse_get): New function.
13794         (compute_mapping): Add a 'full' argument. Return the result in a
13795         'struct entries_mapping'.
13796         (main): Update. Access the mappings through entries_mapping_get.
13797         Reported by Eric Blake.
13798
13799 2009-07-02  Bruno Haible  <bruno@clisp.org>
13800
13801         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13802         best_i.
13803
13804 2009-07-02  Bruno Haible  <bruno@clisp.org>
13805
13806         Speed up approximate search for matching ChangeLog entries.
13807         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13808         argument. Call fstrcmp_bounded instead of fstrcmp.
13809         (compute_mapping, try_split_merged_entry, main): Update callers.
13810
13811 2009-07-02  Bruno Haible  <bruno@clisp.org>
13812
13813         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13814
13815 2009-06-30  Bruno Haible  <bruno@clisp.org>
13816
13817         Reduce the number of uc_is_cased calls.
13818         * lib/unicase.h (casing_suffix_context_t): Add
13819         'first_char_except_ignorable' field.
13820         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13821         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13822         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13823         Update initializer.
13824         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13825         case-ignorable characters.
13826         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13827         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13828         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13829         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13830         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13831
13832 2009-06-30  Bruno Haible  <bruno@clisp.org>
13833
13834         Tests for module 'unicase/ignorable'.
13835         * modules/unicase/ignorable-tests: New file.
13836         * tests/unicase/test-ignorable.c: New file, generated by
13837         gen-uni-tables.
13838
13839         Tests for module 'unicase/cased'.
13840         * modules/unicase/cased-tests: New file.
13841         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13842         * tests/unicase/test-predicate-part1.h: New file, derived from
13843         tests/unictype/test-predicate-part1.h.
13844         * tests/unicase/test-predicate-part2.h: New file, same as
13845         tests/unictype/test-predicate-part2.h.
13846
13847         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13848         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13849         (output_casing_properties): New function.
13850         (main): Call it.
13851         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13852         * lib/unicase/cased.c: Include unictype/bitmap.h.
13853         (uc_is_cased): Define through a bitmap lookup.
13854         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13855         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13856         (uc_is_case_ignorable): Define through a bitmap lookup.
13857         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13858         lib/unictype/bitmap.h.
13859         (Depends-on): Add inline. Clean up.
13860         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13861         lib/unictype/bitmap.h.
13862         (Depends-on): Add inline. Clean up.
13863         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13864         recognition.
13865         * tests/unicase/test-u16-tolower.c (main): Likewise.
13866         * tests/unicase/test-u32-tolower.c (main): Likewise.
13867
13868 2009-06-30  Bruno Haible  <bruno@clisp.org>
13869
13870         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13871         * lib/unicase/u16-casemap.c: Likewise.
13872         * lib/unicase/u32-casemap.c: Likewise.
13873
13874 2009-06-29  Bruno Haible  <bruno@clisp.org>
13875
13876         Define u32_casefold as a wrapper around u32_ct_casefold.
13877         * lib/unicase/u32-casefold.c: Update.
13878         * modules/unicase/u32-casefold (Depends-on): Add
13879         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13880         unicase/empty-suffix-context. Clean up.
13881
13882         Define u16_casefold as a wrapper around u16_ct_casefold.
13883         * lib/unicase/u16-casefold.c: Update.
13884         * modules/unicase/u16-casefold (Depends-on): Add
13885         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13886         unicase/empty-suffix-context. Clean up.
13887
13888         Define u8_casefold as a wrapper around u8_ct_casefold.
13889         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13890         * lib/unicase/u8-casefold.c: Update.
13891         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13892         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13893
13894         Define u32_totitle as a wrapper around u32_ct_totitle.
13895         * lib/unicase/u32-totitle.c: Update.
13896         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13897         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13898
13899         Define u16_totitle as a wrapper around u16_ct_totitle.
13900         * lib/unicase/u16-totitle.c: Update.
13901         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
13902         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13903
13904         Define u8_totitle as a wrapper around u8_ct_totitle.
13905         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
13906         functions.
13907         (FUNC): Delegate to U_CT_TOTITLE.
13908         * lib/unicase/u8-totitle.c: Update.
13909         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
13910         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13911
13912         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
13913         invocation.
13914         * modules/unicase/u32-tolower (Depends-on): Add
13915         unicase/empty-prefix-context, unicase/empty-suffix-context.
13916
13917         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
13918         invocation.
13919         * modules/unicase/u16-tolower (Depends-on): Add
13920         unicase/empty-prefix-context, unicase/empty-suffix-context.
13921
13922         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
13923         * modules/unicase/u8-tolower (Depends-on): Add
13924         unicase/empty-prefix-context, unicase/empty-suffix-context.
13925
13926         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
13927         invocation.
13928         * modules/unicase/u32-toupper (Depends-on): Add
13929         unicase/empty-prefix-context, unicase/empty-suffix-context.
13930
13931         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
13932         invocation.
13933         * modules/unicase/u16-toupper (Depends-on): Add
13934         unicase/empty-prefix-context, unicase/empty-suffix-context.
13935
13936         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
13937         * modules/unicase/u8-toupper (Depends-on): Add
13938         unicase/empty-prefix-context, unicase/empty-suffix-context.
13939
13940         New module 'unicase/u32-ct-casefold'.
13941         * lib/unicase/u32-ct-casefold.c: New file.
13942         * modules/unicase/u32-ct-casefold: New file.
13943
13944         New module 'unicase/u16-ct-casefold'.
13945         * lib/unicase/u16-ct-casefold.c: New file.
13946         * modules/unicase/u16-ct-casefold: New file.
13947
13948         New module 'unicase/u8-ct-casefold'.
13949         * lib/unicase/u8-ct-casefold.c: New file.
13950         * lib/unicase/u-ct-casefold.h: New file, derived from
13951         lib/unicase/u-casefold.h.
13952         * modules/unicase/u8-ct-casefold: New file.
13953
13954         New module 'unicase/u32-ct-totitle'.
13955         * lib/unicase/u32-ct-totitle.c: New file.
13956         * modules/unicase/u32-ct-totitle: New file.
13957
13958         New module 'unicase/u16-ct-totitle'.
13959         * lib/unicase/u16-ct-totitle.c: New file.
13960         * modules/unicase/u16-ct-totitle: New file.
13961
13962         New module 'unicase/u8-ct-totitle'.
13963         * lib/unicase/u8-ct-totitle.c: New file.
13964         * lib/unicase/u-ct-totitle.h: New file, derived from
13965         lib/unicase/u-totitle.h.
13966         * modules/unicase/u8-ct-totitle: New file.
13967
13968         New module 'unicase/u32-ct-tolower'.
13969         * lib/unicase/u32-ct-tolower.c: New file.
13970         * modules/unicase/u32-ct-tolower: New file.
13971
13972         New module 'unicase/u16-ct-tolower'.
13973         * lib/unicase/u16-ct-tolower.c: New file.
13974         * modules/unicase/u16-ct-tolower: New file.
13975
13976         New module 'unicase/u8-ct-tolower'.
13977         * lib/unicase/u8-ct-tolower.c: New file.
13978         * modules/unicase/u8-ct-tolower: New file.
13979
13980         New module 'unicase/u32-ct-toupper'.
13981         * lib/unicase/u32-ct-toupper.c: New file.
13982         * modules/unicase/u32-ct-toupper: New file.
13983
13984         New module 'unicase/u16-ct-toupper'.
13985         * lib/unicase/u16-ct-toupper.c: New file.
13986         * modules/unicase/u16-ct-toupper: New file.
13987
13988         New module 'unicase/u8-ct-toupper'.
13989         * lib/unicase/u8-ct-toupper.c: New file.
13990         * modules/unicase/u8-ct-toupper: New file.
13991
13992         Add context arguments to u*_casemap functions.
13993         * lib/unicase/unicasemap.h: Include unicase.h.
13994         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
13995         suffix_context arguments.
13996         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
13997         functions.
13998         (FUNC): Add prefix_context and suffix_context arguments. Use
13999         uc_is_cased and uc_is_case_ignorable.
14000         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
14001         * lib/unicase/u16-casemap.c: Likewise.
14002         * lib/unicase/u32-casemap.c: Likewise.
14003         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
14004         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14005         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
14006         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14007         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
14008         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14009
14010         New module 'unicase/u32-suffix-context'.
14011         * lib/unicase/u32-suffix-context.c: New file.
14012         * modules/unicase/u32-suffix-context: New file.
14013
14014         New module 'unicase/u16-suffix-context'.
14015         * lib/unicase/u16-suffix-context.c: New file.
14016         * modules/unicase/u16-suffix-context: New file.
14017
14018         New module 'unicase/u8-suffix-context'.
14019         * lib/unicase/u8-suffix-context.c: New file.
14020         * lib/unicase/u-suffix-context.h: New file.
14021         * modules/unicase/u8-suffix-context: New file.
14022
14023         New module 'unicase/empty-suffix-context'.
14024         * lib/unicase/empty-suffix-context.c: New file.
14025         * modules/unicase/empty-suffix-context: New file.
14026
14027         New module 'unicase/u32-prefix-context'.
14028         * lib/unicase/u32-prefix-context.c: New file.
14029         * modules/unicase/u32-prefix-context: New file.
14030
14031         New module 'unicase/u16-prefix-context'.
14032         * lib/unicase/u16-prefix-context.c: New file.
14033         * modules/unicase/u16-prefix-context: New file.
14034
14035         New module 'unicase/u8-prefix-context'.
14036         * lib/unicase/u8-prefix-context.c: New file.
14037         * lib/unicase/u-prefix-context.h: New file.
14038         * lib/unicase/context.h: New file.
14039         * modules/unicase/u8-prefix-context: New file.
14040
14041         New module 'unicase/empty-prefix-context'.
14042         * lib/unicase/empty-prefix-context.c: New file.
14043         * modules/unicase/empty-prefix-context: New file.
14044
14045         New module 'unicase/ignorable'.
14046         * lib/unicase/ignorable.c: New file.
14047         * modules/unicase/ignorable: New file.
14048
14049         New module 'unicase/cased'.
14050         * lib/unicase/caseprop.h: New file.
14051         * lib/unicase/cased.c: New file.
14052         * modules/unicase/cased: New file.
14053
14054         New functions for case mapping of substrings.
14055         * lib/unicase.h (casing_prefix_context_t): New type.
14056         (unicase_empty_prefix_context): New variable.
14057         (u8_casing_prefix_context, u16_casing_prefix_context,
14058         u32_casing_prefix_context, u8_casing_prefixes_context,
14059         u16_casing_prefixes_context, u32_casing_prefixes_context): New
14060         declarations.
14061         (casing_suffix_context_t): New type.
14062         (unicase_empty_suffix_context): New variable.
14063         (u8_casing_suffix_context, u16_casing_suffix_context,
14064         u32_casing_suffix_context, u8_casing_suffixes_context,
14065         u16_casing_suffixes_context, u32_casing_suffixes_context,
14066         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
14067         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
14068         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
14069         declarations.
14070
14071 2009-06-28  Jim Meyering  <meyering@redhat.com>
14072
14073         boostrap: indent only with spaces
14074         * build-aux/bootstrap: Indent only with spaces, never TABs.
14075
14076         bootstrap: split long lines
14077         * build-aux/bootstrap: Keep line length < 80.
14078
14079         bootstrap: sync from coreutils
14080         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
14081         just as autoreconf does.  Verify a list of prerequisite
14082         package-name,version-number pairs if defined in bootstrap.conf.
14083         Refer to README-prereq, if prerequisites are not satisfied.
14084
14085 2009-06-27  Eric Blake  <ebb9@byu.net>
14086
14087         tests: add test for bogus NULL definition
14088         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
14089         * tests/test-stdlib.c: Likewise.
14090         * tests/test-string.c: Likewise.
14091         * tests/test-locale.c: Likewise.
14092         * tests/test-unistd.c: Likewise.
14093         * modules/stdio-tests (Depends-on): Add verify.
14094         * modules/stdlib-tests (Depends-on): Likewise.
14095         * modules/string-tests (Depends-on): Likewise.
14096         * modules/locale-tests (Depends-on): Likewise.
14097         * modules/unistd-tests (Depends-on): Likewise.
14098
14099 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
14100
14101         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
14102         self-explaining comment.
14103         * m4/selinux-selinux-h: Update serial.
14104         (gl_LIBSELINUX): New macro, adding a warning for missing development
14105         packages to code extracted from...
14106         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
14107         Add warning for missing development packages here, too.
14108
14109 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
14110
14111         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
14112
14113 2009-06-25  Eric Blake  <ebb9@byu.net>
14114
14115         version-etc: fix regression
14116         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
14117         gcc.
14118         (version_etc): Use it, to catch bugs with trailing NULL.
14119         * lib/version-etc.c (version_etc_arn): Delete unused argument.
14120         (version_etc_va): Fix logic bug.
14121         * modules/version-etc-tests: Add test.
14122         * tests/test-version-etc.c: New file.
14123         * tests/test-version-etc.sh: Likewise.
14124
14125 2009-06-25  Sam Steingold  <sds@gnu.org>
14126
14127         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
14128         mbtowc declaration.
14129
14130 2009-06-25  Eric Blake  <ebb9@byu.net>
14131
14132         fpurge: migrate into <stdio.h>
14133         * lib/fpurge.h: Delete...
14134         * lib/stdio.in.h (fpurge): ...and declare here, instead.
14135         * lib/fpurge.c (fpurge): Change declaring header.
14136         * modules/fpurge (Files): Drop deleted file.
14137         (Depends-on): Add stdio.
14138         (configure.ac): Set witness.
14139         * modules/stdio (Makefile.am): Support fpurge macros.
14140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14141         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
14142         * lib/fflush.c: Update client.
14143         * tests/test-fpurge.c: Likewise.
14144         * NEWS: Mention the change.
14145
14146 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14147
14148         * lib/argp-version-etc.c (program_authors): Add const
14149         qualifier.
14150         * lib/version-etc.c: Fix typos in the comments.
14151         * modules/argp-version-etc: Depends on version-etc.
14152
14153 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14154
14155         argp-version-etc: new module.
14156
14157         * lib/argp-version-etc.c: New file.
14158         * lib/argp-version-etc.h: New file.
14159         * modules/argp-version-etc: New file.
14160         * modules/argp-version-etc-tests: New file.
14161         * tests/test-argp-version-etc.c: New test.
14162         * tests/test-argp-version-etc-1.sh: New test.
14163
14164 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14165
14166         Provide additional interfaces and documentation for version-etc
14167         module.
14168
14169         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
14170         interfaces.
14171         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
14172         prototypes.
14173
14174 2009-06-24  Bruno Haible  <bruno@clisp.org>
14175
14176         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
14177         HAVE_LIB${NAME} macro.
14178         Reported by Sam Steingold <sds@gnu.org>.
14179
14180 2009-06-23  Simon Josefsson  <simon@josefsson.org>
14181
14182         * modules/hash-tests (test_hash_LDADD): Link to libintl when
14183         needed.
14184
14185 2009-06-21  Bruno Haible  <bruno@clisp.org>
14186
14187         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
14188         work.
14189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
14190         together with LIB${NAME}, LTLIB${NAME}.
14191         Reported by Sam Steingold <sds@gnu.org>.
14192
14193 2009-06-20  Jim Meyering  <meyering@redhat.com>
14194
14195         tests: make sc_require_test_exit_idiom more generic
14196         * top/maint.mk (Exit_witness_file): New overridable variable.
14197         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
14198         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
14199
14200 2009-06-19  Jim Meyering  <meyering@redhat.com>
14201
14202         hash: reverse order of src/dst parameters in an internal interface
14203         * lib/hash.c (transfer_entries): Reverse order of parameters to
14204         put DST before SRC.  Adjust callers.
14205
14206         tests: test-hash: avoid wholesale duplication
14207         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
14208         Instead, use a loop and add a single conditional.
14209
14210         tests: test-hash: allow seed selection via a command line argument
14211         * tests/test-hash.c (get_seed): New function.
14212         (main): Use it.
14213
14214 2009-06-19  Eric Blake  <ebb9@byu.net>
14215
14216         hash: avoid memory leak on allocation failure
14217         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14218         failure.  Factor repeated algorithm...
14219         (transfer_entries): ...into new helper routine.
14220         (hash_delete): React to hash_rehash return value.
14221
14222         hash: reduce memory pressure in hash_rehash no-op case
14223         * lib/hash.c (next_prime): Avoid overflow.
14224         (hash_initialize): Factor bucket size computation...
14225         (compute_bucket_size): ...into new helper function.
14226         (hash_rehash): Use new function and open coding to reduce memory
14227         pressure, and avoid a memory leak in USE_OBSTACK code.
14228         Reported by Jim Meyering.
14229
14230 2009-06-18  Eric Blake  <ebb9@byu.net>
14231
14232         hash: make rotation more obvious
14233         * modules/hash (Depends-on): Add bitrotate and stdint.
14234         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14235         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14236         (SIZE_MAX): Rely on headers for definition.
14237         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14238         (raw_hasher): Use rotr_sz.
14239         Suggested by Jim Meyering.
14240
14241         hash: fix memory leak in last patch
14242         * lib/hash.c (hash_rehash): Avoid memory leak.
14243
14244         hash: avoid no-op rehashing
14245         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14246
14247         hash: provide default callback functions
14248         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14249         (hash_initialize): Use them as defaults.
14250         * tests/test-hash.c (main): Test this.
14251
14252         hash: minor optimization
14253         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14254         when possible.
14255         (hash_initialize): Document this promise.
14256         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14257         * tests/test-hash.c (hash_compare_strings): Test this.
14258
14259 2009-06-18  Bruno Haible  <bruno@clisp.org>
14260
14261         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14262         going to be replaced anyway.
14263
14264 2009-06-18  Bruno Haible  <bruno@clisp.org>
14265
14266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14267         in one place.
14268         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14269         be replaced anyway.
14270
14271 2009-06-18  Eric Blake  <ebb9@byu.net>
14272
14273         hash: check for resize before insertion
14274         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14275         threshold before insertion, so that a pathological hash_rehash
14276         that fills every bucket can still trigger another rehash.
14277
14278 2009-06-18  Jim Meyering  <meyering@redhat.com>
14279
14280         hash-tests: add a loop around the small tests
14281         * tests/test-hash.c (main): Repeat small tests with selected
14282         small initial table sizes.
14283
14284 2009-06-17  Eric Blake  <ebb9@byu.net>
14285
14286         hash: minor cleanups
14287         * lib/hash.h (hash_entry): Make opaque, by moving...
14288         * lib/hash.c (hash_entry): ...here.
14289         (hash_insert): Clarify restrictions on what can be inserted.
14290         (hash_get_next): Clarify when it is safe to remove an element
14291         during traversal.
14292         (check_tuning): Skip verification when tuning is known safe.
14293         (hash_initialize): Clarify restrictions on tuning.
14294
14295 2009-06-17  Jim Meyering  <jim@meyering.net>
14296         and Eric Blake  <ebb9@byu.net>
14297
14298         hash-tests: new module
14299         * modules/hash-tests: New file.
14300         * tests/test-hash.c: New file.
14301
14302 2009-06-17  Eric Blake  <ebb9@byu.net>
14303
14304         strstr-simple: document new module
14305         * MODULES.html.sh: Document new module.
14306
14307         strstr, strcasestr: replace on platforms with broken memchr
14308         * modules/strstr: Split into...
14309         * modules/strstr-simple: ...new module that does not care about
14310         performance, but does care about glibc bug.
14311         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14312         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14313         if platform memchr is broken, per Debian bug 521737.
14314         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14315         memchr.
14316         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14317         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14318         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14319         * modules/mountlist (Depends-on): Add strstr-simple.
14320         * modules/gen-uni-tables (Depends-on): Likewise.
14321         * modules/argz (Depends-on): Add strstr.
14322
14323 2009-06-17  Bruno Haible  <bruno@clisp.org>
14324
14325         * modules/posix_spawn-internal (Depends-on): Add errno.
14326
14327 2009-06-17  Bruno Haible  <bruno@clisp.org>
14328
14329         Define missing ESTALE on Interix 3.5.
14330         * lib/errno.in.h (ESTALE): Assign a value if missing.
14331         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14332         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14333         missing.
14334         * doc/posix-headers/errno.texi: Mention the Interix bug.
14335         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14336
14337 2009-06-15  Eric Blake  <ebb9@byu.net>
14338
14339         memchr, memchr2: add valgrind exception
14340         * lib/memchr.valgrind: New file.
14341         * lib/memchr2.valgrind: New file.
14342         * modules/memchr (Files): Distribute valgrind file.
14343         * modules/memchr2 (Files): Likewise.
14344
14345         docs: memchr is no longer obsolete
14346         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14347         * lib/string.in.h (memchr): Simplify logic.
14348
14349 2009-06-14  Jim Meyering  <meyering@redhat.com>
14350
14351         link-follow: fix the "checking..." message to not mention trailing slash
14352         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14353         never considered trailing slashes.
14354
14355 2009-06-14  Bruno Haible  <bruno@clisp.org>
14356
14357         * m4/memchr.m4: Mention also the bug on IA-64.
14358         * doc/posix-functions/memchr.texi: Likewise.
14359
14360 2009-06-12  Eric Blake  <ebb9@byu.net>
14361
14362         memchr: detect broken x86_64 and alpha implementations
14363         * modules/memchr-tests (Depends-on): Move mmap detection...
14364         * modules/memchr (Depends-on): ...here.
14365         (configure.ac): Set indicator.
14366         * lib/string.in.h (memchr): Declare replacement.
14367         * modules/string (Makefile.am): Trigger replacement.
14368         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14369         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14370         bugs.
14371         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14372         * modules/getpagesize (License): Relax license.
14373
14374 2009-06-11  Bruno Haible  <bruno@clisp.org>
14375
14376         * lib/idpriv.h: Add more references.
14377
14378 2009-06-08  Bruno Haible  <bruno@clisp.org>
14379
14380         Tests for module 'idpriv-droptemp'.
14381         * modules/idpriv-droptemp-tests: New file.
14382         * tests/test-idpriv-droptemp.sh: New file.
14383         * tests/test-idpriv-droptemp.su.sh: New file.
14384         * tests/test-idpriv-droptemp.c: New file.
14385
14386         New module 'idpriv-droptemp'.
14387         * lib/idpriv-droptemp.c: New file.
14388         * modules/idpriv-droptemp: New file.
14389
14390 2009-06-08  Bruno Haible  <bruno@clisp.org>
14391
14392         Tests for module 'idpriv-drop'.
14393         * modules/idpriv-drop-tests: New file.
14394         * tests/test-idpriv-drop.sh: New file.
14395         * tests/test-idpriv-drop.su.sh: New file.
14396         * tests/test-idpriv-drop.c: New file.
14397
14398         New module 'idpriv-drop'.
14399         * lib/idpriv.h: New file.
14400         * lib-idpriv-drop.c: New file.
14401         * m4/idpriv.m4: New file.
14402         * modules/idpriv-drop: New file.
14403
14404 2009-06-08  Bruno Haible  <bruno@clisp.org>
14405
14406         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14407         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14408         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14409         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14410         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14411         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14412         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14413
14414 2009-06-08  Eric Blake  <ebb9@byu.net>
14415
14416         test-strstr: use memory fence, when possible
14417         * tests/test-strstr.c (main): Use memory fence, in order to be
14418         more likely to trigger Debian bug 521737.
14419         * modules/strstr-tests (Files): Pull in additional files.
14420
14421         memchr: no longer obsolete, for wider field testing
14422         * modules/memchr (Status, Notice): Delete, this module is no
14423         longer obsolete.
14424         * modules/vasnprintf (Depends-on): Add memchr.
14425
14426 2009-06-07  Jim Meyering  <meyering@redhat.com>
14427
14428         hash: declare some functions with the warn_unused_result attribute
14429         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
14430
14431 2009-06-07  Bruno Haible  <bruno@clisp.org>
14432
14433         * tests/test-alignof.c: Don't test int64_t if it does not exist.
14434         Reported by Eric Blake.
14435
14436 2009-06-06  Eric Blake  <ebb9@byu.net>
14437
14438         test-alignof: fix typo with long double
14439         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
14440         compiler error.
14441
14442 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
14443
14444         Escape non-texinfo { and }s.
14445         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
14446         markup error.
14447
14448 2009-06-04  Jim Meyering  <meyering@redhat.com>
14449
14450         gitlog-to-changelog: don't infloop on an empty commit log
14451         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14452         Reported by Boris Petersen <transacid@centerim.org>.
14453
14454 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14455
14456         version-etc: extend for packagers
14457         Add three new configure options, intended for packagers:
14458           --with-packager="packager name"
14459           --with-packager-version="packager-specific version"
14460           --with-packager-bug-reports="packager bug reporting"
14461         An example with coreutils:
14462           $ ./configure \
14463             --with-packager=Gentoo \
14464             --with-packager-bug-report=http://bugs.gentoo.org/ \
14465             --with-packager-version="patchset 1.6"
14466           $ ./src/ls --version | head -n2
14467           ls (GNU coreutils) 7.1-dirty
14468           Packaged by Gentoo (patchset 1.6)
14469         Note that the bug reporting info via --help doesn't show up because
14470         coreutils uses its own custom emit_bug_reporting_address() implementation
14471         in src/system.h.  If it didn't, it'd look like:
14472           $ ./src/ls --help | tail -n4
14473           Report bugs to <bug-coreutils@gnu.org>.
14474           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14475           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14476           General help using GNU software: <http://www.gnu.org/gethelp/>.
14477         * lib/version-etc.c: Print new information, if provided.
14478         * m4/version-etc.m4: New file.
14479         * modules/version-etc (Files): Add m4/version-etc.m4.
14480         (configure.ac): Add gl_VERSION_ETC.
14481
14482 2009-05-31  Bruno Haible  <bruno@clisp.org>
14483
14484         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14485         and 'int64_t'.
14486         * modules/alignof-tests (Dependencies): Add stdint.
14487         Reported by Eric Blake.
14488
14489 2009-05-31  Bruno Haible  <bruno@clisp.org>
14490
14491         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14492         restriction due to compiler bugs.
14493         Reported by Eric Blake.
14494
14495 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14496             Bruno Haible  <bruno@clisp.org>
14497
14498         Fix test-alignof failure.
14499         * lib/alignof.h (alignof_slot): New macro.
14500         (alignof_type): New macro, with the same semantics as the previous
14501         'alignof'.
14502         (alignof): Alias to alignof_slot.
14503         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14504         check that the results are usable as constant expressions.
14505
14506 2009-05-31  Bruno Haible  <bruno@clisp.org>
14507
14508         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14509         * tests/test-memchr.c (main): Check that memchr does not read past the
14510         first occurrence of the byte.
14511         * tests/test-strstr.c (main): Update comment.
14512         Suggested by Eric Blake.
14513
14514 2009-05-30  Bruno Haible  <bruno@clisp.org>
14515
14516         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14517         detail how to use dumpbin.
14518         Reported by David Byron <dbyron@dbyron.com>.
14519
14520 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14521
14522         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14523
14524 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14525
14526         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14527
14528 2009-05-28  Bruno Haible  <bruno@clisp.org>
14529
14530         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14531         build-aux/ files.
14532
14533 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14534
14535         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14536
14537 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14538
14539         * gnulib-tool (sed_transform_main_lib_file)
14540         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14541         regexps.
14542
14543 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14544
14545         * tests/test-strstr.c: Add another self-test.
14546         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14547         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14548
14549 2009-05-23  Bruno Haible  <bruno@clisp.org>
14550
14551         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14552         change.
14553
14554 2009-05-21  Bruno Haible  <bruno@clisp.org>
14555
14556         Simplify use of mode_t varargs.
14557         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14558         uses 'mode_t' or 'int'.
14559         * lib/openat.c (openat): Likewise.
14560         * lib/open-safer.c (open_safer): Likewise.
14561         * m4/mode_t.m4: New file.
14562         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14563         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14564         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14565         * modules/open (Files): Add m4/mode_t.m4.
14566         * modules/openat (Files): Likewise.
14567         * modules/fcntl-safer (Files): Likewise.
14568         Suggested by Eric Blake.
14569
14570 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14571
14572         * doc/glibc-functions/fallocate.texi: New file.
14573         * doc/gnulib.texi: Include it.
14574
14575 2009-05-21  Eric Blake  <ebb9@byu.net>
14576             Bruno Haible  <bruno@clisp.org>
14577
14578         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14579         invocations.
14580         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14581
14582 2009-05-21  Eric Blake  <ebb9@byu.net>
14583             Bruno Haible  <bruno@clisp.org>
14584
14585         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14586         include_next. Fix of 2008-11-20 commit.
14587         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14588         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14589         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14590         NEXT_MATH_H.
14591         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14592         instead of NEXT_MATH_H.
14593
14594 2009-05-21  Bruno Haible  <bruno@clisp.org>
14595
14596         Avoid redefinition warnings for SIZE_MAX.
14597         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14598         Reported by Simon Josefsson.
14599
14600 2009-05-21  Bruno Haible  <bruno@clisp.org>
14601
14602         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14603         AC_CACHE_VAL.
14604
14605 2009-05-20  Bruno Haible  <bruno@clisp.org>
14606
14607         Make zeroptr.h work on mingw.
14608         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14609         mprotect.
14610         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14611         * modules/memchr2-tests (configure.ac): Likewise.
14612         * modules/memcmp-tests (configure.ac): Likewise.
14613         * modules/memmem-tests (configure.ac): Likewise.
14614         * modules/memrchr-tests (configure.ac): Likewise.
14615         Reported by Simon Josefsson.
14616
14617 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14618
14619         * tests/test-glob.c: Include string.h for strcmp prototype.
14620
14621 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14622
14623         * modules/getdelim (Depends-on): Add explicit stdint, although it
14624         was implicitly already pulled in via realloc-posix.
14625         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14626
14627 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14628
14629         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14630         G. Christensen" <tgc@jupiterrise.com>.
14631         * m4/sys_socket_h.m4: Check for sa_family_t.
14632         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14633         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14634         * tests/test-sys_socket.c: Check that sa_family_t works.
14635
14636 2009-05-18  Eric Blake  <ebb9@byu.net>
14637
14638         maint.mk: allow gnulib_dir in VPATH build
14639         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14640
14641 2009-05-15  Jim Meyering  <meyering@redhat.com>
14642
14643         maint.mk: Give gnulib_dir a default definition.
14644         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14645         Thus, most packages no longer need to specify this variable in cfg.mk
14646
14647 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14648
14649         rename.m4: fix typos that would make non-mingw cross-configure fail
14650         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14651
14652 2009-05-13  Eric Blake  <ebb9@byu.net>
14653
14654         mmap-anon: avoid out-of-order autoconf expansion
14655         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14656         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14657         * modules/memchr-tests (Depends-on): Add extensions.
14658         * modules/memchr2-tests (Depends-on): Add extensions.
14659         * modules/memcmp-tests (Depends-on): Add extensions.
14660         * modules/memmem-tests (Depends-on): Add extensions.
14661         * modules/memrchr-tests (Depends-on): Add extensions.
14662
14663 2009-05-13  Bruno Haible  <bruno@clisp.org>
14664
14665         Make some tests ISO C 99 compliant.
14666         * tests/zerosize-ptr.h: New file.
14667         * tests/test-memchr.c: Include zerosize-ptr.h.
14668         (main): Use a zero-size object pointer instead of NULL.
14669         * tests/test-memchr2.c: Include zerosize-ptr.h.
14670         (main): Use a zero-size object pointer instead of NULL.
14671         * tests/test-memcmp.c: Include zerosize-ptr.h.
14672         (main): Use a zero-size object pointer instead of NULL.
14673         * tests/test-memmem.c: Include zerosize-ptr.h.
14674         (main): Use a zero-size object pointer instead of NULL.
14675         * tests/test-memrchr.c: Include zerosize-ptr.h.
14676         (main): Use a zero-size object pointer instead of NULL.
14677         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14678         m4/mmap-anon.m4.
14679         (Depends-on): Add getpagesize.
14680         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14681         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14682         m4/mmap-anon.m4.
14683         (Depends-on): Add getpagesize.
14684         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14685         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14686         m4/mmap-anon.m4.
14687         (Depends-on): Add getpagesize.
14688         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14689         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14690         m4/mmap-anon.m4.
14691         (Depends-on): Add getpagesize.
14692         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14693         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14694         m4/mmap-anon.m4.
14695         (Depends-on): Add getpagesize.
14696         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14697
14698 2009-05-12  Bruno Haible  <bruno@clisp.org>
14699
14700         Tests for module 'alignof'.
14701         * modules/alignof-tests: New file.
14702         * tests/test-alignof.c: New file.
14703
14704 2009-05-12  Bruno Haible  <bruno@clisp.org>
14705
14706         Fix alignof macro.
14707         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14708         vendor compilers that are always correct.
14709
14710 2009-05-12  Bruno Haible  <bruno@clisp.org>
14711
14712         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14713         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14714         not whether its fully works.
14715
14716 2009-05-12  Bruno Haible  <bruno@clisp.org>
14717
14718         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14719
14720 2009-05-12  Jim Meyering  <meyering@redhat.com>
14721
14722         * top/maint.mk: Adjust backslash alignment.
14723
14724 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14725
14726         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14727
14728 2009-05-11  Eric Blake  <ebb9@byu.net>
14729
14730         argp: avoid undefined behavior
14731         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14732         macros.
14733
14734 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14735
14736         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14737         user.name to prevent git commit from complaining.
14738
14739 2009-05-10  Bruno Haible  <bruno@clisp.org>
14740
14741         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14742         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14743         it rewrites every file name only once.
14744         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14745
14746 2009-05-08  Bruno Haible  <bruno@clisp.org>
14747
14748         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14749         instead of 'max'.
14750
14751 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14752
14753         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14754         sockaddr_storage test.
14755
14756 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14757
14758         * modules/sys_socket (Makefile.am): Substitute
14759         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14760         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14761         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14762         * tests/test-sys_socket.c: Check sockaddr_storage.
14763
14764 2009-05-08  Bruno Haible  <bruno@clisp.org>
14765
14766         New module 'alignof'.
14767         * lib/alignof.h: New file.
14768         * modules/alignof: New file.
14769
14770 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14771             Bruno Haible  <bruno@clisp.org>
14772
14773         Fix test-file-has-acl on FreeBSD.
14774         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14775         mask is implicitly added.
14776         * tests/test-file-has-acl.c: Include <signal.h>.
14777         (main): Terminate the test after 5 seconds.
14778         * modules/acl-tests (configure.ac): Check for alarm function.
14779
14780 2009-05-04  Bruno Haible  <bruno@clisp.org>
14781
14782         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14783         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14784         * modules/errno (configure.ac): Drop AC_REQUIRE.
14785         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14786         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14787
14788 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14789
14790         * modules/glob-tests: New module.
14791         * tests/test-glob.c: Add.
14792
14793 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14794
14795         * modules/fnmatch-tests: New module.
14796         * tests/test-fnmatch.c: Add.
14797
14798 2009-05-04  Eric Blake  <ebb9@byu.net>
14799
14800         maint: make the new no-submodule-changes rule VPATH-safe
14801         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14802
14803 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14804             Bruno Haible  <bruno@clisp.org>
14805
14806         acl: Fix infinite loop on FreeBSD.
14807         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14808         of return value from acl_get_entry.
14809         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14810         Likewise.
14811
14812 2009-05-03  Bruno Haible  <bruno@clisp.org>
14813
14814         * lib/acl-internal.h (acl_entries): Clarify return value.
14815         * lib/acl_entries.c (acl_entries): Likewise.
14816
14817 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14818
14819         Bug fix in acl module.
14820         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14821
14822 2009-05-03  Bruno Haible  <bruno@clisp.org>
14823
14824         Create gperf-generated file in the source dir, not in the build dir.
14825         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14826         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14827         * modules/unicase/locale-language (unicase/locale-languages.h):
14828         Likewise.
14829         * modules/unicase/special-casing (unicase/special-casing-table.h):
14830         Likewise.
14831         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14832         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14833         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14834         Reported by Ralf Wildenhues.
14835
14836 2009-05-03  Bruno Haible  <bruno@clisp.org>
14837
14838         * modules/fnmatch (Description, configure.ac): Taken from
14839         fnmatch-posix.
14840         * modules/fnmatch-posix: Turn into a symbolic reference to the
14841         'fnmatch' module, and deprecate.
14842         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14843
14844 2009-05-03  Bruno Haible  <bruno@clisp.org>
14845
14846         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14847         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14848         Reported by Ralf Wildenhues.
14849
14850 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14851
14852         * m4/fnmatch.m4: Fix fnmatch re-define.
14853
14854 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14855
14856         priv-set: new module and tests; adapt write-any-file
14857         * lib/priv-set.c: New file.
14858         * lib/priv-set.h: New file.
14859         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14860         * lib/write-any-file.c: Simplify by using priv-set module.
14861         * m4/priv-set.m4: New file.
14862         * modules/priv-set: New file.
14863         * modules/unlinkdir: Add dependency on priv-set module.
14864         * modules/write-any-file: Likewise.
14865
14866         Tests for module 'priv-set'.
14867         * modules/priv-set-tests: New file.
14868         * tests/test-priv-set.c: New file.
14869
14870 2009-05-03  Jim Meyering  <meyering@redhat.com>
14871             Bruno Haible  <bruno@clisp.org>
14872
14873         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14874         use the converted UTF-8 variant of the name instead.
14875
14876 2009-05-03  Jim Meyering  <meyering@redhat.com>
14877
14878         tests: tighten some getdate tests
14879         * tests/test-getdate.c (main): Tighten tests: require equality,
14880         not just greater than.  Set TZ envvar to UTC0.
14881
14882 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14883
14884         getdate: correctly interpret "next monday" when run on a Monday
14885         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14886         that e.g., "next tues" (when run on a tuesday) results in a date
14887         that is one week in the future, and not today's date.
14888         I.e., add a week when the wday is the same as the current one.
14889         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14890         and earlier by Martin Bernreuther and Jan Minář.
14891         * tests/test-getdate.c (main): Check that "next DAY" is always in
14892         the future and that "last DAY" is always in the past.
14893
14894 2009-05-02  Jim Meyering  <meyering@redhat.com>
14895
14896         build: ensure that a release build fails when a submodule is unclean
14897         * top/maint.mk (no-submodule-changes): New rule.
14898         (alpha beta major): Depend on it.
14899
14900 2009-05-02  Bruno Haible  <bruno@clisp.org>
14901
14902         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
14903         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
14904         shell variable gl_fnmatch_required to detect which variant is
14905         requested.
14906         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
14907         gl_FUNC_FNMATCH_POSIX.
14908         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
14909         exclude fnmatch-posix.
14910
14911 2009-05-02  Bruno Haible  <bruno@clisp.org>
14912
14913         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
14914         * modules/mbsrtowcs (License): Change to LGPLv2+.
14915         * modules/strnlen1 (License): Likewise.
14916         Reported by Simon Josefsson.
14917
14918 2009-05-02  Bruno Haible  <bruno@clisp.org>
14919
14920         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
14921         "cross".
14922         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
14923         gnulib-tool was called with option --source-base=lib.
14924
14925 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14926
14927         Use automake *-local hooks without commands, for extensibility.
14928         * modules/localcharset (Makefile.am): Rename install-exec-local
14929         rule to install-exec-localcharset, and make it a prerequisite of
14930         install-exec-local.  Likewise, rename the uninstall-local rule to
14931         uninstall-localcharset, and make it a prerequisite of the former.
14932
14933 2009-05-01  Bruno Haible  <bruno@clisp.org>
14934
14935         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
14936         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14937         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
14938         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
14939         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
14940         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14941         m4/locale-zh.m4, m4/codeset.m4.
14942
14943         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14944         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
14945         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14946         m4/locale-zh.m4.
14947
14948         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
14949         REPLACE_WCRTOMB if mbstate_t must be replaced.
14950         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
14951         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
14952
14953 2009-05-01  Bruno Haible  <bruno@clisp.org>
14954
14955         Avoid compiler warnings when redefining macros defined by <libintl.h>.
14956         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
14957         dngettext, dcngettext, textdomain, bindtextdomain,
14958         bind_textdomain_codeset): Undefine before redefining.
14959
14960 2009-04-30  Bruno Haible  <bruno@clisp.org>
14961
14962         Fix bug introduced on 2009-04-25.
14963         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
14964         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
14965         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
14966         is defined.
14967         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
14968         is defined.
14969         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
14970         is defined.
14971         Reported by Elbert_Pol <elbert.pol@gmail.com>.
14972
14973 2009-04-28  Bruno Haible  <bruno@clisp.org>
14974
14975         Comment tweaks.
14976         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
14977         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
14978         * lib/unicase.h (u*_casexfrm): Likewise.
14979         Reported by Paolo Bonzini.
14980
14981 2009-04-28  Bruno Haible  <bruno@clisp.org>
14982
14983         Fix a compilation error.
14984         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
14985         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14986         Reported by Jim Meyering.
14987
14988 2009-04-27  Bruno Haible  <bruno@clisp.org>
14989
14990         New module 'libunistring'.
14991         * modules/libunistring: New file.
14992         * m4/libunistring.m4: New file.
14993         * MODULES.html.sh (Unicode string functions): Add it.
14994
14995 2009-04-27  Eric Blake  <ebb9@byu.net>
14996
14997         maint.mk: allow package-specific header to provide <config.h>
14998         * top/maint.mk (sc_require_config_h): New variable.
14999         (sc_require_config_h, sc_require_config_h_first): Use it.
15000
15001 2009-04-27  Simon Josefsson  <simon@josefsson.org>
15002
15003         * top/maint.mk (sc_avoid_if_before_free): Except
15004         useless-if-before-free script.
15005
15006 2009-04-27  Eric Blake  <ebb9@byu.net>
15007
15008         maintainer-makefile: depend on all required helper scripts
15009         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
15010         useless-if-before-free.
15011         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
15012         version, rather than assuming gnulib checkout is available.
15013         Reported by Simen Josefsson.
15014
15015 2009-04-26  Bruno Haible  <bruno@clisp.org>
15016
15017         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
15018         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
15019         "../" or "..".
15020
15021 2009-04-26  Bruno Haible  <bruno@clisp.org>
15022
15023         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
15024         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
15025         AC_LIB_HAVE_LINKFLAGS.
15026
15027 2009-04-26  Bruno Haible  <bruno@clisp.org>
15028
15029         Simplify calling convention of u*_conv_from_encoding.
15030         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
15031         u32_conv_from_encoding): Expect a resultbuf argument and return the
15032         result directly as a pointer.
15033         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15034         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
15035         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
15036         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
15037         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
15038         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15039         Update.
15040         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15041         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
15042         * lib/vasnprintf.c (VASNPRINTF): Update.
15043         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
15044         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
15045         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
15046         * NEWS: Mention the change.
15047
15048 2009-04-26  Bruno Haible  <bruno@clisp.org>
15049
15050         Simplify calling convention of u*_conv_to_encoding.
15051         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
15052         u32_conv_to_encoding): Expect a resultbuf argument and return the
15053         result directly as a pointer.
15054         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15055         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
15056         freeing scaled_offsets if mem_iconveha failed.
15057         * lib/unicase/u-casexfrm.h (FUNC): Update.
15058         * lib/uninorm/u-normxfrm.h (FUNC): Update.
15059         * lib/vasnprintf.c (VASNPRINTF): Update.
15060         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
15061         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
15062         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
15063         * NEWS: Mention the change.
15064
15065 2009-04-26  Bruno Haible  <bruno@clisp.org>
15066
15067         Avoid test failures on AIX and OSF/1.
15068         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
15069         malloc(0).
15070         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15071         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15072         Likewise.
15073         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
15074         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
15075         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
15076         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
15077         * doc/posix-functions/malloc.texi: Document the portability problem
15078         related to malloc(0).
15079
15080 2009-04-26  Bruno Haible  <bruno@clisp.org>
15081
15082         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
15083         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
15084         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
15085
15086 2009-04-25  Bruno Haible  <bruno@clisp.org>
15087
15088         Avoid link error when creating a namespace clean library.
15089         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
15090         as macro with arguments if already defined as an alias.
15091         * lib/signbitf.c (gl_signbitf): Don't undefine.
15092         * lib/signbitd.c (gl_signbitd): Don't undefine.
15093         * lib/signbitl.c (gl_signbitl): Don't undefine.
15094
15095 2009-04-25  Jim Meyering  <meyering@redhat.com>
15096
15097         vc-list-files: fix another quoting bug
15098         * build-aux/vc-list-files: Avoid sed backslash expansion
15099         of pathological directory names.
15100
15101 2009-04-25  Eric Blake  <ebb9@byu.net>
15102
15103         vc-list-files: fix shell quoting error
15104         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
15105         timestamp.
15106
15107 2009-04-25  Jim Meyering  <meyering@redhat.com>
15108
15109         vc-list-files: restore lost functionality with subdir argument
15110         * build-aux/vc-list-files: When given a non-"." sub-directory
15111         argument, substitute the $dir/ prefix back onto each resulting name.
15112         Otherwise, coreutils' root_tests check would fail.
15113
15114 2009-04-24  Eric Blake  <ebb9@byu.net>
15115
15116         vc-list-files: ignore git symlinks
15117         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
15118         than ls-files, to ignore git symlinks.
15119
15120         maint.mk: import improvements from m4
15121         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
15122         (move_if_change): Delete unused macro.
15123         (news-date-check, vc-diff-check): Support VPATH builds.
15124         (announcement): Likewise.  Split --bootstrap-tools list...
15125         (boostrap-tools): ...into separate list, which can be overridden
15126         in cfg.mk.
15127         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
15128         requiring dependency on useless-if-before-free module.
15129         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
15130         Support VPATH builds.
15131
15132 2009-04-24  Jim Meyering  <meyering@redhat.com>
15133
15134         maint.mk: remove coreutils-specific rules and variables
15135         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
15136         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
15137         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
15138
15139         maint.mk: remove obsolete rule
15140         * top/maint.mk (rel-check): Remove rule.
15141         (WGET, WGETFLAGS): Remove now-unused variables.
15142
15143 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15144
15145         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
15146         consistency.
15147
15148         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
15149         '$(PATH_SEPARATOR)' instead of ':'.
15150
15151 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15152
15153         * lib/getopt1.c (main): Use 'const' for static array.
15154
15155 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15156
15157         * top/maint.mk: Sync with coreutils.
15158         * NEWS: Explain incompatibilities.
15159
15160 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15161             Bruno Haible  <bruno@clisp.org>
15162
15163         Fix cross-compilation results.
15164         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
15165         statement, as third argument of AC_TRY_RUN.
15166         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15167         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15168         Likewise.
15169         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15170         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
15171         Likewise.
15172         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15173         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
15174         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
15175
15176 2009-04-20  Bruno Haible  <bruno@clisp.org>
15177
15178         Avoid test failure on mingw.
15179         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
15180
15181 2009-04-20  Bruno Haible  <bruno@clisp.org>
15182
15183         Avoid compilation error on mingw.
15184         * modules/localename-tests (Depends-on): Add locale.
15185
15186 2009-04-19  Bruno Haible  <bruno@clisp.org>
15187
15188         Support for building a shared library on Windows platforms.
15189         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
15190         (main): Test the presence of UNINORM_NFC here.
15191         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
15192         (main): Test the presence of UNINORM_NFD here.
15193         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
15194         (main): Test the presence of UNINORM_NFKC here.
15195         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
15196         (main): Test the presence of UNINORM_NFKD here.
15197
15198 2009-04-19  Bruno Haible  <bruno@clisp.org>
15199
15200         Avoid a compiler warning.
15201         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
15202         Change type of variable 'sequence'.
15203
15204 2009-04-19  Bruno Haible  <bruno@clisp.org>
15205
15206         * modules/configmake (Makefile.am): When the contents of configmake.h
15207         does not change, arrange to preserve its modification time.
15208
15209 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15210
15211         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15212         gettext domain.
15213
15214 2009-04-16  Jim Meyering  <meyering@redhat.com>
15215
15216         useless-if-before-free: improve conversion code
15217         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15218         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15219
15220 2009-04-14  Bruno Haible  <bruno@clisp.org>
15221
15222         * modules/fcntl (Depends-on): Add extensions.
15223         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15224
15225 2009-04-12  Ben Pfaff  <blp@gnu.org>
15226
15227         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15228         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15229
15230 2009-03-20  Ben Pfaff  <blp@gnu.org>
15231
15232         Make rename replace existing destinations on Windows.
15233         * m4/rename.m4: Add test for Mingw.
15234         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15235         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15236         * doc/posix-functions/rename.texi: Document.
15237
15238 2009-04-10  Bruno Haible  <bruno@clisp.org>
15239
15240         New include file "iconveh.h".
15241         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15242         * lib/striconveh.h: Include it.
15243         (enum iconv_ilseq_handler): Remove definition.
15244         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15245         striconveh.h.
15246         * lib/striconveha.c: Include striconveh.h.
15247         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15248         * modules/striconveh (Files): Add lib/iconveh.h.
15249         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15250         lib/striconveh.h.
15251
15252 2009-04-10  Bruno Haible  <bruno@clisp.org>
15253
15254         * lib/uniconv.h: Update comment.
15255
15256 2009-04-10  Bruno Haible  <bruno@clisp.org>
15257
15258         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15259         always.
15260         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15261         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15262         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15263         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15264         "unistring-notinline.h", so that the function gets defined always.
15265         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15266         * lib/unistr/u8-uctomb.c: Likewise.
15267         * lib/unistr/u16-mbtouc.c: Likewise.
15268         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15269         * lib/unistr/u16-uctomb.c: Likewise.
15270         * lib/unistr/u32-mbtouc.c: Likewise.
15271         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15272         * lib/unistr/u32-uctomb.c: Likewise.
15273
15274 2009-04-10  Bruno Haible  <bruno@clisp.org>
15275
15276         Mark 'utime' obsolete.
15277         * modules/utime (Status, Notice): New sections.
15278         Suggested by Jim Meyering.
15279
15280         Fix cross-compile guess for utime test.
15281         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15282         autoconf.
15283         * doc/posix-functions/utime.texi: Give more precisions.
15284         Reported by Jan <ipif@ymail.com>.
15285
15286 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15287
15288         filevercmp: correct today's change
15289         * lib/filevercmp.c: Also handle coreutils' test inputs.
15290         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15291
15292         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15293         for reporting it.
15294         * lib/filevercmp.c: Special handle for "", "." and "..".
15295         * tests/test-filevercmp.c: Enlarge the set suite.
15296
15297 2009-04-07  Jim Meyering  <meyering@redhat.com>
15298
15299         useless-if-before-free: show how to remove braced useless free, too
15300         * build-aux/useless-if-before-free: still only in a comment, though.
15301
15302 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15303
15304         maint.mk: import changes to syntax-check macros from coreutils
15305         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15306         Use them in the relevant macros.
15307
15308 2009-04-06  Bruno Haible  <bruno@clisp.org>
15309
15310         Fix unportable use of bit-fields.
15311         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15312         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15313         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15314
15315 2009-04-06  Bruno Haible  <bruno@clisp.org>
15316
15317         Avoid test failures on AIX and OSF/1.
15318         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15319         that malloc(0) = NULL.
15320         * tests/unicase/test-u8-tolower.c (check): Likewise.
15321         * tests/unicase/test-u8-totitle.c (check): Likewise.
15322         * tests/unicase/test-u8-toupper.c (check): Likewise.
15323         * tests/unicase/test-u16-casefold.c (check): Likewise.
15324         * tests/unicase/test-u16-tolower.c (check): Likewise.
15325         * tests/unicase/test-u16-totitle.c (check): Likewise.
15326         * tests/unicase/test-u16-toupper.c (check): Likewise.
15327         * tests/unicase/test-u32-casefold.c (check): Likewise.
15328         * tests/unicase/test-u32-tolower.c (check): Likewise.
15329         * tests/unicase/test-u32-totitle.c (check): Likewise.
15330         * tests/unicase/test-u32-toupper.c (check): Likewise.
15331         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15332         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15333         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15334         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15335         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15336         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15337         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15338         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15339         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15340         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15341         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15342         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15343
15344 2009-04-05  Bruno Haible  <bruno@clisp.org>
15345
15346         Work around an autoconf limitation.
15347         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15348         comment line if it would be longer than 3 KB.
15349
15350 2009-04-05  Bruno Haible  <bruno@clisp.org>
15351
15352         Avoid test failure with libiconv-1.13.
15353         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15354         of the expected test results.
15355
15356 2009-04-05  Bruno Haible  <bruno@clisp.org>
15357
15358         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15359         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15360         that it should be installed.
15361
15362 2009-04-05  Bruno Haible  <bruno@clisp.org>
15363
15364         * gnulib-tool: New option --copy-file.
15365         (func_usage): Document it.
15366         (func_dest_tmpfilename): Moved out of func_import.
15367         (func_add_file, func_update_file): New functions, extracted from
15368         func_import.
15369         (func_import): Update.
15370
15371 2009-04-05  Karl Berry  <karl@gnu.org>
15372
15373         * README: prominently mention gnulib-tool.
15374         Rearrange sections so getting the code is near the top.
15375
15376 2009-04-05  Bruno Haible  <bruno@clisp.org>
15377
15378         * lib/unicase.h: Mention u*_cmp2.
15379         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15380         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15381         * lib/unicase/ulc-casecmp.c: Likewise.
15382         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15383         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15384         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15385         unistr/u8-cmp.
15386         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15387         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15388         unistr/u16-cmp.
15389         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15390         unistr/u32-cmp.
15391
15392         * lib/uninorm.h: Mention u*_cmp2.
15393         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15394         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15395         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15396         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15397         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15398         unistr/u8-cmp.
15399         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15400         unistr/u16-cmp.
15401         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15402         unistr/u32-cmp.
15403
15404         New module 'unistr/u32-cmp2'.
15405         * lib/unistr/u32-cmp2.c: New file.
15406         * modules/unistr/u32-cmp2: New file.
15407
15408         New module 'unistr/u16-cmp2'.
15409         * lib/unistr/u16-cmp2.c: New file.
15410         * modules/unistr/u16-cmp2: New file.
15411
15412         New module 'unistr/u8-cmp2'.
15413         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15414         * lib/unistr/u8-cmp2.c: New file.
15415         * lib/unistr/u-cmp2.h: New file.
15416         * modules/unistr/u8-cmp2: New file.
15417
15418 2009-04-05  Bruno Haible  <bruno@clisp.org>
15419
15420         * lib/unictype.h (uc_property_is_valid): New macro.
15421         * tests/unictype/test-pr_byname.c (main): Use it.
15422
15423         * lib/unistr.h: Doc fixes.
15424         * lib/uniconv.h: Doc fixes.
15425         * lib/unictype.h: Doc fixes.
15426
15427 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
15428
15429         Port coreutils 7.2 to Solaris 8.
15430
15431         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
15432         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
15433         for Solaris 8.  This is a bit of a hack, as it means it's the
15434         caller's responsibility to add -lnsl if needed, but most likely it
15435         won't be needed since only getaddrinfo uses this and getaddrinfo
15436         isn't needed on Solaris 8.
15437
15438         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
15439         problem to Solaris 8 encountered with coreutils 7.2, which
15440         resulted in a message "fnmatch.c:292: warning: passing argument 4
15441         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
15442         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
15443
15444 2009-04-03  Simon Josefsson  <simon@josefsson.org>
15445
15446         * m4/ld-version-script.m4: Add FIXME comment.
15447
15448 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15449
15450         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15451         SOVERSION variable.
15452
15453 2009-04-02  Bruno Haible  <bruno@clisp.org>
15454
15455         * Makefile (info, html, dvi, pdf): Combine the rules.
15456         Suggested by Jim Meyering.
15457
15458 2009-04-01  Bruno Haible  <bruno@clisp.org>
15459
15460         * Makefile (info, html, dvi, pdf): New targets.
15461         Reported by Reuben Thomas <rrt@sc3d.org>.
15462
15463 2009-04-01  Bruno Haible  <bruno@clisp.org>
15464
15465         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15466         can be put into PATH.
15467         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15468
15469 2009-04-01  Bruno Haible  <bruno@clisp.org>
15470
15471         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15472
15473 2009-04-01  Bruno Haible  <bruno@clisp.org>
15474
15475         Rename module 'visibility'.
15476         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15477         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15478         * doc/gnulib.texi: Update.
15479         * MODULES.html.sh (Misc): Update.
15480         * NEWS: Mention the change.
15481
15482 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15483
15484         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15485         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15486         Eric Blake <ebb9@byu.net> for review.
15487         * MODULES.html.sh: Add lib-msvc-compat.
15488         * doc/gnulib.texi: Link to new section.
15489         * m4/ld-output-def.m4: New file.
15490         * doc/ld-output-def.texi: New file.
15491
15492 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15493
15494         Rename ld-version-script to lib-symbol-versions.  Suggested by
15495         Bruno Haible <bruno@clisp.org>.
15496         * modules/ld-version-script: Renamed to lib-symbol-versions.
15497         * doc/ld-version-script.texi: Fix module name.
15498         * MODULES.html.sh: Add lib-symbol-versions.
15499
15500 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15501
15502         * modules/u64-tests: New file.
15503         * tests/test-u64.c: New file.
15504
15505 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15506
15507         * MODULES.html.sh: Mention u64.
15508         * modules/u64: New module.
15509         * modules/crypto/sha512: Depend on u64 module instead of providing
15510         u64.h.
15511
15512 2009-03-27  Eric Blake  <ebb9@byu.net>
15513
15514         test-strerror: make debugging EAI_SYSTEM easier
15515         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15516         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15517         failure was EAI_SYSTEM.
15518
15519 2009-03-25  Bruno Haible  <bruno@clisp.org>
15520
15521         Fix a problem with --enable-relocatable on Solaris 7.
15522         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15523         since 2008-02-24.
15524
15525 2009-03-25  Eric Blake  <ebb9@byu.net>
15526
15527         test-sockets: avoid gcc warning
15528         * tests/test-sockets.c (main): Silence compiler warning.
15529
15530 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15531
15532         New modules nproc, pthread, contributed by Glen Lenker.
15533
15534         * MODULES.html.sh: Add pthread, nproc.
15535         * lib/nproc.c: New file.
15536         * lib/nproc.h: New file.
15537         * lib/pthread.in.h: New file.
15538         * m4/pthread.m4: New file.
15539         * modules/nproc: New file.
15540         * modules/pthread: New file.
15541
15542 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15543
15544         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15545         New variable.
15546
15547 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15548
15549         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15550         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15551         * tests/test-filevercmp.c: Add tests for backup suffixes.
15552
15553 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15554
15555         * modules/stdlib (Depends-on): Add stdint, needed when defining
15556         struct random_data on, for example, HP-UX 10.20.  Reported by
15557         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15558
15559 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15560
15561         * lib/readline.c (readline): Call fflush on stdout after printing
15562         prompt.
15563
15564 2009-03-20  Bruno Haible  <bruno@clisp.org>
15565
15566         Remove dependency from 'close' module to -lws2_32 on native Windows.
15567         * lib/close-hook.h: New file.
15568         * lib/close-hook.c: New file.
15569         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15570         w32sock.h.
15571         (_gl_close_fd_maybe_socket): Remove function.
15572         (rpl_close): Invoke execute_all_close_hooks instead of
15573         _gl_close_fd_maybe_socket.
15574         * lib/sockets.c: Include close-hook.h, w32sock.h.
15575         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15576         (close_sockets_hook): New variable.
15577         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15578         (gl_sockets_cleanup): Unregister it.
15579         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15580         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15581         * modules/close-hook: New file.
15582         * modules/close (Files): Remove lib/w32sock.h.
15583         (Depends-on): Add close-hook.
15584         (Link): Remove section.
15585         * modules/sockets (Files): Add lib/w32sock.h.
15586         (Depends-on): Add close-hook.
15587         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15588         invocation.
15589         * NEWS: Mention that LIB_CLOSE is gone.
15590
15591 2009-03-23  Eric Blake  <ebb9@byu.net>
15592
15593         signal-tests: test previous patch
15594         * tests/test-signal.c: New file.
15595         * modules/signal-tests: Likewise.
15596
15597         signal.h: always support 'volatile sig_atomic_t'
15598         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15599         (gl_SIGNAL_H_DEFAULTS): Add a default.
15600         * modules/signal (Makefile.am): Substitute if needed.
15601         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15602         users can blindly add volatile.
15603         * doc/posix-headers/signal.texi (signal.h): Document it.
15604         Reported by Matthew Woehlke.
15605
15606 2009-03-23  Jim Meyering  <meyering@redhat.com>
15607
15608         pathmax: PATH_MAX: use pathconf only when available
15609         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15610         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15611         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15612         This avoids a link failure in a PSP cross-compilation environment
15613         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15614
15615         * lib/vasnprintf.c (divide): Fix typo in comment.
15616
15617 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15618
15619         * gnulib-tool (func_filter_filelist): Fix comment.
15620
15621 2009-03-20  Bruno Haible  <bruno@clisp.org>
15622
15623         Make sockets.h self-contained.
15624         * lib/sockets.c: Include sockets.h first.
15625         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15626
15627 2009-03-19  Eric Blake  <ebb9@byu.net>
15628
15629         doc: mention more functions added in cygwin 1.7.0
15630         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15631         addition.
15632         * doc/posix-functions/log2f.texi: Likewise.
15633
15634 2009-03-19  Jim Meyering  <meyering@redhat.com>
15635
15636         fsusage: avoid syntax error due to statement-before-declaration
15637         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15638         after all declarations.  Reported by Matthew Woehlke in
15639         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15640
15641 2009-03-18  Eric Blake  <ebb9@byu.net>
15642
15643         build-aux/compile: sync from automake
15644         * build-aux/compile: New file, from automake.
15645         * config/srclist.txt: Mention build-aux/compile.
15646
15647 2009-03-17  Bruno Haible  <bruno@clisp.org>
15648
15649         * lib/git-merge-changelog.c: Fix typo in comment.
15650         Reported by Reuben Thomas <rrt@sc3d.org>.
15651
15652 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15653
15654         * m4/regex.m4: update and improve help for
15655         --without-included-regex.
15656
15657 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15658
15659         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15660         failure on missing include files.
15661
15662 2009-03-17  Eric Blake  <ebb9@byu.net>
15663
15664         doc: mention more functions added in cygwin 1.7.0
15665         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15666         addition.
15667         * doc/posix-functions/fwscanf.texi: Likewise.
15668         * doc/posix-functions/swprintf.texi: Likewise.
15669         * doc/posix-functions/swscanf.texi: Likewise.
15670         * doc/posix-functions/vfwprintf.texi: Likewise.
15671         * doc/posix-functions/vfwscanf.texi: Likewise.
15672         * doc/posix-functions/vswprintf.texi: Likewise.
15673         * doc/posix-functions/vswscanf.texi: Likewise.
15674         * doc/posix-functions/vwprintf.texi: Likewise.
15675         * doc/posix-functions/vwscanf.texi: Likewise.
15676         * doc/posix-functions/wcscasecmp.texi: Likewise.
15677         * doc/posix-functions/wcsdup.texi: Likewise.
15678         * doc/posix-functions/wcsftime.texi: Likewise.
15679         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15680         * doc/posix-functions/wprintf.texi: Likewise.
15681         * doc/posix-functions/wscanf.texi: Likewise.
15682         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15683
15684 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15685
15686         maint.mk: really add $(AM_MAKEFLAGS)
15687         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15688         was inadvertently omitted in the last commit.
15689         Spotted by Bruno Haible.
15690
15691         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15692         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15693         $(AM_MAKEFLAGS)' rather than plain `make'.
15694
15695         gnulib-tool: execute $MAKE not make
15696         * gnulib-tool: Default $MAKE to 'make'.
15697         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15698         than make.  Initialize $MAKE in the do-autobuild script.
15699
15700         gnulib-tool: use $MAKE not make in generated files
15701         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15702         make, in generated files.  Initialize $MAKE in the do-autobuild
15703         script.
15704
15705         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15706
15707         GNUmakefile: disable parallelism only for multiple, recursive targets
15708         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15709         additions in the Makefile.
15710         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15711         by Automake.
15712         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15713         are listed on the command line and at least one of them is
15714         listed in $(ALL_RECURSIVE_TARGETS).
15715
15716 2009-03-14  Bruno Haible  <bruno@clisp.org>
15717
15718         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15719         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15720         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15721         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15722         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15723         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15724         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15725         unistr/u8-uctomb.
15726         * modules/unistr/u8-strchr (Depends-on): Likewise.
15727         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15728         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15729         unistr/u16-uctomb.
15730         * modules/unistr/u16-strchr (Depends-on): Likewise.
15731         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15732
15733 2009-03-12  Bruno Haible  <bruno@clisp.org>
15734
15735         Work around select() bug on Interix 3.5.
15736         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15737         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15738         * m4/select.m4: New file.
15739         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15740         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15741         * modules/select (Files): Add m4/select.m4.
15742         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15743         * modules/nanosleep (Depends-on): Add select.
15744         * modules/poll (Depends-on): Likewise.
15745         * doc/posix-functions/select.texi: Mention the Interix bug.
15746         Reported by Markus Duft <mduft@gentoo.org>.
15747
15748         * lib/select.c: Renamed from lib/winsock-select.c.
15749         * modules/select (Files): Add lib/select.c, remove
15750         lib/winsock-select.c.
15751         (configure.ac): Update.
15752
15753 2009-03-12  Jim Meyering  <meyering@redhat.com>
15754
15755         avoid gcc warnings about unused macro definitions
15756         * lib/readtokens.c (STREQ): Remove unused definition.
15757         * lib/xmalloc.c (SIZE_MAX): Likewise.
15758         * lib/openat-die.c (N_): Likewise.
15759         * lib/mountlist.c (SIZE_MAX): Remove definition.
15760         Instead, include <stdint.h>.
15761         * lib/readutmp.c: Likewise.
15762         * modules/readutmp (Depends-on): Add stdint.
15763         * modules/mountlist (Depends-on): Add stdint.
15764         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15765
15766 2009-03-10  Bruno Haible  <bruno@clisp.org>
15767
15768         Tests for module 'mbmemcasecoll'.
15769         * modules/mbmemcasecoll-tests: New file.
15770         * tests/test-mbmemcasecoll1.sh: New file.
15771         * tests/test-mbmemcasecoll2.sh: New file.
15772         * tests/test-mbmemcasecoll3.sh: New file.
15773         * tests/test-mbmemcasecoll.c: New file.
15774
15775         New module 'mbmemcasecoll'.
15776         * lib/mbmemcasecoll.h: New file.
15777         * lib/mbmemcasecoll.c: New file.
15778         * modules/mbmemcasecoll: New file.
15779
15780         * tests/test-mbmemcasecmp.h: New file, extracted from
15781         tests/test-mbmemcasecmp.c.
15782         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15783         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15784         (main): Update.
15785         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15786
15787 2009-03-09  Bruno Haible  <bruno@clisp.org>
15788
15789         Tests for module 'mbmemcasecmp'.
15790         * modules/mbmemcasecmp-tests: New file.
15791         * tests/test-mbmemcasecmp1.sh: New file.
15792         * tests/test-mbmemcasecmp2.sh: New file.
15793         * tests/test-mbmemcasecmp3.sh: New file.
15794         * tests/test-mbmemcasecmp.c: New file.
15795
15796         New module 'mbmemcasecmp'.
15797         * lib/mbmemcasecmp.h: New file.
15798         * lib/mbmemcasecmp.c: New file.
15799         * modules/mbmemcasecmp: New file.
15800
15801 2009-03-09  Bruno Haible  <bruno@clisp.org>
15802
15803         Tests for module 'unicase/ulc-casecoll'.
15804         * modules/unicase/ulc-casecoll-tests: New file.
15805         * tests/unicase/test-ulc-casecoll1.sh: New file.
15806         * tests/unicase/test-ulc-casecoll2.sh: New file.
15807         * tests/unicase/test-ulc-casecoll.c: New file.
15808
15809         New module 'unicase/ulc-casecoll'.
15810         * lib/unicase.h (ulc_casecoll): New declaration.
15811         * lib/unicase/ulc-casecoll.c: New file.
15812         * modules/unicase/ulc-casecoll: New file.
15813
15814         New module 'unicase/ulc-casexfrm'.
15815         * lib/unicase.h (ulc_casexfrm): New declaration.
15816         * lib/unicase/ulc-casexfrm.c: New file.
15817         * modules/unicase/ulc-casexfrm: New file.
15818
15819 2009-03-09  Bruno Haible  <bruno@clisp.org>
15820
15821         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15822         invocations.
15823
15824         * m4/mbscasecmp.m4: Remove file.
15825         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15826         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15827
15828         * m4/mbscasestr.m4: Remove file.
15829         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15830         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15831
15832         * m4/mbschr.m4: Remove file.
15833         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15834         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15835
15836         * m4/mbscspn.m4: Remove file.
15837         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15838         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15839
15840         * m4/mbslen.m4: Remove file.
15841         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15842         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15843
15844         * m4/mbsncasecmp.m4: Remove file.
15845         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15846         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15847
15848         * m4/mbsnlen.m4: Remove file.
15849         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15850         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15851
15852         * m4/mbspbrk.m4: Remove file.
15853         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15854         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15855
15856         * m4/mbspcasecmp.m4: Remove file.
15857         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15858         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15859
15860         * m4/mbsrchr.m4: Remove file.
15861         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15862         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15863
15864         * m4/mbssep.m4: Remove file.
15865         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15866         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15867
15868         * m4/mbsspn.m4: Remove file.
15869         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15870         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15871
15872         * m4/mbsstr.m4: Remove file.
15873         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15874         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15875
15876         * m4/mbstok_r.m4: Remove file.
15877         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15878         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15879
15880         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15881
15882         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15883         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15884
15885         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15886
15887 2009-03-08  Bruno Haible  <bruno@clisp.org>
15888
15889         Tests for module 'unicase/ulc-casecmp'.
15890         * modules/unicase/ulc-casecmp-tests: New file.
15891         * tests/unicase/test-ulc-casecmp1.sh: New file.
15892         * tests/unicase/test-ulc-casecmp2.sh: New file.
15893         * tests/unicase/test-ulc-casecmp.c: New file.
15894
15895         New module 'unicase/ulc-casecmp'.
15896         * lib/unicase.h (ulc_casecmp): New declaration.
15897         * lib/unicase/ulc-casecmp.c: New file.
15898         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15899         'const SRC_UNIT *'.
15900         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
15901         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
15902         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
15903         * modules/unicase/ulc-casecmp: New file.
15904
15905         Tests for module 'unicase/u32-is-cased'.
15906         * modules/unicase/u32-is-cased-tests: New file.
15907         * tests/unicase/test-u32-is-cased.c: New file.
15908
15909         Tests for module 'unicase/u16-is-cased'.
15910         * modules/unicase/u16-is-cased-tests: New file.
15911         * tests/unicase/test-u16-is-cased.c: New file.
15912
15913         Tests for module 'unicase/u8-is-cased'.
15914         * modules/unicase/u8-is-cased-tests: New file.
15915         * tests/unicase/test-u8-is-cased.c: New file.
15916         * tests/unicase/test-is-cased.h: New file.
15917
15918         New module 'unicase/u32-is-cased'.
15919         * lib/unicase/u32-is-cased.c: New file.
15920         * modules/unicase/u32-is-cased: New file.
15921
15922         New module 'unicase/u16-is-cased'.
15923         * lib/unicase/u16-is-cased.c: New file.
15924         * modules/unicase/u16-is-cased: New file.
15925
15926         New module 'unicase/u8-is-cased'.
15927         * lib/unicase/u8-is-cased.c: New file.
15928         * lib/unicase/u-is-cased.h: New file.
15929         * modules/unicase/u8-is-cased: New file.
15930
15931         Tests for module 'unicase/u32-is-casefolded'.
15932         * modules/unicase/u32-is-casefolded-tests: New file.
15933         * tests/unicase/test-u32-is-casefolded.c: New file.
15934
15935         Tests for module 'unicase/u16-is-casefolded'.
15936         * modules/unicase/u16-is-casefolded-tests: New file.
15937         * tests/unicase/test-u16-is-casefolded.c: New file.
15938
15939         Tests for module 'unicase/u8-is-casefolded'.
15940         * modules/unicase/u8-is-casefolded-tests: New file.
15941         * tests/unicase/test-u8-is-casefolded.c: New file.
15942         * tests/unicase/test-is-casefolded.h: New file.
15943
15944         New module 'unicase/u32-is-casefolded'.
15945         * lib/unicase/u32-is-casefolded.c: New file.
15946         * modules/unicase/u32-is-casefolded: New file.
15947
15948         New module 'unicase/u16-is-casefolded'.
15949         * lib/unicase/u16-is-casefolded.c: New file.
15950         * modules/unicase/u16-is-casefolded: New file.
15951
15952         New module 'unicase/u8-is-casefolded'.
15953         * lib/unicase/u8-is-casefolded.c: New file.
15954         * modules/unicase/u8-is-casefolded: New file.
15955
15956         Tests for module 'unicase/u32-is-titlecase'.
15957         * modules/unicase/u32-is-titlecase-tests: New file.
15958         * tests/unicase/test-u32-is-titlecase.c: New file.
15959
15960         Tests for module 'unicase/u16-is-titlecase'.
15961         * modules/unicase/u16-is-titlecase-tests: New file.
15962         * tests/unicase/test-u16-is-titlecase.c: New file.
15963
15964         Tests for module 'unicase/u8-is-titlecase'.
15965         * modules/unicase/u8-is-titlecase-tests: New file.
15966         * tests/unicase/test-u8-is-titlecase.c: New file.
15967         * tests/unicase/test-is-titlecase.h: New file.
15968
15969         New module 'unicase/u32-is-titlecase'.
15970         * lib/unicase/u32-is-titlecase.c: New file.
15971         * modules/unicase/u32-is-titlecase: New file.
15972
15973         New module 'unicase/u16-is-titlecase'.
15974         * lib/unicase/u16-is-titlecase.c: New file.
15975         * modules/unicase/u16-is-titlecase: New file.
15976
15977         New module 'unicase/u8-is-titlecase'.
15978         * lib/unicase/u8-is-titlecase.c: New file.
15979         * modules/unicase/u8-is-titlecase: New file.
15980
15981         Tests for module 'unicase/u32-is-lowercase'.
15982         * modules/unicase/u32-is-lowercase-tests: New file.
15983         * tests/unicase/test-u32-is-lowercase.c: New file.
15984
15985         Tests for module 'unicase/u16-is-lowercase'.
15986         * modules/unicase/u16-is-lowercase-tests: New file.
15987         * tests/unicase/test-u16-is-lowercase.c: New file.
15988
15989         Tests for module 'unicase/u8-is-lowercase'.
15990         * modules/unicase/u8-is-lowercase-tests: New file.
15991         * tests/unicase/test-u8-is-lowercase.c: New file.
15992         * tests/unicase/test-is-lowercase.h: New file.
15993
15994         New module 'unicase/u32-is-lowercase'.
15995         * lib/unicase/u32-is-lowercase.c: New file.
15996         * modules/unicase/u32-is-lowercase: New file.
15997
15998         New module 'unicase/u16-is-lowercase'.
15999         * lib/unicase/u16-is-lowercase.c: New file.
16000         * modules/unicase/u16-is-lowercase: New file.
16001
16002         New module 'unicase/u8-is-lowercase'.
16003         * lib/unicase/u8-is-lowercase.c: New file.
16004         * modules/unicase/u8-is-lowercase: New file.
16005
16006         Tests for module 'unicase/u32-is-uppercase'.
16007         * modules/unicase/u32-is-uppercase-tests: New file.
16008         * tests/unicase/test-u32-is-uppercase.c: New file.
16009
16010         Tests for module 'unicase/u16-is-uppercase'.
16011         * modules/unicase/u16-is-uppercase-tests: New file.
16012         * tests/unicase/test-u16-is-uppercase.c: New file.
16013
16014         Tests for module 'unicase/u8-is-uppercase'.
16015         * modules/unicase/u8-is-uppercase-tests: New file.
16016         * tests/unicase/test-u8-is-uppercase.c: New file.
16017         * tests/unicase/test-is-uppercase.h: New file.
16018
16019         New module 'unicase/u32-is-uppercase'.
16020         * lib/unicase/u32-is-uppercase.c: New file.
16021         * modules/unicase/u32-is-uppercase: New file.
16022
16023         New module 'unicase/u16-is-uppercase'.
16024         * lib/unicase/u16-is-uppercase.c: New file.
16025         * modules/unicase/u16-is-uppercase: New file.
16026
16027         New module 'unicase/u8-is-uppercase'.
16028         * lib/unicase/u8-is-uppercase.c: New file.
16029         * modules/unicase/u8-is-uppercase: New file.
16030
16031         New module 'unicase/u32-is-invariant'.
16032         * lib/unicase/u32-is-invariant.c: New file.
16033         * modules/unicase/u32-is-invariant: New file.
16034
16035         New module 'unicase/u16-is-invariant'.
16036         * lib/unicase/u16-is-invariant.c: New file.
16037         * modules/unicase/u16-is-invariant: New file.
16038
16039         New module 'unicase/u8-is-invariant'.
16040         * lib/unicase/u8-is-invariant.c: New file.
16041         * lib/unicase/invariant.h: New file.
16042         * lib/unicase/u-is-invariant.h: New file.
16043         * modules/unicase/u8-is-invariant: New file.
16044
16045         Tests for module 'unicase/u32-casecoll'.
16046         * modules/unicase/u32-casecoll-tests: New file.
16047         * tests/unicase/test-u32-casecoll.c: New file.
16048
16049         Tests for module 'unicase/u16-casecoll'.
16050         * modules/unicase/u16-casecoll-tests: New file.
16051         * tests/unicase/test-u16-casecoll.c: New file.
16052
16053         Tests for module 'unicase/u8-casecoll'.
16054         * modules/unicase/u8-casecoll-tests: New file.
16055         * tests/unicase/test-u8-casecoll.c: New file.
16056
16057         New module 'unicase/u32-casecoll'.
16058         * lib/unicase/u32-casecoll.c: New file.
16059         * modules/unicase/u32-casecoll: New file.
16060
16061         New module 'unicase/u16-casecoll'.
16062         * lib/unicase/u16-casecoll.c: New file.
16063         * modules/unicase/u16-casecoll: New file.
16064
16065         New module 'unicase/u8-casecoll'.
16066         * lib/unicase/u8-casecoll.c: New file.
16067         * lib/unicase/u-casecoll.h: New file.
16068         * modules/unicase/u8-casecoll: New file.
16069
16070         New module 'unicase/u32-casexfrm'.
16071         * lib/unicase/u32-casexfrm.c: New file.
16072         * modules/unicase/u32-casexfrm: New file.
16073
16074         New module 'unicase/u16-casexfrm'.
16075         * lib/unicase/u16-casexfrm.c: New file.
16076         * modules/unicase/u16-casexfrm: New file.
16077
16078         New module 'unicase/u8-casexfrm'.
16079         * lib/unicase/u8-casexfrm.c: New file.
16080         * lib/unicase/u-casexfrm.h: New file.
16081         * modules/unicase/u8-casexfrm: New file.
16082
16083         Tests for module 'unicase/u32-casecmp'.
16084         * modules/unicase/u32-casecmp-tests: New file.
16085         * tests/unicase/test-u32-casecmp.c: New file.
16086
16087         Tests for module 'unicase/u16-casecmp'.
16088         * modules/unicase/u16-casecmp-tests: New file.
16089         * tests/unicase/test-u16-casecmp.c: New file.
16090
16091         Tests for module 'unicase/u8-casecmp'.
16092         * modules/unicase/u8-casecmp-tests: New file.
16093         * tests/unicase/test-u8-casecmp.c: New file.
16094         * tests/unicase/test-casecmp.h: New file.
16095
16096         New module 'unicase/u32-casecmp'.
16097         * lib/unicase/u32-casecmp.c: New file.
16098         * modules/unicase/u32-casecmp: New file.
16099
16100         New module 'unicase/u16-casecmp'.
16101         * lib/unicase/u16-casecmp.c: New file.
16102         * modules/unicase/u16-casecmp: New file.
16103
16104         New module 'unicase/u8-casecmp'.
16105         * lib/unicase/u8-casecmp.c: New file.
16106         * lib/unicase/u-casecmp.h: New file.
16107         * modules/unicase/u8-casecmp: New file.
16108
16109         Tests for module 'unicase/u32-casefold'.
16110         * modules/unicase/u32-casefold-tests: New file.
16111         * tests/unicase/test-u32-casefold.c: New file.
16112
16113         Tests for module 'unicase/u16-casefold'.
16114         * modules/unicase/u16-casefold-tests: New file.
16115         * tests/unicase/test-u16-casefold.c: New file.
16116
16117         Tests for module 'unicase/u8-casefold'.
16118         * modules/unicase/u8-casefold-tests: New file.
16119         * tests/unicase/test-u8-casefold.c: New file.
16120
16121         New module 'unicase/u32-casefold'.
16122         * lib/unicase/u32-casefold.c: New file.
16123         * modules/unicase/u32-casefold: New file.
16124
16125         New module 'unicase/u16-casefold'.
16126         * lib/unicase/u16-casefold.c: New file.
16127         * modules/unicase/u16-casefold: New file.
16128
16129         New module 'unicase/u8-casefold'.
16130         * lib/unicase/u8-casefold.c: New file.
16131         * lib/unicase/u-casefold.h: New file.
16132         * modules/unicase/u8-casefold: New file.
16133
16134         New module 'unicase/tocasefold'.
16135         * lib/unicase/casefold.h: New file.
16136         * lib/unicase/tocasefold.c: New file.
16137         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
16138         * modules/unicase/tocasefold: New file.
16139
16140         Tests for module 'unicase/u32-totitle'.
16141         * modules/unicase/u32-totitle-tests: New file.
16142         * tests/unicase/test-u32-totitle.c: New file.
16143
16144         Tests for module 'unicase/u16-totitle'.
16145         * modules/unicase/u16-totitle-tests: New file.
16146         * tests/unicase/test-u16-totitle.c: New file.
16147
16148         Tests for module 'unicase/u8-totitle'.
16149         * modules/unicase/u8-totitle-tests: New file.
16150         * tests/unicase/test-u8-totitle.c: New file.
16151
16152         New module 'unicase/u32-totitle'.
16153         * lib/unicase/u32-totitle.c: New file.
16154         * modules/unicase/u32-totitle: New file.
16155
16156         New module 'unicase/u16-totitle'.
16157         * lib/unicase/u16-totitle.c: New file.
16158         * modules/unicase/u16-totitle: New file.
16159
16160         New module 'unicase/u8-totitle'.
16161         * lib/unicase/u8-totitle.c: New file.
16162         * lib/unicase/u-totitle.h: New file.
16163         * modules/unicase/u8-totitle: New file.
16164
16165         Tests for module 'unicase/u32-tolower'.
16166         * modules/unicase/u32-tolower-tests: New file.
16167         * tests/unicase/test-u32-tolower.c: New file.
16168
16169         Tests for module 'unicase/u16-tolower'.
16170         * modules/unicase/u16-tolower-tests: New file.
16171         * tests/unicase/test-u16-tolower.c: New file.
16172
16173         Tests for module 'unicase/u8-tolower'.
16174         * modules/unicase/u8-tolower-tests: New file.
16175         * tests/unicase/test-u8-tolower.c: New file.
16176
16177         New module 'unicase/u32-tolower'.
16178         * lib/unicase/u32-tolower.c: New file.
16179         * modules/unicase/u32-tolower: New file.
16180
16181         New module 'unicase/u16-tolower'.
16182         * lib/unicase/u16-tolower.c: New file.
16183         * modules/unicase/u16-tolower: New file.
16184
16185         New module 'unicase/u8-tolower'.
16186         * lib/unicase/u8-tolower.c: New file.
16187         * modules/unicase/u8-tolower: New file.
16188
16189         Tests for module 'unicase/u32-toupper'.
16190         * modules/unicase/u32-toupper-tests: New file.
16191         * tests/unicase/test-u32-toupper.c: New file.
16192
16193         Tests for module 'unicase/u16-toupper'.
16194         * modules/unicase/u16-toupper-tests: New file.
16195         * tests/unicase/test-u16-toupper.c: New file.
16196
16197         Tests for module 'unicase/u8-toupper'.
16198         * modules/unicase/u8-toupper-tests: New file.
16199         * tests/unicase/test-u8-toupper.c: New file.
16200
16201         New module 'unicase/u32-toupper'.
16202         * lib/unicase/u32-toupper.c: New file.
16203         * modules/unicase/u32-toupper: New file.
16204
16205         New module 'unicase/u16-toupper'.
16206         * lib/unicase/u16-toupper.c: New file.
16207         * modules/unicase/u16-toupper: New file.
16208
16209         New module 'unicase/u8-toupper'.
16210         * lib/unicase/u8-toupper.c: New file.
16211         * modules/unicase/u8-toupper: New file.
16212
16213         New module 'unicase/u32-casemap'.
16214         * lib/unicase/u32-casemap.c: New file.
16215         * modules/unicase/u32-casemap: New file.
16216
16217         New module 'unicase/u16-casemap'.
16218         * lib/unicase/u16-casemap.c: New file.
16219         * modules/unicase/u16-casemap: New file.
16220
16221         New module 'unicase/u8-casemap'.
16222         * lib/unicase/unicasemap.h: New file.
16223         * lib/unicase/u8-casemap.c: New file.
16224         * lib/unicase/u-casemap.h: New file.
16225         * modules/unicase/u8-casemap: New file.
16226
16227         New module 'unicase/special-casing'.
16228         * lib/unicase/special-casing.h: New file.
16229         * lib/unicase/special-casing.c: New file.
16230         * lib/unicase/special-casing-table.gperf: New file, generated by
16231         gen-uni-tables.c.
16232         * modules/unicase/special-casing: New file.
16233
16234         Tests for module 'unicase/locale-language'.
16235         * modules/unicase/locale-language-tests: New file.
16236         * tests/unicase/test-locale-language.sh: New file.
16237         * tests/unicase/test-locale-language.c: New file.
16238
16239         New module 'unicase/locale-language'.
16240         * lib/unicase/locale-language.c: New file.
16241         * lib/unicase/locale-languages.gperf: New file.
16242         * modules/unicase/locale-language: New file.
16243
16244         Generate more tables for case conversion and case folding.
16245         * lib/gen-uni-tables.c (SCC_*): New enum items.
16246         (struct special_casing_rule): New type.
16247         (casing_rules, num_casing_rules, allocated_casing_rules): New
16248         variables.
16249         (add_casing_rule, fill_casing_rules): New functions.
16250         (struct casefold_rule): New type.
16251         (casefolding_rules, num_casefolding_rules,
16252         allocated_casefolding_rules): New variables.
16253         (fill_casefolding_rules): New function.
16254         (unicode_casefold): New variable.
16255         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16256         sort_casing_rules, output_casing_rules): New functions.
16257         (main): Accept to more arguments: SpecialCasing.txt and
16258         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16259         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16260         Output mapping for casefolding.
16261
16262         * lib/unicase.h: Include stdbool.h, uninorm.h.
16263         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16264         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16265         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16266         arguments.
16267         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16268         resultp arguments.
16269         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16270         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16271         resultp arguments.
16272         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16273         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16274         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16275         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16276         declarations.
16277         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16278
16279 2009-03-08  Bruno Haible  <bruno@clisp.org>
16280
16281         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16282         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16283         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16284         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16285
16286 2009-03-07  Bruno Haible  <bruno@clisp.org>
16287
16288         Adjust u*_normcmp, u*_normcoll API.
16289         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16290         u16_normcoll, u32_normcoll): Change failure conventions.
16291         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16292         errno and return -1.
16293         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16294
16295 2009-03-07  Bruno Haible  <bruno@clisp.org>
16296
16297         Tests for module 'uninorm/u32-normcoll'.
16298         * modules/uninorm/u32-normcoll-tests: New file.
16299         * tests/uninorm/test-u32-normcoll.c: New file.
16300
16301         Tests for module 'uninorm/u16-normcoll'.
16302         * modules/uninorm/u16-normcoll-tests: New file.
16303         * tests/uninorm/test-u16-normcoll.c: New file.
16304
16305         Tests for module 'uninorm/u8-normcoll'.
16306         * modules/uninorm/u8-normcoll-tests: New file.
16307         * tests/uninorm/test-u8-normcoll.c: New file.
16308
16309 2009-03-07  Bruno Haible  <bruno@clisp.org>
16310
16311         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16312         tests/uninorm/test-u32-normcmp.c.
16313         * tests/uninorm/test-u32-normcmp.c: Include it.
16314         (test_nonascii): New function, extracted from main. Add some more
16315         tests.
16316         (main): Invoke test_ascii and test_nonascii.
16317         * modules/uninorm/u32-normcmp-tests (Files): Add
16318         tests/uninorm/test-u32-normcmp.h.
16319         (Depends-on): Remove uninorm/u32-normcmp.
16320
16321         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16322         tests/uninorm/test-u16-normcmp.c.
16323         * tests/uninorm/test-u16-normcmp.c: Include it.
16324         (test_nonascii): New function, extracted from main. Add some more
16325         tests.
16326         (main): Invoke test_ascii and test_nonascii.
16327         * modules/uninorm/u16-normcmp-tests (Files): Add
16328         tests/uninorm/test-u16-normcmp.h.
16329         (Depends-on): Remove uninorm/u16-normcmp.
16330
16331         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16332         tests/uninorm/test-u8-normcmp.c.
16333         * tests/uninorm/test-u8-normcmp.c: Include it.
16334         (test_nonascii): New function, extracted from main. Add some more
16335         tests.
16336         (main): Invoke test_ascii and test_nonascii.
16337         * modules/uninorm/u8-normcmp-tests (Files): Add
16338         tests/uninorm/test-u8-normcmp.h.
16339         (Depends-on): Remove uninorm/u8-normcmp.
16340
16341 2009-03-07  Bruno Haible  <bruno@clisp.org>
16342
16343         New module 'uninorm/u32-normcoll'.
16344         * lib/uninorm/u32-normcoll.c: New file.
16345         * modules/uninorm/u32-normcoll: New file.
16346
16347         New module 'uninorm/u16-normcoll'.
16348         * lib/uninorm/u16-normcoll.c: New file.
16349         * modules/uninorm/u16-normcoll: New file.
16350
16351         New module 'uninorm/u8-normcoll'.
16352         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16353         declarations.
16354         * lib/uninorm/u8-normcoll.c: New file.
16355         * lib/uninorm/u-normcoll.h: New file.
16356         * modules/uninorm/u8-normcoll: New file.
16357
16358         New module 'uninorm/u32-normxfrm'.
16359         * lib/uninorm/u32-normxfrm.c: New file.
16360         * modules/uninorm/u32-normxfrm: New file.
16361
16362         New module 'uninorm/u16-normxfrm'.
16363         * lib/uninorm/u16-normxfrm.c: New file.
16364         * modules/uninorm/u16-normxfrm: New file.
16365
16366         New module 'uninorm/u8-normxfrm'.
16367         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16368         declarations.
16369         * lib/uninorm/u8-normxfrm.c: New file.
16370         * lib/uninorm/u-normxfrm.h: New file.
16371         * modules/uninorm/u8-normxfrm: New file.
16372
16373 2009-03-07  Bruno Haible  <bruno@clisp.org>
16374
16375         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16376         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16377         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16378
16379 2009-03-07  Bruno Haible  <bruno@clisp.org>
16380
16381         New module 'memxfrm'.
16382         * lib/memxfrm.h: New file.
16383         * lib/memxfrm.c: New file.
16384         * modules/memxfrm: New file.
16385
16386 2009-03-07  Bruno Haible  <bruno@clisp.org>
16387
16388         New module 'memcmp2'.
16389         * lib/memcmp2.h: New file.
16390         * lib/memcmp2.c: New file.
16391         * modules/memcmp2: New file.
16392
16393 2009-03-07  Bruno Haible  <bruno@clisp.org>
16394
16395         Tests for module 'uninorm/decomposing-form'.
16396         * modules/uninorm/decomposing-form-tests: New file.
16397         * tests/uninorm/test-decomposing-form.c: New file.
16398
16399         New module 'uninorm/decomposing-form'.
16400         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16401         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16402         Add 'decomposing_variant' field.
16403         * lib/uninorm/decomposing-form.c: New file.
16404         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16405         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16406         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16407         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16408         * modules/uninorm/decomposing-form: New file.
16409         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16410         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16411
16412 2009-03-07  Bruno Haible  <bruno@clisp.org>
16413
16414         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16415         strings.
16416
16417 2009-03-06  Bruno Haible  <bruno@clisp.org>
16418
16419         Tests for module 'uninorm/u32-normcmp'.
16420         * tests/uninorm/test-u32-normcmp.c: New file.
16421         * modules/uninorm/u32-normcmp-tests: New file.
16422
16423         Tests for module 'uninorm/u16-normcmp'.
16424         * tests/uninorm/test-u16-normcmp.c: New file.
16425         * modules/uninorm/u16-normcmp-tests: New file.
16426
16427         Tests for module 'uninorm/u8-normcmp'.
16428         * tests/uninorm/test-u8-normcmp.c: New file.
16429         * modules/uninorm/u8-normcmp-tests: New file.
16430
16431         New module 'uninorm/u32-normcmp'.
16432         * lib/uninorm/u32-normcmp.c: New file.
16433         * modules/uninorm/u32-normcmp: New file.
16434
16435         New module 'uninorm/u16-normcmp'.
16436         * lib/uninorm/u16-normcmp.c: New file.
16437         * modules/uninorm/u16-normcmp: New file.
16438
16439         New module 'uninorm/u8-normcmp'.
16440         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
16441         declarations.
16442         * lib/uninorm/u8-normcmp.c: New file.
16443         * lib/uninorm/u-normcmp.h: New file.
16444         * modules/uninorm/u8-normcmp: New file.
16445
16446 2009-03-06  Bruno Haible  <bruno@clisp.org>
16447
16448         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16449         Reported by Eric Blake.
16450
16451 2009-03-06  Eric Blake  <ebb9@byu.net>
16452             Bruno Haible  <bruno@clisp.org>
16453
16454         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16455         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16456         condition.
16457         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16458         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16459         condition.
16460         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16461
16462 2009-03-06  Eric Blake  <ebb9@byu.net>
16463
16464         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16465         to avoid compiler warnings.
16466         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16467
16468 2009-03-05  Bruno Haible  <bruno@clisp.org>
16469
16470         * tests/test-ftell.c (main): Disable test beyond end of file on
16471         FreeMiNT.
16472         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16473
16474 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16475
16476         * lib/filevercmp.c: Move hidden files up in ordering.
16477         * tests/test-filevercmp.c: Add tests for hidden files.
16478
16479 2009-03-04  Bruno Haible  <bruno@clisp.org>
16480
16481         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16482         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16483         AM_CFLAGS.
16484         Reported by Simon Josefsson.
16485
16486 2009-03-03  Bruno Haible  <bruno@clisp.org>
16487
16488         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16489         Reported by Simon Josefsson.
16490
16491         * doc/ld-version-script.texi: Update node reference.
16492
16493 2009-03-03  Bruno Haible  <bruno@clisp.org>
16494
16495         * modules/visibility (License): Change to 'unlimited'.
16496         Suggested by Simon Josefsson.
16497
16498 2009-03-03  Jim Meyering  <meyering@redhat.com>
16499
16500         unlinkdir: cannot_unlink_dir may modify process state
16501         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16502         it's neither thread-safe nor appropriate for use in a library.
16503
16504 2009-03-03  Eric Blake  <ebb9@byu.net>
16505
16506         test-closein: silence test under Darwin
16507         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16508         care if it dies from EPIPE or EBADF.
16509
16510 2009-03-03  Bruno Haible  <bruno@clisp.org>
16511
16512         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16513         earlier.
16514         * doc/visibility.texi: Fix @node and @section.
16515
16516 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16517
16518         * doc/gnulib.texi: Link to sections for ld version script and
16519         visibility.
16520         * doc/visibility.texi: Add @node and @section.
16521         * modules/ld-version-script: New module.
16522         * m4/ld-version-script.m4: New file.
16523         * doc/ld-version-script.texi: New file.
16524
16525 2009-03-02  David Lutterkort  <lutter@redhat.com>
16526
16527         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16528         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16529
16530 2009-03-02  Bruno Haible  <bruno@clisp.org>
16531
16532         * doc/visibility.texi: Mention libtool's -export-symbols option.
16533
16534 2009-03-02  Jim Meyering  <meyering@redhat.com>
16535
16536         announce-gen: new option: --no-print-checksums
16537         * build-aux/announce-gen (usage): Describe it.
16538         (print_checksums): Print a newline here, not in the [*] footnote.
16539         (main): Honor it.
16540
16541 2009-03-01  Bruno Haible  <bruno@clisp.org>
16542
16543         Use socklen_t in the native Windows replacements prototypes.
16544         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16545         instead of 'int'.
16546         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16547         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16548         * modules/getsockopt (Depends-on): Add socklen.
16549         * modules/setsockopt (Depends-on): Add socklen.
16550
16551 2009-03-01  Bruno Haible  <bruno@clisp.org>
16552
16553         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16554         least 4.2.
16555
16556 2009-03-01  Eric Blake  <ebb9@byu.net>
16557             Bruno Haible  <bruno@clisp.org>
16558
16559         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16560         error messages.
16561         * lib/wait-process.c (wait_subprocess): Omit error message about
16562         deadly signal sent to the child of termsigp != NULL.
16563
16564 2009-03-01  Eric Blake  <ebb9@byu.net>
16565
16566         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16567
16568 2009-03-01  Bruno Haible  <bruno@clisp.org>
16569
16570         Avoid a gcc warning.
16571         * tests/test-sched.c (b): Make global.
16572         Reported by Eric Blake.
16573
16574 2009-01-19  Martin Lambers  <marlam@marlam.de>
16575
16576         Provide POSIX semantics for socket timeout options on W32.
16577         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16578         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16579         * modules/setsockopt: Depend on sys_time module for struct timeval.
16580         * modules/getsockopt: Depend on sys_time module for struct timeval.
16581
16582 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16583
16584         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16585         __USE_GNU, for consistency with netdb.in.h.
16586         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16587
16588 2009-03-01  Bruno Haible  <bruno@clisp.org>
16589
16590         More support for FreeMiNT.
16591         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16592         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16593
16594 2009-03-01  Bruno Haible  <bruno@clisp.org>
16595
16596         More support for FreeMiNT.
16597         * lib/fpurge.c (fpurge): Correct last commit.
16598         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16599
16600 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16601
16602         Fix unportable awk script in vc-list-files.
16603         * build-aux/vc-list-files: In the replacement awk script, use
16604         substr with a second argument of 1, not zero.
16605         Report by Simon Josefsson.
16606
16607 2009-02-28  Bruno Haible  <bruno@clisp.org>
16608
16609         More support for FreeMiNT.
16610         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16611         to FreeMiNT today.
16612         * lib/fwriting.c (fwriting): Likewise.
16613         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16614
16615 2009-02-28  Bruno Haible  <bruno@clisp.org>
16616
16617         * tests/test-freadseek.c (main): Disable test beyond end of file on
16618         FreeMiNT.
16619         * tests/test-ftello.c (main): Likewise.
16620         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16621
16622 2009-02-28  Bruno Haible  <bruno@clisp.org>
16623
16624         Add tentative support for FreeMiNT.
16625         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16626         * lib/fpurge.c (fpurge): Likewise.
16627         * lib/freadable.c (freadable): Likewise.
16628         * lib/freading.c (freading): Likewise.
16629         * lib/freadptr.c (freadptr): Likewise.
16630         * lib/freadseek.c (freadptrinc): Likewise.
16631         * lib/fseeko.c (rpl_fseeko): Likewise.
16632         * lib/fseterr.c (fseterr): Likewise.
16633         * lib/fwritable.c (fwritable): Likewise.
16634         * lib/fwriting.c (fwriting): Likewise.
16635         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16636         Hourihane.
16637         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16638
16639 2009-02-28  Bruno Haible  <bruno@clisp.org>
16640
16641         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16642         SIGCHLD.
16643         Reported by Jim Meyering.
16644
16645 2009-02-28  Bruno Haible  <bruno@clisp.org>
16646
16647         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16648         Mention the results of these tests on various platforms.
16649         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16650         order.
16651         * doc/posix-functions/printf.texi: Likewise.
16652         * doc/posix-functions/snprintf.texi: Likewise.
16653         * doc/posix-functions/sprintf.texi: Likewise.
16654         * doc/posix-functions/vfprintf.texi: Likewise.
16655         * doc/posix-functions/vprintf.texi: Likewise.
16656         * doc/posix-functions/vsnprintf.texi: Likewise.
16657         * doc/posix-functions/vsprintf.texi: Likewise.
16658         * doc/glibc-functions/obstack_printf.texi: Likewise.
16659         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16660
16661 2009-02-28  Bruno Haible  <bruno@clisp.org>
16662
16663         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16664         Reported by Loïc Minier <lool@dooz.org>.
16665
16666 2009-02-27  Bruno Haible  <bruno@clisp.org>
16667
16668         * gnulib-tool (func_import): Make the sed expression used to create the
16669         sed script for updating the .gitignore file POSIX compliant.
16670         Reported by Eric Blake.
16671
16672 2009-02-27  Bruno Haible  <bruno@clisp.org>
16673
16674         * gnulib-tool (sed): Don't alias as "sed --posix".
16675         Reported by Eric Blake.
16676
16677 2009-02-27  Bruno Haible  <bruno@clisp.org>
16678
16679         Avoid test link errors.
16680         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16681         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16682         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16683         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16684         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16685
16686 2009-02-27  Bruno Haible  <bruno@clisp.org>
16687
16688         Avoid spurious "(cached)" in configure output.
16689         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16690         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16691         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16692         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16693         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16694         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16695         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16696         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16697         Reported by Eric Blake.
16698
16699 2009-02-27  Eric Blake  <ebb9@byu.net>
16700
16701         printf: fix regression in previous patch
16702         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16703
16704 2009-02-27  Bruno Haible  <bruno@clisp.org>
16705
16706         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16707         value.
16708         * lib/stdint.in.h: Likewise.
16709         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16710
16711 2009-02-27  Eric Blake  <ebb9@byu.net>
16712
16713         doc: mention more functions added in cygwin 1.7.0
16714         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16715         addition.
16716         * doc/posix-functions/open_wmemstream.texi: Likewise.
16717         * doc/posix-functions/wcsnlen.texi: Likewise.
16718         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16719         * doc/posix-functions/wcstod.texi: Likewise.
16720         * doc/posix-functions/wcstof.texi: Likewise.
16721         * doc/posix-functions/wcstoimax.texi: Likewise.
16722         * doc/posix-functions/wcstok.texi: Likewise.
16723         * doc/posix-functions/wcstoumax.texi: Likewise.
16724
16725         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16726         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16727         * doc/posix-functions/fprintf.texi: Update.
16728         * doc/posix-functions/printf.texi: Update.
16729         * doc/posix-functions/snprintf.texi: Update.
16730         * doc/posix-functions/sprintf.texi: Update.
16731         * doc/posix-functions/vfprintf.texi: Update.
16732         * doc/posix-functions/vprintf.texi: Update.
16733         * doc/posix-functions/vsnprintf.texi: Update.
16734         * doc/posix-functions/vsprintf.texi: Update.
16735         * doc/glibc-functions/obstack_printf.texi: Update.
16736         * doc/glibc-functions/obstack_vprintf.texi: Update.
16737
16738 2009-02-26  Eric Blake  <ebb9@byu.net>
16739
16740         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16741         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16742         compilation bug by using runtime conversion.
16743         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16744         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16745         * modules/ceill-tests (Files): Use nan.h.
16746         * modules/floorl-tests (Files): Likewise.
16747         * modules/frexpl-tests (Files): Likewise.
16748         * modules/isnanl-tests (Files): Likewise.
16749         * modules/ldexpl-tests (Files): Likewise.
16750         * modules/roundl-tests (Files): Likewise.
16751         * modules/truncl-tests (Files): Likewise.
16752         * tests/test-ceill.c (main): Use a working NaN.
16753         * tests/test-floorl.c (main): Likewise.
16754         * tests/test-frexpl.c (main): Likewise.
16755         * tests/test-isnan.c (test_long_double): Likewise.
16756         * tests/test-isnanl.h (main): Likewise.
16757         * tests/test-ldexpl.h (main): Likewise.
16758         * tests/test-roundl.h (main): Likewise.
16759         * tests/test-truncl.h (main): Likewise.
16760         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16761
16762 2009-02-26  Eric Blake  <ebb9@byu.net>
16763             Bruno Haible  <bruno@clisp.org>
16764
16765         Work around a *printf bug with %ls on Solaris.
16766         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16767         precision is specified, sprintf stops converting the wide string
16768         argument when the number of bytes that have been produced by this
16769         conversion equals or exceeds the precision.
16770         * doc/posix-functions/fprintf.texi: Update.
16771         * doc/posix-functions/printf.texi: Update.
16772         * doc/posix-functions/snprintf.texi: Update.
16773         * doc/posix-functions/sprintf.texi: Update.
16774         * doc/posix-functions/vfprintf.texi: Update.
16775         * doc/posix-functions/vprintf.texi: Update.
16776         * doc/posix-functions/vsnprintf.texi: Update.
16777         * doc/posix-functions/vsprintf.texi: Update.
16778         * doc/glibc-functions/obstack_printf.texi: Update.
16779         * doc/glibc-functions/obstack_vprintf.texi: Update.
16780
16781 2009-02-26  Eric Blake  <ebb9@byu.net>
16782
16783         stdlib: favor compiler check of random.h
16784         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16785         to avoid an ObjC random.h installed by Swarm.
16786
16787 2009-02-26  Bruno Haible  <bruno@clisp.org>
16788
16789         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16790         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16791         Reported by Gary V. Vaughan <gary@gnu.org>.
16792
16793 2009-02-26  Bruno Haible  <bruno@clisp.org>
16794
16795         Fix *printf behaviour regarding the %ls directive.
16796         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16797         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16798         NEED_PRINTF_DIRECTIVE_LS.
16799         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16800         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16801         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16802         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16803         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16804         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16805         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16807         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16810         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16811         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16812         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16813         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16814         * doc/posix-functions/fprintf.texi: Update.
16815         * doc/posix-functions/printf.texi: Update.
16816         * doc/posix-functions/snprintf.texi: Update.
16817         * doc/posix-functions/sprintf.texi: Update.
16818         * doc/posix-functions/vfprintf.texi: Update.
16819         * doc/posix-functions/vprintf.texi: Update.
16820         * doc/posix-functions/vsnprintf.texi: Update.
16821         * doc/posix-functions/vsprintf.texi: Update.
16822         * doc/glibc-functions/obstack_printf.texi: Update.
16823         * doc/glibc-functions/obstack_vprintf.texi: Update.
16824         Reported by Eric Blake.
16825
16826 2009-02-25  Bruno Haible  <bruno@clisp.org>
16827
16828         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16829         with known value.
16830         Reported by Gary V. Vaughan <gary@gnu.org>.
16831
16832 2009-02-25  Bruno Haible  <bruno@clisp.org>
16833
16834         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16835         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16836         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16837         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16838         Reported by Gary V. Vaughan <gary@gnu.org>.
16839
16840 2009-02-25  Bruno Haible  <bruno@clisp.org>
16841
16842         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16843         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16844         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16845         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16846         Reported by Gary V. Vaughan <gary@gnu.org>.
16847
16848 2009-02-25  Eric Blake  <ebb9@byu.net>
16849
16850         tests: skip fseek/ftell tests if ungetc is broken
16851         * m4/ungetc.m4: New file.
16852         * modules/fseek-tests: Split test, so ungetc dependency is
16853         separate from rest of test.
16854         * modules/fseeko-tests: Likewise.
16855         * modules/ftell-tests: Likewise.
16856         * modules/ftello-tests: Likewise.
16857         * tests/test-fseek.c (main): Isolate ungetc dependency.
16858         * tests/test-fseeko.c (main): Likewise.
16859         * tests/test-ftell.c (main): Likewise.
16860         * tests/test-ftello.c (main): Likewise.
16861         * tests/test-fseek2.sh: New file.
16862         * tests/test-fseeko2.sh: Likewise.
16863         * tests/test-ftell2.sh: Likewise.
16864         * tests/test-ftello2.sh: Likewise.
16865
16866 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
16867
16868         test-getaddrinfo: fix usage of skip return code 77
16869         * tests/test-gettaddrinfo.c: Return skip code 77 only
16870         for first occurance of skip (4x77 is not 77)
16871
16872 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16873
16874         strtod: avoid C99 decl-after-statement
16875         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16876
16877 2009-02-24  Eric Blake  <ebb9@byu.net>
16878
16879         strtod: detect HP-UX 11.31 bug
16880         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16881         Reported by Gary V. Vaughan.
16882
16883 2009-02-23  Bruno Haible  <bruno@clisp.org>
16884
16885         Fix invalid read past end of memory block.
16886         * lib/vasnprintf.c (DCHAR_SET): Define.
16887         (local_wcslen): Define only when needed.
16888         (local_strnlen, local_wcsnlen): New functions.
16889         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16890         directives that involve a conversion ourselves.
16891         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16892         wcsnlen, mbrtowc, wcrtomb.
16893         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16894         * tests/test-vasprintf-posix.c (test_function): Likewise.
16895         * tests/test-snprintf-posix.h (test_function): Likewise.
16896         * tests/test-sprintf-posix.h (test_function): Likewise.
16897         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16898
16899 2009-02-22  Bruno Haible  <bruno@clisp.org>
16900
16901         Implement new clarified decomposition of Hangul syllables.
16902         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
16903         of type LTV, return only a pairwise decomposition.
16904         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
16905         Likewise.
16906         * tests/uninorm/test-decomposition.c (main): Updated expected result.
16907         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
16908         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
16909
16910 2009-02-22  Bruno Haible  <bruno@clisp.org>
16911
16912         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
16913         zero-length results and shrink excess allocated memory.
16914         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
16915         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
16916         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
16917         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
16918         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
16919         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
16920         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
16921         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
16922         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
16923         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
16924         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
16925         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
16926
16927 2009-02-21  Bruno Haible  <bruno@clisp.org>
16928
16929         * doc/gnulib.texi: Include safe-alloc.texi earlier.
16930         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
16931         spaces after a period. Put a space between a macro name and its
16932         argument list. Trivial rewordings.
16933         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
16934         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
16935         (main): Return 0 explicitly.
16936
16937 2009-02-21  Bruno Haible  <bruno@clisp.org>
16938
16939         Tests for module 'uninorm/filter'.
16940         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
16941         * modules/uninorm/filter-tests: New file.
16942
16943         New module 'uninorm/filter'.
16944         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
16945         uninorm_filter_flush, uninorm_filter_free): New declarations.
16946         * lib/uninorm/uninorm-filter.c: New file.
16947         * modules/uninorm/filter: New file.
16948
16949 2009-02-21  Bruno Haible  <bruno@clisp.org>
16950
16951         Tests for module 'uninorm/nfkc'.
16952         * tests/uninorm/test-nfkc.c: New file.
16953         * tests/uninorm/test-u8-nfkc.c: New file.
16954         * tests/uninorm/test-u16-nfkc.c: New file.
16955         * tests/uninorm/test-u32-nfkc.c: New file.
16956         * tests/uninorm/test-u32-nfkc-big.sh: New file.
16957         * tests/uninorm/test-u32-nfkc-big.c: New file.
16958         * modules/uninorm/nfkc-tests: New file.
16959
16960         New module 'uninorm/nfkc'.
16961         * lib/uninorm/nfkc.c: New file.
16962         * modules/uninorm/nfkc: New file.
16963
16964         Tests for module 'uninorm/nfkd'.
16965         * tests/uninorm/test-nfkd.c: New file.
16966         * tests/uninorm/test-u8-nfkd.c: New file.
16967         * tests/uninorm/test-u16-nfkd.c: New file.
16968         * tests/uninorm/test-u32-nfkd.c: New file.
16969         * tests/uninorm/test-u32-nfkd-big.sh: New file.
16970         * tests/uninorm/test-u32-nfkd-big.c: New file.
16971         * modules/uninorm/nfkd-tests: New file.
16972
16973         New module 'uninorm/nfkd'.
16974         * lib/uninorm/nfkd.c: New file.
16975         * modules/uninorm/nfkd: New file.
16976
16977         Tests for module 'uninorm/nfc'.
16978         * tests/uninorm/test-nfc.c: New file.
16979         * tests/uninorm/test-u8-nfc.c: New file.
16980         * tests/uninorm/test-u16-nfc.c: New file.
16981         * tests/uninorm/test-u32-nfc.c: New file.
16982         * tests/uninorm/test-u32-nfc-big.sh: New file.
16983         * tests/uninorm/test-u32-nfc-big.c: New file.
16984         * modules/uninorm/nfc-tests: New file.
16985
16986         New module 'uninorm/nfc'.
16987         * lib/uninorm/nfc.c: New file.
16988         * modules/uninorm/nfc: New file.
16989
16990         Tests for module 'uninorm/nfd'.
16991         * tests/uninorm/test-nfd.c: New file.
16992         * tests/uninorm/test-u8-nfd.c: New file.
16993         * tests/uninorm/test-u16-nfd.c: New file.
16994         * tests/uninorm/test-u32-nfd.c: New file.
16995         * tests/uninorm/test-u32-nfd-big.sh: New file.
16996         * tests/uninorm/test-u32-nfd-big.c: New file.
16997         * tests/uninorm/test-u32-normalize-big.h: New file.
16998         * tests/uninorm/test-u32-normalize-big.c: New file.
16999         * tests/uninorm/NormalizationTest.txt: New file, created from
17000         Unicode 5.1.0 NormalizationTest.txt.
17001         * modules/uninorm/nfd-tests: New file.
17002
17003         New module 'uninorm/nfd'.
17004         * lib/uninorm/nfd.c: New file.
17005         * modules/uninorm/nfd: New file.
17006
17007         New module 'uninorm/u32-normalize'.
17008         * lib/uninorm/u32-normalize.c: New file.
17009         * modules/uninorm/u32-normalize: New file.
17010
17011         New module 'uninorm/u16-normalize'.
17012         * lib/uninorm/u16-normalize.c: New file.
17013         * modules/uninorm/u16-normalize: New file.
17014
17015         New module 'uninorm/u8-normalize'.
17016         * lib/uninorm/u8-normalize.c: New file.
17017         * lib/uninorm/normalize-internal.h: New file.
17018         * lib/uninorm/u-normalize-internal.h: New file.
17019         * modules/uninorm/u8-normalize: New file.
17020
17021         New module 'uninorm/decompose-internal'.
17022         * lib/uninorm/decompose-internal.c: New file.
17023         * modules/uninorm/decompose-internal: New file.
17024
17025         Tests for module 'uninorm/composition'.
17026         * tests/uninorm/test-composition.c: New file.
17027         * modules/uninorm/composition-tests: New file.
17028
17029         New module 'uninorm/composition'.
17030         * lib/uninorm/composition.c: New file.
17031         * lib/uninorm/composition-table.gperf: New file, generated by
17032         gen-uni-tables.
17033         * modules/uninorm/composition: New file.
17034
17035         Tests for module 'uninorm/compat-decomposition'.
17036         * tests/uninorm/test-compat-decomposition.c: New file.
17037         * modules/uninorm/compat-decomposition-tests: New file.
17038
17039         New module 'uninorm/compat-decomposition'.
17040         * lib/uninorm/decompose-internal.h: New file.
17041         * lib/uninorm/compat-decomposition.c: New file.
17042         * modules/uninorm/compat-decomposition: New file.
17043
17044         Tests for module 'uninorm/canonical-decomposition'.
17045         * tests/uninorm/test-canonical-decomposition.c: New file.
17046         * modules/uninorm/canonical-decomposition-tests: New file.
17047
17048         New module 'uninorm/canonical-decomposition'.
17049         * lib/uninorm/canonical-decomposition.c: New file.
17050         * modules/uninorm/canonical-decomposition: New file.
17051
17052         Tests for module 'uninorm/decomposition'.
17053         * tests/uninorm/test-decomposition.c: New file.
17054         * modules/uninorm/decomposition-tests: New file.
17055
17056         New module 'uninorm/decomposition'.
17057         * lib/uninorm/decomposition.c: New file.
17058         * modules/uninorm/decomposition: New file.
17059
17060         New module 'uninorm/decomposition-table'.
17061         * lib/uninorm/decomposition-table.h: New file.
17062         * lib/uninorm/decomposition-table.c: New file.
17063         * lib/uninorm/decomposition-table1.h: New file, generated by
17064         gen-uni-tables.
17065         * lib/uninorm/decomposition-table2.h: New file, generated by
17066         gen-uni-tables.
17067         * modules/uninorm/decomposition-table: New file.
17068
17069         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
17070         (UC_DECOMP_*): New enumeration items.
17071         (get_decomposition): New function.
17072         (struct decomp_table): New type.
17073         (output_decomposition, output_decomposition_tables): New functions.
17074         (unicode_composition_exclusions): New variable.
17075         (fill_composition_exclusions, debug_output_composition_tables): New
17076         functions.
17077         (main): Accept one more argument. Invoke fill_composition_exclusions.
17078         Output decomposition and composition tables.
17079
17080         New module 'uninorm/base'.
17081         * lib/uninorm.h: New file.
17082         * lib/unictype.h: Update comment.
17083         * modules/uninorm/base: New file.
17084
17085 2009-02-21  David Lutterkort  <lutter@redhat.com>
17086
17087         Tests for module 'safe-alloc'.
17088         * tests/test-safe-alloc.c: New file.
17089         * modules/safe-alloc-tests: New file.
17090
17091         New module 'safe-alloc'.
17092         * lib/safe-alloc.h: New file.
17093         * lib/safe-alloc.c: New file.
17094         * m4/safe-alloc.m4: New file.
17095         * modules/safe-alloc: New file.
17096         * doc/safe-alloc.texi: New file.
17097         * doc/gnulib.texi: Include it.
17098         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17099         safe-alloc.
17100
17101 2009-02-18  Bruno Haible  <bruno@clisp.org>
17102
17103         Fix link error on non-glibc systems.
17104         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
17105         variable.
17106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17107
17108 2009-02-18  Jim Meyering  <meyering@redhat.com>
17109
17110         fts: avoid used-uninitialized error due to recent change
17111         * lib/fts.c (fts_read): Guard uses of the new member,
17112         parent->fts_n_dirs_remaining, since it's not relevant for
17113         the parent of a directory specified on the command-line.
17114
17115 2009-02-17  James Youngman  <jay@gnu.org>
17116             Bruno Haible  <bruno@clisp.org>
17117
17118         * m4/include_next.m4: Reformulate comment.
17119
17120 2009-02-16  Jim Meyering  <meyering@redhat.com>
17121
17122         fts: add #if guards so that the fts_lgpl module still builds
17123         * lib/fts.c: Guard just-added hash-table-using parts with
17124         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
17125         Reported by Simon Josefsson.
17126
17127 2009-02-15  Bruno Haible  <bruno@clisp.org>
17128
17129         * modules/array-mergesort-tests: New file.
17130         * tests/test-array-mergesort.c: New file.
17131
17132         New module 'array-mergesort'.
17133         * modules/array-mergesort: New file.
17134         * lib/array-mergesort.h: New file.
17135
17136 2009-02-15  Bruno Haible  <bruno@clisp.org>
17137
17138         Fix 2009-02-07 commit.
17139         * lib/gen-uni-tables.c (output_predicate, output_category,
17140         output_combclass, output_bidi_category, output_decimal_digit,
17141         output_digit, output_numeric, output_mirror, output_scripts,
17142         output_ident_category, output_simple_mapping): Fix format directives.
17143         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
17144
17145 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
17146
17147         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
17148         fixes are available from IBM.
17149
17150 2009-02-13  Jim Meyering  <meyering@redhat.com>
17151
17152         fts: arrange not to stat non-directories in more cases
17153         This makes GNU find (when it doesn't need to stat each file)
17154         *much* more efficient at traversing reiserfs file systems.
17155         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
17156         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
17157         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
17158         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
17159         (leaf_optimization_applies): New function.
17160         (LCO_hash, LCO_compare): New helper functions.
17161         (link_count_optimize_ok): New function.
17162         (fts_stat): Initialize new member (if dir).
17163         (fts_read): Decrement parent's fts_n_dirs_remaining count if
17164         we've just stat'ed a directory.  Skip the stat call when possible.
17165         ---
17166         Note this AFS-related exchange:
17167         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
17168         and note find's pioctl call in find/fstype.c.
17169         But that is necessary only if you want to enable the
17170         optimization for AFS, and for now, I don't.
17171
17172         fts: move a function definition "up" (no semantic change)
17173         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
17174         "up" to precede upcoming use of a related function.
17175
17176 2009-02-11  Jim Meyering  <meyering@redhat.com>
17177
17178         fts: correct internal computation of nlinks (optimization-related)
17179         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
17180         whether the current entry is a directory, so don't test it.
17181
17182 2009-02-10  Bruno Haible  <bruno@clisp.org>
17183
17184         Tests for module 'uniwbrk/ulc-wordbreaks'.
17185         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
17186         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
17187         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
17188
17189         Tests for module 'uniwbrk/u32-wordbreaks'.
17190         * modules/uniwbrk/u32-wordbreaks-tests: New file.
17191         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
17192
17193         Tests for module 'uniwbrk/u16-wordbreaks'.
17194         * modules/uniwbrk/u16-wordbreaks-tests: New file.
17195         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
17196
17197         Tests for module 'uniwbrk/u8-wordbreaks'.
17198         * modules/uniwbrk/u8-wordbreaks-tests: New file.
17199         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
17200
17201 2009-02-10  Bruno Haible  <bruno@clisp.org>
17202
17203         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
17204         property.
17205         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
17206         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
17207         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
17208
17209 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17210
17211         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17212         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17213
17214 2009-02-10  Bruno Haible  <bruno@clisp.org>
17215
17216         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17217         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17218         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17219         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17220         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17221         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17222
17223 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17224
17225         * lib/sockets.h (gl_fd_to_handle): New function.
17226
17227         * tests/test-sockets.c: Call gl_fd_to_handle.
17228
17229 2009-02-09  Bruno Haible  <bruno@clisp.org>
17230
17231         * doc/havelib.texi: Document the conventions on bi-arch systems.
17232
17233 2009-02-08  Bruno Haible  <bruno@clisp.org>
17234
17235         Document the AC_LIB_LINKFLAGS macro.
17236         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17237         * doc/gnulib.texi: Include it.
17238
17239 2009-02-08  Bruno Haible  <bruno@clisp.org>
17240
17241         Fix wrong order of sections, compared to TOC.
17242         * doc/gnulib.texi: Include relocatable-maint.texi after the
17243         "Regular expressions" node, not before.
17244
17245 2009-02-08  Bruno Haible  <bruno@clisp.org>
17246
17247         Tests for module 'unicase/totitle'.
17248         * modules/unicase/totitle-tests: New file.
17249
17250         Tests for module 'unicase/tolower'.
17251         * modules/unicase/tolower-tests: New file.
17252
17253         Tests for module 'unicase/toupper'.
17254         * modules/unicase/toupper-tests: New file.
17255         * tests/unicase/test-mapping-part1.h: New file.
17256         * tests/unicase/test-mapping-part2.h: New file.
17257
17258         New module 'unicase/totitle'.
17259         * modules/unicase/totitle: New file.
17260         * lib/unicase/totitle.c: New file.
17261
17262         New module 'unicase/tolower'.
17263         * modules/unicase/tolower: New file.
17264         * lib/unicase/tolower.c: New file.
17265
17266         New module 'unicase/toupper'.
17267         * modules/unicase/toupper: New file.
17268         * lib/unicase/toupper.c: New file.
17269         * lib/unicase/simple-mapping.h: New file.
17270
17271         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17272         (mapping_table): New structure.
17273         (output_simple_mapping): New function.
17274         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17275         * modules/gen-uni-tables (Description): Update.
17276         * lib/unicase/toupper.h: New file, automatically generated by
17277         gen-uni-tables.
17278         * lib/unicase/tolower.h: New file, automatically generated by
17279         gen-uni-tables.
17280         * lib/unicase/totitle.h: New file, automatically generated by
17281         gen-uni-tables.
17282         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17283         gen-uni-tables.
17284         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17285         gen-uni-tables.
17286         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17287         gen-uni-tables.
17288
17289         New module 'unicase/base'.
17290         * modules/unicase/base: New file.
17291         * lib/unicase.h: New file.
17292
17293 2009-02-08  Bruno Haible  <bruno@clisp.org>
17294
17295         New module 'uniwbrk/ulc-wordbreaks'.
17296         * modules/uniwbrk/ulc-wordbreaks: New file.
17297         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17298
17299         New module 'uniwbrk/u32-wordbreaks'.
17300         * modules/uniwbrk/u32-wordbreaks: New file.
17301         * lib/uniwbrk/u32-wordbreaks.c: New file.
17302
17303         New module 'uniwbrk/u16-wordbreaks'.
17304         * modules/uniwbrk/u16-wordbreaks: New file.
17305         * lib/uniwbrk/u16-wordbreaks.c: New file.
17306
17307         New module 'uniwbrk/u8-wordbreaks'.
17308         * modules/uniwbrk/u8-wordbreaks: New file.
17309         * lib/uniwbrk/u8-wordbreaks.c: New file.
17310         * lib/uniwbrk/u-wordbreaks.h: New file.
17311
17312         New module 'uniwbrk/table'.
17313         * modules/uniwbrk/table: New file.
17314         * lib/uniwbrk/wbrktable.h: New file.
17315         * lib/uniwbrk/wbrktable.c: New file.
17316
17317         New module 'uniwbrk/wordbreak-property'.
17318         * modules/uniwbrk/wordbreak-property: New file.
17319         * lib/uniwbrk/wordbreak-property.c: New file.
17320
17321         * lib/gen-uni-tables.c (WBP_*): New enum items.
17322         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17323         (unicode_org_wbp): New variable.
17324         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17325         New functions.
17326         (wbp_table): New structure.
17327         (output_wbp, output_wbrk_tables): New functions.
17328         (main): Accept additional argument. Invoke fill_org_wbp,
17329         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17330         output_wbrk_tables.
17331         * modules/gen-uni-tables (Description): Update.
17332         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17333         gen-uni-tables.
17334
17335         New module 'uniwbrk/base'.
17336         * modules/uniwbrk/base: New file.
17337         * lib/uniwbrk.h: New file.
17338
17339 2009-02-08  Bruno Haible  <bruno@clisp.org>
17340
17341         Update to Unicode 5.1.0.
17342         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17343         U+2185..U+2188.
17344         (is_property_default_ignorable_code_point): Don't include characters
17345         of category Cc or Cs and not-a-characters.
17346         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17347         U+0D79, U+109E, U+109F, U+A60C.
17348         * lib/unictype/bidi_of.h: Regenerated.
17349         * lib/unictype/blocks.h: Regenerated.
17350         * lib/unictype/categ_C.h: Regenerated.
17351         * lib/unictype/categ_Cf.h: Regenerated.
17352         * lib/unictype/categ_Cn.h: Regenerated.
17353         * lib/unictype/categ_L.h: Regenerated.
17354         * lib/unictype/categ_Ll.h: Regenerated.
17355         * lib/unictype/categ_Lm.h: Regenerated.
17356         * lib/unictype/categ_Lo.h: Regenerated.
17357         * lib/unictype/categ_Lu.h: Regenerated.
17358         * lib/unictype/categ_M.h: Regenerated.
17359         * lib/unictype/categ_Mc.h: Regenerated.
17360         * lib/unictype/categ_Me.h: Regenerated.
17361         * lib/unictype/categ_Mn.h: Regenerated.
17362         * lib/unictype/categ_N.h: Regenerated.
17363         * lib/unictype/categ_Nd.h: Regenerated.
17364         * lib/unictype/categ_Nl.h: Regenerated.
17365         * lib/unictype/categ_No.h: Regenerated.
17366         * lib/unictype/categ_P.h: Regenerated.
17367         * lib/unictype/categ_Pd.h: Regenerated.
17368         * lib/unictype/categ_Pe.h: Regenerated.
17369         * lib/unictype/categ_Pf.h: Regenerated.
17370         * lib/unictype/categ_Pi.h: Regenerated.
17371         * lib/unictype/categ_Po.h: Regenerated.
17372         * lib/unictype/categ_Ps.h: Regenerated.
17373         * lib/unictype/categ_S.h: Regenerated.
17374         * lib/unictype/categ_Sk.h: Regenerated.
17375         * lib/unictype/categ_Sm.h: Regenerated.
17376         * lib/unictype/categ_So.h: Regenerated.
17377         * lib/unictype/categ_of.h: Regenerated.
17378         * lib/unictype/combining.h: Regenerated.
17379         * lib/unictype/ctype_alnum.h: Regenerated.
17380         * lib/unictype/ctype_alpha.h: Regenerated.
17381         * lib/unictype/ctype_graph.h: Regenerated.
17382         * lib/unictype/ctype_lower.h: Regenerated.
17383         * lib/unictype/ctype_print.h: Regenerated.
17384         * lib/unictype/ctype_punct.h: Regenerated.
17385         * lib/unictype/ctype_upper.h: Regenerated.
17386         * lib/unictype/decdigit.h: Regenerated.
17387         * lib/unictype/digit.h: Regenerated.
17388         * lib/unictype/mirror.h: Regenerated.
17389         * lib/unictype/numeric.h: Regenerated.
17390         * lib/unictype/pr_alphabetic.h: Regenerated.
17391         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17392         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17393         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17394         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17395         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17396         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17397         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17398         * lib/unictype/pr_combining.h: Regenerated.
17399         * lib/unictype/pr_dash.h: Regenerated.
17400         * lib/unictype/pr_decimal_digit.h: Regenerated.
17401         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17402         * lib/unictype/pr_deprecated.h: Regenerated.
17403         * lib/unictype/pr_diacritic.h: Regenerated.
17404         * lib/unictype/pr_extender.h: Regenerated.
17405         * lib/unictype/pr_format_control.h: Regenerated.
17406         * lib/unictype/pr_grapheme_base.h: Regenerated.
17407         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17408         * lib/unictype/pr_grapheme_link.h: Regenerated.
17409         * lib/unictype/pr_id_continue.h: Regenerated.
17410         * lib/unictype/pr_id_start.h: Regenerated.
17411         * lib/unictype/pr_ideographic.h: Regenerated.
17412         * lib/unictype/pr_ignorable_control.h: Regenerated.
17413         * lib/unictype/pr_lowercase.h: Regenerated.
17414         * lib/unictype/pr_math.h: Regenerated.
17415         * lib/unictype/pr_numeric.h: Regenerated.
17416         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17417         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
17418         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
17419         * lib/unictype/pr_other_id_continue.h: Regenerated.
17420         * lib/unictype/pr_other_lowercase.h: Regenerated.
17421         * lib/unictype/pr_other_math.h: Regenerated.
17422         * lib/unictype/pr_punctuation.h: Regenerated.
17423         * lib/unictype/pr_sentence_terminal.h: Regenerated.
17424         * lib/unictype/pr_soft_dotted.h: Regenerated.
17425         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
17426         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
17427         * lib/unictype/pr_unified_ideograph.h: Regenerated.
17428         * lib/unictype/pr_uppercase.h: Regenerated.
17429         * lib/unictype/pr_xid_continue.h: Regenerated.
17430         * lib/unictype/pr_xid_start.h: Regenerated.
17431         * lib/unictype/pr_zero_width.h: Regenerated.
17432         * lib/unictype/scripts.h: Regenerated.
17433         * lib/unictype/scripts_byname.gperf: Regenerated.
17434         * lib/unictype/sy_java_ident.h: Regenerated.
17435         * lib/unilbrk/lbrkprop1.h: Regenerated.
17436         * lib/unilbrk/lbrkprop2.h: Regenerated.
17437         * tests/unictype/test-categ_C.c: Regenerated.
17438         * tests/unictype/test-categ_Cf.c: Regenerated.
17439         * tests/unictype/test-categ_Cn.c: Regenerated.
17440         * tests/unictype/test-categ_L.c: Regenerated.
17441         * tests/unictype/test-categ_Ll.c: Regenerated.
17442         * tests/unictype/test-categ_Lm.c: Regenerated.
17443         * tests/unictype/test-categ_Lo.c: Regenerated.
17444         * tests/unictype/test-categ_Lu.c: Regenerated.
17445         * tests/unictype/test-categ_M.c: Regenerated.
17446         * tests/unictype/test-categ_Mc.c: Regenerated.
17447         * tests/unictype/test-categ_Me.c: Regenerated.
17448         * tests/unictype/test-categ_Mn.c: Regenerated.
17449         * tests/unictype/test-categ_N.c: Regenerated.
17450         * tests/unictype/test-categ_Nd.c: Regenerated.
17451         * tests/unictype/test-categ_Nl.c: Regenerated.
17452         * tests/unictype/test-categ_No.c: Regenerated.
17453         * tests/unictype/test-categ_P.c: Regenerated.
17454         * tests/unictype/test-categ_Pd.c: Regenerated.
17455         * tests/unictype/test-categ_Pe.c: Regenerated.
17456         * tests/unictype/test-categ_Pf.c: Regenerated.
17457         * tests/unictype/test-categ_Pi.c: Regenerated.
17458         * tests/unictype/test-categ_Po.c: Regenerated.
17459         * tests/unictype/test-categ_Ps.c: Regenerated.
17460         * tests/unictype/test-categ_S.c: Regenerated.
17461         * tests/unictype/test-categ_Sk.c: Regenerated.
17462         * tests/unictype/test-categ_Sm.c: Regenerated.
17463         * tests/unictype/test-categ_So.c: Regenerated.
17464         * tests/unictype/test-ctype_alnum.c: Regenerated.
17465         * tests/unictype/test-ctype_alpha.c: Regenerated.
17466         * tests/unictype/test-ctype_graph.c: Regenerated.
17467         * tests/unictype/test-ctype_lower.c: Regenerated.
17468         * tests/unictype/test-ctype_print.c: Regenerated.
17469         * tests/unictype/test-ctype_punct.c: Regenerated.
17470         * tests/unictype/test-ctype_upper.c: Regenerated.
17471         * tests/unictype/test-decdigit.h: Regenerated.
17472         * tests/unictype/test-digit.h: Regenerated.
17473         * tests/unictype/test-numeric.h: Regenerated.
17474         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17475         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17476         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17477         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17478         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17479         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17480         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17481         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17482         * tests/unictype/test-pr_combining.c: Regenerated.
17483         * tests/unictype/test-pr_dash.c: Regenerated.
17484         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17485         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17486         * tests/unictype/test-pr_deprecated.c: Regenerated.
17487         * tests/unictype/test-pr_diacritic.c: Regenerated.
17488         * tests/unictype/test-pr_extender.c: Regenerated.
17489         * tests/unictype/test-pr_format_control.c: Regenerated.
17490         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17491         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17492         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17493         * tests/unictype/test-pr_id_continue.c: Regenerated.
17494         * tests/unictype/test-pr_id_start.c: Regenerated.
17495         * tests/unictype/test-pr_ideographic.c: Regenerated.
17496         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17497         * tests/unictype/test-pr_lowercase.c: Regenerated.
17498         * tests/unictype/test-pr_math.c: Regenerated.
17499         * tests/unictype/test-pr_numeric.c: Regenerated.
17500         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17501         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17502         Regenerated.
17503         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17504         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17505         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17506         * tests/unictype/test-pr_other_math.c: Regenerated.
17507         * tests/unictype/test-pr_punctuation.c: Regenerated.
17508         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17509         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17510         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17511         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17512         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17513         * tests/unictype/test-pr_uppercase.c: Regenerated.
17514         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17515         * tests/unictype/test-pr_xid_start.c: Regenerated.
17516         * tests/unictype/test-pr_zero_width.c: Regenerated.
17517
17518         Update to Unicode 5.1.0.
17519         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17520         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17521         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17522         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17523         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17524         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17525         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17526         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17527         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17528         (nonspacing_table_ind): Update.
17529         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17530
17531         Update to Unicode 5.1.0.
17532         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17533         code transform.
17534         * lib/uniname/uniname.c (unicode_character_name,
17535         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17536         * lib/uniname/uninames.h: Regenerated.
17537         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17538
17539 2009-02-07  Bruno Haible  <bruno@clisp.org>
17540
17541         Merge gen-ctype and gen-lbrk into a single program.
17542         * lib/gen-uni-tables.c: New file, incorporating
17543         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17544         Add directory prefixes to the names of the generated files.
17545         * lib/unictype/gen-ctype.c: Remove file.
17546         * lib/unilbrk/gen-lbrk.c: Remove file.
17547         * modules/gen-uni-tables: New file.
17548         * modules/unictype/gen-ctype: Remove file.
17549         * modules/unilbrk/gen-lbrk: Remove file.
17550
17551 2009-02-07  Bruno Haible  <bruno@clisp.org>
17552
17553         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17554
17555         New module 'unistr/u32-strcoll'.
17556         * modules/unistr/u32-strcoll: New file.
17557         * lib/unistr/u32-strcoll.c: New file.
17558
17559         New module 'unistr/u16-strcoll'.
17560         * modules/unistr/u16-strcoll: New file.
17561         * lib/unistr/u16-strcoll.c: New file.
17562
17563         New module 'unistr/u8-strcoll'.
17564         * modules/unistr/u8-strcoll: New file.
17565         * lib/unistr/u8-strcoll.c: New file.
17566         * lib/unistr/u-strcoll.h: New file.
17567
17568 2009-02-07  Bruno Haible  <bruno@clisp.org>
17569
17570         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17571         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17572         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17573         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17574         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17575         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17576
17577 2009-02-07  Bruno Haible  <bruno@clisp.org>
17578
17579         Make 64-bit clean.
17580         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17581         output_combclass, output_bidi_category, output_decimal_digit,
17582         output_digit, output_numeric, output_mirror, output_scripts,
17583         output_ident_category): Use proper width specifier in format strings.
17584
17585 2009-02-07  Bruno Haible  <bruno@clisp.org>
17586
17587         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17588         failure behaviour.
17589
17590 2009-02-07  Jim Meyering  <meyering@redhat.com>
17591
17592         regex: avoid compilation failure with upcoming gcc-4.4
17593         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17594         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17595         "... error: integer overflow in preprocessor expression".
17596
17597 2009-02-05  Ben Pfaff  <blp@gnu.org>
17598
17599         Fix link errors on Windows when close module is used.
17600         * modules/close: Add $(LIB_CLOSE) to Link section.
17601         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17602         $(LIB_CLOSE) on Windows.
17603
17604 2009-02-05  Jim Meyering  <meyering@redhat.com>
17605
17606         still avoid unused-parameter warnings, but do it cleanly
17607         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17608         (get_fs_usage): Cast to void instead.
17609         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17610         (dev_from_mount_options, read_file_system_list): Cast to void.
17611         Prompted by Bruno Haible.
17612
17613 2009-02-04  Jim Meyering  <meyering@redhat.com>
17614
17615         fsusage.c: correct copyright year
17616         * lib/fsusage.c: Reflect year in which the change is pushed into
17617
17618         avoid misc. warnings
17619         * lib/fsusage.c (UNUSED_PARAM): Define.
17620         (get_fs_usage): Mark parameter "disk" as unused.
17621         * lib/getugroups.c (getgrent): Use "void" in prototype.
17622         * lib/mountlist.c: Mark unused parameters.
17623         (read_file_system_list): Declare a local with "const".
17624         * lib/nanosleep.c (getnow): Declare static.
17625         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17626
17627         dirfd: set errno upon failure
17628         * lib/dirfd.c: Include <errno.h>.
17629         Set errno to ENOTSUP when returning -1.
17630         * modules/dirfd (Depends-on): Add errno.
17631         Suggested by John Kodis <kodis@comcast.net>.
17632
17633 2009-02-01  Bruno Haible  <bruno@clisp.org>
17634
17635         Don't assume sizeof (long) >= sizeof (void *).
17636         * lib/memcmp.c: Include stdint.h.
17637         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17638         srcp2 to 'const byte *'.
17639         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17640         types to uintptr_t.
17641         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17642         * modules/memcmp (Depends-on): Add stdint.
17643         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17644
17645 2009-01-30  Eric Blake  <ebb9@byu.net>
17646
17647         fix more require-before-expand issues
17648         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17649         expand, AC_PROG_AWK.
17650         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17651
17652 2009-01-28  Eric Blake  <ebb9@byu.net>
17653
17654         version-etc: use consistent URL formatting
17655         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17656         Improve formatting.  Use fputs for string without %.
17657
17658 2009-01-28  Jim Meyering  <meyering@redhat.com>
17659
17660         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17661         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17662         "underquoted definition of NAME" from autoconf-2.59.
17663
17664 2009-01-28  Bruno Haible  <bruno@clisp.org>
17665
17666         * doc/gnulib.texi: Add "Obsolete modules" to index.
17667
17668 2009-01-28  Jim Meyering  <meyering@redhat.com>
17669
17670         useless-if-before-free: recognize more variants
17671         * build-aux/useless-if-before-free: Also recognize e.g.,
17672         if (NULL != p) free (p);
17673
17674 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17675
17676         test-getaddrinfo: skip (don't fail) this test when there's no network
17677         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17678         on the presumption that it means you lack network access.
17679
17680 2009-01-26  Jim Meyering  <meyering@redhat.com>
17681
17682         fflush: avoid warnings on modern systems
17683         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17684         pos and result, into scopes where they're used.
17685
17686 2009-01-26  Eric Blake  <ebb9@byu.net>
17687
17688         Silence warning reintroduced by recent extensions patch.
17689         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17690         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17691         autoconf.
17692
17693         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17694         * m4/00gnulib.m4: New file.
17695         * gnulib-tool (func_get_filelist): Always use it.
17696         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17697         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17698
17699 2009-01-25  Bruno Haible  <bruno@clisp.org>
17700
17701         Make test-quotearg work on MacOS X and AIX.
17702         * tests/test-quotearg.sh: New file.
17703         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17704         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17705         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17706         include <libintl.h>.
17707         (fake_locale): Remove variable.
17708         (gettext, dgettext, dcgettext): Remove functions.
17709         (main): Instead of setting a fake locale, set a real locale. Call
17710         textdomain and bindtextdomain.
17711         * modules/quotearg-tests (Files): Add the new files.
17712         (Depends-on): Add gettext, setenv, unsetenv.
17713         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17714         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17715         Augment TESTS_ENVIRONMENT.
17716
17717 2009-01-25  Bruno Haible  <bruno@clisp.org>
17718
17719         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17720         fr_FR.ISO8859-1 locale on MacOS X.
17721         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17722         ja_JP.eucJP locale on MacOS X.
17723         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17724         zh_CN.GB18030 locale on MacOS X.
17725
17726 2009-01-25  Bruno Haible  <bruno@clisp.org>
17727
17728         Avoid link errors on MacOS X 10.3.
17729         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17730         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17731
17732 2009-01-25  Bruno Haible  <bruno@clisp.org>
17733
17734         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17735         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17736         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17737         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17738         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17739         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17740         posix_spawnattr_init, posix_spawnattr_setsigmask,
17741         posix_spawnattr_setflags, posix_spawnattr_destroy.
17742
17743         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17744         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17745         * modules/execute (Files): Remove m4/posix_spawn.m4.
17746         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17747         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17748         posix_spawnattr_init, posix_spawnattr_setsigmask,
17749         posix_spawnattr_setflags, posix_spawnattr_destroy.
17750
17751 2009-01-25  Bruno Haible  <bruno@clisp.org>
17752
17753         * lib/glthread/threadlib.c: Include <stdlib.h>.
17754
17755 2009-01-25  Bruno Haible  <bruno@clisp.org>
17756
17757         * lib/glthread/threadlib.c (dummy): New declaration.
17758
17759 2009-01-25  Bruno Haible  <bruno@clisp.org>
17760
17761         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17762         multibyte characters also for the GB18030 encoding. Don't crash when
17763         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17764
17765 2009-01-25  Bruno Haible  <bruno@clisp.org>
17766
17767         Avoid redefining 'struct random_data' on OSF/1 5.1.
17768         * lib/stdlib.in.h: Include <random.h> if it exists.
17769         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17770         HAVE_RANDOM_H. Include <random.h> when testing whether
17771         'struct random_data' exists.
17772         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17773
17774 2009-01-25  Bruno Haible  <bruno@clisp.org>
17775
17776         Don't install charset.alias on MacOS X >= 10.3.
17777         * lib/localcharset.c (DARWIN7): New macro.
17778         (get_charset_aliases): Hardcode the result for Darwin7.
17779         * modules/localcharset (install-exec-local): Don't install
17780         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17781
17782 2009-01-25  Bruno Haible  <bruno@clisp.org>
17783
17784         Don't install charset.alias on mingw and Cygwin.
17785         * modules/localcharset (install-exec-local): Don't install
17786         charset.alias on mingw and Cygwin, if the file does not yet exist.
17787         The result for these platforms is hardcoded in localcharset.c.
17788
17789 2009-01-25  Bruno Haible  <bruno@clisp.org>
17790
17791         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17792         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17793         before requiring AC_USE_SYSTEM_EXTENSIONS.
17794
17795 2009-01-25  Jim Meyering  <meyering@redhat.com>
17796
17797         c-strtod: avoid warnings
17798         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17799         "assignment discards qualifiers from pointer target type" warnings.
17800
17801 2009-01-24  Bruno Haible  <bruno@clisp.org>
17802
17803         Add support for non-UTF-8 locales on MacOS X.
17804         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17805         canonical encodings. For Darwin 7 and newer, don't map traditional
17806         encodings to UTF-8.
17807         Reported by Vincent Lefevre <vincent@vinc17.org>
17808         at <http://savannah.gnu.org/bugs/?25235>.
17809
17810 2009-01-24  Bruno Haible  <bruno@clisp.org>
17811
17812         * doc/gnulib.texi (Obsolete modules): New section.
17813         Reported by Mike Frysinger <vapier@gentoo.org>.
17814
17815 2009-01-24  Bruno Haible  <bruno@clisp.org>
17816
17817         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17818         (%.dvi): New rule.
17819
17820 2009-01-24  Bruno Haible  <bruno@clisp.org>
17821
17822         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17823         Reported by Eric Blake.
17824
17825 2009-01-24  Bruno Haible  <bruno@clisp.org>
17826
17827         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17828         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17829         Reported by Gary V. Vaughan <gary@gnu.org>.
17830
17831 2009-01-24  Bruno Haible  <bruno@clisp.org>
17832
17833         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17834
17835 2009-01-23  Bruno Haible  <bruno@clisp.org>
17836
17837         Make c-strtod, c-strtold usable in libraries.
17838         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17839         (C_STRTOD): Call strdup instead of xstrdup.
17840         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17841         * modules/c-strtold (Depends-on): Likewise.
17842         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17843         * NEWS: Mention the change.
17844         Reported by Michael Gold <mgold@ncf.ca>.
17845
17846 2009-01-23  Jim Meyering  <meyering@redhat.com>
17847
17848         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17849         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17850         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17851
17852 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17853
17854         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17855         GNU CoreUtils.
17856         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17857         * modules/version-etc (Description): Update.
17858
17859 2009-01-22  Bruno Haible  <bruno@clisp.org>
17860
17861         Cache the C locale object.
17862         * lib/c-strtod.c (c_locale_cache): New variable.
17863         (c_locale): New function.
17864         (C_STRTOD): Use it, and don't call freelocale.
17865         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17866         Suggested by Paolo Bonzini.
17867
17868 2009-01-21  Bruno Haible  <bruno@clisp.org>
17869
17870         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17871         conditions other than overflow.
17872
17873 2009-01-21  Bruno Haible  <bruno@clisp.org>
17874
17875         * lib/c-strtod.c: Include errno.h.
17876         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17877         value from STRTOD_L and STRTOD.
17878
17879 2009-01-21  Bruno Haible  <bruno@clisp.org>
17880         and Jim Meyering  <meyering@redhat.com>
17881
17882         nanosleep: skip configure test (fail it) for apple universal builds
17883         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17884         universal builds, assume that nanosleep does not work.
17885         * modules/nanosleep (Depends-on): Add multiarch.
17886
17887         mktime: skip configure test (fail it) for apple universal builds
17888         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17889         universal builds, assume that mktime does not work.
17890         * modules/mktime (Depends-on): Add multiarch.
17891
17892 2009-01-21  Eric Blake  <ebb9@byu.net>
17893
17894         multiarch: avoid expand-before-require warning
17895         * modules/multiarch (configure.ac): Require, rather than expand,
17896         gl_MULTIARCH.
17897         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17898         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17899         enforce that all clients require it.  Partial reversion of
17900         2008-12-29 patch.
17901
17902         error: avoid expand-before-require warning
17903         * modules/errno (configure.ac): Require, rather than expand,
17904         gl_HEADER_ERRNO_H.
17905         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
17906         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
17907         enforce that all clients require it.
17908
17909         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
17910         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
17911         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
17912         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
17913
17914 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
17915
17916         Revert:
17917         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17918
17919         regex: do not depend on obsolete modules.
17920         * modules/regex: Remove memcmp and memmove.
17921
17922 2009-01-20  Bruno Haible  <bruno@clisp.org>
17923
17924         Make the 'link' module link on Windows NT 4.
17925         * lib/link.c (_WIN32_WINNT): Don't define.
17926         (CreateHardLinkFuncType): New type.
17927         (CreateHardLinkFunc, initialized): New variables.
17928         (initialize): New function.
17929         (link): Invoke CreateHardLink indirectly through the function pointer.
17930
17931 2009-01-20  Bruno Haible  <bruno@clisp.org>
17932
17933         Fix compilation failure on mingw.
17934         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
17935
17936 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
17937
17938         * doc/c-strtod.texi: Mention a couple of restrictions.
17939
17940 2009-01-20  Jim Meyering  <meyering@redhat.com>
17941
17942         gettimeofday: move more declarations out of functions
17943         * lib/gettimeofday.c: Move extern declarations of tzset and
17944         gmtime out of containing functions.  Prompted by Bruno Haible.
17945
17946 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17947
17948         regex: do not depend on obsolete modules.
17949         * modules/regex: Remove memcmp and memmove.
17950
17951 2009-01-19  Bruno Haible  <bruno@clisp.org>
17952
17953         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17954         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
17955         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17956         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
17957         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
17958
17959 2009-01-19  Bruno Haible  <bruno@clisp.org>
17960
17961         * tests/test-link.c: Include <errno.h>.
17962         (main): Exit with code 77 when a hard link cannot be created due to
17963         the file system.
17964         * tests/test-link.sh: Skip test when a hard link cannot be created due
17965         to the file system.
17966         Suggested by Eric Blake.
17967
17968 2009-01-19  Martin Lambers  <marlam@marlam.de>
17969
17970         * modules/link-tests: New file.
17971         * tests/test-link.sh: New file.
17972         * tests/test-link.c: New file.
17973
17974 2009-01-19  Eric Blake  <ebb9@byu.net>
17975
17976         doc: mention another function added in cygwin 1.7.0
17977         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
17978         Another new function in cygwin 1.7.
17979
17980 2009-01-19  Bruno Haible  <bruno@clisp.org>
17981
17982         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17983         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
17984         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
17985         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17986         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17987         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
17988         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17989         * m4/md4.m4 (gl_MD4): Likewise.
17990         * m4/md5.m4 (gl_MD5): Likewise.
17991         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
17992         * m4/sha1.m4 (gl_SHA1): Likewise.
17993         * m4/sha256.m4 (gl_SHA256): Likewise.
17994         * m4/sha512.m4 (gl_SHA512): Likewise.
17995
17996 2009-01-19  Bruno Haible  <bruno@clisp.org>
17997
17998         * modules/uniname/uniname-tests (Depends-on): Add progname.
17999         * tests/uniname/test-uninames.c: Include progname.h.
18000         (main): Call set_program_name.
18001
18002         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
18003         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
18004         (main): Call set_program_name.
18005
18006         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
18007         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
18008         (main): Call set_program_name.
18009
18010         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
18011         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
18012         (main): Call set_program_name.
18013
18014         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
18015         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
18016         (main): Call set_program_name.
18017
18018         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
18019         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
18020         (main): Call set_program_name.
18021
18022         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
18023         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
18024         (main): Call set_program_name.
18025
18026         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
18027         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
18028         (main): Call set_program_name.
18029
18030         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
18031         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
18032         (main): Call set_program_name.
18033
18034 2009-01-19  Eric Blake  <ebb9@byu.net>
18035
18036         test-unistd: test previous patch
18037         * tests/test-unistd.c: Test *_FILENO macros.
18038
18039         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
18040         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18041         Guarantee a definition.
18042         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
18043         * modules/unistd-safer (Depends-on): Add dependency on unistd.
18044         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
18045         * lib/dup-safer.c (STDERR_FILENO): Likewise.
18046         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18047         Likewise.
18048         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
18049         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
18050         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18051         Likewise.
18052         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
18053         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
18054         (STDERR_FILENO): Likewise.
18055         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
18056         (STDERR_FILENO): Likewise.
18057         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
18058         (STDERR_FILENO): Likewise.
18059         Reported by Elbert Pol.
18060
18061 2009-01-19  Eric Blake  <ebb9@byu.net>
18062
18063         doc: mention more functions added in cygwin 1.7.0
18064         * doc/posix-functions/abort.texi (abort): Update wording related
18065         to cygwin.
18066         * doc/posix-functions/daylight.texi (daylight): Likewise.
18067         * doc/posix-functions/optarg.texi (optarg): Likewise.
18068         * doc/posix-functions/optarg.texi (opterr): Likewise.
18069         * doc/posix-functions/optarg.texi (optind): Likewise.
18070         * doc/posix-functions/optarg.texi (optopt): Likewise.
18071         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
18072         worked in 1.5.x, and was withdrawn in 1.7.
18073         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18074         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
18075         cygwin versions.
18076         * doc/posix-functions/perror.texi (perror): Likewise.
18077         * doc/posix-functions/printf.texi (printf): Likewise.
18078         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
18079         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
18080         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18081         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18082         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18083         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
18084         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18085         Likewise.
18086         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18087         Likewise.
18088         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
18089         this function.
18090         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
18091         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
18092         Likewise.
18093         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
18094         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
18095         * doc/posix-functions/confstr.texi (confstr): Likewise.
18096         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
18097         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
18098         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
18099         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
18100         * doc/posix-functions/fputws.texi (fputws): Likewise.
18101         * doc/posix-functions/fwide.texi (fwide): Likewise.
18102         * doc/posix-functions/getwc.texi (getwc): Likewise.
18103         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
18104         * doc/posix-functions/putwc.texi (putwc): Likewise.
18105         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18106         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
18107         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
18108         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18109         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
18110         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
18111         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
18112         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
18113         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
18114         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
18115         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
18116
18117 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18118
18119         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
18120         * lib/ioctl.c: Include <sys/ioctl.h>.
18121
18122 2009-01-19  Simon Josefsson  <simon@josefsson.org>
18123
18124         * modules/getdate-tests (Depends-on): Add progname.
18125         * tests/test-getdate.c: Use progname module, to avoid link errors
18126         on non-glibc systems.
18127
18128 2009-01-18  Simon Josefsson  <simon@josefsson.org>
18129
18130         * modules/filenamecat-tests (Depends-on): Add progname.
18131         * modules/fstrcmp-tests (Depends-on): Likewise.
18132
18133         * tests/test-filenamecat.c: Use progname module, to avoid link
18134         errors on non-glibc systems.
18135         * tests/test-fstrcmp.c: Likewise.
18136
18137 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18138
18139         gettimeofday: avoid warning: nested extern declaration of 'localtime'
18140         * lib/gettimeofday.c: Move extern declaration out of function.
18141
18142 2009-01-18  Bruno Haible  <bruno@clisp.org>
18143
18144         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
18145         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
18146         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
18147
18148 2009-01-18  Bruno Haible  <bruno@clisp.org>
18149
18150         * lib/strftime.c (MEMPCPY): Remove unused macro.
18151         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
18152
18153 2009-01-18  Martin Lambers  <marlam@marlam.de>
18154
18155         New module 'link'.
18156         * lib/unistd.in.h (link): New declaration.
18157         * lib/link.c: New file.
18158         * m4/link.m4: New file.
18159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
18160         HAVE_LINK.
18161         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
18162         * modules/link: New file.
18163         * doc/posix-functions/link.texi: Mention the new module.
18164
18165 2009-01-18  Bruno Haible  <bruno@clisp.org>
18166
18167         * tests/test-avltree_list.c (main): Call set_program_name.
18168         * tests/test-avltree_oset.c (main): Likewise.
18169         * tests/test-obstack-printf.c: Include progname.h.
18170         (main): Call set_program_name.
18171         * tests/test-quotearg.c: Include progname.h.
18172         (main): Call set_program_name.
18173         * tests/test-xmemdup0.c: Include progname.h.
18174         (main): Call set_program_name.
18175
18176 2009-01-18  Bruno Haible  <bruno@clisp.org>
18177
18178         New module 'alphasort'.
18179         * lib/dirent.in.h (alphasort): New declaration.
18180         * lib/alphasort.c: New file, from glibc with modifications.
18181         * m4/alphasort.m4: New file.
18182         * modules/alphasort: New file.
18183         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
18184         HAVE_ALPHASORT.
18185         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
18186         HAVE_ALPHASORT.
18187         * doc/posix-functions/alphasort.texi: Mention the new module and the
18188         portability problems.
18189
18190 2009-01-18  Bruno Haible  <bruno@clisp.org>
18191
18192         New module 'scandir'.
18193         * lib/dirent.in.h (scandir): New declaration.
18194         * lib/scandir.c: New file, from glibc with modifications.
18195         * m4/scandir.m4: New file.
18196         * modules/scandir: New file.
18197         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
18198         HAVE_SCANDIR.
18199         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
18200         HAVE_SCANDIR.
18201         * doc/posix-functions/scandir.texi: Mention the new module and the
18202         portability problems.
18203
18204 2009-01-17  Bruno Haible  <bruno@clisp.org>
18205
18206         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
18207         Update documentation.
18208         (func_remove_suffix): Escape all dots in the suffix. Update
18209         documentation.
18210         (func_filter_filelist): Update documentation.
18211         Reported by Ralf Wildenhues.
18212
18213 2009-01-17  Bruno Haible  <bruno@clisp.org>
18214
18215         * modules/dprintf-posix-tests: New file.
18216         * tests/test-dprintf-posix.sh: New file.
18217         * tests/test-dprintf-posix.c: New file.
18218
18219         New modules 'dprintf', 'dprintf-posix'.
18220         * lib/stdio.in.h (dprintf): New declaration.
18221         * lib/dprintf.c: New file.
18222         * m4/dprintf.m4: New file.
18223         * m4/dprintf-posix.m4: New file.
18224         * modules/dprintf: New file.
18225         * modules/dprintf-posix: New file.
18226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18227         HAVE_DPRINTF, REPLACE_DPRINTF.
18228         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18229         HAVE_DPRINTF, REPLACE_DPRINTF.
18230         * doc/posix-functions/dprintf.texi: Mention the new modules.
18231
18232 2009-01-17  Bruno Haible  <bruno@clisp.org>
18233
18234         * modules/vdprintf-posix-tests: New file.
18235         * tests/test-vdprintf-posix.sh: New file.
18236         * tests/test-vdprintf-posix.c: New file.
18237
18238         New modules 'vdprintf', 'vdprintf-posix'.
18239         * lib/stdio.in.h (vdprintf): New declaration.
18240         * lib/vdprintf.c: New file.
18241         * m4/vdprintf.m4: New file.
18242         * m4/vdprintf-posix.m4: New file.
18243         * modules/vdprintf: New file.
18244         * modules/vdprintf-posix: New file.
18245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18246         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18247         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18248         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18249         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18250
18251 2009-01-17  Bruno Haible  <bruno@clisp.org>
18252
18253         Fix replacement of fopen on mingw.
18254         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18255         mingw.
18256
18257 2009-01-17  Bruno Haible  <bruno@clisp.org>
18258
18259         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18260         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18261
18262 2009-01-17  Bruno Haible  <bruno@clisp.org>
18263
18264         Avoid test-fflush2.sh failure on mingw.
18265         * tests/test-fflush2.c: Include binary-io.h.
18266         (main): Put standard input into binary mode.
18267         * modules/fflush-tests (Depends-on): Add binary-io.
18268
18269 2009-01-17  Bruno Haible  <bruno@clisp.org>
18270
18271         * lib/wchar.in.h: In another particular situation, include only the
18272         system's <wchar.h> file.
18273         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18274         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18275         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18276
18277 2009-01-17  Bruno Haible  <bruno@clisp.org>
18278
18279         Support for stripping executables in --enable-relocatable.
18280         * build-aux/install-reloc: Expect one more argument, or an environment
18281         variable RELOC_STRIP_PROG. If set, strip the destination program and
18282         its wrapper.
18283         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18284         RELOC_STRIP_PROG.
18285         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18286         to set RELOCATABLE_STRIP.
18287         * NEWS: Mention the new Makefile requirement.
18288
18289 2009-01-17  Bruno Haible  <bruno@clisp.org>
18290
18291         * build-aux/install-reloc: Remove debugging information left over by
18292         C compiler on MacOS X.
18293
18294 2009-01-17  Bruno Haible  <bruno@clisp.org>
18295
18296         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18297         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18298         _NSGetExecutablePath.
18299
18300 2009-01-16  Jim Meyering  <meyering@redhat.com>
18301
18302         strerror: avoid warnings about discarding "const"
18303         * lib/strerror.c (rpl_strerror): Instead of returning a const
18304         string from each and every "case", use a variable, and add a single
18305         cast after the switch.
18306
18307 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18308
18309         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18310
18311 2009-01-16  Bruno Haible  <bruno@clisp.org>
18312
18313         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18314         array initializer syntax that also works in C++ mode.
18315         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18316
18317 2009-01-16  Jim Meyering  <meyering@redhat.com>
18318
18319         poll: suppress a warning
18320         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18321         to ignore "...unsigned expression < 0 is always false" warnings.
18322
18323 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18324
18325         poll: remove declarations of unused variables
18326         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18327         sockbuf and optlen.
18328
18329 2009-01-15  Bruno Haible  <bruno@clisp.org>
18330
18331         Make fflush-after-ungetc POSIX compliant on BSD systems.
18332         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18333         (clear_ungetc_buffer): Implement also for other systems.
18334         (rpl_fflush): On glibc systems, invoke
18335         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18336         clear_ungetc_buffer after fetching the stream's position, not before.
18337
18338 2009-01-15  Bruno Haible  <bruno@clisp.org>
18339
18340         Make fflush-after-ungetc POSIX compliant on glibc systems.
18341         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18342         after ungetc.
18343         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18344         (rpl_fflush): On glibc systems, simply call the system's fflush
18345         function after clearing the ungetc buffer.
18346         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18347         Instead, lseek only to the end of file, then use the system's fseeko
18348         for the rest. On glibc systems, reset the EOF indicator bit.
18349
18350 2009-01-15  Jim Meyering  <meyering@redhat.com>
18351
18352         openmp.m4: revert quote-adding change, for portability to older autoconf
18353         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18354         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18355         Simon Josefsson noticed the problem when using autoconf-2.61.
18356
18357 2009-01-15  Bruno Haible  <bruno@clisp.org>
18358
18359         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18360         * tests/test-fflush2.c (ASSERT): Always fail.
18361         (main): Add two tests for fflush() after ungetc(), taking into account
18362         the Austin Group's clarification.
18363         Suggested by Eric Blake.
18364
18365 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18366
18367         mktime.m4: remove K&R-style function prototypes
18368         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18369         for the Sun C++ compiler.
18370
18371 2009-01-14  Bruno Haible  <bruno@clisp.org>
18372
18373         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18374         while including <wchar.h>.
18375         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18376         the system's <wchar.h> file.
18377         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18378
18379 2009-01-14  Bruno Haible  <bruno@clisp.org>
18380
18381         * m4/csharp.m4: Don't mention gettext on the serial number line.
18382         * m4/csharpexec.m4: Likewise.
18383         * m4/eaccess.m4: Likewise.
18384         * m4/javaexec.m4: Likewise.
18385         * m4/sig_atomic_t.m4: Likewise.
18386         * m4/tmpdir.m4: Likewise.
18387         * m4/intldir.m4: Bump gettext version.
18388         * m4/lib-ld.m4: Likewise.
18389
18390 2009-01-14  Bruno Haible  <bruno@clisp.org>
18391
18392         * lib/progname.c (set_program_name): Add more comments.
18393         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18394
18395 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18396
18397         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18398         were sys/stat.h does not define it.
18399
18400 2009-01-14  Jim Meyering  <meyering@redhat.com>
18401
18402         many *.m4 files: improve m4 quoting
18403         99% of this change was performed by running the following commands:
18404         git ls-files | grep '\.m4$' | xargs perl -pi \
18405           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18406           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18407           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18408           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18409         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18410         The remainder were to add Copyright dates, increment serial numbers,
18411         undo some changes in comments, exclude m4/intl.m4, and add quotes
18412         around the "1" in ",1" where the unusual spacing prohibited the
18413         above regexps from doing the job.  For more details, see
18414         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18415         * m4/acl.m4: Modified.
18416         * m4/afs.m4: Likewise.
18417         * m4/alloca.m4: Likewise.
18418         * m4/argp.m4: Likewise.
18419         * m4/argz.m4: Likewise.
18420         * m4/atexit.m4: Likewise.
18421         * m4/bison-i18n.m4: Likewise.
18422         * m4/bison.m4: Likewise.
18423         * m4/byteswap.m4: Likewise.
18424         * m4/c-stack.m4: Likewise.
18425         * m4/c-strtod.m4: Likewise.
18426         * m4/calloc.m4: Likewise.
18427         * m4/canonicalize-lgpl.m4: Likewise.
18428         * m4/chown.m4: Likewise.
18429         * m4/clock_time.m4: Likewise.
18430         * m4/codeset.m4: Likewise.
18431         * m4/copy-file.m4: Likewise.
18432         * m4/csharp.m4: Likewise.
18433         * m4/csharpcomp.m4: Likewise.
18434         * m4/csharpexec.m4: Likewise.
18435         * m4/d-ino.m4: Likewise.
18436         * m4/d-type.m4: Likewise.
18437         * m4/dirfd.m4: Likewise.
18438         * m4/double-slash-root.m4: Likewise.
18439         * m4/eaccess.m4: Likewise.
18440         * m4/eealloc.m4: Likewise.
18441         * m4/environ.m4: Likewise.
18442         * m4/errno_h.m4: Likewise.
18443         * m4/euidaccess.m4: Likewise.
18444         * m4/execute.m4: Likewise.
18445         * m4/fatal-signal.m4: Likewise.
18446         * m4/fchdir.m4: Likewise.
18447         * m4/fcntl_h.m4: Likewise.
18448         * m4/fileblocks.m4: Likewise.
18449         * m4/filenamecat.m4: Likewise.
18450         * m4/findprog.m4: Likewise.
18451         * m4/flexmember.m4: Likewise.
18452         * m4/fnmatch.m4: Likewise.
18453         * m4/fopen.m4: Likewise.
18454         * m4/fpending.m4: Likewise.
18455         * m4/fprintf-posix.m4: Likewise.
18456         * m4/free.m4: Likewise.
18457         * m4/frexp.m4: Likewise.
18458         * m4/frexpl.m4: Likewise.
18459         * m4/fsusage.m4: Likewise.
18460         * m4/ftruncate.m4: Likewise.
18461         * m4/gc-camellia.m4: Likewise.
18462         * m4/gc-random.m4: Likewise.
18463         * m4/gc.m4: Likewise.
18464         * m4/getaddrinfo.m4: Likewise.
18465         * m4/getcwd-abort-bug.m4: Likewise.
18466         * m4/getcwd-path-max.m4: Likewise.
18467         * m4/getdate.m4: Likewise.
18468         * m4/getdomainname.m4: Likewise.
18469         * m4/getgroups.m4: Likewise.
18470         * m4/gethostname.m4: Likewise.
18471         * m4/gethrxtime.m4: Likewise.
18472         * m4/getline.m4: Likewise.
18473         * m4/getloadavg.m4: Likewise.
18474         * m4/getndelim2.m4: Likewise.
18475         * m4/getpass.m4: Likewise.
18476         * m4/gettext.m4: Likewise.
18477         * m4/gettime.m4: Likewise.
18478         * m4/gettimeofday.m4: Likewise.
18479         * m4/gnulib-common.m4: Likewise.
18480         * m4/group-member.m4: Likewise.
18481         * m4/host-os.m4: Likewise.
18482         * m4/iconv.m4: Likewise.
18483         * m4/iconv_open.m4: Likewise.
18484         * m4/inet_ntop.m4: Likewise.
18485         * m4/inet_pton.m4: Likewise.
18486         * m4/inline.m4: Likewise.
18487         * m4/intldir.m4: Likewise.
18488         * m4/intlmacosx.m4: Likewise.
18489         * m4/intmax.m4: Likewise.
18490         * m4/intmax_t.m4: Likewise.
18491         * m4/inttypes.m4: Likewise.
18492         * m4/inttypes_h.m4: Likewise.
18493         * m4/inttypes-pri.m4: Likewise.
18494         * m4/isapipe.m4: Likewise.
18495         * m4/isnand.m4: Likewise.
18496         * m4/isnanf.m4: Likewise.
18497         * m4/isnanl.m4: Likewise.
18498         * m4/javacomp.m4: Likewise.
18499         * m4/javaexec.m4: Likewise.
18500         * m4/jm-winsz1.m4: Likewise.
18501         * m4/jm-winsz2.m4: Likewise.
18502         * m4/lchown.m4: Likewise.
18503         * m4/lcmessage.m4: Likewise.
18504         * m4/ldexpl.m4: Likewise.
18505         * m4/lib-ld.m4: Likewise.
18506         * m4/lib-link.m4: Likewise.
18507         * m4/libsigsegv.m4: Likewise.
18508         * m4/link-follow.m4: Likewise.
18509         * m4/localcharset.m4: Likewise.
18510         * m4/locale-fr.m4: Likewise.
18511         * m4/locale-ja.m4: Likewise.
18512         * m4/locale-tr.m4: Likewise.
18513         * m4/locale-zh.m4: Likewise.
18514         * m4/lock.m4: Likewise.
18515         * m4/longlong.m4: Likewise.
18516         * m4/ls-mntd-fs.m4: Likewise.
18517         * m4/lstat.m4: Likewise.
18518         * m4/malloc.m4: Likewise.
18519         * m4/mathl.m4: Likewise.
18520         * m4/mbrtowc.m4: Likewise.
18521         * m4/mbstate_t.m4: Likewise.
18522         * m4/mbswidth.m4: Likewise.
18523         * m4/memchr.m4: Likewise.
18524         * m4/memcmp.m4: Likewise.
18525         * m4/memcpy.m4: Likewise.
18526         * m4/memmem.m4: Likewise.
18527         * m4/memmove.m4: Likewise.
18528         * m4/mempcpy.m4: Likewise.
18529         * m4/memrchr.m4: Likewise.
18530         * m4/memset.m4: Likewise.
18531         * m4/minmax.m4: Likewise.
18532         * m4/mkdir-slash.m4: Likewise.
18533         * m4/mkdtemp.m4: Likewise.
18534         * m4/mktime.m4: Likewise.
18535         * m4/mmap-anon.m4: Likewise.
18536         * m4/mountlist.m4: Likewise.
18537         * m4/nanosleep.m4: Likewise.
18538         * m4/nls.m4: Likewise.
18539         * m4/nocrash.m4: Likewise.
18540         * m4/open.m4: Likewise.
18541         * m4/openat.m4: Likewise.
18542         * m4/openmp.m4: Likewise.
18543         * m4/pathmax.m4: Likewise.
18544         * m4/perl.m4: Likewise.
18545         * m4/physmem.m4: Likewise.
18546         * m4/pipe.m4: Likewise.
18547         * m4/po.m4: Likewise.
18548         * m4/poll.m4: Likewise.
18549         * m4/posixtm.m4: Likewise.
18550         * m4/posixver.m4: Likewise.
18551         * m4/printf-frexp.m4: Likewise.
18552         * m4/printf-frexpl.m4: Likewise.
18553         * m4/printf-posix.m4: Likewise.
18554         * m4/printf-posix-rpl.m4: Likewise.
18555         * m4/printf.m4: Likewise.
18556         * m4/progtest.m4: Likewise.
18557         * m4/putenv.m4: Likewise.
18558         * m4/readline.m4: Likewise.
18559         * m4/readlink.m4: Likewise.
18560         * m4/readutmp.m4: Likewise.
18561         * m4/realloc.m4: Likewise.
18562         * m4/regex.m4: Likewise.
18563         * m4/relocatable.m4: Likewise.
18564         * m4/relocatable-lib.m4: Likewise.
18565         * m4/rename-dest-slash.m4: Likewise.
18566         * m4/rename.m4: Likewise.
18567         * m4/rmdir-errno.m4: Likewise.
18568         * m4/rmdir.m4: Likewise.
18569         * m4/roundf.m4: Likewise.
18570         * m4/roundl.m4: Likewise.
18571         * m4/rpmatch.m4: Likewise.
18572         * m4/save-cwd.m4: Likewise.
18573         * m4/selinux-selinux-h.m4: Likewise.
18574         * m4/setenv.m4: Likewise.
18575         * m4/settime.m4: Likewise.
18576         * m4/sig2str.m4: Likewise.
18577         * m4/sig_atomic_t.m4: Likewise.
18578         * m4/signalblocking.m4: Likewise.
18579         * m4/signbit.m4: Likewise.
18580         * m4/sigpipe.m4: Likewise.
18581         * m4/sockets.m4: Likewise.
18582         * m4/sockpfaf.m4: Likewise.
18583         * m4/st_dm_mode.m4: Likewise.
18584         * m4/stat-time.m4: Likewise.
18585         * m4/stdbool.m4: Likewise.
18586         * m4/stdint.m4: Likewise.
18587         * m4/stdint_h.m4: Likewise.
18588         * m4/stpcpy.m4: Likewise.
18589         * m4/stpncpy.m4: Likewise.
18590         * m4/strcase.m4: Likewise.
18591         * m4/strchrnul.m4: Likewise.
18592         * m4/strcspn.m4: Likewise.
18593         * m4/strdup.m4: Likewise.
18594         * m4/strftime.m4: Likewise.
18595         * m4/strndup.m4: Likewise.
18596         * m4/strnlen.m4: Likewise.
18597         * m4/strpbrk.m4: Likewise.
18598         * m4/strptime.m4: Likewise.
18599         * m4/strsep.m4: Likewise.
18600         * m4/strtod.m4: Likewise.
18601         * m4/strtoimax.m4: Likewise.
18602         * m4/strtok_r.m4: Likewise.
18603         * m4/strtol.m4: Likewise.
18604         * m4/strtoll.m4: Likewise.
18605         * m4/strtoul.m4: Likewise.
18606         * m4/strtoull.m4: Likewise.
18607         * m4/strtoumax.m4: Likewise.
18608         * m4/strverscmp.m4: Likewise.
18609         * m4/threadlib.m4: Likewise.
18610         * m4/timegm.m4: Likewise.
18611         * m4/tm_gmtoff.m4: Likewise.
18612         * m4/tmpdir.m4: Likewise.
18613         * m4/tmpfile.m4: Likewise.
18614         * m4/tzset.m4: Likewise.
18615         * m4/uintmax_t.m4: Likewise.
18616         * m4/unlinkdir.m4: Likewise.
18617         * m4/unlocked-io.m4: Likewise.
18618         * m4/uptime.m4: Likewise.
18619         * m4/userspec.m4: Likewise.
18620         * m4/utimbuf.m4: Likewise.
18621         * m4/utime.m4: Likewise.
18622         * m4/utimes-null.m4: Likewise.
18623         * m4/utimes.m4: Likewise.
18624         * m4/vararrays.m4: Likewise.
18625         * m4/vasnprintf.m4: Likewise.
18626         * m4/vfprintf-posix.m4: Likewise.
18627         * m4/vprintf-posix.m4: Likewise.
18628         * m4/wait-process.m4: Likewise.
18629         * m4/wchar_t.m4: Likewise.
18630         * m4/wint_t.m4: Likewise.
18631         * m4/write-any-file.m4: Likewise.
18632         * m4/yield.m4: Likewise.
18633
18634 2009-01-13  Bruno Haible  <bruno@clisp.org>
18635
18636         Avoid test-copy-file.sh failures when ACL support insufficient.
18637         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18638         TESTS_ENVIRONMENT.
18639         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18640         Reported by Jim Meyering.
18641
18642 2009-01-13  Bruno Haible  <bruno@clisp.org>
18643
18644         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18645         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18646         * modules/unistdio/u8-printf-parse (Files): Likewise.
18647         * modules/unistdio/u32-printf-parse (Files): Likewise.
18648         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18649
18650 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18651
18652         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18653         and m4/inttypes_h.m4 too.
18654
18655 2009-01-12  Eric Blake  <ebb9@byu.net>
18656
18657         tests: IRIX 6.2 cc can't compile -0.0 into .data
18658         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18659         rather than at compile-time.
18660         * tests/test-floorl.c (minus_zero): Likewise.
18661         * tests/test-frexpl.c (minus_zero): Likewise.
18662         * tests/test-isnan.c (minus_zerol): Likewise.
18663         * tests/test-isnanl.h (minus_zero): Likewise.
18664         * tests/test-ldexpl.c (minus_zero): Likewise.
18665         * tests/test-roundl.c (minus_zero): Likewise.
18666         * tests/test-signbit.c (minus_zerol): Likewise.
18667         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18668         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18669         * tests/test-truncl.c (minus_zero): Likewise.
18670         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18671         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18672         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18673
18674 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18675
18676         regex: fix glibc bug 9697
18677         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18678         handling.
18679
18680 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18681
18682         regex: fix glibc bug 697
18683         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18684         being NULL also if there are no backreferences.
18685
18686 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18687
18688         regex: merge glibc changes
18689         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18690         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18691         re_string_skip_chars, re_string_reconstruct): Likewise.
18692         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18693
18694 2009-01-07  Jim Meyering  <meyering@redhat.com>
18695
18696         poll: filter through cppi
18697         * lib/poll.c: Indent cpp directives to reflect nesting.
18698
18699 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18700
18701         poll: don't return uninitialized
18702         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18703
18704 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18705
18706         avoid compile failure on AIX 6.1
18707         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18708         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18709
18710 2009-01-04  Jim Meyering  <meyering@redhat.com>
18711
18712         remove duplicate inclusion of <stdio.h>
18713         * tests/test-fprintf-posix.c: Likewise.
18714         * tests/test-printf-posix.c: Likewise.
18715         * tests/test-snprintf-posix.c: Likewise.
18716         * tests/test-sprintf-posix.c: Likewise.
18717         * tests/test-vasprintf-posix.c: Likewise.
18718         * tests/test-vfprintf-posix.c: Likewise.
18719         * tests/test-vprintf-posix.c: Likewise.
18720         * tests/test-vsnprintf-posix.c: Likewise.
18721         * tests/test-vsprintf-posix.c: Likewise.
18722
18723 2009-01-03  Jim Meyering  <meyering@redhat.com>
18724
18725         gnulib-tool: fix sed-based filtering
18726         * gnulib-tool (func_filter_filelist): Remove extra backslash
18727         in sed_fff_filter definition.
18728
18729 2009-01-02  Jim Meyering  <meyering@redhat.com>
18730
18731         strftime: avoid compilation failure on Solaris 2.6
18732         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18733         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18734         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18735         be available.  Reported by Tom G. Christensen.  Details in
18736         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18737
18738 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18739             Bruno Haible  <bruno@clisp.org>
18740
18741         Speed up gnulib-tool by doing more string processing through shell
18742         built-ins.
18743         * gnulib-tool (fast_func_append): New variable.
18744         (func_remove_prefix, func_remove_suffix): New functions.
18745         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18746         (func_filter_filelist): New function.
18747         (func_get_dependencies): Use func_remove_suffix instead of sed.
18748         (func_get_automake_snippet): Use func_filter_filelist instead of a
18749         subshell and sed invocation.
18750
18751 2009-01-01  Bruno Haible  <bruno@clisp.org>
18752
18753         Fix a security bug.
18754         * gnulib-tool (func_import, import, update): Don't allow the characters
18755         '"', '$', '`', '\' in macro arguments that become part of commands that
18756         are evaluated.
18757
18758 2009-01-01  Bruno Haible  <bruno@clisp.org>
18759
18760         * gnulib-tool (func_reset_sigpipe): Add more comments.
18761
18762 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18763
18764         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18765         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18766         already know the answer.
18767
18768 2009-01-01  Jim Meyering  <meyering@redhat.com>
18769
18770         * lib/version-etc.c (version_etc_va): Update copyright year.
18771
18772 2008-12-30  Bruno Haible  <bruno@clisp.org>
18773
18774         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18775         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18776         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18777
18778 2008-12-29  Eric Blake  <ebb9@byu.net>
18779
18780         multiarch: avoid autoconf AC_REQUIRE bug
18781         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18782         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18783         2.63 and older.
18784         Reported by Bruno Haible, and analyzed in
18785         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18786
18787 2008-12-29  Bruno Haible  <bruno@clisp.org>
18788
18789         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18790         files in subdirectories correctly.
18791         Reported by Ralf Wildenhues.
18792
18793 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18794
18795         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18796         rather than 'join FILE -', for Solaris join.
18797
18798 2008-12-29  Bruno Haible  <bruno@clisp.org>
18799
18800         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18801         quoting.
18802         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18803         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18804         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18805         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18806         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18807         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18808         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18809         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18810         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18811         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18812         * m4/nls.m4 (AM_NLS): Likewise.
18813         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18814         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18815         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18816         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18817         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18818         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18819         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18820         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18821         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18822         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18823         * m4/xsize.m4 (gl_XSIZE): Likewise.
18824         Suggested by Jim Meyering.
18825
18826 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18827
18828         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18829         * lib/parse-duration.c: use a switch instead of cascading if's.
18830
18831 2008-12-29  Eric Blake  <ebb9@byu.net>
18832
18833         wchar.h: supply WEOF on Irix 5.3
18834         * lib/wchar.in.h (wint_t): Also supply WEOF.
18835         * lib/wctype.in.h (wint_t): Likewise.
18836         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18837         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18838         Reported by Tom G. Christensen.
18839
18840 2008-12-26  Bruno Haible  <bruno@clisp.org>
18841
18842         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18843         i486, i586, i686.
18844
18845 2008-12-26  Bruno Haible  <bruno@clisp.org>
18846
18847         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18848
18849 2008-12-26  Bruno Haible  <bruno@clisp.org>
18850
18851         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18852         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18853         not __STDC_CONSTANT_MACROS.
18854         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18855
18856 2008-12-25  Bruno Haible  <bruno@clisp.org>
18857
18858         Add support for universal builds to vasnprintf.
18859         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18860         universal builds, guess no.
18861         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18862         * modules/vasprintf-posix (Depends-on): Likewise.
18863         * modules/fprintf-posix (Depends-on): Likewise.
18864         * modules/vfprintf-posix (Depends-on): Likewise.
18865         * modules/snprintf-posix (Depends-on): Likewise.
18866         * modules/vsnprintf-posix (Depends-on): Likewise.
18867         * modules/sprintf-posix (Depends-on): Likewise.
18868         * modules/vsprintf-posix (Depends-on): Likewise.
18869         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18870         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18871         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18872         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18873         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18874         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18875         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18876
18877         Add support for universal builds to <inttypes.h>.
18878         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18879         _SCNu64_PREFIX): In Apple
18880         universal builds, define directly, using _LP64.
18881         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18882         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18883         * modules/inttypes (Depends-on): Add multiarch.
18884         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18885
18886         Add support for universal builds to <stdint.h>.
18887         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18888         universal builds, define directly, using _LP64.
18889         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18890         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18891         and size_t.
18892         * modules/stdint (Depends-on): Add multiarch.
18893         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18894
18895         New module 'multiarch'.
18896         * modules/multiarch: New file.
18897         * m4/multiarch.m4: New file.
18898
18899 2008-12-25  Bruno Haible  <bruno@clisp.org>
18900
18901         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
18902
18903 2008-12-25  Bruno Haible  <bruno@clisp.org>
18904
18905         * modules/btowc (License): Relicense under LGPLv2+.
18906         * modules/mbsinit (License): Likewise.
18907         * modules/mbrtowc (License): Likewise.
18908         * modules/wcrtomb (License): Likewise.
18909         * modules/streq (License): Likewise.
18910         Reported by David Lutterkort <lutter@redhat.com>.
18911
18912 2008-12-23  Bruno Haible  <bruno@clisp.org>
18913
18914         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
18915
18916 2008-12-23  Bruno Haible  <bruno@clisp.org>
18917
18918         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
18919         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
18920         GETADDRINFO_LIB, not in LIBS.
18921         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
18922         * modules/canon-host (Link): Likewise.
18923         * NEWS: Mention the change.
18924         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
18925         GETADDRINFO_LIB.
18926
18927 2008-12-22  Bruno Haible  <bruno@clisp.org>
18928
18929         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
18930         * doc/posix-functions/iswalpha_l.texi: Likewise.
18931         * doc/posix-functions/iswblank_l.texi: Likewise.
18932         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18933         * doc/posix-functions/iswctype_l.texi: Likewise.
18934         * doc/posix-functions/iswdigit_l.texi: Likewise.
18935         * doc/posix-functions/iswgraph_l.texi: Likewise.
18936         * doc/posix-functions/iswlower_l.texi: Likewise.
18937         * doc/posix-functions/iswprint_l.texi: Likewise.
18938         * doc/posix-functions/iswpunct_l.texi: Likewise.
18939         * doc/posix-functions/iswspace_l.texi: Likewise.
18940         * doc/posix-functions/iswupper_l.texi: Likewise.
18941         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18942         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
18943         * doc/posix-functions/open_wmemstream.texi: Likewise.
18944         * doc/posix-functions/swscanf.texi: Likewise.
18945         * doc/posix-functions/towctrans_l.texi: Likewise.
18946         * doc/posix-functions/towlower.texi: Likewise.
18947         * doc/posix-functions/towlower_l.texi: Likewise.
18948         * doc/posix-functions/towupper.texi: Likewise.
18949         * doc/posix-functions/towupper_l.texi: Likewise.
18950         * doc/posix-functions/vfwprintf.texi: Likewise.
18951         * doc/posix-functions/vfwscanf.texi: Likewise.
18952         * doc/posix-functions/vswscanf.texi: Likewise.
18953         * doc/posix-functions/vwprintf.texi: Likewise.
18954         * doc/posix-functions/vwscanf.texi: Likewise.
18955         * doc/posix-functions/wcpcpy.texi: Likewise.
18956         * doc/posix-functions/wcpncpy.texi: Likewise.
18957         * doc/posix-functions/wcscasecmp.texi: Likewise.
18958         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
18959         * doc/posix-functions/wcscoll_l.texi: Likewise.
18960         * doc/posix-functions/wcsdup.texi: Likewise.
18961         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18962         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
18963         * doc/posix-functions/wcsnlen.texi: Likewise.
18964         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18965         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18966         * doc/posix-functions/wctrans_l.texi: Likewise.
18967         * doc/posix-functions/wctype_l.texi: Likewise.
18968         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
18969         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
18970         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
18971         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
18972         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
18973         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
18974         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
18975         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
18976         * doc/glibc-functions/wcschrnul.texi: Likewise.
18977         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18978         * doc/glibc-functions/wcstod_l.texi: Likewise.
18979         * doc/glibc-functions/wcstof_l.texi: Likewise.
18980         * doc/glibc-functions/wcstol_l.texi: Likewise.
18981         * doc/glibc-functions/wcstold_l.texi: Likewise.
18982         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18983         * doc/glibc-functions/wcstoq.texi: Likewise.
18984         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18985         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18986         * doc/glibc-functions/wcstouq.texi: Likewise.
18987         * doc/glibc-functions/wmempcpy.texi: Likewise.
18988
18989 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
18990             Eric Blake  <ebb9@byu.net>
18991             Paolo Bonzini  <bonzini@gnu.org>
18992             Bruno Haible  <bruno@clisp.org>
18993
18994         Make c-stack work on Haiku.
18995         * lib/c-stack.c (SA_ONSTACK): Define fallback.
18996         (c_stack_action): Use SA_ONSTACK flag.
18997
18998 2008-12-22  Bruno Haible  <bruno@clisp.org>
18999
19000         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
19001
19002 2008-12-22  Bruno Haible  <bruno@clisp.org>
19003
19004         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
19005         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
19006         being overridden.
19007         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
19008         New macros.
19009         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
19010         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
19011         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
19012         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
19013
19014 2008-12-22  Bruno Haible  <bruno@clisp.org>
19015
19016         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
19017         from test code.
19018
19019 2008-12-22  Eric Blake  <ebb9@byu.net>
19020
19021         Avoid gcc warnings on cygwin.
19022         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
19023         Avoid unused variable.
19024         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
19025         Likewise.
19026
19027 2008-12-22  Bruno Haible  <bruno@clisp.org>
19028
19029         Remove HAVE_MBRTOWC conditionals.
19030         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
19031         (mbscasecmp): Assume mbrtowc function.
19032         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
19033         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
19034         * lib/mbschr.c: Include mbuiter.h unconditionally.
19035         (mbschr): Assume mbrtowc function.
19036         * lib/mbscspn.c: Include mbuiter.h unconditionally.
19037         (mbscspn): Assume mbrtowc function.
19038         * lib/mbslen.c: Include mbuiter.h unconditionally.
19039         (mbslen): Assume mbrtowc function.
19040         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
19041         (mbsncasecmp): Assume mbrtowc function.
19042         * lib/mbsnlen.c: Include mbiter.h unconditionally.
19043         (mbsnlen): Assume mbrtowc function.
19044         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
19045         (mbspbrk): Assume mbrtowc function.
19046         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
19047         (mbspcasecmp): Assume mbrtowc function.
19048         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
19049         (mbsrchr): Assume mbrtowc function.
19050         * lib/mbssep.c: Include mbuiter.h unconditionally.
19051         (mbssep): Assume mbrtowc function.
19052         * lib/mbsspn.c: Include mbuiter.h unconditionally.
19053         (mbsspn): Assume mbrtowc function.
19054         * lib/mbsstr.c: Include mbuiter.h unconditionally.
19055         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
19056         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
19057         (mbstok_r): Assume mbrtowc function.
19058         * lib/propername.c: Include mbuiter.h unconditionally.
19059         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
19060         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
19061         (trim2): Assume mbrtowc function.
19062         * lib/mbswidth.c (mbsinit): Remove fallback definition.
19063         (mbsnwidth): Assume mbrtowc function.
19064         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
19065         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
19066         fallback definitions.
19067         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
19068
19069 2008-12-22  Bruno Haible  <bruno@clisp.org>
19070
19071         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
19072
19073 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
19074
19075         * modules/regex: Request emulations for the mb*/wc* functions we need.
19076         * m4/regex.m4: Don't look for those functions here.
19077         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
19078
19079 2008-12-22  Bruno Haible  <bruno@clisp.org>
19080
19081         * modules/fnmatch (Depends-on): Remove duplicated dependency.
19082
19083 2008-12-21  Bruno Haible  <bruno@clisp.org>
19084
19085         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
19086         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
19087         (Include): Remove conditionalization.
19088         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
19089         (Include): Remove conditionalization.
19090         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
19091         (Include): Remove conditionalization.
19092         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
19093         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19094         * NEWS: Mention the change.
19095         Reported by Alan Hourihane <alanh@fairlite.co.uk>
19096         via Sergey Poznyakoff <gray@gnu.org.ua>.
19097
19098 2008-12-21  Bruno Haible  <bruno@clisp.org>
19099
19100         * MODULES.html.sh (Extended multibyte and wide character utilities
19101         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
19102         wcrtomb, wcsrtombs.
19103         (Support for systems lacking POSIX:2008): Add accept, bind, close,
19104         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
19105         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
19106         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
19107
19108 2008-12-21  Bruno Haible  <bruno@clisp.org>
19109
19110         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
19111
19112 2008-12-21  Bruno Haible  <bruno@clisp.org>
19113
19114         * modules/wcsnrtombs-tests: New file.
19115         * tests/test-wcsnrtombs1.sh: New file.
19116         * tests/test-wcsnrtombs2.sh: New file.
19117         * tests/test-wcsnrtombs3.sh: New file.
19118         * tests/test-wcsnrtombs4.sh: New file.
19119         * tests/test-wcsnrtombs.c: New file.
19120
19121         New module 'wcsnrtombs'.
19122         * lib/wchar.in.h (wcsnrtombs): New declaration.
19123         * lib/wcsnrtombs.c: New file.
19124         * lib/wcsrtombs-state.c: New file.
19125         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
19126         (internal_state): Remove variable.
19127         * m4/wcsnrtombs.m4: New file.
19128         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
19129         compilation units.
19130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
19131         HAVE_WCSNRTOMBS.
19132         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
19133         HAVE_WCSNRTOMBS.
19134         * modules/wcsnrtombs: New file.
19135         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
19136         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
19137
19138 2008-12-21  Bruno Haible  <bruno@clisp.org>
19139
19140         * modules/wcsrtombs-tests: New file.
19141         * tests/test-wcsrtombs1.sh: New file.
19142         * tests/test-wcsrtombs2.sh: New file.
19143         * tests/test-wcsrtombs3.sh: New file.
19144         * tests/test-wcsrtombs4.sh: New file.
19145         * tests/test-wcsrtombs.c: New file.
19146
19147         New module 'wcsrtombs'.
19148         * lib/wchar.in.h (wcsrtombs): New declaration.
19149         * lib/wcsrtombs.c: New file.
19150         * m4/wcsrtombs.m4: New file.
19151         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
19152         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19153         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
19154         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19155         * modules/wcsrtombs: New file.
19156         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
19157         bugs.
19158
19159 2008-12-21  Bruno Haible  <bruno@clisp.org>
19160
19161         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
19162         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
19163         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
19164         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
19165         if not correct.
19166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
19167         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
19168         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19169         m4/locale-zh.m4, m4/codeset.m4.
19170         * doc/posix-functions/wcrtomb.texi: Document the bug.
19171
19172 2008-12-21  Bruno Haible  <bruno@clisp.org>
19173
19174         Work around a btowc() bug on IRIX 6.5.
19175         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
19176         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
19177         REPLACE_WTOBC if not.
19178         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
19179         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
19180         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
19181
19182 2008-12-21  Bruno Haible  <bruno@clisp.org>
19183
19184         * modules/wcrtomb-tests: New file.
19185         * tests/test-wcrtomb.sh: New file.
19186         * tests/test-wcrtomb.c: New file.
19187
19188         New module 'wcrtomb'.
19189         * lib/wchar.in.h (wcrtomb): New declaration.
19190         * lib/wcrtomb.c: New file.
19191         * m4/wcrtomb.m4: New file.
19192         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
19193         HAVE_WCRTOMB.
19194         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
19195         HAVE_WCRTOMB.
19196         * modules/wcrtomb: New file.
19197         * doc/posix-functions/wcrtomb.texi: Mention the new module.
19198
19199 2008-12-21  Bruno Haible  <bruno@clisp.org>
19200
19201         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
19202         * modules/mbsrtowcs (Files): Likewise.
19203         * modules/wctob (Files): Likewise.
19204         * modules/c-strcase-tests (Files): Likewise.
19205         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19206         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19207         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19208         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19209         * modules/vasnprintf-posix-tests (Files): Likewise.
19210
19211 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19212
19213         gitlog-to-changelog: pass all command-line arguments to git-log
19214         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19215         it is sometimes convenient to filter the commits in various ways.
19216         gitlog-to-changelog only allows --since to specify a start date,
19217         but git-log itself supports many other filtering mechanisms.
19218         At the moment, I want to filter by branch name.  Rather than
19219         adding a --branch option to gitlog-to-changelog, it seems more
19220         flexible to simply pass all options directly to git-log and let
19221         git do the work.  Notice that this effectively makes --since a
19222         redundant option for gitlog-to-changelog, but removing it would
19223         require current usage to change since calls would then require
19224         an additional '--'.
19225
19226 2008-12-21  Bruno Haible  <bruno@clisp.org>
19227
19228         * modules/mbsnrtowcs-tests: New file.
19229         * tests/test-mbsnrtowcs1.sh: New file.
19230         * tests/test-mbsnrtowcs2.sh: New file.
19231         * tests/test-mbsnrtowcs3.sh: New file.
19232         * tests/test-mbsnrtowcs4.sh: New file.
19233         * tests/test-mbsnrtowcs.c: New file.
19234
19235         New module 'mbsnrtowcs'.
19236         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19237         * lib/mbsnrtowcs.c: New file.
19238         * lib/mbsrtowcs-state.c: New file.
19239         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19240         (internal_state): Remove variable.
19241         * m4/mbsnrtowcs.m4: New file.
19242         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19243         compilation units.
19244         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19245         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19246         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19247         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19248         * modules/mbsnrtowcs: New file.
19249         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19250         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19251         portability problem.
19252
19253 2008-12-21  Bruno Haible  <bruno@clisp.org>
19254
19255         Work around mbsrtowcs bug.
19256         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19257         (gl_FUNC_MBSRTOWCS): Invoke it.
19258         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19259         m4/locale-zh.m4.
19260         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19261
19262 2008-12-21  Bruno Haible  <bruno@clisp.org>
19263
19264         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19265
19266 2008-12-21  Bruno Haible  <bruno@clisp.org>
19267
19268         Update doc for AIX.
19269         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19270         16-bit wchar_t type.
19271         * doc/posix-functions/btowc.texi: Likewise.
19272         * doc/posix-functions/fgetwc.texi: Likewise.
19273         * doc/posix-functions/fgetws.texi: Likewise.
19274         * doc/posix-functions/fputwc.texi: Likewise.
19275         * doc/posix-functions/fputws.texi: Likewise.
19276         * doc/posix-functions/fwide.texi: Likewise.
19277         * doc/posix-functions/fwprintf.texi: Likewise.
19278         * doc/posix-functions/fwscanf.texi: Likewise.
19279         * doc/posix-functions/getwchar.texi: Likewise.
19280         * doc/posix-functions/getwc.texi: Likewise.
19281         * doc/posix-functions/iswalnum.texi: Likewise.
19282         * doc/posix-functions/iswalpha.texi: Likewise.
19283         * doc/posix-functions/iswblank.texi: Likewise.
19284         * doc/posix-functions/iswcntrl.texi: Likewise.
19285         * doc/posix-functions/iswctype.texi: Likewise.
19286         * doc/posix-functions/iswdigit.texi: Likewise.
19287         * doc/posix-functions/iswgraph.texi: Likewise.
19288         * doc/posix-functions/iswlower.texi: Likewise.
19289         * doc/posix-functions/iswprint.texi: Likewise.
19290         * doc/posix-functions/iswpunct.texi: Likewise.
19291         * doc/posix-functions/iswspace.texi: Likewise.
19292         * doc/posix-functions/iswupper.texi: Likewise.
19293         * doc/posix-functions/iswxdigit.texi: Likewise.
19294         * doc/posix-functions/mbrtowc.texi: Likewise.
19295         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19296         * doc/posix-functions/mbstowcs.texi: Likewise.
19297         * doc/posix-functions/mbtowc.texi: Likewise.
19298         * doc/posix-functions/putwchar.texi: Likewise.
19299         * doc/posix-functions/putwc.texi: Likewise.
19300         * doc/posix-functions/swprintf.texi: Likewise.
19301         * doc/posix-functions/tolower.texi: Likewise.
19302         * doc/posix-functions/toupper.texi: Likewise.
19303         * doc/posix-functions/towctrans.texi: Likewise.
19304         * doc/posix-functions/ungetwc.texi: Likewise.
19305         * doc/posix-functions/vswprintf.texi: Likewise.
19306         * doc/posix-functions/wcrtomb.texi: Likewise.
19307         * doc/posix-functions/wcscat.texi: Likewise.
19308         * doc/posix-functions/wcschr.texi: Likewise.
19309         * doc/posix-functions/wcscmp.texi: Likewise.
19310         * doc/posix-functions/wcscoll.texi: Likewise.
19311         * doc/posix-functions/wcscpy.texi: Likewise.
19312         * doc/posix-functions/wcscspn.texi: Likewise.
19313         * doc/posix-functions/wcsftime.texi: Likewise.
19314         * doc/posix-functions/wcslen.texi: Likewise.
19315         * doc/posix-functions/wcsncat.texi: Likewise.
19316         * doc/posix-functions/wcsncmp.texi: Likewise.
19317         * doc/posix-functions/wcsncpy.texi: Likewise.
19318         * doc/posix-functions/wcspbrk.texi: Likewise.
19319         * doc/posix-functions/wcsrchr.texi: Likewise.
19320         * doc/posix-functions/wcsrtombs.texi: Likewise.
19321         * doc/posix-functions/wcsspn.texi: Likewise.
19322         * doc/posix-functions/wcsstr.texi: Likewise.
19323         * doc/posix-functions/wcstod.texi: Likewise.
19324         * doc/posix-functions/wcstof.texi: Likewise.
19325         * doc/posix-functions/wcstoimax.texi: Likewise.
19326         * doc/posix-functions/wcstok.texi: Likewise.
19327         * doc/posix-functions/wcstold.texi: Likewise.
19328         * doc/posix-functions/wcstoll.texi: Likewise.
19329         * doc/posix-functions/wcstol.texi: Likewise.
19330         * doc/posix-functions/wcstombs.texi: Likewise.
19331         * doc/posix-functions/wcstoull.texi: Likewise.
19332         * doc/posix-functions/wcstoul.texi: Likewise.
19333         * doc/posix-functions/wcstoumax.texi: Likewise.
19334         * doc/posix-functions/wcswidth.texi: Likewise.
19335         * doc/posix-functions/wcsxfrm.texi: Likewise.
19336         * doc/posix-functions/wctob.texi: Likewise.
19337         * doc/posix-functions/wctomb.texi: Likewise.
19338         * doc/posix-functions/wctrans.texi: Likewise.
19339         * doc/posix-functions/wctype.texi: Likewise.
19340         * doc/posix-functions/wcwidth.texi: Likewise.
19341         * doc/posix-functions/wmemchr.texi: Likewise.
19342         * doc/posix-functions/wmemcmp.texi: Likewise.
19343         * doc/posix-functions/wmemcpy.texi: Likewise.
19344         * doc/posix-functions/wmemmove.texi: Likewise.
19345         * doc/posix-functions/wmemset.texi: Likewise.
19346         * doc/posix-functions/wprintf.texi: Likewise.
19347         * doc/posix-functions/wscanf.texi: Likewise.
19348
19349 2008-12-21  Bruno Haible  <bruno@clisp.org>
19350
19351         Update doc for HP-UX 11.11.
19352         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19353         in HP-UX version 11.00, not in all versions of HP-UX 11.
19354         * doc/posix-functions/fwide.texi: Likewise.
19355         * doc/posix-functions/fwprintf.texi: Likewise.
19356         * doc/posix-functions/fwscanf.texi: Likewise.
19357         * doc/posix-functions/inet_ntop.texi: Likewise.
19358         * doc/posix-functions/inet_pton.texi: Likewise.
19359         * doc/posix-functions/mbrlen.texi: Likewise.
19360         * doc/posix-functions/mbrtowc.texi: Likewise.
19361         * doc/posix-functions/mbsinit.texi: Likewise.
19362         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19363         * doc/posix-functions/swprintf.texi: Likewise.
19364         * doc/posix-functions/swscanf.texi: Likewise.
19365         * doc/posix-functions/towctrans.texi: Likewise.
19366         * doc/posix-functions/vfwprintf.texi: Likewise.
19367         * doc/posix-functions/vswprintf.texi: Likewise.
19368         * doc/posix-functions/vwprintf.texi: Likewise.
19369         * doc/posix-functions/wcrtomb.texi: Likewise.
19370         * doc/posix-functions/wcsrtombs.texi: Likewise.
19371         * doc/posix-functions/wcsstr.texi: Likewise.
19372         * doc/posix-functions/wctob.texi: Likewise.
19373         * doc/posix-functions/wctrans.texi: Likewise.
19374         * doc/posix-functions/wmemchr.texi: Likewise.
19375         * doc/posix-functions/wmemcmp.texi: Likewise.
19376         * doc/posix-functions/wmemcpy.texi: Likewise.
19377         * doc/posix-functions/wmemmove.texi: Likewise.
19378         * doc/posix-functions/wmemset.texi: Likewise.
19379         * doc/posix-functions/wprintf.texi: Likewise.
19380         * doc/posix-functions/wscanf.texi: Likewise.
19381
19382 2008-12-21  Bruno Haible  <bruno@clisp.org>
19383
19384         Work around a portability problem.
19385         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19386         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19387
19388 2008-12-20  Bruno Haible  <bruno@clisp.org>
19389
19390         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19391         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19392         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19393         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19394         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19395
19396         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19397         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19398         set.
19399         (GNULIB_defined_mbstate_t): New macro.
19400         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19401         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19402         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19403         reuses the system's mbrtowc function but works around the bugs.
19404         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19405         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19406         macros.
19407         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19408         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19409         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19410         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19411         REPLACE_MBSINIT if mbsinit needs to be overridden.
19412         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19413         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19414         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19415         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19416         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19417         m4/locale-zh.m4.
19418         (Depends): Add mbsinit.
19419         * modules/mbsinit (Depends): Add mbrtowc.
19420         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
19421
19422 2008-12-20  Bruno Haible  <bruno@clisp.org>
19423
19424         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
19425         so that there are no conversion errors on AIX.
19426         * tests/test-mbsrtowcs.c (main): LIkewise.
19427
19428 2008-12-20  Bruno Haible  <bruno@clisp.org>
19429
19430         Work around wctob bug on Solaris <= 9.
19431         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
19432         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
19433         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
19434         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
19435         * modules/wctob (Files): Add m4/locale-fr.m4.
19436         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
19437
19438 2008-12-20  Bruno Haible  <bruno@clisp.org>
19439
19440         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
19441         /dev/null.
19442         * tests/test-select-in.sh: Likewise.
19443         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19444
19445 2008-12-20  Bruno Haible  <bruno@clisp.org>
19446
19447         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19448         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19449         Cygwin 1.5.x.
19450
19451 2008-12-20  Bruno Haible  <bruno@clisp.org>
19452
19453         Ensure mbstate_t is defined on HP-UX 11.11.
19454         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19455         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19456         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19457         AC_USE_SYSTEM_EXTENSIONS.
19458         * modules/fnmatch (Depends-on): Add extensions.
19459         * modules/mbrlen (Depends-on): Likewise.
19460         * modules/mbrtowc (Depends-on): Likewise.
19461         * modules/mbsinit (Depends-on): Likewise.
19462         * modules/mbsrtowcs (Depends-on): Likewise.
19463         * modules/mbswidth (Depends-on): Likewise.
19464         * modules/quotearg (Depends-on): Likewise.
19465         * modules/strftime (Depends-on): Likewise.
19466
19467 2008-12-20  Bruno Haible  <bruno@clisp.org>
19468
19469         Ensure wctob is declared on IRIX 6.5.
19470         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19471         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19472         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19473         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19474         of HAVE_WCTOB.
19475         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19476         HAVE_WCTOB.
19477         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19478
19479 2008-12-19  Bruno Haible  <bruno@clisp.org>
19480
19481         * modules/mbsrtowcs-tests: New file.
19482         * tests/test-mbsrtowcs1.sh: New file.
19483         * tests/test-mbsrtowcs2.sh: New file.
19484         * tests/test-mbsrtowcs3.sh: New file.
19485         * tests/test-mbsrtowcs4.sh: New file.
19486         * tests/test-mbsrtowcs.c: New file.
19487
19488         New module 'mbsrtowcs'.
19489         * lib/wchar.in.h (mbsrtowcs): New declaration.
19490         * lib/mbsrtowcs.c: New file.
19491         * m4/mbsrtowcs.m4: New file.
19492         * modules/mbsrtowcs: New file.
19493         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19494         HAVE_MBSRTOWCS.
19495         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19496         HAVE_MBSRTOWCS.
19497         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19498
19499 2008-12-19  Bruno Haible  <bruno@clisp.org>
19500
19501         New module 'mbrlen'.
19502         * lib/wchar.in.h (mbrlen): New declaration.
19503         * lib/mbrlen.c: New file.
19504         * m4/mbrlen.m4: New file.
19505         * modules/mbrlen: New file.
19506         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19507         HAVE_MBRLEN.
19508         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19509         HAVE_MBRLEN.
19510         * doc/posix-functions/mbrlen.texi: Document the new module.
19511
19512 2008-12-19  Bruno Haible  <bruno@clisp.org>
19513
19514         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19515         * modules/mbrtowc (Depends-on): Add verify.
19516         Suggested by Paul Eggert.
19517
19518 2008-12-18  Bruno Haible  <bruno@clisp.org>
19519
19520         * modules/mbsinit-tests: New file.
19521         * tests/test-mbsinit.sh: New file.
19522         * tests/test-mbsinit.c: New file.
19523
19524 2008-12-18  Bruno Haible  <bruno@clisp.org>
19525
19526         * modules/mbrtowc-tests: New file.
19527         * tests/test-mbrtowc1.sh: New file.
19528         * tests/test-mbrtowc2.sh: New file.
19529         * tests/test-mbrtowc3.sh: New file.
19530         * tests/test-mbrtowc4.sh: New file.
19531         * tests/test-mbrtowc.c: New file.
19532
19533         New module 'mbrtowc'.
19534         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19535         mbsinit and mbrtowc.
19536         (mbrtowc): New declaration.
19537         * lib/mbrtowc.c: New file.
19538         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19539         * modules/mbrtowc: New file.
19540         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19541         HAVE_MBRTOWC.
19542         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19543         HAVE_MBRTOWC.
19544         * doc/posix-functions/mbrtowc.texi: Document the new module.
19545
19546 2008-12-18  Bruno Haible  <bruno@clisp.org>
19547
19548         New module 'wctob'.
19549         * lib/wchar.in.h (wctob): New declaration.
19550         * lib/wctob.c: New file.
19551         * m4/wctob.m4: New file.
19552         * modules/wctob: New file.
19553         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19554         HAVE_WCTOB.
19555         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19556         * doc/posix-functions/wctob.texi: Document the new module.
19557
19558 2008-12-18  Bruno Haible  <bruno@clisp.org>
19559
19560         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19561         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19562
19563 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19564
19565         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19566         G. Christensen" <tgc@jupiterrise.com>.
19567
19568         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19569         G. Christensen" <tgc@jupiterrise.com>.
19570
19571         * lib/flock.c: Need to include string.h.  Reported by "Tom
19572         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19573         <ebb9@byu.net>.
19574
19575 2008-12-18  Bruno Haible  <bruno@clisp.org>
19576
19577         * m4/locale-ja.m4: New file, from GNU gettext.
19578
19579 2008-12-17  Bruno Haible  <bruno@clisp.org>
19580
19581         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19582         Suggested by Eric Blake.
19583
19584 2008-12-17  Bruno Haible  <bruno@clisp.org>
19585
19586         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19587
19588 2008-12-17  Bruno Haible  <bruno@clisp.org>
19589
19590         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19591         * modules/mbsinit (Depends-on): Add verify.
19592         Suggested by Paul Eggert.
19593
19594 2008-12-17  Bruno Haible  <bruno@clisp.org>
19595
19596         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19597         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19598         gl_FUNC_MBRTOWC.
19599         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19600         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19601         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19602         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19603         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19604         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19605         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19606         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19607         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19608         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19609         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19610         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19611         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19612         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19613         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19614         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19615         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19616         * modules/trim (configure.ac): Likewise.
19617
19618 2008-12-17  Bruno Haible  <bruno@clisp.org>
19619
19620         * modules/btowc-tests: New file.
19621         * tests/test-btowc1.sh: New file.
19622         * tests/test-btowc2.sh: New file.
19623         * tests/test-btowc.c: New file.
19624
19625         New module 'btowc'.
19626         * lib/wchar.in.h (btowc): New declaration.
19627         * lib/btowc.c: New file.
19628         * m4/btowc.m4: New file.
19629         * modules/btowc: New file.
19630         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19631         HAVE_BTOWC.
19632         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19633         * doc/posix-functions/btowc.texi: Document the new module.
19634
19635 2008-12-17  Bruno Haible  <bruno@clisp.org>
19636
19637         New module 'mbsinit'.
19638         * lib/wchar.in.h (mbsinit): New declaration.
19639         * lib/mbsinit.c: New file.
19640         * m4/mbsinit.m4: New file.
19641         * modules/mbsinit: New file.
19642         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19643         HAVE_MBSINIT.
19644         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19645         HAVE_MBSINIT.
19646         * doc/posix-functions/mbsinit.texi: Document the new module.
19647
19648 2008-12-16  Bruno Haible  <bruno@clisp.org>
19649
19650         * lib/unistd.in.h: Add comment.
19651         * tests/test-environ.c: Don't include <stdlib.h>.
19652
19653 2008-12-16  Bruno Haible  <bruno@clisp.org>
19654
19655         * lib/parse-duration.h (parse_duration): Document return value
19656         convention.
19657         * lib/parse-duration.c: Include specification header first. Add
19658         comments.
19659         (_): Remove macro.
19660         (parse_year_month_day, parse_hour_minute_second): Move side effects
19661         outside of strchr call.
19662         (parse_non_iso8601): Move side effects outside of isspace call.
19663         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19664         call.
19665
19666 2008-12-16  Bruno Haible  <bruno@clisp.org>
19667
19668         * tests/test-parse-duration.sh: Produce no output when the test
19669         succeeds.
19670
19671 2008-12-16  Bruno Haible  <bruno@clisp.org>
19672
19673         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19674         expressions.
19675
19676 2008-12-15  Bruno Haible  <bruno@clisp.org>
19677
19678         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19679         * doc/glibc-functions/flistxattr.texi: Likewise.
19680         * doc/glibc-functions/fopencookie.texi: Likewise.
19681         * doc/glibc-functions/fremovexattr.texi: Likewise.
19682         * doc/glibc-functions/fsetxattr.texi: Likewise.
19683         * doc/glibc-functions/getxattr.texi: Likewise.
19684         * doc/glibc-functions/lgetxattr.texi: Likewise.
19685         * doc/glibc-functions/listxattr.texi: Likewise.
19686         * doc/glibc-functions/llistxattr.texi: Likewise.
19687         * doc/glibc-functions/lremovexattr.texi: Likewise.
19688         * doc/glibc-functions/lsetxattr.texi: Likewise.
19689         * doc/glibc-functions/removexattr.texi: Likewise.
19690         * doc/glibc-functions/setxattr.texi: Likewise.
19691         * doc/posix-functions/open_memstream.texi: Likewise.
19692
19693 2008-12-15  Eric Blake  <ebb9@byu.net>
19694
19695         Update doc for cygwin 1.7.
19696         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19697         functions.
19698         * doc/posix-functions/fchmodat.texi: Likewise.
19699         * doc/posix-functions/fchownat.texi: Likewise.
19700         * doc/posix-functions/fdopendir.texi: Likewise.
19701         * doc/posix-functions/fmemopen.texi: Likewise.
19702         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19703         * doc/posix-functions/fstatat.texi: Likewise.
19704         * doc/posix-functions/futimens.texi: Likewise.
19705         * doc/posix-functions/gai_strerror.texi: Likewise.
19706         * doc/posix-functions/getaddrinfo.texi: Likewise.
19707         * doc/posix-functions/getnameinfo.texi: Likewise.
19708         * doc/posix-functions/if_freenameindex.texi: Likewise.
19709         * doc/posix-functions/if_indextoname.texi: Likewise.
19710         * doc/posix-functions/if_nameindex.texi: Likewise.
19711         * doc/posix-functions/if_nametoindex.texi: Likewise.
19712         * doc/posix-functions/insque.texi: Likewise.
19713         * doc/posix-functions/linkat.texi: Likewise.
19714         * doc/posix-functions/llrint.texi: Likewise.
19715         * doc/posix-functions/llrintf.texi: Likewise.
19716         * doc/posix-functions/llrintl.texi: Likewise.
19717         * doc/posix-functions/lockf.texi: Likewise.
19718         * doc/posix-functions/lrintl.texi: Likewise.
19719         * doc/posix-functions/mkdirat.texi: Likewise.
19720         * doc/posix-functions/mkfifoat.texi: Likewise.
19721         * doc/posix-functions/mknodat.texi: Likewise.
19722         * doc/posix-functions/mq_close.texi: Likewise.
19723         * doc/posix-functions/mq_getattr.texi: Likewise.
19724         * doc/posix-functions/mq_notify.texi: Likewise.
19725         * doc/posix-functions/mq_open.texi: Likewise.
19726         * doc/posix-functions/mq_receive.texi: Likewise.
19727         * doc/posix-functions/mq_send.texi: Likewise.
19728         * doc/posix-functions/mq_setattr.texi: Likewise.
19729         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19730         * doc/posix-functions/mq_timedsend.texi: Likewise.
19731         * doc/posix-functions/mq_unlink.texi: Likewise.
19732         * doc/posix-functions/open_memstream.texi: Likewise.
19733         * doc/posix-functions/openat.texi: Likewise.
19734         * doc/posix-functions/posix_fadvise.texi: Likewise.
19735         * doc/posix-functions/posix_fallocate.texi: Likewise.
19736         * doc/posix-functions/posix_madvise.texi: Likewise.
19737         * doc/posix-functions/posix_memalign.texi: Likewise.
19738         * doc/posix-functions/posix_openpt.texi: Likewise.
19739         * doc/posix-functions/readlinkat.texi: Likewise.
19740         * doc/posix-functions/remque.texi: Likewise.
19741         * doc/posix-functions/renameat.texi: Likewise.
19742         * doc/posix-functions/rintl.texi: Likewise.
19743         * doc/posix-functions/sem_unlink.texi: Likewise.
19744         * doc/posix-functions/shm_open.texi: Likewise.
19745         * doc/posix-functions/shm_unlink.texi: Likewise.
19746         * doc/posix-functions/signgam.texi: Likewise.
19747         * doc/posix-functions/sigset.texi: Likewise.
19748         * doc/posix-functions/stpcpy.texi: Likewise.
19749         * doc/posix-functions/stpncpy.texi: Likewise.
19750         * doc/posix-functions/strerror.texi: Likewise.
19751         * doc/posix-functions/strtod.texi: Likewise.
19752         * doc/posix-functions/symlinkat.texi: Likewise.
19753         * doc/posix-functions/unlinkat.texi: Likewise.
19754         * doc/posix-functions/utimensat.texi: Likewise.
19755         * doc/glibc-functions/bindresvport.texi: Likewise.
19756         * doc/glibc-functions/dn_expand.texi: Likewise.
19757         * doc/glibc-functions/exp10.texi: Likewise.
19758         * doc/glibc-functions/exp10f.texi: Likewise.
19759         * doc/glibc-functions/fgetxattr.texi: Likewise.
19760         * doc/glibc-functions/flistxattr.texi: Likewise.
19761         * doc/glibc-functions/fopencookie.texi: Likewise.
19762         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19763         * doc/glibc-functions/fremovexattr.texi: Likewise.
19764         * doc/glibc-functions/fsetxattr.texi: Likewise.
19765         * doc/glibc-functions/getifaddrs.texi: Likewise.
19766         * doc/glibc-functions/getxattr.texi: Likewise.
19767         * doc/glibc-functions/lgetxattr.texi: Likewise.
19768         * doc/glibc-functions/listxattr.texi: Likewise.
19769         * doc/glibc-functions/llistxattr.texi: Likewise.
19770         * doc/glibc-functions/lremovexattr.texi: Likewise.
19771         * doc/glibc-functions/lsetxattr.texi: Likewise.
19772         * doc/glibc-functions/pow10.texi: Likewise.
19773         * doc/glibc-functions/pow10f.texi: Likewise.
19774         * doc/glibc-functions/rcmd_af.texi: Likewise.
19775         * doc/glibc-functions/removexattr.texi: Likewise.
19776         * doc/glibc-functions/res_init.texi: Likewise.
19777         * doc/glibc-functions/res_mkquery.texi: Likewise.
19778         * doc/glibc-functions/res_query.texi: Likewise.
19779         * doc/glibc-functions/res_querydomain.texi: Likewise.
19780         * doc/glibc-functions/res_send.texi: Likewise.
19781         * doc/glibc-functions/rresvport_af.texi: Likewise.
19782         * doc/glibc-functions/setxattr.texi: Likewise.
19783         * doc/glibc-functions/strcasestr.texi: Likewise.
19784
19785 2008-12-15  Bruno Haible  <bruno@clisp.org>
19786
19787         Fix compilation error on OSF/1 4.0.
19788         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19789         <sys/time.h>, simply delegate to the system header.
19790         Reported by Daniel Richard G. <oss@teragram.com>.
19791
19792 2008-12-15  Bruno Haible  <bruno@clisp.org>
19793
19794         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19795         * doc/posix-functions/fchmodat.texi: Likewise.
19796         * doc/posix-functions/fchownat.texi: Likewise.
19797         * doc/posix-functions/fdopendir.texi: Likewise.
19798         * doc/posix-functions/fstatat.texi: Likewise.
19799         * doc/posix-functions/mkdirat.texi: Likewise.
19800         * doc/posix-functions/unlinkat.texi: Likewise.
19801
19802 2008-12-14  Bruno Haible  <bruno@clisp.org>
19803
19804         Update doc for POSIX:2008.
19805         * doc/posix-functions/faccessat.texi: New file.
19806         * doc/posix-functions/fchmodat.texi: New file.
19807         * doc/posix-functions/fchownat.texi: New file.
19808         * doc/posix-functions/fdopendir.texi: New file.
19809         * doc/posix-functions/fstatat.texi: New file.
19810         * doc/posix-functions/futimens.texi: New file.
19811         * doc/posix-functions/linkat.texi: New file.
19812         * doc/posix-functions/mkdirat.texi: New file.
19813         * doc/posix-functions/mkfifoat.texi: New file.
19814         * doc/posix-functions/mknodat.texi: New file.
19815         * doc/posix-functions/open_wmemstream.texi: New file.
19816         * doc/posix-functions/openat.texi: New file.
19817         * doc/posix-functions/psiginfo.texi: New file.
19818         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19819         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19820         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19821         * doc/posix-functions/readlinkat.texi: New file.
19822         * doc/posix-functions/renameat.texi: New file.
19823         * doc/posix-functions/strerror_l.texi: New file.
19824         * doc/posix-functions/symlinkat.texi: New file.
19825         * doc/posix-functions/unlinkat.texi: New file.
19826         * doc/posix-functions/utimensat.texi: New file.
19827         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19828
19829 2008-12-14  Bruno Haible  <bruno@clisp.org>
19830
19831         Update doc for POSIX:2008.
19832         * doc/posix-functions/alphasort.texi: Renamed from
19833         doc/glibc-functions/alphasort.texi.
19834         * doc/posix-functions/dirfd.texi: Renamed from
19835         doc/glibc-functions/dirfd.texi.
19836         * doc/posix-functions/dprintf.texi: Renamed from
19837         doc/glibc-functions/dprintf.texi.
19838         * doc/posix-functions/duplocale.texi: Renamed from
19839         doc/glibc-functions/duplocale.texi.
19840         * doc/posix-functions/fexecve.texi: Renamed from
19841         doc/glibc-functions/fexecve.texi.
19842         * doc/posix-functions/fmemopen.texi: Renamed from
19843         doc/glibc-functions/fmemopen.texi.
19844         * doc/posix-functions/freelocale.texi: Renamed from
19845         doc/glibc-functions/freelocale.texi.
19846         * doc/posix-functions/getdate_err.texi: Renamed from
19847         doc/glibc-functions/getdate_err.texi.
19848         * doc/posix-functions/isalnum_l.texi: Renamed from
19849         doc/glibc-functions/isalnum_l.texi.
19850         * doc/posix-functions/isalpha_l.texi: Renamed from
19851         doc/glibc-functions/isalpha_l.texi.
19852         * doc/posix-functions/isblank_l.texi: Renamed from
19853         doc/glibc-functions/isblank_l.texi.
19854         * doc/posix-functions/iscntrl_l.texi: Renamed from
19855         doc/glibc-functions/iscntrl_l.texi.
19856         * doc/posix-functions/isdigit_l.texi: Renamed from
19857         doc/glibc-functions/isdigit_l.texi.
19858         * doc/posix-functions/isgraph_l.texi: Renamed from
19859         doc/glibc-functions/isgraph_l.texi.
19860         * doc/posix-functions/islower_l.texi: Renamed from
19861         doc/glibc-functions/islower_l.texi.
19862         * doc/posix-functions/isprint_l.texi: Renamed from
19863         doc/glibc-functions/isprint_l.texi.
19864         * doc/posix-functions/ispunct_l.texi: Renamed from
19865         doc/glibc-functions/ispunct_l.texi.
19866         * doc/posix-functions/isspace_l.texi: Renamed from
19867         doc/glibc-functions/isspace_l.texi.
19868         * doc/posix-functions/isupper_l.texi: Renamed from
19869         doc/glibc-functions/isupper_l.texi.
19870         * doc/posix-functions/iswalnum_l.texi: Renamed from
19871         doc/glibc-functions/iswalnum_l.texi.
19872         * doc/posix-functions/iswalpha_l.texi: Renamed from
19873         doc/glibc-functions/iswalpha_l.texi.
19874         * doc/posix-functions/iswblank_l.texi: Renamed from
19875         doc/glibc-functions/iswblank_l.texi.
19876         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19877         doc/glibc-functions/iswcntrl_l.texi.
19878         * doc/posix-functions/iswctype_l.texi: Renamed from
19879         doc/glibc-functions/iswctype_l.texi.
19880         * doc/posix-functions/iswdigit_l.texi: Renamed from
19881         doc/glibc-functions/iswdigit_l.texi.
19882         * doc/posix-functions/iswgraph_l.texi: Renamed from
19883         doc/glibc-functions/iswgraph_l.texi.
19884         * doc/posix-functions/iswlower_l.texi: Renamed from
19885         doc/glibc-functions/iswlower_l.texi.
19886         * doc/posix-functions/iswprint_l.texi: Renamed from
19887         doc/glibc-functions/iswprint_l.texi.
19888         * doc/posix-functions/iswpunct_l.texi: Renamed from
19889         doc/glibc-functions/iswpunct_l.texi.
19890         * doc/posix-functions/iswspace_l.texi: Renamed from
19891         doc/glibc-functions/iswspace_l.texi.
19892         * doc/posix-functions/iswupper_l.texi: Renamed from
19893         doc/glibc-functions/iswupper_l.texi.
19894         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19895         doc/glibc-functions/iswxdigit_l.texi.
19896         * doc/posix-functions/isxdigit_l.texi: Renamed from
19897         doc/glibc-functions/isxdigit_l.texi.
19898         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19899         doc/glibc-functions/mbsnrtowcs.texi.
19900         * doc/posix-functions/mkdtemp.texi: Renamed from
19901         doc/glibc-functions/mkdtemp.texi.
19902         * doc/posix-functions/newlocale.texi: Renamed from
19903         doc/glibc-functions/newlocale.texi.
19904         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
19905         doc/glibc-functions/nl_langinfo_l.texi.
19906         * doc/posix-functions/open_memstream.texi: Renamed from
19907         doc/glibc-functions/open_memstream.texi.
19908         * doc/posix-functions/opterr.texi: Renamed from
19909         doc/glibc-functions/opterr.texi.
19910         * doc/posix-functions/optind.texi: Renamed from
19911         doc/glibc-functions/optind.texi.
19912         * doc/posix-functions/optopt.texi: Renamed from
19913         doc/glibc-functions/optopt.texi.
19914         * doc/posix-functions/psignal.texi: Renamed from
19915         doc/glibc-functions/psignal.texi.
19916         * doc/posix-functions/scandir.texi: Renamed from
19917         doc/glibc-functions/scandir.texi.
19918         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
19919         doc/glibc-functions/sched_get_priority_min.texi.
19920         * doc/posix-functions/signgam.texi: Renamed from
19921         doc/glibc-functions/signgam.texi.
19922         * doc/posix-functions/stpcpy.texi: Renamed from
19923         doc/glibc-functions/stpcpy.texi.
19924         * doc/posix-functions/stpncpy.texi: Renamed from
19925         doc/glibc-functions/stpncpy.texi.
19926         * doc/posix-functions/strcasecmp_l.texi: Renamed from
19927         doc/glibc-functions/strcasecmp_l.texi.
19928         * doc/posix-functions/strcoll_l.texi: Renamed from
19929         doc/glibc-functions/strcoll_l.texi.
19930         * doc/posix-functions/strfmon_l.texi: Renamed from
19931         doc/glibc-functions/strfmon_l.texi.
19932         * doc/posix-functions/strftime_l.texi: Renamed from
19933         doc/glibc-functions/strftime_l.texi.
19934         * doc/posix-functions/strncasecmp_l.texi: Renamed from
19935         doc/glibc-functions/strncasecmp_l.texi.
19936         * doc/posix-functions/strndup.texi: Renamed from
19937         doc/glibc-functions/strndup.texi.
19938         * doc/posix-functions/strnlen.texi: Renamed from
19939         doc/glibc-functions/strnlen.texi.
19940         * doc/posix-functions/strsignal.texi: Renamed from
19941         doc/glibc-functions/strsignal.texi.
19942         * doc/posix-functions/strxfrm_l.texi: Renamed from
19943         doc/glibc-functions/strxfrm_l.texi.
19944         * doc/posix-functions/timer_gettime.texi: Renamed from
19945         doc/glibc-functions/timer_gettime.texi.
19946         * doc/posix-functions/tolower_l.texi: Renamed from
19947         doc/glibc-functions/tolower_l.texi.
19948         * doc/posix-functions/toupper_l.texi: Renamed from
19949         doc/glibc-functions/toupper_l.texi.
19950         * doc/posix-functions/towctrans_l.texi: Renamed from
19951         doc/glibc-functions/towctrans_l.texi.
19952         * doc/posix-functions/towlower_l.texi: Renamed from
19953         doc/glibc-functions/towlower_l.texi.
19954         * doc/posix-functions/towupper_l.texi: Renamed from
19955         doc/glibc-functions/towupper_l.texi.
19956         * doc/posix-functions/uselocale.texi: Renamed from
19957         doc/glibc-functions/uselocale.texi.
19958         * doc/posix-functions/vdprintf.texi: Renamed from
19959         doc/glibc-functions/vdprintf.texi.
19960         * doc/posix-functions/wcpcpy.texi:
19961         Renamed from doc/glibc-functions/wcpcpy.texi.
19962         * doc/posix-functions/wcpncpy.texi: Renamed from
19963         doc/glibc-functions/wcpncpy.texi.
19964         * doc/posix-functions/wcscasecmp.texi: Renamed from
19965         doc/glibc-functions/wcscasecmp.texi.
19966         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
19967         doc/glibc-functions/wcscasecmp_l.texi.
19968         * doc/posix-functions/wcscoll_l.texi: Renamed from
19969         doc/glibc-functions/wcscoll_l.texi.
19970         * doc/posix-functions/wcsdup.texi: Renamed from
19971         doc/glibc-functions/wcsdup.texi.
19972         * doc/posix-functions/wcsncasecmp.texi: Renamed from
19973         doc/glibc-functions/wcsncasecmp.texi.
19974         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
19975         doc/glibc-functions/wcsncasecmp_l.texi.
19976         * doc/posix-functions/wcsnlen.texi: Renamed from
19977         doc/glibc-functions/wcsnlen.texi.
19978         * doc/posix-functions/wcsnrtombs.texi: Renamed from
19979         doc/glibc-functions/wcsnrtombs.texi.
19980         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
19981         doc/glibc-functions/wcsxfrm_l.texi.
19982         * doc/posix-functions/wctrans_l.texi: Renamed from
19983         doc/glibc-functions/wctrans_l.texi.
19984         * doc/posix-functions/wctype_l.texi: Renamed from
19985         doc/glibc-functions/wctype_l.texi.
19986         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19987         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
19988         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
19989         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
19990         these subsections.
19991         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
19992         Remove sections.
19993
19994 2008-12-14  Bruno Haible  <bruno@clisp.org>
19995
19996         Update doc for POSIX:2008.
19997         * doc/posix-functions/*.texi: Update URL of POSIX specification.
19998
19999 2008-12-14  Bruno Haible  <bruno@clisp.org>
20000
20001         Update doc for POSIX:2008.
20002         * doc/pastposix-functions/bcmp.texi: Renamed from
20003         doc/posix-functions/bcmp.texi.
20004         * doc/pastposix-functions/bcopy.texi: Renamed from
20005         doc/posix-functions/bcopy.texi.
20006         * doc/pastposix-functions/bsd_signal.texi: Renamed from
20007         doc/posix-functions/bsd_signal.texi.
20008         * doc/pastposix-functions/bzero.texi: Renamed from
20009         doc/posix-functions/bzero.texi.
20010         * doc/pastposix-functions/ecvt.texi: Renamed from
20011         doc/posix-functions/ecvt.texi.
20012         * doc/pastposix-functions/fcvt.texi: Renamed from
20013         doc/posix-functions/fcvt.texi.
20014         * doc/pastposix-functions/ftime.texi: Renamed from
20015         doc/posix-functions/ftime.texi.
20016         * doc/pastposix-functions/gcvt.texi: Renamed from
20017         doc/posix-functions/gcvt.texi.
20018         * doc/pastposix-functions/getcontext.texi: Renamed from
20019         doc/posix-functions/getcontext.texi.
20020         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
20021         doc/posix-functions/gethostbyaddr.texi.
20022         * doc/pastposix-functions/gethostbyname.texi: Renamed from
20023         doc/posix-functions/gethostbyname.texi.
20024         * doc/pastposix-functions/getwd.texi: Renamed from
20025         doc/posix-functions/getwd.texi.
20026         * doc/pastposix-functions/h_errno.texi: Renamed from
20027         doc/posix-functions/h_errno.texi.
20028         * doc/pastposix-functions/index.texi: Renamed from
20029         doc/posix-functions/index.texi.
20030         * doc/pastposix-functions/makecontext.texi: Renamed from
20031         doc/posix-functions/makecontext.texi.
20032         * doc/pastposix-functions/mktemp.texi: Renamed from
20033         doc/posix-functions/mktemp.texi.
20034         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
20035         doc/posix-functions/pthread_attr_getstackaddr.texi.
20036         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
20037         doc/posix-functions/pthread_attr_setstackaddr.texi.
20038         * doc/pastposix-functions/rindex.texi: Renamed from
20039         doc/posix-functions/rindex.texi.
20040         * doc/pastposix-functions/scalb.texi: Renamed from
20041         doc/posix-functions/scalb.texi.
20042         * doc/pastposix-functions/setcontext.texi: Renamed from
20043         doc/posix-functions/setcontext.texi.
20044         * doc/pastposix-functions/swapcontext.texi: Renamed from
20045         doc/posix-functions/swapcontext.texi.
20046         * doc/pastposix-functions/ualarm.texi: Renamed from
20047         doc/posix-functions/ualarm.texi.
20048         * doc/pastposix-functions/usleep.texi: Renamed from
20049         doc/posix-functions/usleep.texi.
20050         * doc/pastposix-functions/vfork.texi: Renamed from
20051         doc/posix-functions/vfork.texi.
20052         * doc/pastposix-functions/wcswcs.texi: Renamed from
20053         doc/posix-functions/wcswcs.texi.
20054         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
20055         (Function Substitutes): Update.
20056
20057 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20058
20059         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
20060         m4/strerror.m4.
20061
20062 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20063             Bruno Haible  <bruno@clisp.org>
20064
20065         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
20066
20067 2008-12-13  Bruno Haible  <bruno@clisp.org>
20068
20069         * modules/strtoull (Depends-on): Remove unistd.
20070
20071 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20072
20073         * modules/strtoull (Depends-on): Add stdlib.
20074
20075 2008-12-11  Simon Josefsson  <simon@josefsson.org>
20076
20077         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
20078
20079 2008-12-10  Jim Meyering  <meyering@redhat.com>
20080
20081         gl_ASSERT: don't say assertions are disabled when they're not
20082         * m4/assert.m4 (gl_ASSERT): Do not make configure report
20083         "checking whether to enable assertions... no", when they are in
20084         fact enabled.  This is solely a bug in the output of configure.
20085         In spite of saying "no", NDEBUG was not defined in that case.
20086         Also, as noted by Eric Blake, leave assertions enabled upon
20087         --enable-assert=INVALID.
20088
20089 2008-12-10  Bruno Haible  <bruno@clisp.org>
20090
20091         Change MODULES.html to refer to POSIX:2008 where possible.
20092         * MODULES.html.sh (POSIX2008_URL): New variable.
20093         (posix_headers): Remove sys/timeb, ucontext.
20094         (posix2001_headers): New variable.
20095         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
20096         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
20097         index, makecontext, mktemp, pthread_attr_getstackaddr,
20098         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
20099         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
20100         (posix2001_functions): New variable.
20101         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
20102         otherwise.
20103
20104 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20105
20106         add missing include to parse-duration.c
20107         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
20108         * modules/parse-duration (Depends-on): Add xalloc.
20109
20110         fix sed script reading maint.mk
20111         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
20112         (syntax-check-rules): Use it.
20113
20114 2008-12-09  Bruno Haible  <bruno@clisp.org>
20115
20116         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
20117         MacOS X 10.4/PowerPC.
20118         Reported by Simon Josefsson.
20119
20120 2008-12-08  Jim Meyering  <meyering@redhat.com>
20121
20122         work around mingw's lack of some S_IF definitions
20123         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
20124         Reported by Simon Josefsson.
20125
20126 2008-12-08  Bruno Haible  <bruno@clisp.org>
20127
20128         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
20129         applied to variables. Needed on MacOS X 10.4/PowerPC.
20130         Reported by Simon Josefsson.
20131
20132 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
20133         and Eric Blake  <ebb9@byu.net>
20134
20135         assert: honor --enable-assert
20136         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
20137         order to honor --enable-assert, rather than treating it as a
20138         synonym for --disable-assert.
20139
20140 2008-12-08  Jim Meyering  <meyering@redhat.com>
20141
20142         * lib/posixtm.c: Remove now-useless declaration of mktime.
20143
20144         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
20145
20146 2008-12-07  Bruno Haible  <bruno@clisp.org>
20147
20148         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
20149         test_once): Mark functions as static.
20150         * tests/test-tls.c (test_tls): Likewise.
20151
20152 2008-12-07  Bruno Haible  <bruno@clisp.org>
20153
20154         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
20155         iconv_register_autodetect.
20156
20157 2008-12-07  Jim Meyering  <meyering@redhat.com>
20158
20159         posixtm.c: avoid a warning
20160         * lib/posixtm.c (posixtime): Don't initialize tm0.
20161         It's no longer needed to placate gcc4's -Wuninitialized,
20162         and the attempt to placate would elicit a new warning.
20163
20164         unicodeio.c: mark unused parameters
20165         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20166         (fallback_failure_callback): Likewise.
20167
20168 2008-12-07  Bruno Haible  <bruno@clisp.org>
20169
20170         * gnulib-tool (func_create_testdir): When building the tests
20171         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
20172         Reported by Simon Josefsson.
20173
20174 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20175
20176         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
20177
20178 2008-12-06  Bruno Haible  <bruno@clisp.org>
20179
20180         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
20181         Suggested by Eric Blake.
20182
20183 2008-12-06  Bruno Haible  <bruno@clisp.org>
20184
20185         Fix a c-stack test failure on MacOS X.
20186         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
20187         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
20188         handler for SIGBUS as well.
20189         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
20190         install a signal handler for SIGBUS as well.
20191         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
20192
20193 2008-12-06  Bruno Haible  <bruno@clisp.org>
20194
20195         Advocacy documentation.
20196         * doc/gnulib-intro.texi (Benefits): New section.
20197         * doc/gnulib.texi: Update.
20198
20199 2008-12-06  Bruno Haible  <bruno@clisp.org>
20200
20201         Document the 'manywarnings' module.
20202         * doc/manywarnings.texi: New file.
20203         * doc/gnulib.texi: Include it.
20204
20205 2008-12-05  Eric Blake  <ebb9@byu.net>
20206
20207         tests: silence some gcc warnings
20208         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20209         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20210         type mismatches.
20211
20212 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20213             Bruno Haible  <bruno@clisp.org>
20214
20215         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20216
20217 2008-11-29  Jim Meyering  <meyering@redhat.com>
20218
20219         unicodeio.c: mark unused parameters
20220         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20221         (fallback_failure_callback): Likewise.
20222
20223         fts: fix a thinko
20224         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20225         (set_stat_type): Return S_IF*-valued "type" directly.
20226         Prompted by James Youngman's spotting a related bug.
20227         Confirmed by further testing through find.
20228
20229         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20230         * lib/fts.c (D_TYPE): Define.
20231         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20232         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20233         (s_ifmt_shift_bits): New function.
20234         (set_stat_type): New function.
20235         (fts_build): When not calling fts_stat, call set_stat_type
20236         to propagate dirent.d_type info to fts_read caller.
20237         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20238         fts_statp->st_mode type information may be valid.
20239
20240 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20241
20242         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20243         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20244         <sds@gnu.org>.
20245
20246 2008-11-20  Bruno Haible  <bruno@clisp.org>
20247
20248         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20249         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20250         INCLUDE_NEXT.
20251         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20252         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20253         * modules/math (Makefile.am): Substitute
20254         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20255         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20256
20257 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20258             Bruno Haible  <bruno@clisp.org>
20259
20260         * lib/stdint.in.h: Define all type macros so that their expansion is
20261         a single typedef'ed token. Fixes a compilation failure in Boost which
20262         does "using ::int8_t;".
20263
20264 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20265
20266         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20267         gl_MANYWARN_ALL_GCC.
20268         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20269         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20270         * modules/manywarnings: New file.
20271         * MODULES.html.sh: Mention manywarnings module.
20272
20273 2008-11-18  Bruno Haible  <bruno@clisp.org>
20274
20275         * doc/gnulib-tool.texi (Unit tests): New section.
20276
20277 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20278
20279         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20280         paths like 'lib/po/foo.po'.
20281
20282 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20283
20284         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20285         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20286
20287 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20288
20289         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20290         parameter works.
20291
20292 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20293
20294         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20295
20296 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20297
20298         * modules/parse-duration-tests: New file.
20299         * tests/test-parse-duration.sh: New file.
20300         * tests/test-parse-duration.c: New file.
20301
20302         New module 'parse-duration'.
20303         * lib/parse-duration.h: New file.
20304         * lib/parse-duration.c: New file.
20305         * modules/parse-duration: New file.
20306
20307 2008-11-17  Bruno Haible  <bruno@clisp.org>
20308
20309         * tests/test-select-out.sh: Comment out the first pipe test.
20310         Reported by Simon Josefsson.
20311
20312 2008-11-17  Bruno Haible  <bruno@clisp.org>
20313
20314         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20315         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20316         gl_HOSTENT.
20317
20318 2008-11-17  Bruno Haible  <bruno@clisp.org>
20319
20320         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20321         -lnetwork and -lnet. Needed for Haiku and BeOS.
20322
20323 2008-11-16  Bruno Haible  <bruno@clisp.org>
20324
20325         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20326
20327 2008-11-16  Bruno Haible  <bruno@clisp.org>
20328
20329         Avoid test failure on Haiku.
20330         * tests/test-fsync.c: Include <errno.h>.
20331         (main): Don't require that fsync (0) fails.
20332
20333 2008-11-15  Bruno Haible  <bruno@clisp.org>
20334
20335         New module 'hostent'.
20336         * modules/hostent: New file.
20337         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20338
20339 2008-11-15  Bruno Haible  <bruno@clisp.org>
20340
20341         New module 'servent'.
20342         * modules/servent: New file.
20343         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20344
20345 2008-11-15  Bruno Haible  <bruno@clisp.org>
20346
20347         Avoid generating same test program with two different rules.
20348         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20349         test-frexp to test-frexp-nolibm.
20350         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20351         test-frexpl to test-frexpl-nolibm.
20352
20353 2008-11-15  Bruno Haible  <bruno@clisp.org>
20354
20355         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20356         $(FREXPL_LIBM).
20357
20358 2008-11-15  Bruno Haible  <bruno@clisp.org>
20359
20360         * lib/netdb.in.h: Activate the definitions also when the system's
20361         <netdb.h> has 'struct addrinfo'.
20362         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20363         EAI_OVERFLOW or AI_NUMERICSERV.
20364         * doc/posix-headers/netdb.texi: Document the problem.
20365
20366 2008-11-15  Bruno Haible  <bruno@clisp.org>
20367
20368         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20369
20370         Make the 'sched' module work on platforms where <sched.h> exists but
20371         is incomplete (such as Haiku).
20372         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20373         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20374         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20375         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20376         HAVE_STRUCT_SCHED_PARAM.
20377         * modules/sched (Depends-on): Add include_next.
20378         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20379         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20380         * doc/posix-headers/sched.texi: Document the issue.
20381
20382 2008-11-13  Jim Meyering  <meyering@redhat.com>
20383
20384         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20385         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20386         test would fail due to the difference in the Report bugs to ...
20387         line.  The expected address is empty, "<>", while the actual
20388         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20389
20390 2008-11-12  Bruno Haible  <bruno@clisp.org>
20391
20392         lstat: don't compile lstat.c on systems lacking lstat
20393         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20394         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20395         Reported by Daniel P. Berrange via Jim Meyering.
20396
20397 2008-11-12  Jim Meyering  <meyering@redhat.com>
20398
20399         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20400
20401 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20402
20403         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20404         instead.
20405
20406 2008-11-12  Bruno Haible  <bruno@clisp.org>
20407
20408         * lib/unicodeio.c: Include unistr.h.
20409         (utf8_wctomb): Remove function.
20410         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20411
20412 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20413
20414         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20415         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20416         <bruno@clisp.org>.
20417         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
20418
20419 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20420
20421         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
20422         * doc/gnulib.texi: Add section for warnings.
20423
20424 2008-11-11  Bruno Haible  <bruno@clisp.org>
20425
20426         * lib/sockets.h: Add a comment.
20427
20428 2008-11-11  Karl Berry  <karl@gnu.org>
20429
20430         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
20431
20432 2008-11-11  Eric Blake  <ebb9@byu.net>
20433
20434         fdl.texi: avoid git symlinks
20435         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
20436
20437 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20438
20439         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
20440
20441 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20442
20443         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
20444         (gl_WARN_ADD): Substitute $2 if literal.
20445
20446 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20447
20448         * m4/warning.m4: Remove.
20449
20450 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20451
20452         * m4/warnings.m4: Almost complete rewrite. :-)
20453
20454 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20455
20456         * modules/warnings: New module.
20457         * m4/warnings.m4: New file.
20458         * MODULES.html.sh: Mention warnings module.
20459         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20460         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20461
20462 2008-11-10  Eric Blake  <ebb9@byu.net>
20463
20464         fdl.texi: make a symlink to the latest version
20465         * doc/standards.texi: Revert today's earlier change.
20466         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20467         * doc/fdl.texi: ...and replace this with a symlink to the newer
20468         fdl-1.3.texi.
20469
20470 2008-11-10  Bruno Haible  <bruno@clisp.org>
20471
20472         * tests/test-select-fd.c (main): Accept the result file name as fourth
20473         argument.
20474         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20475         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20476
20477 2008-11-10  Bruno Haible  <bruno@clisp.org>
20478
20479         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20480         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20481         as autoconf-substituted macros.
20482         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20483         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20484         gl_NETDB_H_DEFAULTS. Set these variables.
20485         * modules/netdb (Makefile.am): Substitute these variables.
20486
20487 2008-11-10  Eric Blake  <ebb9@byu.net>
20488
20489         standards.texi: include correct file for FDL 1.3
20490         * doc/standards.texi (GNU Free Documentation License): Change
20491         include file to pull in FDL 1.3, not 1.2.
20492
20493         fdl.texi: revert accidental change to license
20494         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20495
20496 2008-11-10  Bruno Haible  <bruno@clisp.org>
20497
20498         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20499         cross-compiling guesses also when the native compile gives no result.
20500
20501 2008-11-10  Bruno Haible  <bruno@clisp.org>
20502
20503         * lib/spawni.c (__spawni): Force variable into the stack.
20504
20505 2008-11-10  Bruno Haible  <bruno@clisp.org>
20506
20507         Add support for Haiku.
20508         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20509         glibc and BeOS, but also on Haiku.
20510         * lib/fpurge.c (fpurge): Likewise.
20511         * lib/freadable.c (freadable): Likewise.
20512         * lib/freadahead.c (freadahead): Likewise.
20513         * lib/freading.c (freading): Likewise.
20514         * lib/freadptr.c (freadptr): Likewise.
20515         * lib/freadseek.c (freadptrinc): Likewise.
20516         * lib/fseeko.c (rpl_fseeko): Likewise.
20517         * lib/fseterr.c (fseterr): Likewise.
20518         * lib/fwritable.c (fwritable): Likewise.
20519         * lib/fwriting.c (fwriting): Likewise.
20520         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20521
20522 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20523
20524         * lib/config.charset: Treat Haiku like BeOS.
20525
20526 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20527
20528         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20529         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20530
20531 2008-11-08  Bruno Haible  <bruno@clisp.org>
20532
20533         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20534         AC_CACHE_CHECK.
20535
20536 2008-11-08  Bruno Haible  <bruno@clisp.org>
20537
20538         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20539
20540 2008-11-08  Bruno Haible  <bruno@clisp.org>
20541
20542         * tests/test-select-fd.c: New file.
20543         * tests/test-select-in.sh: New file.
20544         * tests/test-select-out.sh: New file.
20545         * tests/test-select-stdin.c: New file.
20546         * modules/select-tests (Files): Add the new files.
20547         (Depends-on): Add gettimeofday.
20548         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20549         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20550         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20551
20552 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20553             Bruno Haible  <bruno@clisp.org>
20554
20555         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20556
20557 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20558
20559         * build-aux/pmccabe2html: Added support for C++ source files.
20560
20561 2008-11-05  Ben Pfaff  <blp@gnu.org>
20562
20563         Fix lib/close.c build on Windows.
20564         * modules/close (Files): Add lib/w32sock.h.
20565
20566 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20567
20568         Accept Bison's NEWS format.
20569         * build-aux/announce-gen (print_news_deltas): Tweak
20570         $re_prefix.
20571
20572 2008-11-04  Bruno Haible  <bruno@clisp.org>
20573
20574         * modules/random_r (Maintainer): Add glibc.
20575
20576 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20577
20578         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20579         by karl@freefriends.org (Karl Berry).
20580         * doc/alloca.texi: Likewise.
20581         * doc/c-ctype.texi: Likewise.
20582         * doc/c-strcase.texi: Likewise.
20583         * doc/c-strcaseeq.texi: Likewise.
20584         * doc/c-strcasestr.texi: Likewise.
20585         * doc/c-strstr.texi: Likewise.
20586         * doc/c-strtod.texi: Likewise.
20587         * doc/c-strtold.texi: Likewise.
20588         * doc/ctime.texi: Likewise.
20589         * doc/error.texi: Likewise.
20590         * doc/fdl.texi: Likewise.
20591         * doc/gcd.texi: Likewise.
20592         * doc/getdate.texi: Likewise.
20593         * doc/gnulib-intro.texi: Likewise.
20594         * doc/gnulib-tool.texi: Likewise.
20595         * doc/gnulib.texi: Likewise.
20596         * doc/inet_ntoa.texi: Likewise.
20597         * doc/maintain.texi: Likewise.
20598         * doc/make-stds.texi: Likewise.
20599         * doc/quote.texi: Likewise.
20600         * doc/regexprops-generic.texi: Likewise.
20601         * doc/standards.texi: Likewise.
20602         * doc/verify.texi: Likewise.
20603         * doc/visibility.texi: Likewise.
20604         * doc/gnulib.texi (GNU Free Documentation License): Include
20605         fdl-1.3.texi instead of fdl.texi.
20606
20607 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20608
20609         * doc/fdl-1.3.texi: New file, from
20610         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20611         * modules/fdl-1.3: Add.
20612         * MODULES.html.sh: Add fdl-1.3.
20613
20614 2008-11-03  Bruno Haible  <bruno@clisp.org>
20615
20616         Make determination of absolute name of header file work with AIX xlc.
20617         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20618         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20619         preprocessing.
20620         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20621         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20622
20623 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20624
20625         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20626         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20627         <ludo@gnu.org>.
20628
20629 2008-11-02  Bruno Haible  <bruno@clisp.org>
20630
20631         Mark 'strpbrk' obsolete.
20632         * modules/strpbrk (Status, Notice): New sections.
20633         * modules/strtok_r (Depends-on): Add strpbrk.
20634
20635 2008-11-02  Bruno Haible  <bruno@clisp.org>
20636
20637         Mark 'strdup' obsolete.
20638         * modules/strdup (Status, Notice): New sections.
20639         * modules/findprog (Depends-on): Add strdup.
20640         * modules/getaddrinfo (Depends-on): Likewise.
20641         * modules/localename (Depends-on): Likewise.
20642         * modules/relocatable-lib (Depends-on): Likewise.
20643         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20644         * modules/relocatable-prog (Depends-on): Likewise.
20645         * modules/trim (Depends-on): Likewise.
20646         * modules/unictype/gen-ctype (Depends-on): Likewise.
20647         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20648
20649 2008-11-02  Bruno Haible  <bruno@clisp.org>
20650
20651         Mark 'strcspn' obsolete.
20652         * modules/strcspn (Status, Notice): New sections.
20653
20654 2008-11-02  Bruno Haible  <bruno@clisp.org>
20655
20656         Mark 'rmdir' obsolete.
20657         * modules/rmdir (Status, Notice): New sections.
20658         * modules/clean-temp (Depends-on): Add rmdir.
20659         * modules/openat (Depends-on): Likewise.
20660
20661 2008-11-02  Bruno Haible  <bruno@clisp.org>
20662
20663         Mark 'raise' obsolete.
20664         * modules/raise (Status, Notice): New sections.
20665         (Include): Specify <signal.h>.
20666         * modules/stdio (Depends-on): Add raise.
20667         * modules/write (Depends-on): Likewise.
20668
20669 2008-11-02  Bruno Haible  <bruno@clisp.org>
20670
20671         Mark 'memset' obsolete.
20672         * modules/memset (Status, Notice): New sections.
20673
20674 2008-11-02  Bruno Haible  <bruno@clisp.org>
20675
20676         Mark 'memmove' obsolete.
20677         * modules/memmove (Status, Notice): New sections.
20678         * modules/argp (Depends-on): Add memmove.
20679         * modules/argz (Depends-on): Likewise.
20680         * modules/canonicalize (Depends-on): Likewise.
20681         * modules/canonicalize-lgpl (Depends-on): Likewise.
20682         * modules/fts (Depends-on): Likewise.
20683         * modules/getcwd (Depends-on): Likewise.
20684         * modules/human (Depends-on): Likewise.
20685         * modules/regex (Depends-on): Likewise.
20686         * modules/striconveh (Depends-on): Likewise.
20687         * modules/trim (Depends-on): Likewise.
20688         * modules/unistr/u8-move (Depends-on): Likewise.
20689         * modules/unistr/u16-move (Depends-on): Likewise.
20690         * modules/unistr/u32-move (Depends-on): Likewise.
20691
20692 2008-11-02  Bruno Haible  <bruno@clisp.org>
20693
20694         Mark 'memcpy' obsolete.
20695         * modules/memcpy (Status, Notice): New sections.
20696
20697 2008-11-02  Bruno Haible  <bruno@clisp.org>
20698
20699         Mark 'memcmp' obsolete.
20700         * modules/memcmp (Status, Notice): New sections.
20701         * modules/argmatch (Depends-on): Add memchr.
20702         * modules/backupfile (Depends-on): Likewise.
20703         * modules/c-strcasestr (Depends-on): Likewise.
20704         * modules/crypto/des (Depends-on): Likewise.
20705         * modules/csharpcomp (Depends-on): Likewise.
20706         * modules/fnmatch (Depends-on): Likewise.
20707         * modules/git-merge-changelog (Depends-on): Likewise.
20708         * modules/isnand (Depends-on): Likewise.
20709         * modules/isnand-nolibm (Depends-on): Likewise.
20710         * modules/isnanf (Depends-on): Likewise.
20711         * modules/isnanf-nolibm (Depends-on): Likewise.
20712         * modules/isnanl (Depends-on): Likewise.
20713         * modules/isnanl-nolibm (Depends-on): Likewise.
20714         * modules/mbchar (Depends-on): Likewise.
20715         * modules/memcoll (Depends-on): Likewise.
20716         * modules/quotearg (Depends-on): Likewise.
20717         * modules/regex (Depends-on): Likewise.
20718         * modules/relocatable-prog (Depends-on): Likewise.
20719         * modules/same (Depends-on): Likewise.
20720         * modules/signbit (Depends-on): Likewise.
20721         * modules/strcasestr-simple (Depends-on): Likewise.
20722         * modules/unictype/gen-ctype (Depends-on): Likewise.
20723         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20724         * modules/uniname/uniname (Depends-on): Likewise.
20725         * modules/unistr/u8-cmp (Depends-on): Likewise.
20726
20727 2008-11-02  Bruno Haible  <bruno@clisp.org>
20728
20729         Mark 'memchr' obsolete.
20730         * modules/memchr (Status, Notice): New sections.
20731         * modules/argp (Depends-on): Add memchr.
20732         * modules/base64 (Depends-on): Likewise.
20733         * modules/c-strcasestr (Depends-on): Likewise.
20734         * modules/chdir-long (Depends-on): Likewise.
20735         * modules/fnmatch (Depends-on): Likewise.
20736         * modules/getsubopt (Depends-on): Likewise.
20737         * modules/git-merge-changelog (Depends-on): Likewise.
20738         * modules/glob (Depends-on): Likewise.
20739         * modules/strcasestr-simple (Depends-on): Likewise.
20740         * modules/strnlen (Depends-on): Likewise.
20741
20742 2008-11-02  Bruno Haible  <bruno@clisp.org>
20743
20744         Mark 'atexit' obsolete.
20745         * modules/atexit (Status, Notice): New sections.
20746         * modules/chdir-long (Depends-on): Add atexit.
20747         * modules/wait-process (Depends-on): Likewise.
20748
20749 2008-11-02  Bruno Haible  <bruno@clisp.org>
20750
20751         * gnulib-tool: New option --with-obsolete.
20752         (func_usage): Document it.
20753         (func_modules_transitive_closure): Drop obsolete dependencies if
20754         incobsolete is not true.
20755         (func_import): Read and save the incobsolete variable to the cache.
20756
20757 2008-11-02  Bruno Haible  <bruno@clisp.org>
20758
20759         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20760         * gnulib-tool: New option --extract-status.
20761         (func_usage): Document it.
20762         (sed_extract_prog): Recognize it.
20763         (func_get_status): New function.
20764
20765 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20766
20767         * modules/sockets (License): Change from LGPL to LGPLv2+.
20768
20769 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20770
20771         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20772
20773 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20774
20775         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20776         Mention times and sys_times.
20777         * modules/sys_times, modules/sys_times-tests: New modules.
20778         * modules/times, modules/times-tests: Likewise
20779         * m4/sys_times_h.m4: New file.
20780         * lib/sys_times.in.h: Likewise
20781         * lib/times.c: Likewise.
20782         * tests/test-sys_times.c: Likewise.
20783         * tests/test-times.c: Likewise.
20784         * doc/posix-headers/sys_times.texi: Update.
20785         * doc/posix-functions/times.texi: Update.
20786
20787 2008-10-28  Jim Meyering  <meyering@redhat.com>
20788
20789         * modules/tempname (Depends-on): Add lstat.
20790
20791         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20792
20793 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20794
20795         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20796         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20797         using idiom used elsewhere in gnulib.
20798
20799 2008-10-27  Jim Meyering  <meyering@redhat.com>
20800
20801         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20802
20803 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20804
20805         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20806         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20807         programs.
20808         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20809
20810 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20811
20812         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20813
20814 2008-10-27  Bruno Haible  <bruno@clisp.org>
20815
20816         * tests/test-lstat.c: Include <stdio.h>.
20817
20818 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20819
20820         * modules/lstat-tests: New module.
20821         * tests/test-lstat.c: New file.
20822
20823 2008-10-26  Jim Meyering  <meyering@redhat.com>
20824
20825         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20826
20827 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20828             Bruno Haible  <bruno@clisp.org>
20829
20830         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20831         * modules/configmake (Include): Add a note that the include must come
20832         after all system headers.
20833         * lib/javaversion.c: Include configmake.h after all other includes.
20834
20835 2008-10-26  Bruno Haible  <bruno@clisp.org>
20836
20837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20838         HAVE_STRUCT_RANDOM_DATA to 1.
20839         (gl_STDLIB_H): Simplify.
20840
20841 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20842
20843         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20844         substitute HAVE_STRUCT_RANDOM_DATA.
20845         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20846         random_data.
20847         * modules/stdlib (Makefile.am): Substitute
20848         HAVE_STRUCT_RANDOM_DATA.
20849
20850 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20851
20852         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20853         * doc/gnulib-intro.texi (Copyright): Likewise.
20854
20855 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20856
20857         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20858         findings.
20859
20860 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20861             Bruno Haible  <bruno@clisp.org>
20862
20863         * lib/unistd.in.h: Include <winsock2.h>.
20864         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20865         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20866         Provide dummy declarations.
20867         (gethostname): Override.
20868         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20869         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20870         gl_PREREQ_SYS_H_WINSOCK2.
20871         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20872         * doc/posix-functions/gethostname.texi: More details.
20873
20874 2008-10-25  Bruno Haible  <bruno@clisp.org>
20875
20876         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20877         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20878         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20879
20880         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20881         here ...
20882         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20883         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20884         gl_UNISTD_H_DEFAULTS.
20885
20886 2008-10-25  Eric Blake  <ebb9@byu.net>
20887
20888         signbit: avoid spurious compiler failure
20889         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20890         declarations inside function.
20891
20892 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20893             Bruno Haible  <bruno@clisp.org>
20894
20895         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20896         * modules/random_r (Depends-on): Add stdint.
20897
20898 2008-10-24  Bruno Haible  <bruno@clisp.org>
20899
20900         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
20901         Eggert.
20902         * modules/strerror (License): Likewise.
20903
20904 2008-10-24  Jim Meyering  <meyering@redhat.com>
20905
20906         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
20907         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
20908
20909 2008-10-24  Eric Blake  <ebb9@byu.net>
20910
20911         getgroups: fix compilation when getgroups is available
20912         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
20913         but with <config.h> override of getgroups disabled.
20914
20915 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20916
20917         * doc/gnulib.texi (Header files): Add note about C++ problems.
20918         Explained by Bruno Haible <bruno@clisp.org>.
20919
20920 2008-10-23  Bruno Haible  <bruno@clisp.org>
20921
20922         Define a dummy SA_NODEFER macro on Interix.
20923         * lib/signal.in.h (SA_NODEFER): Define fallback.
20924         Reported by Aleksey Cheusov <cheusov@tut.by> via
20925         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
20926
20927 2008-10-23  Bruno Haible  <bruno@clisp.org>
20928
20929         * modules/freadahead (License): Change to LGPLv2+.
20930         Suggested by Simon Josefsson.
20931
20932 2008-10-23  Jim Meyering  <meyering@redhat.com>
20933
20934         random_r: new module
20935         * modules/random_r: New file.
20936         * m4/random_r.m4: New file.
20937         * lib/random_r.c: New file, from glibc.
20938         * modules/random_r-tests: New file.
20939         * tests/test-random_r.c: New file.
20940         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
20941          Declare.
20942         (RAND_MAX): Define.
20943         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
20944         * modules/stdlib: Substitute them, too.
20945         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
20946         * doc/glibc-functions/initstate_r.texi: Mention the new module.
20947         * doc/glibc-functions/random_r.texi: Likewise.
20948         * doc/glibc-functions/setstate_r.texi: Likewise.
20949         * doc/glibc-functions/srandom_r.texi: Likewise.
20950         * config/srclist.txt: Mention it.
20951
20952 2008-10-23  David Lutterkort  <lutter@redhat.com>
20953
20954         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
20955         link requirement
20956
20957 2008-10-23  Jim Meyering  <meyering@redhat.com>
20958
20959         selinux-h: mark parameters of stub functions as intentionally unused
20960         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
20961         * lib/se-context.in.h: Likewise.
20962
20963 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20964
20965         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
20966
20967 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20968
20969         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
20970
20971 2008-10-22  Eric Blake  <ebb9@byu.net>
20972
20973         glthread/thread: avoid compiler warning
20974         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
20975         Add unreachable abort to silence compiler.
20976
20977 2008-10-22  Eric Blake  <ebb9@byu.net>
20978
20979         netdb: also supply struct addrinfo for cygwin 1.5.x
20980         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
20981         older cygwin.
20982         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
20983         cygwin.
20984         * doc/posix-headers/netdb.texi (netdb.h): Document this.
20985
20986 2008-10-22  Bruno Haible  <bruno@clisp.org>
20987
20988         * users.txt: Update entry about pspp.
20989
20990 2008-10-21  Bruno Haible  <bruno@clisp.org>
20991
20992         Simplification.
20993         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
20994         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
20995
20996         Simplification.
20997         * lib/ioctl.c (ioctl): Don't undefine.
20998         * lib/socket.c (socket): Don't undefine.
20999
21000         Remove unused module indicator macros.
21001         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
21002         GNULIB_$1 as a C macro.
21003
21004         * doc/posix-functions/close.texi: Undo last change.
21005         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
21006         Windows platforms.
21007
21008 2008-10-21  Bruno Haible  <bruno@clisp.org>
21009
21010         Add gethostname() declaration to <unistd.h>.
21011         * lib/unistd.in.h (gethostname): New declaration.
21012         * lib/gethostname.c: Include <unistd.h>.
21013         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
21014         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
21015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
21016         and HAVE_GETHOSTNAME.
21017         * modules/gethostname (Depends-on): Add unistd.
21018         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21019         (Include): Specify <unistd.h>.
21020         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
21021         HAVE_GETHOSTNAME.
21022         * tests/test-gethostname.c: Include <unistd.h> first.
21023
21024 2008-10-21  Bruno Haible  <bruno@clisp.org>
21025
21026         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
21027         * modules/select-tests (Depends-on): Likewise.
21028         Reported by Simon Josefsson.
21029
21030 2008-10-21  Simon Josefsson  <simon@josefsson.org>
21031
21032         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
21033         * lib/accept.c: New file, based on winsock.c.
21034         * lib/bind.c: New file, based on winsock.c.
21035         * lib/connect.c: New file, based on winsock.c.
21036         * lib/getpeername.c: New file, based on winsock.c.
21037         * lib/getsockname.c: New file, based on winsock.c.
21038         * lib/getsockopt.c: New file, based on winsock.c.
21039         * lib/ioctl.c: New file, based on winsock.c.
21040         * lib/listen.c: New file, based on winsock.c.
21041         * lib/recv.c: New file, based on winsock.c.
21042         * lib/recvfrom.c: New file, based on winsock.c.
21043         * lib/send.c: New file, based on winsock.c.
21044         * lib/sendto.c: New file, based on winsock.c.
21045         * lib/setsockopt.c: New file, based on winsock.c.
21046         * lib/shutdown.c: New file, based on winsock.c.
21047         * lib/socket.c: New file, based on winsock.c.
21048         * lib/w32sock.h: New file, based on winsock.c.
21049         * lib/winsock.c: Remove file.
21050         * modules/accept: Likewise.
21051         * modules/bind: Likewise.
21052         * modules/connect: Likewise.
21053         * modules/getpeername: Likewise.
21054         * modules/getsockname: Likewise.
21055         * modules/getsockopt: Likewise.
21056         * modules/ioctl: Likewise.
21057         * modules/listen: Likewise.
21058         * modules/recv: Likewise.
21059         * modules/recvfrom: Likewise.
21060         * modules/send: Likewise.
21061         * modules/sendto: Likewise.
21062         * modules/setsockopt: Likewise.
21063         * modules/shutdown: Likewise.
21064         * modules/socket: Use socket.c instead of winsock.c.
21065         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
21066         * doc/posix-functions/accept.texi: Doc fix.
21067         * doc/posix-functions/bind.texi: Doc fix.
21068         * doc/posix-functions/close.texi: Doc fix.
21069         * doc/posix-functions/connect.texi: Doc fix.
21070         * doc/posix-functions/getpeername.texi: Doc fix.
21071         * doc/posix-functions/getsockname.texi: Doc fix.
21072         * doc/posix-functions/getsockopt.texi: Doc fix.
21073         * doc/posix-functions/ioctl.texi: Doc fix.
21074         * doc/posix-functions/listen.texi: Doc fix.
21075         * doc/posix-functions/recv.texi: Doc fix.
21076         * doc/posix-functions/recvfrom.texi: Doc fix.
21077         * doc/posix-functions/send.texi: Doc fix.
21078         * doc/posix-functions/sendto.texi: Doc fix.
21079         * doc/posix-functions/setsockopt.texi: Doc fix.
21080         * doc/posix-functions/shutdown.texi: Doc fix.
21081         * doc/posix-functions/socket.texi: Doc fix.
21082
21083 2008-10-20  Bruno Haible  <bruno@clisp.org>
21084
21085         Take into account the role of SIGABRT_COMPAT on Windows 2008.
21086         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
21087         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
21088         as an alias for SIGABRT.
21089         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
21090         (sigaction): Map it to SIGABRT.
21091         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
21092
21093 2008-10-20  Bruno Haible  <bruno@clisp.org>
21094
21095         * lib/fts.c: Don't include lstat.h.
21096         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
21097
21098         Move the lstat() declaration to <sys/stat.h>.
21099         * lib/lstat.h: Remove file.
21100         * lib/sys_stat.in.h: Add special invocation convention.
21101         (lstat): New declaration.
21102         * lib/lstat.c (orig_lstat): New function.
21103         (rpl_lstat): Use orig_lstat instead of lstat.
21104         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
21105         AC_C_INLINE. Set REPLACE_LSTAT.
21106         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
21107         and REPLACE_LSTAT.
21108         * modules/lstat (Files): Remove lib/lstat.h.
21109         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21110         (Include): Specify <sys/stat.h> instead of lstat.h.
21111         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
21112         REPLACE_LSTAT.
21113         * NEWS: Mention the change.
21114
21115 2008-10-20  Bruno Haible  <bruno@clisp.org>
21116
21117         * modules/posix_spawn-tests: New file.
21118         * tests/test-posix_spawn3.c: New file.
21119
21120 2008-10-20  Bruno Haible  <bruno@clisp.org>
21121
21122         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
21123         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21124         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
21125         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21126         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
21127
21128 2008-10-20  Bruno Haible  <bruno@clisp.org>
21129
21130         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
21131         of posix_spawn on AIX 5.3.
21132
21133 2008-10-20  Bruno Haible  <bruno@clisp.org>
21134
21135         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
21136
21137 2008-10-20  Bruno Haible  <bruno@clisp.org>
21138
21139         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
21140         of AC_LANG_PROGRAM.
21141
21142 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21143
21144         * lib/netdb.in.h: Don't define GNU specific constants until they
21145         are supported or needed.  Reported by Bruno Haible
21146         <bruno@clisp.org>.
21147
21148 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21149
21150         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
21151
21152 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21153
21154         * lib/getaddrinfo.h: Remove file.
21155         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
21156         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
21157         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
21158         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
21159         * modules/netdb: Substitute GNULIB_GETADDRINFO.
21160         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
21161         * tests/test-getaddrinfo.c: Likewise.
21162         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
21163         * NEWS: Mention change.
21164
21165 2008-10-19  Bruno Haible  <bruno@clisp.org>
21166
21167         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
21168
21169 2008-10-19  Bruno Haible  <bruno@clisp.org>
21170
21171         * lib/wait-process.c: Include simply <sys/wait.h>.
21172         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
21173         WIFSTOPPED): Remove fallback definitions.
21174         * modules/wait-process (Depends-on): Add sys_wait.
21175
21176         New module 'sys_wait'.
21177         * modules/sys_wait: New file.
21178         * lib/sys_wait.in.h: New file, partially copied from
21179         lib/wait-process.c.
21180         * m4/sys_wait_h.m4: New file.
21181         * doc/posix-headers/sys_wait.texi: Mention the new module.
21182
21183 2008-10-19  Bruno Haible  <bruno@clisp.org>
21184
21185         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
21186
21187 2008-10-19  Bruno Haible  <bruno@clisp.org>
21188
21189         Assume that waitpid() fills an 'int' status, not a 'union wait'.
21190         * lib/wait-process.c (WAIT_T): Remove type.
21191         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
21192         (wait_subprocess): Update.
21193
21194 2008-10-19  Bruno Haible  <bruno@clisp.org>
21195
21196         New module 'atoll'.
21197         * modules/atoll: New file.
21198         * lib/stdlib.in.h (atoll): New declaration.
21199         * lib/atoll.c: New file, from glibc with modifications.
21200         * m4/atoll.m4: New file.
21201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
21202         HAVE_ATOLL.
21203         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
21204         * doc/posix-functions/atoll.texi: Mention the new module.
21205
21206 2008-10-19  Bruno Haible  <bruno@clisp.org>
21207
21208         Add strtoull() declaration to <stdlib.h>.
21209         * lib/stdlib.in.h (strtoull): New declaration.
21210         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21211         Set HAVE_STRTOULL.
21212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21213         HAVE_STRTOULL.
21214         * modules/strtoull (Depends-on): Add stdlib.
21215         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21216         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21217         HAVE_STRTOULL.
21218
21219 2008-10-19  Bruno Haible  <bruno@clisp.org>
21220
21221         Add strtoll() declaration to <stdlib.h>.
21222         * lib/stdlib.in.h (strtoll): New declaration.
21223         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21224         Set HAVE_STRTOLL.
21225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21226         HAVE_STRTOLL.
21227         * modules/strtoll (Depends-on): Add stdlib.
21228         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21229         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21230
21231 2008-10-19  Bruno Haible  <bruno@clisp.org>
21232
21233         * modules/bcopy (Depends-on): Add strings.
21234         (Include): Specify <strings.h>.
21235
21236 2008-10-19  Bruno Haible  <bruno@clisp.org>
21237
21238         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21239
21240 2008-10-19  Bruno Haible  <bruno@clisp.org>
21241
21242         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21243         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21244         mingw.
21245
21246 2008-10-19  Bruno Haible  <bruno@clisp.org>
21247
21248         * lib/atanl.c: Don't include isnanl.h.
21249         * lib/cosl.c: Likewise.
21250         * lib/ldexpl.c: Likewise.
21251         * lib/logl.c: Likewise.
21252         * lib/sinl.c: Likewise.
21253         * lib/sqrtl.c: Likewise.
21254         * lib/tanl.c: Likewise.
21255
21256         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21257         * lib/isnanf.h: Remove file.
21258         * lib/isnand.h: Remove file.
21259         * lib/isnanl.h: Remove file.
21260         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21261         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21262         macros.
21263         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21264         HAVE_ISNANF, don't define it as a C macro.
21265         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21266         HAVE_ISNAND, don't define it as a C macro.
21267         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21268         HAVE_ISNANL, don't define it as a C macro.
21269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21270         HAVE_ISNAN[FDL].
21271         * modules/isnanf (Files): Remove lib/isnanf.h.
21272         (Depends-on): Add math.
21273         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21274         (Include): Specify <math.h> instead of isnanf.h.
21275         * modules/isnand (Files): Remove lib/isnand.h.
21276         (Depends-on): Add math.
21277         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21278         (Include): Specify <math.h> instead of isnand.h.
21279         * modules/isnanl (Files): Remove lib/isnanl.h.
21280         (Depends-on): Add math.
21281         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21282         (Include): Specify <math.h> instead of isnanl.h.
21283         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21284         HAVE_ISNAN[FDL].
21285         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21286         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21287         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21288         * NEWS: Mention the change.
21289
21290 2008-10-18  Bruno Haible  <bruno@clisp.org>
21291
21292         Add getusershell(), setusershell(), endusershell() declarations to
21293         <unistd.h>.
21294         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21295         declarations.
21296         * lib/getusershell.c: Include unistd.h.
21297         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21298         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21299         HAVE_GETUSERSHELL.
21300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21301         and HAVE_GETUSERSHELL.
21302         * modules/getusershell (Depends-on): Add unistd, extensions.
21303         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21304         (Include): Specify <unistd.h>.
21305         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21306         HAVE_GETUSERSHELL.
21307
21308 2008-10-18  Bruno Haible  <bruno@clisp.org>
21309
21310         Add a getloadavg() declaration to <stdlib.h>.
21311         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21312         getloadavg declaration.
21313         (getloadavg): New declaration.
21314         * lib/getloadavg.c: Include <stdlib.h> first.
21315         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21316         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21317         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21318         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21319         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21320         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21321         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21322         (Include): Specify <stdlib.h>.
21323         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21324         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21325
21326 2008-10-18  Bruno Haible  <bruno@clisp.org>
21327
21328         * lib/dirchownmod.c: Don't include lchmod.h.
21329
21330         Move the lchmod() declaration to <sys/stat.h>.
21331         * lib/lchmod.h: Remove file.
21332         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21333         (lchmod): New declaration, moved here from lib/lchown.h.
21334         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21335         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21336         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21337         and HAVE_LCHMOD.
21338         * modules/lchmod (Files): Remove lib/lchmod.h.
21339         (Depends-on): Add sys_stat, extensions.
21340         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21341         (Include): Specify <sys/stat.h> instead of lchmod.h.
21342         * modules/sys_stat (Depends-on): Add link-warning.
21343         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21344         definition of GL_LINK_WARNING.
21345         * NEWS: Mention the change.
21346
21347 2008-10-18  Bruno Haible  <bruno@clisp.org>
21348
21349         * lib/fchdir.c: Don't include dirfd.h.
21350         * lib/fts.c: Likewise.
21351         * lib/getcwd.c: Likewise.
21352         * lib/glob.c: Likewise.
21353
21354         Move the dirfd() declaration to <dirent.h>.
21355         * lib/dirfd.h: Remove file.
21356         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21357         (dirfd): New declaration.
21358         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21359         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21360         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21361         HAVE_DECL_DIRFD.
21362         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21363         HAVE_DECL_DIRFD.
21364         * modules/dirfd (Files): Remove lib/dirfd.h.
21365         (Depends-on): Add dirent, extensions.
21366         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21367         (Include): Specify <dirent.h> instead of dirfd.h.
21368         * modules/dirent (Depends-on): Add link-warning.
21369         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21370         definition of GL_LINK_WARNING.
21371         * NEWS: Mention the change.
21372
21373 2008-10-18  Bruno Haible  <bruno@clisp.org>
21374
21375         Move the euidaccess() declaration to <unistd.h>.
21376         * lib/euidaccess.h: Remove file.
21377         * lib/unistd.in.h (euidaccess): New declaration.
21378         * lib/euidaccess.c: Don't include euidaccess.h.
21379         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21380         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21382         and HAVE_EUIDACCESS.
21383         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21384         (Depends-on): Add unistd.
21385         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21386         (Include): Specify <unistd.h> instead of euidaccess.h.
21387         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21388         HAVE_EUIDACCESS.
21389         * NEWS: Mention the change.
21390
21391 2008-10-18  Bruno Haible  <bruno@clisp.org>
21392
21393         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21394
21395         Move the getdomainname() declaration to <unistd.h>.
21396         * lib/getdomainname.h: Remove file.
21397         * lib/unistd.in.h (getdomainname): New declaration.
21398         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21399         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21400         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21401         HAVE_GETDOMAINNAME.
21402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21403         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21404         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21405         (Depends-on): Add unistd, extensions.
21406         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21407         (Includes): Specify <unistd.h> instead of getdomainname.h.
21408         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21409         HAVE_GETDOMAINNAME.
21410         * NEWS: Mention the change.
21411
21412 2008-10-18  Bruno Haible  <bruno@clisp.org>
21413
21414         * modules/dirent: New file.
21415         * m4/dirent_h.m4: New file.
21416         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21417         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
21418         * modules/fchdir (Files): Remove lib/dirent.in.h.
21419         (Depends-on): Add dirent.
21420         (Makefile.am): Move rules to modules/dirent.
21421         * doc/posix-headers/dirent.texi: Mention the new module.
21422
21423 2008-10-18  Bruno Haible  <bruno@clisp.org>
21424
21425         Avoid -Wunused-parameter warnings in public gnulib header files.
21426         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
21427         macro.
21428         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
21429
21430 2008-10-18  Bruno Haible  <bruno@clisp.org>
21431
21432         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
21433         * doc/glibc-functions/error.texi: Mention the module 'error'.
21434         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
21435         * doc/glibc-functions/getdomainname.texi: Mention the module
21436         'getdomainname'.
21437         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
21438         * doc/glibc-functions/getpagesize.texi: Mention the module
21439         'getpagesize'.
21440         * doc/glibc-functions/getusershell.texi: Mention the module
21441         'getusershell'.
21442         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
21443         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
21444         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
21445         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
21446         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
21447         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21448         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21449         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21450         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21451         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21452         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21453         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21454         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21455         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21456
21457 2008-10-17  Bruno Haible  <bruno@clisp.org>
21458
21459         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21460         HP-UX and IRIX, use -0.0L.
21461         * tests/test-ceill.c (minus_zero): Likewise.
21462         * tests/test-floorl.c (minus_zero): Likewise.
21463         * tests/test-frexpl.c (minus_zero): Likewise.
21464         * tests/test-isnan.c (minus_zerol): Likewise.
21465         * tests/test-isnanl.h (minus_zero): Likewise.
21466         * tests/test-ldexpl.c (minus_zero): Likewise.
21467         * tests/test-roundl.c (minus_zero): Likewise.
21468         * tests/test-signbit.c (minus_zerol): Likewise.
21469         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21470         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21471         * tests/test-truncl.c (minus_zero): Likewise.
21472         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21473         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21474         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21475         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21476
21477 2008-10-17  Bruno Haible  <bruno@clisp.org>
21478
21479         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21480         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21481         that it gets activated only for gcc >= 3.0.
21482         * lib/dirent.in.h: Likewise.
21483         * lib/errno.in.h: Likewise.
21484         * lib/fcntl.in.h: Likewise.
21485         * lib/float.in.h: Likewise.
21486         * lib/iconv.in.h: Likewise.
21487         * lib/inttypes.in.h: Likewise.
21488         * lib/locale.in.h: Likewise.
21489         * lib/math.in.h: Likewise.
21490         * lib/netdb.in.h: Likewise.
21491         * lib/netinet_in.in.h: Likewise.
21492         * lib/search.in.h: Likewise.
21493         * lib/signal.in.h: Likewise.
21494         * lib/spawn.in.h: Likewise.
21495         * lib/stdarg.in.h: Likewise.
21496         * lib/stdint.in.h: Likewise.
21497         * lib/stdio.in.h: Likewise.
21498         * lib/stdlib.in.h: Likewise.
21499         * lib/string.in.h: Likewise.
21500         * lib/strings.in.h: Likewise.
21501         * lib/sys_file.in.h: Likewise.
21502         * lib/sys_ioctl.in.h: Likewise.
21503         * lib/sys_select.in.h: Likewise.
21504         * lib/sys_socket.in.h: Likewise.
21505         * lib/sys_stat.in.h: Likewise.
21506         * lib/sys_time.in.h: Likewise.
21507         * lib/sysexits.in.h: Likewise.
21508         * lib/time.in.h: Likewise.
21509         * lib/unistd.in.h: Likewise.
21510         * lib/wchar.in.h: Likewise.
21511         * lib/wctype.in.h: Likewise.
21512         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21513
21514 2008-10-17  Jim Meyering  <meyering@redhat.com>
21515
21516         ignore-value: don't depend on inline module
21517         * modules/ignore-value (Depends-on): Remove 'inline'.
21518         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21519         Suggestion from Bruno Haible.
21520
21521 2008-10-17  Bruno Haible  <bruno@clisp.org>
21522
21523         New implementation of condition variables for Win32.
21524         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21525         (gl_linked_waitqueue_t): New type.
21526         (gl_cond_t): Use it.
21527         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21528         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21529         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21530         (glthread_cond_init_func, glthread_cond_wait_func,
21531         glthread_cond_timedwait_func, glthread_cond_signal_func,
21532         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21533         Reimplemented on the basis of gl_linked_waitqueue_t.
21534         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21535         gl_waitqueue_t.
21536         (gl_rwlock_t): Update.
21537         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21538
21539 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21540
21541         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21542         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21543
21544 2008-10-17  Jim Meyering  <meyering@redhat.com>
21545
21546         ignore-value: new module
21547         * modules/ignore-value: New file.
21548         * lib/ignore-value.h: New file.
21549         * MODULES.html.sh (Compiler warning management): New section,
21550         just for this module.  More to come.
21551
21552 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21553
21554         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21555         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21556         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21557
21558 2008-10-16  Jim Meyering  <meyering@redhat.com>
21559
21560         openat-die.c: avoid 'no previous prototype' warning
21561         * lib/openat-die.c: Include "openat.h".
21562         Reported by Reuben Thomas <rrt@sc3d.org>.
21563
21564 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21565
21566         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21567         * lib/netdb.in.h: Fix typo.
21568         Reported by Bruno Haible  <bruno@clisp.org>
21569
21570         * lib/netdb.in.h: Include sys/socket.h for platforms without
21571         netdb.h, to get structures like hostent on MinGW.
21572         * modules/netdb (Depends-on): Add sys_socket.
21573
21574 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21575
21576         * modules/netdb, modules/netdb-tests: New file.
21577         * m4/netdb_h.m4: New file.
21578         * lib/netdb.in.h: Add, currently just an empty file pending
21579         definitions.
21580         * tests/test-netdb.c: New file.
21581         * doc/posix-headers/netdb.texi: Mention that we replace it if
21582         needed.
21583         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21584         netdb.
21585
21586 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21587
21588         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21589         with code.
21590
21591 2008-10-13  Bruno Haible  <bruno@clisp.org>
21592
21593         * lib/glthread/cond.c (glthread_cond_wait_func,
21594         glthread_cond_timedwait_func): Add a comment.
21595
21596 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21597
21598         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21599         * tests/test-select.c: Likewise,
21600
21601 2008-10-13  Bruno Haible  <bruno@clisp.org>
21602
21603         * lib/glthread/cond.c (glthread_cond_wait_func,
21604         glthread_cond_timedwait_func): Fix variable name.
21605         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21606
21607 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21608
21609         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21610         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21611         struct sockaddr.sa_len.
21612         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21613
21614 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21615
21616         * build-aux/pmccabe2html: Add css and css_url parameters.
21617
21618 2008-10-12  Bruno Haible  <bruno@clisp.org>
21619
21620         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21621         calling aclx_get.
21622         Reported by Rainer Tammer <tammer@tammer.net>.
21623
21624 2008-10-12  Bruno Haible  <bruno@clisp.org>
21625
21626         Use msvcrt aware primitives for creation/termination of Win32 threads.
21627         * lib/glthread/thread.c: Include <process.h>.
21628         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21629         (wrapper_func): Update signature.
21630         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21631
21632 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21633             Bruno Haible  <bruno@clisp.org>
21634
21635         Provide a Win32 implementation of the 'cond' module.
21636         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21637         * lib/glthread/cond.c (glthread_cond_init_func,
21638         glthread_cond_wait_func, glthread_cond_timedwait_func,
21639         glthread_cond_signal_func, glthread_cond_broadcast_func,
21640         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21641         * modules/cond (Dependencies): Add gettimeofday.
21642
21643 2008-10-11  Bruno Haible  <bruno@clisp.org>
21644
21645         Make sleep work on older versions of mingw.
21646         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21647         only whether it exists.
21648         * doc/posix-functions/sleep.texi: Mention the problem with older
21649         versions of mingw.
21650
21651 2008-10-11  Bruno Haible  <bruno@clisp.org>
21652
21653         New module 'shutdown'.
21654         * modules/shutdown: New file.
21655         * lib/sys_socket.in.h (shutdown): New declaration.
21656         * lib/winsock.c (shutdown): New function.
21657         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21658         GNULIB_SHUTDOWN.
21659         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21660         * doc/posix-functions/shutdown.texi: Document the new module.
21661
21662 2008-10-11  Jim Meyering  <meyering@redhat.com>
21663
21664         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21665
21666 2008-10-11  Bruno Haible  <bruno@clisp.org>
21667
21668         New module 'fclose'.
21669         * modules/fclose: New file.
21670         * lib/stdio.in.h (fclose): New declaration.
21671         * lib/fclose.c: New file.
21672         * m4/fclose.m4: New file.
21673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21674         REPLACE_FCLOSE.
21675         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21676         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21677         REPLACE_FCLOSE.
21678         * modules/close (Depends-on): fclose.
21679         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21680
21681 2008-10-11  Bruno Haible  <bruno@clisp.org>
21682
21683         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21684         set errno and don't call _close.
21685
21686 2008-10-10  Bruno Haible  <bruno@clisp.org>
21687
21688         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21689         ACL, not afterwards. Fixes test failure on Cygwin.
21690
21691 2008-10-09  Ben Pfaff  <blp@gnu.org>
21692
21693         * build-aux/announce-gen: Fix gnulib version related part of usage
21694         message.  Die with a useful error message if no tarballs are
21695         found.
21696
21697 2008-10-10  Jim Meyering  <meyering@redhat.com>
21698
21699         bootstrap: use git's --depth=N option only if it's supported
21700         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21701         recognize the --depth option.  Reported by Pádraig Brady.
21702
21703 2008-10-09  Bruno Haible  <bruno@clisp.org>
21704
21705         New module 'ioctl'.
21706         * modules/ioctl: New file.
21707         * lib/sys_socket.in.h (ioctl): Remove declaration.
21708         * lib/winsock.c: Include <sys/ioctl.h>.
21709         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21710         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21711         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21712         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21713         * doc/posix-functions/ioctl.texi: Mention the new module.
21714
21715 2008-10-09  Bruno Haible  <bruno@clisp.org>
21716
21717         New module 'sys_ioctl'.
21718         * lib/sys_ioctl.in.h: New file.
21719         * m4/sys_ioctl_h.m4: New file.
21720         * modules/sys_ioctl: New file.
21721         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21722
21723 2008-10-09  Bruno Haible  <bruno@clisp.org>
21724
21725         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21726         * lib/winsock.c: Include <stdarg.h>.
21727         (rpl_ioctl): Change to second argument 'int' and then varargs.
21728
21729 2008-10-09  Bruno Haible  <bruno@clisp.org>
21730
21731         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21732         when the sys_socket module is present and the system has <winsock2.h>.
21733
21734 2008-10-09  Bruno Haible  <bruno@clisp.org>
21735
21736         * doc/posix-functions/close.texi: Mention module 'close' instead of
21737         module 'sys_socket'.
21738
21739 2008-10-09  Bruno Haible  <bruno@clisp.org>
21740
21741         * doc/glibc-headers/sys_ioctl.texi: New file.
21742         * doc/gnulib.texi: Include it.
21743
21744 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21745             Bruno Haible  <bruno@clisp.org>
21746
21747         Combine the two replacements of 'close'.
21748         * lib/sys_socket.in.h (close): Define to a reminder to include
21749         <unistd.h>.
21750         (_gl_close_fd_maybe_socket): New declaration.
21751         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21752         * lib/winsock.c (close): Remove undefinition.
21753         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21754         needed for the gnulib module 'close'.
21755         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21756         define to an error symbol or to a warning, if suitable.
21757         * lib/close.c: Include <sys/socket.h>.
21758         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21759         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21760         UNISTD_H_HAVE_WINSOCK2_H.
21761         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21763         UNISTD_H_HAVE_WINSOCK2_H.
21764         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21765         (configure.ac): Set a module indicator.
21766         (Makefile.am): Substitute GNULIB_CLOSE.
21767         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21768         * modules/poll-tests (Depends-on): Add close.
21769         * modules/select-tests (Depends-on): Likewise.
21770
21771 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21772             Bruno Haible  <bruno@clisp.org>
21773
21774         New module 'close'.
21775         * modules/close: New file.
21776         * lib/unistd.in.h (close): Move declaration out of the
21777         FCHDIR_REPLACEMENT scope.
21778         (_gl_unregister_fd): New declaration.
21779         * lib/close.c: New file.
21780         * lib/fchdir.c (rpl_close): Remove function.
21781         * m4/close.m4: New file.
21782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21783         close.
21784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21785         REPLACE_CLOSE.
21786         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21787         REPLACE_CLOSE.
21788         * modules/fchdir (Depends-on): Add close.
21789
21790 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21791             Bruno Haible  <bruno@clisp.org>
21792
21793         * lib/fcntl.in.h (open): Simplify conditionals.
21794         (_gl_register_fd): New declaration.
21795         * lib/fchdir.c (rpl_open): Remove function.
21796         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21797         also.
21798         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21799         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21800         open.
21801
21802 2008-10-09  Jim Meyering  <meyering@redhat.com>
21803
21804         GNUmakefile: use the more name-space-friendly "_version"
21805         * top/GNUmakefile (_dummy): Update.
21806         (_version): Rename from "version".
21807
21808 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21809             Bruno Haible  <bruno@clisp.org>
21810
21811         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21812         rpl_close.
21813         (_gl_register_fd): New function, extracted from rpl_open.
21814         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21815         (rpl_open, rpl_opendir): Use _gl_register_fd.
21816
21817 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21818
21819         Fix organization of 'open' replacement.
21820         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21821         (gl_FUNC_OPEN): Use it.
21822         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21823
21824 2008-10-08  Bruno Haible  <bruno@clisp.org>
21825
21826         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21827
21828 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21829
21830         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21831         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21832         listen).
21833
21834 2008-10-08  Eric Blake  <ebb9@byu.net>
21835
21836         GNUmakefile: add 'make version' target
21837         * top/GNUmakefile (_curr-ver): Split version update rules...
21838         (version): ...into a target.
21839
21840 2008-10-07  Bruno Haible  <bruno@clisp.org>
21841
21842         Use a more portable replacement expression for -0.0L.
21843         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21844         instead of -0.0L. Fix m4 quotation.
21845
21846         * tests/test-signbit.c: Include <float.h>.
21847         (minus_zero): New variable.
21848         (test_signbitl): Use minus_zero instead of -zero.
21849         * modules/signbit-tests (Depends-on): Add float.
21850
21851         * tests/test-ceill.c: Include <float.h>.
21852         (zero): Remove variable.
21853         (minus_zero): New variable.
21854         (main): Use minus_zero instead of -zero.
21855         * modules/ceill-tests (Depends-on): Add float.
21856
21857         * tests/test-floorl.c: Include <float.h>.
21858         (zero): Remove variable.
21859         (minus_zero): New variable.
21860         (main): Use minus_zero instead of -zero.
21861         * modules/floorl-tests (Depends-on): Add float.
21862
21863         * tests/test-roundl.c: Include <float.h>.
21864         (zero): Remove variable.
21865         (minus_zero): New variable.
21866         (main): Use minus_zero instead of -zero.
21867         * modules/roundl-tests (Depends-on): Add float.
21868
21869         * tests/test-truncl.c: Include <float.h>.
21870         (zero): Remove variable.
21871         (minus_zero): New variable.
21872         (main): Use minus_zero instead of -zero.
21873         * modules/truncl-tests (Depends-on): Add float.
21874
21875         * tests/test-frexpl.c (zero): Remove variable.
21876         (minus_zero): New variable.
21877         (main): Use minus_zero instead of -zero.
21878         * modules/frexpl-tests (Depends-on): Add float.
21879
21880         * tests/test-isnan.c (zerol): Remove variable.
21881         (minus_zerol): New variable.
21882         (test_long_double): Use minus_zerol instead of -zerol.
21883         * modules/isnan-tests (Depends-on): Add float.
21884
21885         * tests/test-isnanl.h (zero): Remove variable.
21886         (minus_zero): New variable.
21887         (main): Use minus_zero instead of -zero.
21888         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21889         * modules/isnanl-tests (Depends-on): Add float.
21890
21891         * tests/test-ldexpl.c (zero): Remove variable.
21892         (minus_zero): New variable.
21893         (main): Use minus_zero instead of -zero.
21894         * modules/ldexpl-tests (Depends-on): Add float.
21895
21896         * tests/test-snprintf-posix.h (zerol): Remove variable.
21897         (minus_zerol): New variable.
21898         (test_function): Use minus_zerol instead of -zerol.
21899         * modules/snprintf-posix-tests (Depends-on): Add float.
21900         * modules/vsnprintf-posix-tests (Depends-on): Add float.
21901
21902         * tests/test-sprintf-posix.h (zerol): Remove variable.
21903         (minus_zerol): New variable.
21904         (test_function): Use minus_zerol instead of -zerol.
21905         * modules/sprintf-posix-tests (Depends-on): Add float.
21906         * modules/vsprintf-posix-tests (Depends-on): Add float.
21907
21908         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
21909         (minus_zerol): New variable.
21910         (test_function): Use minus_zerol instead of -zerol.
21911         * modules/vasnprintf-posix-tests (Depends-on): Add float.
21912
21913         * tests/test-vasprintf-posix.c (zerol): Remove variable.
21914         (minus_zerol): New variable.
21915         (test_function): Use minus_zerol instead of -zerol.
21916         * modules/vasprintf-posix-tests (Depends-on): Add float.
21917
21918 2008-10-07  Simon Josefsson  <simon@josefsson.org>
21919
21920         * MODULES.html.sh (Support for building documentation): Mention
21921         pmccabe2html.  Sort entries.
21922
21923         Add pmccabe2html module, from gnupdf.
21924         * build-aux/pmccabe.css: New file.
21925         * build-aux/pmccabe2html: New file.
21926         * m4/pmccabe2html.m4: New file.
21927         * modules/pmccabe2html: New file.
21928
21929 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
21930
21931         flock: new module
21932         * MODULES.html.sh: Add to list of modules.
21933         * lib/flock.c: flock implementation for Windows and Unix systems
21934         which have fcntl.
21935         * doc/glibc-functions/flock.texi: Update documentation.
21936         * lib/sys_file.in.h: <sys/file.h> header file.
21937         * m4/flock.m4: M4 macros.
21938         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
21939         * modules/flock: flock module.
21940         * modules/flock-tests: flock tests module.
21941         * modules/sys_file: sys/file.h module.
21942         * tests/test-flock.c: test suite for flock.
21943
21944 2008-10-06  Jim Meyering  <meyering@redhat.com>
21945
21946         bootstrap: check for LT_INIT more portably still ;-)
21947         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
21948         Spotted by Bruno Haible.
21949
21950 2008-10-06  Eric Blake  <ebb9@byu.net>
21951
21952         test-signbit: avoid tripping Irix cc bug on -0.0L
21953         * tests/test-signbit.c (minus_zerol): Delete, and replace with
21954         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
21955         entire testsuite consistent and avoids an Irix 6.2 bug.
21956
21957 2008-10-05  Bruno Haible  <bruno@clisp.org>
21958             Jim Meyering  <jim@meyering.net>
21959
21960         Add an option for ignoring EPIPE during close_stdout.
21961         * lib/closeout.h: Include <stdbool.h>.
21962         (close_stdout_set_ignore_EPIPE): New declaration.
21963         * lib/closeout.c: Include <stdbool.h>.
21964         (ignore_EPIPE): New variable.
21965         (close_stdout_set_ignore_EPIPE): New function.
21966         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
21967         * lib/close-stream.c (close_stream): Mention the possible EPIPE
21968         failure.
21969         * modules/closeout (Depends-on): Add stdbool.
21970
21971 2008-10-05  Bruno Haible  <bruno@clisp.org>
21972
21973         * modules/accept: New file.
21974         * modules/bind: New file.
21975         * modules/connect: New file.
21976         * modules/getpeername: New file.
21977         * modules/getsockname: New file.
21978         * modules/getsockopt: New file.
21979         * modules/listen: New file.
21980         * modules/recv: New file.
21981         * modules/recvfrom: New file.
21982         * modules/send: New file.
21983         * modules/sendto: New file.
21984         * modules/setsockopt: New file.
21985         * modules/socket: New file.
21986         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
21987         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21988         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
21989         the particular module is requested. Add a link warning when the
21990         particular module is not requested.
21991         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
21992         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
21993         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
21994         the particular module is requested.
21995         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
21996         gl_SYS_SOCKET_H_DEFAULTS): New macros.
21997         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
21998         * modules/sys_socket (Depends-on): Add link-warning.
21999         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
22000         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
22001         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
22002         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
22003         GL_LINK_WARNING.
22004         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
22005         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
22006         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
22007         * doc/posix-functions/getpeername.texi: Mention the new module
22008         'getpeername'.
22009         * doc/posix-functions/getsockname.texi: Mention the new module
22010         'getsockname'.
22011         * doc/posix-functions/getsockopt.texi: Mention the new module
22012         'getsockopt'.
22013         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
22014         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
22015         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
22016         * doc/posix-functions/send.texi: Mention the new module 'send'.
22017         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
22018         * doc/posix-functions/setsockopt.texi: Mention the new module
22019         'setsockopt'.
22020         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
22021         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
22022         listen, connect, accept.
22023         * modules/select-tests (Depends-on): Likewise.
22024
22025 2008-10-05  Bruno Haible  <bruno@clisp.org>
22026
22027         * lib/winsock.c (strerror): Remove unused #undef.
22028         (rpl_close): Remove unused local variable.
22029
22030         * modules/sys_socket (Depends-on); Add errno.
22031
22032 2008-10-05  Bruno Haible  <bruno@clisp.org>
22033
22034         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
22035         (select): Add a link warning when the 'select' module is not used.
22036         * modules/sys_select (Depends-on): Add link-warning.
22037         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
22038         Suggested by Paolo Bonzini.
22039
22040 2008-10-05  Jim Meyering  <meyering@redhat.com>
22041
22042         bootstrap: check for LT_INIT more portably
22043         * build-aux/bootstrap: Avoid using grep -E, since it's not
22044         portable enough.  Suggestion from Bruno Haible.
22045
22046 2008-10-05  Bruno Haible  <bruno@clisp.org>
22047
22048         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
22049         as being fixed by gnulib.
22050
22051 2008-10-05  Bruno Haible  <bruno@clisp.org>
22052
22053         * modules/select-tests: New file, mostly copied from
22054         modules/sys_select-tests.
22055         * tests/test-select.c: New file, mostly copied from
22056         tests/test-sys_select.c.
22057         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
22058         * modules/sys_select-tests (Depends-on): Remove all dependencies.
22059         (Makefile.am): Remove test_sys_select_LDADD.
22060
22061         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
22062         to an undefined symbol, for an error message.
22063         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
22064         (gl_SYS_SELECT_H_DEFAULTS): New macro.
22065         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
22066         winsock-select.c here.
22067         * modules/sys_select (Files): Remove lib/winsock-select.c.
22068         (Depends-on): Remove alloca.
22069         (Makefile.am): Substitute GNULIB_SELECT.
22070         * modules/select: New file.
22071         * doc/posix-functions/select.texi: Update.
22072
22073 2008-10-05  Bruno Haible  <bruno@clisp.org>
22074
22075         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
22076         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
22077         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
22078         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
22079         getdtablesize.
22080         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22081         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22082
22083 2008-10-05  Bruno Haible  <bruno@clisp.org>
22084
22085         * modules/getdtablesize-tests: New file.
22086         * tests/test-getdtablesize.c: New file.
22087
22088         New module 'getdtablesize'.
22089         * lib/unistd.in.h (getdtablesize): New declaration.
22090         * lib/getdtablesize.c: New file.
22091         * m4/getdtablesize.m4: New file.
22092         * modules/getdtablesize: New file.
22093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22094         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
22095         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
22096         HAVE_GETDTABLESIZE.
22097         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
22098
22099 2008-10-05  Bruno Haible  <bruno@clisp.org>
22100
22101         * modules/sched (Makefile.am): Fix typo.
22102         Reported by Simon Josefsson.
22103
22104 2008-10-05  Jim Meyering  <meyering@redhat.com>
22105
22106         bootstrap: check for LT_INIT, too
22107         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
22108         are deprecated.  Suggestion from Ralf Wildenhues.
22109
22110 2008-10-05  Bruno Haible  <bruno@clisp.org>
22111
22112         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
22113         overriding them by ours.
22114         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
22115
22116 2008-10-05  Jim Meyering  <meyering@redhat.com>
22117
22118         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
22119         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
22120         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
22121
22122 2008-10-04  Bruno Haible  <bruno@clisp.org>
22123
22124         * modules/dup2 (License): Change to LGPLv2+.
22125         * modules/sleep (License): Likewise.
22126         * modules/perror (License): Likewise.
22127         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
22128         Blake.
22129         * modules/signal (License): Likewise.
22130         * modules/sigprocmask (License): Likewise.
22131         * modules/raise (License): Change to LGPLv2+, with approval by Jim
22132         Meyering.
22133
22134 2008-10-04  Bruno Haible  <bruno@clisp.org>
22135
22136         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
22137         Reported by Rainer Tammer <tammer@tammer.net>.
22138
22139 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
22140             Bruno Haible  <bruno@clisp.org>
22141
22142         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
22143         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
22144         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
22145
22146 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
22147
22148         filevercmp: new module
22149         * lib/filevercmp.h: New function filevercmp comparing version strings.
22150         * lib/filevercmp.c: Implementation of filevercmp function.
22151         * modules/filevercmp: Module metadata.
22152         * tests/test-filevercmp.c: Unit test for new module.
22153         * modules/filevercmp-tests: Unit test metadata.
22154         * MODULES.html.sh: Add filevercmp module.
22155
22156 2008-10-03  Bruno Haible  <bruno@clisp.org>
22157
22158         * lib/c-ctype.h: Add comment.
22159         Reported by Jim Meyering.
22160
22161 2008-10-02  Bruno Haible  <bruno@clisp.org>
22162
22163         * modules/posix_spawn-internal (Depends-on): Add 'open'.
22164
22165 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22166
22167         * build-aux/bootstrap: Allow renaming bootstrap, and change the
22168         name of bootstrap.conf accordingly.
22169
22170 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22171
22172         * build-aux/bootstrap: Install git-merge-changelog configuration
22173         items into .gitconfig if needed.
22174
22175 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22176
22177         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
22178         git repository, and initialize/update it accordingly.
22179
22180 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
22181
22182         * modules/fsync-tests: New file.
22183         * tests/test-fsync.c: New file.
22184
22185         New module 'fsync'.
22186         * lib/fsync.c: New file.
22187         * m4/fsync.m4: New file.
22188         * modules/fsync: New file.
22189         * lib/unistd.in.h (fsync): New declaration.
22190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
22191         GNULIB_FSYNC and HAVE_FSYNC.
22192         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
22193         * MODULES.html.sh (posix_functions): Add fsync.
22194         * doc/posix-functions/fsync.texi: Mention the new module.
22195
22196 2008-10-02  Jim Meyering  <meyering@redhat.com>
22197
22198         fts.c: sync with similar code from coreutils' remove.c
22199         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
22200         Guard also with "#if defined __linux__", since for now at least,
22201         this code is Linux-kernel-specific.
22202
22203 2008-10-02  Jim Meyering  <meyering@redhat.com>
22204
22205         fts: bug fixes
22206         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
22207         Include <sys/vfs.h>, not <sys/statfs.h>.
22208
22209         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22210         Include <sys/vfs.h>, not <sys/statfs.h>.
22211
22212 2008-10-01  Bruno Haible  <bruno@clisp.org>
22213
22214         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22215         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22216         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22217         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22218         * doc/posix-functions/posix_spawnp.texi: Likewise.
22219         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22220         whether posix_spawn actually works.
22221         * m4/pipe.m4 (gl_PIPE): Likewise.
22222         * modules/execute (Files): Add m4/posix_spawn.m4.
22223         * modules/pipe (Files): Add m4/posix_spawn.m4.
22224         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22225
22226 2008-10-01  Jim Meyering  <meyering@redhat.com>
22227
22228         remove trailing spaces
22229         * NEWS: Likewise.
22230         * lib/poll.c (poll): Likewise.
22231         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22232         * lib/winsock.c (rpl_close): Likewise.
22233         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22234         * modules/yield: Likewise.
22235         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22236         * tests/test-sys_select.c (connect_to_socket): Likewise.
22237
22238         fts.c: adjust a new interface to be more generally useful
22239         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22240         (fts_build): Adjust caller.
22241
22242 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22243
22244         * modules/cond-tests: New file.
22245         * tests/test-cond.c: New file.
22246
22247 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22248             Bruno Haible  <bruno@clisp.org>
22249
22250         * modules/cond (Dependencies): Add errno, time.
22251         * lib/glthread/cond.h: Include <time.h>.
22252         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22253         across platforms.
22254
22255 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22256             Bruno Haible  <bruno@clisp.org>
22257
22258         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22259
22260 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22261             Bruno Haible  <bruno@clisp.org>
22262
22263         * modules/tls-tests (Depends-on): Add thread, yield.
22264         (configure.ac): Remove all checks.
22265         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22266         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22267         gl_thread_self): Remove definitions. Include glthread/thread.h and
22268         glthread/yield.h instead.
22269         (test_tls): Pass an additional NULL argument to gl_thread_join.
22270
22271 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22272             Bruno Haible  <bruno@clisp.org>
22273
22274         * modules/lock-tests (Depends-on): Add thread, yield.
22275         (configure.ac): Remove all checks.
22276         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22277         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22278         gl_thread_self): Remove definitions. Include glthread/thread.h and
22279         glthread/yield.h instead.
22280         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22281         additional NULL argument to gl_thread_join.
22282
22283 2008-09-30  Bruno Haible  <bruno@clisp.org>
22284
22285         Fix the Win32 implementation of the 'thread' module.
22286         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22287         pointer type.
22288         (gl_thread_self): Invoke gl_thread_self_func.
22289         (gl_thread_self_func): New declaration.
22290         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22291         (do_init_self_key, init_self_key): New functions.
22292         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22293         Remove some fields.
22294         (running_threads, running_lock): Remove variables.
22295         (get_current_thread_handle): New function.
22296         (gl_thread_self_func, wrapper_func, glthread_create_func,
22297         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22298         simplified.
22299
22300 2008-09-30  Bruno Haible  <bruno@clisp.org>
22301
22302         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22303         files.
22304
22305 2008-09-30  Jim Meyering  <meyering@redhat.com>
22306
22307         fts.m4: correct the test for statfs.f_type
22308         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22309         when checking for statfs.f_type.
22310
22311 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22312
22313         tests: avoid some compiler warnings
22314         * tests/test-memchr.c (main): Pass NULL indirectly.
22315         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22316
22317 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
22318
22319         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22320         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22321         exactly specified dayshifts.
22322         (dayshift): New rule.
22323         (rel): Add dayshift.
22324         (relative_time_table) [tomorrow, yesterday, today, now]:
22325         Use tDAY_SHIFT in place of tDAY_UNIT.
22326         * tests/test-getdate.c: Add tests for now-disallowed countable
22327         dayshifts, e.g., "4 yesterday ago".
22328
22329 2008-09-29  Bruno Haible  <bruno@clisp.org>
22330
22331         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22332         * tests/test-posix_spawn1.in.sh: Renamed from
22333         tests/test-posix_spawn.in.sh.
22334         * tests/test-posix_spawn2.c: New file.
22335         * tests/test-posix_spawn2.in.sh: New file.
22336         * modules/posix_spawnp-tests (Files): Update.
22337         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22338
22339 2008-09-29  Bruno Haible  <bruno@clisp.org>
22340
22341         Propagate effects of putenv/setenv/unsetenv to child processes.
22342         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22343         * lib/pipe.c (create_pipe): Likewise.
22344
22345 2008-09-29  Bruno Haible  <bruno@clisp.org>
22346
22347         Enable use of shell scripts as executables in mingw.
22348         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22349         run the program as a shell script.
22350         * lib/pipe.c (create_pipe): Likewise.
22351         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22352         resulting array.
22353
22354 2008-09-29  Eric Blake  <ebb9@byu.net>
22355
22356         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22357
22358 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22359
22360         * doc/posix-functions/accept.texi: Update mingw problems.
22361         * doc/posix-functions/bind.texi: Update mingw problems.
22362         * doc/posix-functions/close.texi: Update mingw problems.
22363         * doc/posix-functions/connect.texi: Update mingw problems.
22364         * doc/posix-functions/getpeername.texi: Update mingw problems.
22365         * doc/posix-functions/getsockname.texi: Update mingw problems.
22366         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22367         * doc/posix-functions/ioctl.texi: Update mingw problems.
22368         * doc/posix-functions/listen.texi: Update mingw problems.
22369         * doc/posix-functions/recv.texi: Update mingw problems.
22370         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22371         * doc/posix-functions/select.texi: Update mingw problems.
22372         * doc/posix-functions/send.texi: Update mingw problems.
22373         * doc/posix-functions/sendto.texi: Update mingw problems.
22374         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22375         * doc/posix-functions/socket.texi: Update mingw problems.
22376
22377 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22378             Bruno Haible  <bruno@clisp.org>
22379
22380         * lib/sys_select.in.h: Include sys/time.h.
22381         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22382         * modules/sys_select: Depend on sys_time.
22383         * tests/test-sys_select.c: Test that sys/select.h defines struct
22384         timeval fully.
22385
22386 2008-09-29  Bruno Haible  <bruno@clisp.org>
22387
22388         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22389         * lib/sys_select.in.h: Likewise.
22390
22391 2008-09-29  Bruno Haible  <bruno@clisp.org>
22392
22393         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22394
22395 2008-09-29  Bruno Haible  <bruno@clisp.org>
22396
22397         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22398         Set LIBSOCKET instead of augmenting LIBS.
22399         * modules/sockets (Link): New section.
22400         * modules/sockets-tests (test_sockets_LDADD): New variable.
22401         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22402         * modules/poll-tests (test_poll_LDADD): New variable.
22403         * NEWS: Document the change.
22404
22405 2008-09-29  Bruno Haible  <bruno@clisp.org>
22406
22407         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22408         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22409         ARPA_INET_H directly.
22410         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22411
22412 2008-09-28  Bruno Haible  <bruno@clisp.org>
22413
22414         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22415         from gl_HEADER_SYS_SOCKET.
22416         (gl_HEADER_SYS_SOCKET): Invoke it.
22417         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22418
22419 2008-09-28  Bruno Haible  <bruno@clisp.org>
22420
22421         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
22422         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
22423         Needed on OSF/1 4.0.
22424
22425 2008-09-28  Bruno Haible  <bruno@clisp.org>
22426
22427         Override open more carefully.
22428         * lib/open.c (orig_open): New function.
22429         (rpl_open): Use orig_open instead of open.
22430         * lib/fcntl.in.h: Add special invocation convention.
22431         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
22432         (gl_FUNC_OPEN): Invoke it.
22433
22434         Override freopen more carefully.
22435         * lib/freopen.c (orig_freopen): New function.
22436         (rpl_freopen): Use orig_freopen instead of freopen.
22437         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
22438         (gl_FUNC_FREOPEN): Invoke it.
22439
22440         Override fopen more carefully.
22441         * lib/fopen.c (orig_fopen): New function.
22442         (rpl_fopen): Use orig_fopen instead of fopen.
22443         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
22444         (gl_FUNC_FOPEN): Invoke it.
22445         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
22446
22447 2008-09-28  Bruno Haible  <bruno@clisp.org>
22448
22449         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22450         SIGPIPE.
22451
22452 2008-09-28  Bruno Haible  <bruno@clisp.org>
22453
22454         * tests/test-sigaction.c (handler, main): Disable the check whether
22455         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22456         glibc systems with LinuxThreads.
22457
22458 2008-09-28  Bruno Haible  <bruno@clisp.org>
22459
22460         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22461
22462         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22463         with AIX xlc.
22464         * lib/fcntl.in.h (open): Likewise.
22465         Reported by Rainer Tammer <tammer@tammer.net>.
22466
22467 2008-09-28  Bruno Haible  <bruno@clisp.org>
22468
22469         * modules/posix_spawnp-tests: New file.
22470         * tests/test-posix_spawn.c: New file.
22471         * tests/test-posix_spawn.in.sh: New file.
22472
22473         New module 'posix_spawnp'.
22474         * modules/posix_spawnp: New file.
22475         * lib/spawnp.c: New file, from GNU libc with modifications.
22476         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22477
22478         New module 'posix_spawn'.
22479         * modules/posix_spawn: New file.
22480         * lib/spawn.c: New file, from GNU libc with modifications.
22481         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22482
22483         New module 'posix_spawnattr_destroy'.
22484         * modules/posix_spawnattr_destroy: New file.
22485         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22486         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22487         module.
22488
22489         New module 'posix_spawnattr_setsigmask'.
22490         * modules/posix_spawnattr_setsigmask: New file.
22491         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22492         modifications.
22493         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22494         new module.
22495
22496         New module 'posix_spawnattr_getsigmask'.
22497         * modules/posix_spawnattr_getsigmask: New file.
22498         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22499         modifications.
22500         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22501         new module.
22502
22503         New module 'posix_spawnattr_setsigdefault'.
22504         * modules/posix_spawnattr_setsigdefault: New file.
22505         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22506         modifications.
22507         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22508         new module.
22509
22510         New module 'posix_spawnattr_getsigdefault'.
22511         * modules/posix_spawnattr_getsigdefault: New file.
22512         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22513         modifications.
22514         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22515         new module.
22516
22517         New module 'posix_spawnattr_setschedpolicy'.
22518         * modules/posix_spawnattr_setschedpolicy: New file.
22519         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22520         modifications.
22521         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22522         new module.
22523
22524         New module 'posix_spawnattr_getschedpolicy'.
22525         * modules/posix_spawnattr_getschedpolicy: New file.
22526         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22527         modifications.
22528         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22529         new module.
22530
22531         New module 'posix_spawnattr_setschedparam'.
22532         * modules/posix_spawnattr_setschedparam: New file.
22533         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22534         modifications.
22535         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22536         new module.
22537
22538         New module 'posix_spawnattr_getschedparam'.
22539         * modules/posix_spawnattr_getschedparam: New file.
22540         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22541         modifications.
22542         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22543         new module.
22544
22545         New module 'posix_spawnattr_setpgroup'.
22546         * modules/posix_spawnattr_setpgroup: New file.
22547         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22548         modifications.
22549         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22550         module.
22551
22552         New module 'posix_spawnattr_getpgroup'.
22553         * modules/posix_spawnattr_getpgroup: New file.
22554         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22555         modifications.
22556         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22557         module.
22558
22559         New module 'posix_spawnattr_setflags'.
22560         * modules/posix_spawnattr_setflags: New file.
22561         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22562         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22563         module.
22564
22565         New module 'posix_spawnattr_getflags'.
22566         * modules/posix_spawnattr_getflags: New file.
22567         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22568         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22569         module.
22570
22571         New module 'posix_spawnattr_init'.
22572         * modules/posix_spawnattr_init: New file.
22573         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22574         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22575         module.
22576
22577         New module 'posix_spawn_file_actions_destroy'.
22578         * modules/posix_spawn_file_actions_destroy: New file.
22579         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22580         modifications.
22581         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22582         the new module.
22583
22584         New module 'posix_spawn_file_actions_addopen'.
22585         * modules/posix_spawn_file_actions_addopen: New file.
22586         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22587         modifications.
22588         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22589         the new module.
22590
22591         New module 'posix_spawn_file_actions_adddup2'.
22592         * modules/posix_spawn_file_actions_adddup2: New file.
22593         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22594         modifications.
22595         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22596         the new module.
22597
22598         New module 'posix_spawn_file_actions_addclose'.
22599         * modules/posix_spawn_file_actions_addclose: New file.
22600         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22601         modifications.
22602         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22603         the new module.
22604
22605         New module 'posix_spawn_file_actions_init'.
22606         * modules/posix_spawn_file_actions_init: New file.
22607         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22608         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22609         new module.
22610
22611         New module 'posix_spawn-internal'.
22612         * modules/posix_spawn-internal: New file.
22613         * lib/spawn_int.h: New file, from GNU libc with modifications.
22614         * lib/spawni.c: New file, from GNU libc with modifications.
22615         * m4/posix_spawn.m4: New file.
22616
22617         New module 'spawn'.
22618         * modules/spawn: New file.
22619         * lib/spawn.in.h: New file, from GNU libc with modifications.
22620         * m4/spawn_h.m4: New file.
22621         * doc/posix-headers/spawn.texi: Mention the new module.
22622
22623 2008-09-28  Bruno Haible  <bruno@clisp.org>
22624
22625         * modules/sched-tests: New file.
22626         * tests/test-sched.c: New file.
22627
22628         New module 'sched'.
22629         * modules/sched: New file.
22630         * lib/sched.in.h: New file.
22631         * m4/sched_h.m4: New file.
22632         * doc/posix-headers/sched.texi: Mention the new module.
22633
22634 2008-09-27  Eric Blake  <ebb9@byu.net>
22635
22636         Fix previous patch, and tweak references to $0.
22637         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22638         (func_version, func_gnulib_dir): Don't call this program
22639         gnulib-tool.
22640         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22641         with using $0 in function.
22642         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22643         (func_fatal_error): Reuse the name the user invoked us with.
22644
22645 2008-09-27  Bruno Haible  <bruno@clisp.org>
22646
22647         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22648         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22649         (gl_ICONV_H): Not here.
22650         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22651         instead of assigning ICONV_H directly.
22652
22653         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22654         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22655         WCHAR_H directly.
22656
22657 2008-09-27  Bruno Haible  <bruno@clisp.org>
22658
22659         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22660         * modules/arpa_inet (Depends-on): Add link-warning.
22661         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22662         * modules/unistd (Makefile.am): Likewise.
22663
22664 2008-09-26  Bruno Haible  <bruno@clisp.org>
22665
22666         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22667         variables.
22668         (func_version): Essentially copied from gnulib-tool.
22669         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22670         func_readlink): Copied from gnulib-tool.
22671
22672 2008-09-26  Bruno Haible  <bruno@clisp.org>
22673
22674         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22675         invoking git-version-gen.
22676
22677 2008-09-26  Bruno Haible  <bruno@clisp.org>
22678
22679         * posix-modules: Update to directory names changed on 2008-01-19.
22680         Remove commas in output before splitting into words. No more need to
22681         avoid 'ftruncate' since 2007-02-19.
22682
22683 2008-09-26  Bruno Haible  <bruno@clisp.org>
22684
22685         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22686
22687 2008-09-26  Bruno Haible  <bruno@clisp.org>
22688
22689         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22690         * modules/fwriteerror (Depends-on): Add errno.
22691
22692 2008-09-26  Bruno Haible  <bruno@clisp.org>
22693
22694         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22695         * tests/test-vc-list-files-cvs.sh: Likewise.
22696
22697 2008-09-26  Bruno Haible  <bruno@clisp.org>
22698
22699         * doc/posix-headers/sys_resource.texi: Reorder items.
22700
22701 2008-09-26  Jim Meyering  <meyering@redhat.com>
22702
22703         fts: tweak inode comparison function
22704         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22705         inode numbers, as documented.
22706
22707         fts: sort dirent entries on inode number before traversing
22708         This avoids a quadratic, seek-related performance penalty when
22709         operating on a directory containing many entries (measurable at 10k;
22710         3.5 hours at 2 million entries with a cold cache) on certain types
22711         of file systems, including ext3 and ext4, but not tmpfs.
22712         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22713         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22714         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22715         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22716         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22717         (fts_build): Set the stat.st_ino member from D_INO.
22718         If it is likely to be useful, sort dirent entries on inode number.
22719
22720         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22721         and the struct statfs.f_type member.
22722         * modules/fts (Depends-on): Add d-ino.
22723
22724 2008-09-26  Bruno Haible  <bruno@clisp.org>
22725
22726         * modules/sigpipe-die (Depends-on): Add sigpipe.
22727
22728         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22729         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22730         and GNULIB_STDIO_H_SIGPIPE are set.
22731         * lib/stdio-write.c: New file.
22732         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22733         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22734         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22735         REPLACE_STDIO_WRITE_FUNCS.
22736         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22737         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22738         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22739         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22740         * modules/stdio (Files): Add lib/stdio-write.c.
22741         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22742         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22743         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22744         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22745         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22746         REPLACE_FPRINTF_POSIX.
22747         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22748         REPLACE_PRINTF_POSIX.
22749         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22750         REPLACE_VFPRINTF_POSIX.
22751         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22752         REPLACE_VPRINTF_POSIX.
22753         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22754         SIGPIPE issue.
22755         * doc/posix-functions/fputc.texi: Likewise.
22756         * doc/posix-functions/fputs.texi: Likewise.
22757         * doc/posix-functions/fwrite.texi: Likewise.
22758         * doc/posix-functions/printf.texi: Likewise.
22759         * doc/posix-functions/putc.texi: Likewise.
22760         * doc/posix-functions/putchar.texi: Likewise.
22761         * doc/posix-functions/puts.texi: Likewise.
22762         * doc/posix-functions/vfprintf.texi: Likewise.
22763         * doc/posix-functions/vprintf.texi: Likewise.
22764
22765         * modules/safe-write (Depends-on): Add write.
22766
22767         * modules/sigpipe-tests: New file.
22768         * tests/test-sigpipe.c: New file.
22769         * tests/test-sigpipe.sh: New file.
22770
22771         * modules/write: New file.
22772         * lib/unistd.in.h: Include <sys/types.h>.
22773         (write): New declaration.
22774         * lib/write.c: New file.
22775         * m4/write.m4: New file.
22776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22777         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22778         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22779         GNULIB_WRITE, REPLACE_WRITE.
22780         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22781         and the SIGPIPE issue.
22782
22783         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22784         (raise): New declaration.
22785         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22786         (ext_signal): New function.
22787         (rpl_raise): New function.
22788         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22789         GNULIB_SIGNAL_H_SIGPIPE.
22790         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22791         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22792
22793         * modules/sigpipe: New file.
22794         * m4/sigpipe.m4: New file.
22795
22796 2008-09-25  Derek Price  <derek@ximbiot.com>
22797             Bruno Haible  <bruno@clisp.org>
22798
22799         * gnulib-tool (func_import): Report all license incompatibilities, not
22800         just the first one.
22801
22802 2008-09-25  Bruno Haible  <bruno@clisp.org>
22803
22804         * gnulib-tool (func_import): When computing the edits, consider not
22805         only the Makefile.ams that exist but also those that will be generated.
22806
22807 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22808
22809         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22810         fixes gnulib-tool --test warning about duplicate dependency.
22811
22812 2008-09-25  Bruno Haible  <bruno@clisp.org>
22813
22814         * gnulib-tool: Don't ask the user to perform edits in the generated
22815         Makefile.ams.
22816         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22817         apply to the Makefile.am being generated.
22818         (func_emit_tests_Makefile_am): Execute edits that apply to the
22819         Makefile.am being generated.
22820         (func_import): Setup list of Makefile.am edits before emitting the
22821         Makefile.ams, not at the end.
22822         (func_create_testdir): Update.
22823         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22824
22825 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22826
22827         * gnulib-tool (func_import): Store the --tests-base option in the
22828         comment in gnulib-cache.m4.
22829
22830 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22831
22832         * NEWS: Document increased portability that sys_select now provides.
22833
22834         * lib/sys_select.in.h: Install select wrapper.
22835         * lib/sys_socket.in.h: Use more descriptive name when there is no
22836         select wrapper.
22837         * lib/winsock-select.c: New.
22838         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22839         Require gl_HEADER_SYS_SOCKET.
22840         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22841         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22842         * tests/test-sys_select.c: Add functional tests.
22843
22844 2008-09-24  Eric Blake  <ebb9@byu.net>
22845
22846         open, fopen: close fd leak in last patch
22847         * lib/open.c (rpl_open): Close fd before returning error.
22848         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22849         * doc/posix-functions/open.texi (open): Document that Irix also
22850         has the bug.
22851         * doc/posix-functions/fopen.texi (fopen): Likewise.
22852         Reported by Paolo Bonzini.
22853
22854 2008-09-24  Bruno Haible  <bruno@clisp.org>
22855
22856         Ensure that a filename ending in a slash cannot be used to access a
22857         non-directory.
22858         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22859         to check whether it's really a directory.
22860         * lib/fopen.c: Include fcntl.h, unistd.h.
22861         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22862         and fdopen().
22863         * modules/fopen (Depends-on): Add unistd.
22864         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22865         * tests/test-fopen.c (main): Likewise.
22866         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22867         * doc/posix-functions/fopen.texi: Likewise.
22868         Reported by Eric Blake.
22869
22870 2008-09-23  Eric Blake  <ebb9@byu.net>
22871
22872         c-stack: avoid compiler optimizations when provoking overflow
22873         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22874         recursion harder to optimize, to ensure a stack overflow occurs.
22875         * tests/test-c-stack.c (recurse): Likewise.
22876         Borrowed from libsigsegv.
22877
22878         c-stack: work around Irix sigaltstack bug
22879         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22880         whether sigaltstack uses wrong end of stack_t (copied in part from
22881         libsigsegv).
22882         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22883         Irix bug, without requiring an over-allocation.
22884         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22885         bug.
22886
22887         fopen: document mingw bug on directories
22888         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22889         not allowing a stream visiting a directory, even though reading
22890         from such a stream is not portable.
22891
22892 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22893
22894         * lib/poll.c: Rewrite.
22895         * modules/poll: Depend on alloca.
22896
22897 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22898
22899         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
22900         instead define prototypes for a full set of wrappers.  Ensure
22901         that Cygwin does not use the compatibility code, which is only
22902         for MinGW.
22903         * lib/winsock.c: New.
22904         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
22905         * modules/sys_socket: Add lib/winsock.c.
22906
22907         * modules/poll-tests: Add errno and perror.
22908         * tests/test-poll.c: Use ioctl, not ioctlsocket.
22909
22910 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22911
22912         * tests/test-poll.c: Downgrade minimum needed Winsock version.
22913
22914 2008-09-23  Bruno Haible  <bruno@clisp.org>
22915
22916         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
22917         * doc/glibc-functions/*: Likewise.
22918
22919 2008-09-23  Simon Josefsson  <simon@josefsson.org>
22920
22921         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
22922         success.
22923
22924 2008-09-22  Eric Blake  <ebb9@byu.net>
22925             Bruno Haible  <bruno@clisp.org>
22926
22927         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
22928         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
22929         supply %A but mishandle pseudo-NaN.
22930         Reported by Simon Josefsson.
22931
22932 2008-09-21  Bruno Haible  <bruno@clisp.org>
22933
22934         * tests/test-lock.c (main): Tweak skip message.
22935         * tests/test-tls.c (main): Likewise.
22936
22937 2008-09-21  Bruno Haible  <bruno@clisp.org>
22938
22939         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
22940         whether 'struct sigaction' has sa_sigaction here...
22941         (gl_PREREQ_SIG_HANDLER_H): ... not here.
22942         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
22943
22944 2008-09-21  Bruno Haible  <bruno@clisp.org>
22945
22946         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
22947         section.
22948         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
22949         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
22950         the new section.
22951         (Support for obsolete systems lacking POSIX:2001): New section.
22952         (String handling <string.h>): Move strdup to the new section.
22953         Suggested by Simon Josefsson and Paolo Bonzini.
22954
22955 2008-09-21  Bruno Haible  <bruno@clisp.org>
22956
22957         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
22958         exponents in %e and %g results on 'long double'. Needed for mingw's
22959         improved *printf functions.
22960         * tests/test-vasprintf-posix.c (test_function): Likewise.
22961         * tests/test-snprintf-posix.h (test_function): Likewise.
22962         * tests/test-sprintf-posix.h (test_function): Likewise.
22963         Reported by Eric Blake.
22964
22965 2008-09-21  Bruno Haible  <bruno@clisp.org>
22966
22967         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
22968         * tests/test-sprintf-posix.h (test_function): Likewise.
22969
22970 2008-09-21  Bruno Haible  <bruno@clisp.org>
22971
22972         * modules/getpass (Depends-on): Add strdup-posix.
22973
22974         New module 'strdup-posix'.
22975         * modules/strdup-posix: New file.
22976         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
22977         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
22978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22979         REPLACE_STRDUP.
22980         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
22981         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
22982         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22983         strdup-posix.
22984
22985         * modules/strdup (Depends-on): Remove malloc-posix.
22986
22987 2008-09-20  Bruno Haible  <bruno@clisp.org>
22988
22989         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
22990         Wildenhues.
22991
22992 2008-09-20  Bruno Haible  <bruno@clisp.org>
22993
22994         Ensure that wint_t gets defined on IRIX 5.3.
22995         * lib/wchar.in.h (wint_t): Define if not defined by the system.
22996         * lib/wctype.in.h (wint_t): Likewise.
22997         (__wctype_wint_t): Remove type.
22998         (isw*): Use wint_t instead of __wctype_wint_t.
22999         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
23000         * modules/wchar (Files): Add m4/wint_t.m4.
23001         (Makefile.am): Substitute HAVE_WINT_T.
23002         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
23003         * tests/test-wctype.c: Check that wint_t is defined.
23004         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
23005         * doc/posix-headers/wctype.texi: Likewise.
23006         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23007
23008 2008-09-18  Bruno Haible  <bruno@clisp.org>
23009
23010         * gnulib-tool (func_exit): Update comment.
23011
23012 2008-09-18  Simon Josefsson  <simon@josefsson.org>
23013
23014         * modules/getaddrinfo (Depends-on): Remove strdup, this module
23015         assumes strdup exists and does not depend on strdup to return
23016         ENOMEM on out of memory conditions.
23017
23018 2008-09-18  Bruno Haible  <bruno@clisp.org>
23019
23020         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
23021         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
23022         digits for the exponent.
23023
23024 2008-09-18  Jim Meyering  <meyering@redhat.com>
23025             Bruno Haible  <bruno@clisp.org>
23026
23027         * lib/vasnprintf.c (decimal_point_char): Define also if
23028         NEED_PRINTF_INFINITE_LONG_DOUBLE.
23029
23030 2008-09-16  Bruno Haible  <bruno@clisp.org>
23031         and Eric Blake  <ebb9@byu.net>
23032
23033         vasnprintf: support Irix 5.3
23034         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
23035         that mishandle long double infinity.
23036         Reported by Tom G. Christensen.
23037
23038 2008-09-16  Bruno Haible  <bruno@clisp.org>
23039
23040         * doc/glibc-functions/scandir.texi: Mention the function is missing on
23041         Solaris 9.
23042         * doc/glibc-functions/alphasort.texi: Likewise.
23043         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
23044
23045 2008-09-16  Jim Meyering  <meyering@redhat.com>
23046
23047         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
23048         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
23049         a umask modification leak out of a subshell.  Otherwise, the
23050         opensolaris /bin/sh would be accepted and thus cause unwarranted
23051         failures in the coreutils test suite.
23052
23053 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
23054
23055         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
23056         to succeed.
23057
23058 2008-09-16  Jim Meyering  <meyering@redhat.com>
23059
23060         avoid spurious test failure when library is built without ACL support
23061         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
23062         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
23063         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
23064         * tests/test-copy-acl.sh: Likewise.
23065
23066 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23067
23068         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
23069         based on character occurrence counts.
23070
23071 2008-09-15  Eric Blake  <ebb9@byu.net>
23072
23073         tests: avoid some compiler warnings
23074         * tests/test-memchr.c (main): Pass NULL indirectly.
23075         * tests/test-closein.c (main): Avoid unused variable.
23076
23077 2008-09-15  Bruno Haible  <bruno@clisp.org>
23078
23079         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
23080         are missing on OpenBSD 4.0 individually.
23081         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23082
23083 2008-09-15  Bruno Haible  <bruno@clisp.org>
23084
23085         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
23086         * doc/posix-functions/strerror.texi: Mention also Cygwin.
23087         * doc/posix-functions/perror.texi: Likewise.
23088         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
23089         is missing.
23090         Reported by Eric Blake.
23091
23092         * lib/errno.in.h: Use replacement values >= 2000.
23093         Reported by Eric Blake.
23094
23095 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23096
23097         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
23098         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
23099         limit.
23100         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
23101         compareseq was aborted.
23102
23103 2008-09-14  Bruno Haible  <bruno@clisp.org>
23104
23105         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
23106         yvec_edit_count.
23107         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
23108         (fstrcmp_bounded): Simplify result computation accordingly.
23109
23110 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23111
23112         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
23113         (fstrcmp): Define in terms of fstrcmp_bounded.
23114         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
23115         lower_bound argument.
23116         Return quickly if the result is certainly < lower_bound.
23117         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
23118
23119 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23120
23121         * lib/diffseq.h (EARLY_ABORT): New macro.
23122         (compareseq): Change return type to bool. Return true when EARLY_ABORT
23123         evaluates to true.
23124
23125 2008-09-14  Bruno Haible  <bruno@clisp.org>
23126
23127         * modules/perror-tests: New file.
23128         * tests/test-perror.sh: New file.
23129         * tests/test-perror.c: New file.
23130
23131         New module 'perror'.
23132         * lib/stdio.in.h (perror): New declaration.
23133         * lib/perror.c: New file.
23134         * m4/perror.m4: New file.
23135         * modules/perror: New file.
23136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
23137         * doc/posix-functions/perror.texi: Mention the perror module.
23138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
23139         REPLACE_PERROR.
23140         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
23141         REPLACE_PERROR.
23142
23143 2008-09-14  Bruno Haible  <bruno@clisp.org>
23144
23145         * modules/stdio (Makefile.am): Reorder to match the order in
23146         lib/stdio.in.h.
23147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23148
23149 2008-09-13  Bruno Haible  <bruno@clisp.org>
23150
23151         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
23152
23153 2008-09-13  Bruno Haible  <bruno@clisp.org>
23154
23155         Extend strerror to cover the added errno values.
23156         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
23157         (rpl_strerror): Provide error messages for the added errno values and
23158         for the WSA* values.
23159         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
23160         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
23161         strerror.
23162         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
23163         * modules/strerror (Depends-on): Add errno.
23164         * doc/posix-functions/strerror.texi: Document the change.
23165         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
23166         and EOVERFLOW.
23167
23168 2008-09-13  Bruno Haible  <bruno@clisp.org>
23169
23170         * modules/EOVERFLOW: Remove file.
23171         * m4/eoverflow.m4: Remove file.
23172         * modules/EOVERFLOW-tests: Remove file.
23173         * tests/test-EOVERFLOW.c: Remove file.
23174         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
23175         * modules/ftell (Depends-on): Likewise.
23176         * modules/getdelim (Depends-on): Likewise.
23177         * modules/getugroups (Depends-on): Likewise.
23178         * modules/poll (Depends-on): Likewise.
23179         * modules/snprintf (Depends-on): Likewise.
23180         * modules/sprintf-posix (Depends-on): Likewise.
23181         * modules/vasnprintf (Depends-on): Likewise.
23182         * modules/vasprintf (Depends-on): Likewise.
23183         * modules/vfprintf-posix (Depends-on): Likewise.
23184         * modules/vsnprintf (Depends-on): Likewise.
23185         * modules/vsprintf-posix (Depends-on): Likewise.
23186         * modules/xvasprintf (Depends-on): Likewise.
23187         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23188         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
23189         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
23190         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
23191         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23192         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
23193         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
23194         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
23195         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23196         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
23197         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
23198         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
23199         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23200         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
23201         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
23202         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
23203         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23204         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
23205         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
23206         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
23207         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23208         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23209         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23210         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23211         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23212         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23213         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23214         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23215         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23216         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23217         * MODULES.html.sh: Remove EOVERFLOW.
23218         * NEWS: Mention the change.
23219
23220 2008-09-13  Bruno Haible  <bruno@clisp.org>
23221
23222         * modules/errno-tests: New file.
23223         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23224
23225         * lib/errno.in.h: New file.
23226         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23227         * modules/errno: New file.
23228         * doc/posix-headers/errno.texi: Update documentation.
23229         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23230
23231 2008-09-13  Bruno Haible  <bruno@clisp.org>
23232
23233         * tests/test-poll.c: Use #if for native Windows, rather than testing
23234         __MSVCRT__.
23235
23236 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23237             Bruno Haible  <bruno@clisp.org>
23238
23239         * lib/glob.c: Don't include <pwd.h> on native Windows.
23240         (WINDOWS32): New macro.
23241         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23242
23243 2008-09-13  Bruno Haible  <bruno@clisp.org>
23244
23245         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23246         (ETIMEDOUT): Remove macro.
23247         (glthread_cond_timedwait_multithreaded): New declaration.
23248         (glthread_cond_timedwait): Use it.
23249         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23250         (glthread_cond_timedwait_multithreaded): New function.
23251
23252 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23253
23254         * modules/poll-tests: Do not check for io.h.
23255         * tests/test-poll.c: Check for __MSVCRT__ instead.
23256
23257 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23258
23259         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23260         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23261         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23262
23263 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23264
23265         * modules/poll-tests: New.
23266         * tests/test-poll.c: New.
23267
23268 2008-09-12  Eric Blake  <ebb9@byu.net>
23269
23270         frexp: test for NetBSD failure on -0.0
23271         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23272         not all, bugs from NetBSD 3.0 have been fixed.
23273         * doc/posix-functions/frexp.texi (frexp): Document bug.
23274         Reported by Thomas Klausner.
23275
23276         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23277         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23278         literal -0.0.
23279         Reported by Jonathan C. Patschke <jp@centtech.com>.
23280
23281 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23282
23283         * lib/glthread/cond.h: Use dummy implementation also if
23284         USE_WIN32_THREADS.
23285
23286 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23287
23288         * modules/fnmatch-posix (License): Change to LGPLv2+.
23289         * modules/fnmatch-gnu (License): Likewise.
23290
23291 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23292
23293         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23294
23295 2008-09-11  Jim Meyering  <meyering@redhat.com>
23296
23297         * users.txt: Add gtk-vnc.
23298
23299 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23300
23301         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23302         rotate amounts.
23303
23304         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23305         required for 16-bit and 8-bit rotates.
23306         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23307         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23308         UINT8_MAX instead of hard-coded constants.
23309         Suggested by Paul Eggert.
23310
23311 2008-09-07  Bruno Haible  <bruno@clisp.org>
23312
23313         * tests/test-striconveh.c (main): Check behaviour when converting from
23314         UTF-7.
23315
23316         Make striconveh work better with stateful encodings.
23317         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23318         that iconv does not increment the inptr when returning -1/EINVAL.
23319
23320 2008-09-07  Bruno Haible  <bruno@clisp.org>
23321
23322         * build-aux/config.rpath: Update according to libtool-2.2.6.
23323         * build-aux/config.libpath: Likewise.
23324
23325 2008-09-06  Bruno Haible  <bruno@clisp.org>
23326
23327         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23328         * lib/freadptr.c (freadptr): Likewise.
23329         * lib/freadseek.c (freadptrinc): Likewise.
23330         Reported by Simon Josefsson.
23331
23332 2008-09-06  Bruno Haible  <bruno@clisp.org>
23333
23334         * modules/freadptr (License): Change to LGPLv2+.
23335         * modules/freadseek (License): Likewise.
23336         Suggested by Eric Blake.
23337
23338         * modules/memchr2 (License): Change to LGPLv2+.
23339         Approved by Eric Blake.
23340
23341 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23342             Bruno Haible  <bruno@clisp.org>
23343
23344         Make gnulib-tool work with native 'sed' on AIX.
23345         * gnulib-tool (sed_noop): New variable.
23346         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23347         func_add_or_update, func_create_testdir): Use it to initialize sed
23348         script variables.
23349         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23350
23351 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23352             Bruno Haible  <bruno@clisp.org>
23353
23354         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23355         also works after #include directives.
23356
23357 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
23358
23359         getdate.y: reject an out-of-range timezone value
23360         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23361         the range [-24...+24].  When specified with only one or two digits,
23362         * tests/test-getdate.c: Tests for the fix.
23363         * doc/getdate.texi: Document this change.
23364
23365 2008-09-03  Bruno Haible  <bruno@clisp.org>
23366
23367         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23368
23369 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23370
23371         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23372         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23373         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23374         Blake <ebb9@byu.net>.
23375
23376         * tests/test-bitrotate.c: Add more test vectors.
23377
23378 2008-09-02  Eric Blake  <ebb9@byu.net>
23379
23380         vasnprintf-posix: handle large precision via %.*d
23381         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23382         when handling it ourselves.
23383         * tests/test-vasnprintf-posix.c (test_function): Add test.
23384         * tests/test-snprintf-posix.h (test_function): Likewise.
23385         * tests/test-sprintf-posix.h (test_function): Likewise.
23386         * tests/test-vasprintf-posix.c (test_function): Likewise.
23387         Reported by Alain Guibert.
23388
23389 2008-09-01  Eric Blake  <ebb9@byu.net>
23390
23391         c-stack: make configure-time check more robust
23392         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23393         successful sigaction call.
23394         Reported by Tom G. Christensen.
23395
23396 2008-09-01  Bruno Haible  <bruno@clisp.org>
23397
23398         New module 'findprog-lgpl'.
23399         * modules/findprog-lgpl: New file.
23400         * lib/findprog-lgpl.c: New file.
23401         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23402         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23403         to decide whether to use strdup or xstrdup, concatenated_filename or
23404         xconcatenated_filename.
23405
23406 2008-09-01  Bruno Haible  <bruno@clisp.org>
23407
23408         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23409         'xconcat-filename' (GPL).
23410         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23411         (License): Change to LGPLv2+.
23412         * modules/xconcat-filename: New file.
23413         * lib/concat-filename.h (concatenated_filename): Change specification.
23414         (xconcatenated_filename): New declaration.
23415         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23416         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23417         memory situations.
23418         * lib/xconcat-filename.c: New file.
23419         * NEWS: Mention the change.
23420         * lib/findprog.c: Include concat-filename.h, not filename.h.
23421         (find_in_path): Use xconcatenated_filename instead of
23422         concatenated_filename.
23423         * lib/javacomp.c: Include concat-filename.h, not filename.h.
23424         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23425         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23426         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23427         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
23428         instead of concatenated_filename.
23429         * lib/javaexec.c: Include concat-filename.h, not filename.h.
23430         (execute_java_class): Use xconcatenated_filename instead of
23431         concatenated_filename.
23432         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
23433         * modules/javacomp (Depends-on): Likewise.
23434         * modules/javaexec (Depends-on): Likewise.
23435
23436 2008-09-01  Bruno Haible  <bruno@clisp.org>
23437
23438         Split module 'filename' into 'filename' and 'concat-filename'.
23439         * modules/filename: Keep only lib/filename.h.
23440         (License): Change to LGPLv2+.
23441         * modules/concat-filename: New file, extracted from modules/filename.
23442         * lib/filename.h (concatenated_filename): Remove declaration.
23443         * lib/concat-filename.h: New file, extracted from lib/filename.h.
23444         * lib/concat-filename.c: Include concat-filename.h.
23445         * NEWS: Mention the change.
23446
23447 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23448
23449         * lib/bitrotate.h (rotl8, rotr8): Add.
23450
23451         * modules/bitrotate (configure.ac): Need
23452         AC_REQUIRE([AC_C_INLINE]).
23453         (Description): Mention stdint.h.  Reported by Bruno Haible
23454         <bruno@clisp.org>.
23455
23456         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23457         Paolo Bonzini <bonzini@gnu.org>.
23458
23459 2008-08-31  Bruno Haible  <bruno@clisp.org>
23460
23461         Assume Solaris specific bi-arch conventions on Solaris systems.
23462         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23463         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23464         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23465         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23466         like acl_libdirstem.
23467         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23468         acl_libdirstem.
23469         * NEWS: Mention the change.
23470         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23471
23472 2008-08-31  Jim Meyering  <meyering@redhat.com>
23473
23474         * lib/strftime.h: Add comments describing the two added arguments.
23475
23476         remove duplicate #include directives
23477         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23478         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23479
23480 2008-08-31  Bruno Haible  <bruno@clisp.org>
23481
23482         New module 'sigpipe-die'.
23483         * modules/sigpipe-die: New file.
23484         * lib/sigpipe-die.h: New file.
23485         * lib/sigpipe-die.c: New file.
23486         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23487
23488 2008-08-31  Bruno Haible  <bruno@clisp.org>
23489
23490         Don't override previously installed signal handlers.
23491         * lib/fatal-signal.c (saved_sigactions): New variable.
23492         (uninstall_handlers): Reset the signal to the saved handler, not
23493         to SIG_DFL (except when ignored).
23494         (install_handlers): Save the previous handlers.
23495
23496 2008-08-30  Bruno Haible  <bruno@clisp.org>
23497
23498         * gnulib-tool (func_reset_sigpipe): New function.
23499         (func_get_automake_snippet, func_modules_transitive_closure,
23500         func_import): Invoke it before a join command that reads from stdin,
23501         to avoid "echo: write error: Broken pipe" error messages on stderr.
23502         Reported by Sam Steingold <sds@gnu.org>.
23503
23504 2008-08-30  Bruno Haible  <bruno@clisp.org>
23505
23506         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23507         Code copied from m4/open.m4.
23508         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23509         access and the filename ends in a slash. Code copied from lib/open.c.
23510         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23511         * tests/test-fopen.c (main): Check against bug with trailing slash.
23512
23513 2008-08-29  Bruno Haible  <bruno@clisp.org>
23514
23515         Avoid some "gcc -pedantic" warnings.
23516         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23517         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23518         * lib/dirent.in.h: Likewise.
23519         * lib/fcntl.in.h: Likewise.
23520         * lib/float.in.h: Likewise.
23521         * lib/iconv.in.h: Likewise.
23522         * lib/inttypes.in.h: Likewise.
23523         * lib/locale.in.h: Likewise.
23524         * lib/math.in.h: Likewise.
23525         * lib/netinet_in.in.h: Likewise.
23526         * lib/search.in.h: Likewise.
23527         * lib/signal.in.h: Likewise.
23528         * lib/stdarg.in.h: Likewise.
23529         * lib/stdint.in.h: Likewise.
23530         * lib/stdio.in.h: Likewise.
23531         * lib/stdlib.in.h: Likewise.
23532         * lib/string.in.h: Likewise.
23533         * lib/strings.in.h: Likewise.
23534         * lib/sys_select.in.h: Likewise.
23535         * lib/sys_socket.in.h: Likewise.
23536         * lib/sys_stat.in.h: Likewise.
23537         * lib/sys_time.in.h: Likewise.
23538         * lib/sysexits.in.h: Likewise.
23539         * lib/time.in.h: Likewise.
23540         * lib/unistd.in.h: Likewise.
23541         * lib/wchar.in.h: Likewise.
23542         * lib/wctype.in.h: Likewise.
23543         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23544         * modules/fchdir (Makefile.am): Likewise.
23545         * modules/fcntl (Makefile.am): Likewise.
23546         * modules/float (Makefile.am): Likewise.
23547         * modules/iconv_open (Makefile.am): Likewise.
23548         * modules/inttypes (Makefile.am): Likewise.
23549         * modules/locale (Makefile.am): Likewise.
23550         * modules/math (Makefile.am): Likewise.
23551         * modules/netinet_in (Makefile.am): Likewise.
23552         * modules/search (Makefile.am): Likewise.
23553         * modules/signal (Makefile.am): Likewise.
23554         * modules/stdarg (Makefile.am): Likewise.
23555         * modules/stdint (Makefile.am): Likewise.
23556         * modules/stdio (Makefile.am): Likewise.
23557         * modules/stdlib (Makefile.am): Likewise.
23558         * modules/string (Makefile.am): Likewise.
23559         * modules/strings (Makefile.am): Likewise.
23560         * modules/sys_select (Makefile.am): Likewise.
23561         * modules/sys_socket (Makefile.am): Likewise.
23562         * modules/sys_stat (Makefile.am): Likewise.
23563         * modules/sys_time (Makefile.am): Likewise.
23564         * modules/sysexits (Makefile.am): Likewise.
23565         * modules/time (Makefile.am): Likewise.
23566         * modules/unistd (Makefile.am): Likewise.
23567         * modules/wchar (Makefile.am): Likewise.
23568         * modules/wctype (Makefile.am): Likewise.
23569         Reported by Reuben Thomas <rrt@sc3d.org>.
23570
23571 2008-08-29  Bruno Haible  <bruno@clisp.org>
23572
23573         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23574         any more.
23575
23576 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23577
23578         * MODULES.html.sh (Misc): Add bitrotate.
23579
23580         * modules/bitrotate: New file.
23581
23582         * lib/bitrotate.h: New file.
23583
23584         * modules/bitrotate-tests: New file.
23585
23586         * tests/test-bitrotate.c: New file.
23587
23588         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23589         on the bitrotate module.
23590
23591         * lib/arctwo.c: Use new bitrotate module.
23592
23593 2008-08-29  Jim Meyering  <meyering@redhat.com>
23594
23595         bootstrap: merge changes from coreutils
23596         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23597         of copied files.  Remove a kludge, now that this is fixed.
23598         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23599         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23600         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23601
23602 2008-08-29  Bruno Haible  <bruno@clisp.org>
23603
23604         * MODULES.html.sh: Remove --cvs-urls option.
23605
23606 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23607
23608         maint.mk: adjust to file name change
23609         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23610
23611 2008-08-28  Jim Meyering  <meyering@redhat.com>
23612
23613         * modules/getndelim2 (License): Relicense to LGPLv2+.
23614         Approved by Richard Stallman for the version of 1995, and by
23615         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23616
23617 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23618
23619         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23620         dummy if one is not available.  Do not touch them if
23621         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23622         (getc_maybe_unlocked): New.
23623         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23624
23625 2008-08-26  Eric Blake  <ebb9@byu.net>
23626
23627         doc/INSTALL: resync from autoconf
23628         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23629         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23630         moving...
23631         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23632         * INSTALL: Regenerate.
23633         * INSTALL.ISO: New file.
23634         * INSTALL.UTF-8: Likewise.
23635
23636 2008-08-26  Jim Meyering  <meyering@redhat.com>
23637
23638         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23639         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23640         these definitions conditional, so that they may be overridden, too.
23641
23642 2008-08-26  Bruno Haible  <bruno@clisp.org>
23643
23644         Generate INSTALL file variants with prettier quotes.
23645         * doc/Makefile (INSTALL_PRELUDE): New macro.
23646         (INSTALL): Use it.
23647         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23648
23649 2008-08-26  Bruno Haible  <bruno@clisp.org>
23650
23651         Run makeinfo in an English locale.
23652         * doc/Makefile (MAKEINFO): New variable.
23653
23654 2008-08-26  Bruno Haible  <bruno@clisp.org>
23655
23656         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23657         Suggested by Eric Blake.
23658
23659 2008-08-25  Bruno Haible  <bruno@clisp.org>
23660
23661         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23662
23663 2008-08-25  Eric Blake  <ebb9@byu.net>
23664
23665         c-stack: test that stack overflow can be caught
23666         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23667         that platform allows handling stack overflow; at least OS/2 EMX
23668         has sigaltstack, but crashes before transferring control to
23669         handler on stack overflow.
23670         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23671         check for HAVE_STACK_OVERFLOW_HANDLING.
23672         Reported by Elbert Pol.
23673
23674 2008-08-25  Bruno Haible  <bruno@clisp.org>
23675
23676         * doc/posix-functions/strftime.texi: Fix description of strftime
23677         module.
23678
23679 2008-08-24  Bruno Haible  <bruno@clisp.org>
23680
23681         * tests/uniwidth/test-uc_width2.c: New file.
23682         * tests/uniwidth/test-uc_width2.sh: New file.
23683         * modules/uniwidth/width-tests (Files): Add the new files.
23684         (TESTS): Add uniwidth/test-uc_width2.sh.
23685         (TESTS_ENVIRONMENT): New variable.
23686         (check_PROGRAMS): Add test-uc_width2.
23687         (test_uc_width2_SOURCES): New variable.
23688
23689         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23690         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23691         not 0x00AB.
23692         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23693
23694 2008-08-22  Eric Blake  <ebb9@byu.net>
23695
23696         test-lock, test-tls: mention why a test is skipped
23697         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23698         skipped.
23699         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23700
23701         count-one-bits: relax license
23702         * modules/count-one-bits (License): Relicense to LGPLv2+.
23703         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23704
23705 2008-08-22  Andreas Schwab  <schwab@suse.de>
23706
23707         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23708         Remove spurious space in assignment.
23709
23710 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23711
23712         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23713         Paul Eggert <eggert@CS.UCLA.EDU>.
23714
23715 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23716
23717         * modules/gettext: Add m4/threadlib.m4.
23718
23719 2008-08-19  Eric Blake  <ebb9@byu.net>
23720
23721         test-c-stack: fix compilation failure on FreeBSD 5.0
23722         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23723         headers before <sys/resource.h>.
23724         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23725         the bug.
23726         Reported by Nelson H. F. Beebe.
23727
23728         strverscmp: migrate from "strverscmp.h" to <string.h>
23729         * modules/string (Makefile.am): Add new hooks.
23730         * modules/strverscmp (Files): Remove strverscmp.h.
23731         (Depends-on): Add string.
23732         (configure.ac): Add indicator.
23733         (Include): Mention new header.
23734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23735         defaults.
23736         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23737         results.
23738         * lib/strverscmp.h: Delete.
23739         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23740         * tests/test-strverscmp.c (includes): Adjust client.
23741         * lib/check-version.c (includes): Likewise.
23742         * NEWS: Document the change.
23743
23744         strverscmp: add unit test
23745         * modules/strverscmp-tests: New file.
23746         * tests/test-strverscmp.c: Likewise.
23747
23748 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23749
23750         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23751         regarding Windows crypto stuff, from Mono.
23752
23753 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23754
23755         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23756         if present, for intel RND.  Return error on failures.
23757
23758 2008-08-18  Ben Pfaff  <blp@gnu.org>
23759
23760         gitlog-to-changelog: give better diagnostic for failed pipe-open
23761         * build-aux/gitlog-to-changelog: Improve error message: suggest
23762         that the version of Git may be too old.
23763
23764 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23765
23766         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23767         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23768
23769 2008-08-18  Bruno Haible  <bruno@clisp.org>
23770
23771         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23772         pthread_in_use().
23773
23774 2008-08-18  Bruno Haible  <bruno@clisp.org>
23775
23776         * lib/glthread/threadlib.c: Include <pthread.h>.
23777
23778 2008-08-18  Bruno Haible  <bruno@clisp.org>
23779
23780         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23781         glthread_recursive_lock_* macros.
23782         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23783         Fix syntax error.
23784
23785 2008-08-18  Bruno Haible  <bruno@clisp.org>
23786
23787         * lib/glthread/thread.c: Avoid forcing a context switch right after
23788         thread creation.
23789
23790 2008-08-17  Bruno Haible  <bruno@clisp.org>
23791
23792         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23793         * lib/glthread/thread.h: Provide Win32 specific implementation.
23794         * modules/thread (Files): Add lib/glthread/thread.c.
23795         (Depends-on): Add lock.
23796         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23797
23798 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23799
23800         New module 'yield'.
23801         * modules/yield: New file.
23802         * lib/glthread/yield.h: New file.
23803         * m4/yield.m4: New file.
23804         * MODULES.html.sh (Multithreading): Add yield.
23805
23806 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23807
23808         New module 'thread'.
23809         * modules/thread: New file.
23810         * lib/glthread/thread.h: New file.
23811         * m4/thread.m4: New file.
23812         * MODULES.html.sh (Multithreading): Add thread.
23813
23814 2008-08-17  Bruno Haible  <bruno@clisp.org>
23815
23816         * lib/glthread/lock.h: Include <stdlib.h> always.
23817         * lib/glthread/tls.h: Likewise.
23818         * lib/glthread/cond.h: Likewise.
23819
23820 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23821
23822         New module 'cond'.
23823         * modules/cond: New file.
23824         * lib/glthread/cond.h: New file.
23825         * lib/glthread/cond.c: New file.
23826         * m4/cond.m4: New file.
23827         * MODULES.html.sh (Multithreading): Add cond.
23828
23829 2008-08-16  Eric Blake  <ebb9@byu.net>
23830
23831         c-stack: fix regression on Irix 5.3 from 2008-06-21
23832         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23833         sa_sigaction...
23834         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23835         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23836         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23837         * modules/signal (Makefile.am): Use the value.
23838         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23839         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23840         * doc/posix-headers/signal.texi (signal.h): Document this
23841         portability issue.
23842         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23843         Reported by Tom G. Christensen.
23844
23845 2008-08-17  Bruno Haible  <bruno@clisp.org>
23846
23847         New module 'threadlib'.
23848         * modules/threadlib: New file.
23849         * lib/glthread/threadlib.c: New file, extracted from
23850         lib/glthread/lock.c.
23851         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23852         functions.
23853         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23854         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23855         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23856         macros.
23857         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23858         (gl_DISABLE_THREADS): Remove macro.
23859         * modules/lock (Files): Remove build-aux/config.rpath.
23860         (Depends-on): Remove havelib. Add threadlib.
23861         (configure.ac-early): Remove section.
23862         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23863         * modules/tls (Depends-on): Remove lock. Add threadlib.
23864         (Link): New section, copied from threadlib.
23865         * MODULES.html.sh (Multithreading): Add threadlib.
23866
23867 2008-08-14  Bruno Haible  <bruno@clisp.org>
23868
23869         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23870         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23871         glthread_rwlock_unlock, glthread_rwlock_destroy,
23872         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23873         glthread_recursive_lock_destroy): Define as macros always.
23874         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23875         glthread_lock_lock.
23876         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23877         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23878         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23879         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23880         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23881         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23882         (glthread_recursive_lock_lock_func): Renamed from
23883         glthread_recursive_lock_lock.
23884         (glthread_recursive_lock_unlock_func): Renamed from
23885         glthread_recursive_lock_unlock.
23886         (glthread_recursive_lock_destroy_func): Renamed from
23887         glthread_recursive_lock_destroy.
23888
23889 2008-08-14  Bruno Haible  <bruno@clisp.org>
23890
23891         * lib/glthread/lock.h: Renamed from lib/lock.h.
23892         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23893         * lib/glthread/tls.h: Renamed from lib/tls.h.
23894         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23895         * lib/fstrcmp.c: Update includes.
23896         * lib/strsignal.c: Update includes.
23897         * modules/lock (Files, Makefile.am): Update.
23898         (Include): Change to "glthread/lock.h".
23899         * modules/tls (Files, Makefile.am): Update.
23900         (Include): Change to "glthread/tls.h".
23901         * tests/test-lock.c: Update includes.
23902         * tests/test-tls.c: Update includes.
23903         * NEWS: Mention the renamed header files.
23904
23905 2008-08-11  Jim Meyering  <meyering@redhat.com>
23906
23907         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
23908
23909 2008-08-11  Eric Blake  <ebb9@byu.net>
23910
23911         test-c-stack: avoid C99-ism
23912         * tests/test-c-stack.c (main): Fix whitespace, move declaration
23913         before statement.
23914         Reported by Alain Guibert.
23915
23916 2008-08-10  Jim Meyering  <meyering@redhat.com>
23917
23918         ensure that return value of uinttostr et al are not ignored
23919         * lib/inttostr.h (__GNUC_PREREQ): Define.
23920         (__attribute_warn_unused_result__): Define.
23921         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
23922
23923 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
23924
23925         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
23926         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
23927
23928 2008-08-07  Jim Meyering  <meyering@redhat.com>
23929
23930         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
23931
23932         * modules/mkstemp (License): Relicense under LGPLv2+.
23933         * modules/tempname (License): Likewise.
23934
23935 2008-08-06  Bruno Haible  <bruno@clisp.org>
23936
23937         * lib/poll.c (poll): Further micro-optimization.
23938
23939 2008-08-06  Jim Meyering  <meyering@redhat.com>
23940
23941         inet_pton.c: use locale-independent tolower
23942         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
23943         (inet_pton6): Use c_tolower rather than tolower.
23944         * modules/inet_pton (Depends-on): Add c-ctype.
23945
23946 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
23947
23948         * lib/poll.c (poll): Avoid division when timeout is 0, cache
23949         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
23950
23951 2008-08-06  Jim Meyering  <meyering@redhat.com>
23952
23953         * modules/inet_pton (License): Relicense under LGPLv2+.
23954
23955 2008-08-03  Bruno Haible  <bruno@clisp.org>
23956
23957         Additional non-aborting API for lock and tls.
23958         * lib/lock.h: Include <errno.h>.
23959         (glthread_lock_init): New macro/function.
23960         (gl_lock_init): Define as wrapper around glthread_lock_init.
23961         (glthread_lock_lock): New macro/function.
23962         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
23963         (glthread_lock_unlock): New macro/function.
23964         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
23965         (glthread_lock_destroy): New macro/function.
23966         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
23967         (glthread_rwlock_init): New macro/function.
23968         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
23969         (glthread_rwlock_rdlock): New macro/function.
23970         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
23971         (glthread_rwlock_wrlock): New macro/function.
23972         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
23973         (glthread_rwlock_unlock): New macro/function.
23974         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
23975         (glthread_rwlock_destroy): New macro/function.
23976         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
23977         (glthread_recursive_lock_init): New macro/function.
23978         (gl_recursive_lock_init): Define as wrapper around
23979         glthread_recursive_lock_init.
23980         (glthread_recursive_lock_lock): New macro/function.
23981         (gl_recursive_lock_lock): Define as wrapper around
23982         glthread_recursive_lock_lock.
23983         (glthread_recursive_lock_unlock): New macro/function.
23984         (gl_recursive_lock_unlock): Define as wrapper around
23985         glthread_recursive_lock_unlock.
23986         (glthread_recursive_lock_destroy): New macro/function.
23987         (gl_recursive_lock_destroy): Define as wrapper around
23988         glthread_recursive_lock_destroy.
23989         (glthread_once): New macro/function.
23990         (gl_once): Define as wrapper around glthread_once.
23991         Update function declarations.
23992         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
23993         glthread_rwlock_init. Return error code.
23994         (glthread_rwlock_rdlock_multithreaded): Renamed from
23995         glthread_rwlock_rdlock. Return error code.
23996         (glthread_rwlock_wrlock_multithreaded): Renamed from
23997         glthread_rwlock_wrlock. Return error code.
23998         (glthread_rwlock_unlock_multithreaded): Renamed from
23999         glthread_rwlock_unlock. Return error code.
24000         (glthread_rwlock_destroy_multithreaded): Renamed from
24001         glthread_rwlock_destroy. Return error code.
24002         (glthread_recursive_lock_init_multithreaded): Renamed from
24003         glthread_recursive_lock_init. Return error code.
24004         (glthread_recursive_lock_lock_multithreaded): Renamed from
24005         glthread_recursive_lock_lock. Return error code.
24006         (glthread_recursive_lock_unlock_multithreaded): Renamed from
24007         glthread_recursive_lock_unlock. Return error code.
24008         (glthread_recursive_lock_destroy_multithreaded): Renamed from
24009         glthread_recursive_lock_destroy. Return error code.
24010         (glthread_once_call): Make static.
24011         (glthread_once_multithreaded): Renamed from glthread_once.
24012         * lib/tls.h: Include <errno.h>.
24013         (glthread_tls_key_init): New macro/function.
24014         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
24015         (glthread_tls_set): New macro/function.
24016         (gl_tls_set): Define as wrapper around glthread_tls_set.
24017         (glthread_tls_key_destroy): New macro/function.
24018         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
24019         Update function declarations.
24020         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
24021         glthread_tls_get.
24022         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24023
24024 2008-08-04  Eric Blake  <ebb9@byu.net>
24025
24026         gnumakefile: use space, not TAB, outside of targets
24027         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
24028
24029 2008-08-02  Jim Meyering  <meyering@redhat.com>
24030
24031         getdate.y: avoid locale-dependent date parsing failure
24032         In Turkish locales, getdate would fail to recognize keywords
24033         containing a lowercase "i".  The solution is not to rely on
24034         locale-sensitive case-conversion.
24035         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
24036         (lookup_word): Use c_toupper in place of toupper.
24037         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
24038         Reported by Vefa Bicakci <bicave@superonline.com> in
24039         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
24040         * modules/getdate (Depends-on): Add c-ctype.
24041
24042 2008-08-02  Bruno Haible  <bruno@clisp.org>
24043
24044         * gnulib-tool (func_import): When updating or creating a .gitignore
24045         file, prepend each added line with a slash, and ignore leading slashes
24046         from the existing lines.
24047         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24048
24049 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24050
24051         Portability fix for GNU make 3.79.1.
24052         * top/GNUmakefile: Avoid 'else COND', which older GNU make
24053         versions do not understand.
24054
24055 2008-08-01  Bruno Haible  <bruno@clisp.org>
24056
24057         Work around bug of HP-UX 10.20 cc with -0.0 literal.
24058         * tests/test-isnanf.h (zero): New variable.
24059         (main): Avoid literal -0.0f.
24060         * tests/test-isnand.h (zero): New variable.
24061         (main): Avoid literal -0.0.
24062         * tests/test-isnanl.h (zero): New variable.
24063         (main): Avoid literal -0.0L.
24064         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
24065         (test_float, test_double, test_long_double): Avoid literals -0.0f,
24066         -0.0, -0.0L.
24067         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
24068         (test_signbitd): Avoid literal -0.0.
24069         (test_signbitl): Avoid literal -0.0L.
24070         * tests/test-ceilf1.c (zero): New variable.
24071         (main): Avoid literal -0.0f.
24072         * tests/test-ceill.c (zero): New variable.
24073         (main): Avoid literal -0.0L.
24074         * tests/test-floorf1.c (zero): New variable.
24075         (main): Avoid literal -0.0f.
24076         * tests/test-floorl.c (zero): New variable.
24077         (main): Avoid literal -0.0L.
24078         * tests/test-roundf1.c (zero): New variable.
24079         (main): Avoid literal -0.0f.
24080         * tests/test-round1.c (zero): New variable.
24081         (main): Avoid literal -0.0.
24082         * tests/test-roundl.c (zero): New variable.
24083         (main): Avoid literal -0.0L.
24084         * tests/test-truncf1.c (zero): New variable.
24085         (main): Avoid literal -0.0f.
24086         * tests/test-trunc1.c (zero): New variable.
24087         (main): Avoid literal -0.0.
24088         * tests/test-truncl.c (zero): New variable.
24089         (main): Avoid literal -0.0L.
24090         * tests/test-frexp.c (zero): New variable.
24091         (main): Avoid literal -0.0.
24092         * tests/test-frexpl.c (zero): New variable.
24093         (main): Avoid literal -0.0L.
24094         * tests/test-ldexpl.c (zero): New variable.
24095         (main): Avoid literal -0.0L.
24096         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24097         (zerod, zerol): New variables.
24098         (test_function): Avoid literals -0.0, -0.0L.
24099         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24100         (zerod, zerol): New variables.
24101         (test_function): Avoid literals -0.0, -0.0L.
24102         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24103         (zerod, zerol): New variables.
24104         (test_function): Avoid literals -0.0, -0.0L.
24105         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24106         (zerod, zerol): New variables.
24107         (test_function): Avoid literals -0.0, -0.0L.
24108         * tests/test-strtod.c (zero): New variable.
24109         (main): Avoid literal -0.0.
24110         Reported by Jonathan C. Patschke <jp@centtech.com>.
24111
24112 2008-07-31  Jim Meyering  <meyering@redhat.com>
24113
24114         sha256.h: correct definition of SHA224_DIGEST_SIZE
24115         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
24116         Reported by Paulie Pena IV <paulie4@gmail.com>.
24117         Define as 224 / 8, rather than as a literal.
24118         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
24119         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
24120         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
24121
24122 2008-07-31  Bruno Haible  <bruno@clisp.org>
24123
24124         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
24125         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
24126         Reported by Jonathan Patschke <jp@centtech.com>.
24127
24128 2008-07-31  Bruno Haible  <bruno@clisp.org>
24129
24130         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
24131         Reported by Paolo Bonzini <bonzini@gnu.org>.
24132
24133 2008-07-30  Eric Blake  <ebb9@byu.net>
24134
24135         test-strtod: allow compilation without -lm
24136         * tests/test-strtod.c (main): Avoid link dependence on fabs.
24137         Reported by Dennis Clarke <blastwave@gmail.com>.
24138
24139 2008-07-28  Jim Meyering  <meyering@redhat.com>
24140
24141         bootstrap: work also when there are no .po files in po/
24142         * build-aux/bootstrap (update_po_files): Complete the change
24143         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
24144
24145 2008-07-27  Jim Meyering  <meyering@redhat.com>
24146
24147         * users.txt: Add zile.
24148
24149 2008-07-26  Ben Pfaff  <blp@gnu.org>
24150
24151         Add missing dependencies on new m4/exponent[fdl].m4 files.
24152         * modules/isnanf-nolibm: Add m4/exponentf.m4.
24153         * modules/isnand-nolibm: Add m4/exponentd.m4.
24154         * modules/isnanl-nolibm: Add m4/exponentl.m4.
24155         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
24156         m4/isnan[fdl].m4, because the macros actually used moved.
24157         Reported by Jim Meyering.
24158
24159 2008-07-14  Ben Pfaff  <blp@gnu.org>
24160
24161         Add isinf module.
24162         * lib/isinf.c: New file.
24163         * lib/math.in.h: Define isinf macro if we have decided to replace
24164         it.
24165         * m4/isinf.m4: New file.
24166         * m4/math_h.m4: Initialize and substitute variables for isinf
24167         module.
24168         * modules/isinf: New file.
24169         * modules/isinf-tests: New file.
24170         * modules/math: Add substitutions for new module.
24171         * tests/test-isinf.c: New file.
24172         * doc/posix-functions/isinf.texi: Mention new module.
24173         * MODULES.html.sh: Mention new module.
24174
24175 2008-07-14  Ben Pfaff  <blp@gnu.org>
24176
24177         Factor out some macros for use by additional modules.
24178         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
24179         exponentf.m4.
24180         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
24181         exponentd.m4.
24182         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
24183         file exponentl.m4.
24184         * m4/exponentf.m4: New file.
24185         * m4/exponentd.m4: New file.
24186         * m4/exponentl.m4: New file.
24187         * modules/isnanf: Use new file m4/exponentf.m4.
24188         * modules/isnand: Use new file m4/exponentd.m4.
24189         * modules/isnanl: Use new file m4/exponentl.m4.
24190
24191 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
24192
24193         mktime.c: normalize tp->tm_isdst value to -1/0/1.
24194         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
24195         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
24196         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
24197
24198         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
24199         readlink on platforms without PATH_MAX.
24200
24201 2008-07-21  Eric Blake  <ebb9@byu.net>
24202
24203         Warn, not fail, on stale version.
24204         * top/GNUmakefile (_curr-ver): Tone down previous patch.
24205
24206         Don't allow installation with stale devel version number.
24207         * top/GNUmakefile (_is-install-target): New macro.
24208         (_curr-ver): Forbid installation with stale version number.
24209
24210 2008-07-20  Bruno Haible  <bruno@clisp.org>
24211
24212         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24213         TESTS_ENVIRONMENT.
24214         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24215
24216 2008-07-20  Bruno Haible  <bruno@clisp.org>
24217
24218         * lib/c-stack.h (c_stack_action): Add documentation.
24219         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24220
24221 2008-07-20  Bruno Haible  <bruno@clisp.org>
24222
24223         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24224         * modules/readlink (License): Likewise.
24225
24226 2008-07-17  Eric Blake  <ebb9@byu.net>
24227
24228         * modules/c-stack (Link): Fix typo.
24229
24230         Make c-stack use libsigsegv, when available.
24231         * modules/c-stack (Depends-on): Add libsigsegv.
24232         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24233         needed.
24234         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24235         (segv_handler, overflow_handler, c_stack_action)
24236         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24237         implementation when libsigsegv is available, but only when using
24238         the library is necessary.
24239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24240         comment, explaining why XSI check fails on Linux.
24241         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24242         * tests/test-c-stack2.sh: Tweak skip message.
24243         * NEWS: Document new link-time requirements.
24244
24245 2008-07-16  Eric Blake  <ebb9@byu.net>
24246
24247         c-stack: Expose false positives when not using libsigsegv.
24248         * modules/c-stack-tests (Files): Expand test.
24249         * tests/test-c-stack.c (main): Add means to conditionally trigger
24250         non-overflow SIGSEGV.
24251         * tests/test-c-stack2.sh: New file.
24252
24253 2008-07-14  Bruno Haible  <bruno@clisp.org>
24254
24255         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24256         Reported by Eric Blake.
24257
24258 2008-07-14  Sam Steingold  <sds@gnu.org>
24259             Bruno Haible  <bruno@clisp.org>
24260
24261         New module libsigsegv.
24262         * modules/libsigsegv: New file.
24263         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24264         modifications.
24265         * MODULES.html.sh (Signal handling): New section.
24266
24267 2008-07-14  Bruno Haible  <bruno@clisp.org>
24268
24269         * modules/unictype/ctype-* (Description): Add the word "function".
24270         Improves the resulting doc in MODULES.html.
24271
24272 2008-07-12  Ben Pfaff  <blp@gnu.org>
24273
24274         Add longlong module.
24275         * modules/longlong: New file.
24276
24277 2008-07-12  Bruno Haible  <bruno@clisp.org>
24278
24279         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24280         to empty.
24281
24282 2008-07-10  Ben Pfaff  <blp@gnu.org>
24283
24284         Add isnan module.
24285         * doc/posix-functions/isnan.texi: Mention new module.
24286         * lib/math.in.h: Define isnan macro if we have decided to replace
24287         it.
24288         * m4/isnan.m4: New file.
24289         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24290         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24291         also.
24292         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24293         redundancy.
24294         * m4/math_h.m4: Initialize and substitute variables for isnan
24295         module.
24296         * modules/isnan: New file.
24297         * modules/isnan-tests: New file.
24298         * modules/math: Add substitutions for new module.
24299         * tests/test-isnan.c: New file.
24300         * MODULES.html.sh: Mention new module.
24301
24302 2008-07-10  Ben Pfaff  <blp@gnu.org>
24303
24304         Add isnanf module.
24305         * lib/isnanf.m4: New file.
24306         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24307         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24308         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24309         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24310         * modules/isnanf: New file.
24311         * modules/isnanf-tests: New file.
24312         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24313         files.
24314         * tests/test-isnanf-nolibm.c: factored most of its contents into
24315         new file tests/test-isnanf.h.
24316         * tests/test-isnanf.h: New file.
24317         * tests/test-isnanf.c: New file.
24318         * MODULES.html.sh: Mention new module.
24319         * doc/glibc-functions/isnanf.texi: Mention new module.
24320
24321 2008-07-10  Ben Pfaff  <blp@gnu.org>
24322
24323         Add isnand module.
24324         * lib/isnand.h: New file.
24325         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24326         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24327         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24328         functionality also.
24329         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24330         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24331         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24332         * modules/isnand: New file.
24333         * modules/isnand-tests: New file.
24334         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24335         files.
24336         * tests/test-isnand-nolibm.c: factored most of its contents into
24337         new file tests/test-isnand.h.
24338         * tests/test-isnand.h: New file.
24339         * tests/test-isnand.c: New file.
24340         * MODULES.html.sh: Mention new module.
24341
24342 2008-07-10  Ben Pfaff  <blp@gnu.org>
24343
24344         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24345         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24346         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24347         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24348         * modules/isnanf-nolibm: Update references to renamed files.
24349         * modules/isnand-nolibm: Likewise.
24350         * modules/isnanf-nolibm-tests: Likewise.
24351         * modules/isnand-nolibm-tests: Likewise.
24352         * lib/frexp.c: Likewise.
24353         * lib/isfinite.c: Likewise.
24354         * lib/signbitd.c: Likewise.
24355         * lib/signbitf.c: Likewise.
24356         * lib/vasnprintf.c: Likewise.
24357         * tests/test-ceilf1.c: Likewise.
24358         * tests/test-ceilf2.c: Likewise.
24359         * tests/test-floorf1.c: Likewise.
24360         * tests/test-floorf2.c: Likewise.
24361         * tests/test-frexp.c: Likewise.
24362         * tests/test-round1.c: Likewise.
24363         * tests/test-round2.c: Likewise.
24364         * tests/test-roundf1.c: Likewise.
24365         * tests/test-strtod.c: Likewise.
24366         * tests/test-trunc1.c: Likewise.
24367         * tests/test-trunc2.c: Likewise.
24368         * tests/test-truncf1.c: Likewise.
24369         * tests/test-truncf2.c: Likewise.
24370         * NEWS: Mention the renamed header files.
24371
24372 2008-07-11  Jim Meyering  <meyering@redhat.com>
24373
24374         vc-list-files: make the last-resort awk code more portable
24375         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24376         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24377         does not support it.
24378
24379 2008-07-10  Eric Blake  <ebb9@byu.net>
24380
24381         Work with tar's bootstrap.
24382         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24383         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24384         an m4 comment.
24385
24386 2008-07-09  Jim Meyering  <meyering@redhat.com>
24387
24388         posix-shell.m4: fix typo that made this test malfunction
24389         * m4/posix-shell.m4: Remove capitalization in variable name.
24390
24391 2008-07-08  Bruno Haible  <bruno@clisp.org>
24392
24393         * m4/onceonly.m4: Update comments.
24394         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24395
24396 2008-07-04  Jim Meyering  <meyering@redhat.com>
24397
24398         * users.txt: Add vc-dwim.
24399         (bison, coreutils): Use the gitweb URL.
24400
24401 2008-07-03  Jim Meyering  <meyering@redhat.com>
24402
24403         * users.txt: Add libffcall.  From Sam Steingold.
24404
24405 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
24406
24407         getdate.y: do not ignore TZ with relative day, month or year offset
24408         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24409         relative-date-handling, since otherwise, the latter would clobber the
24410         sole output (an updated Start value) of the tz-handling block.
24411         * tests/test-getdate.c: Tests for the fix
24412
24413 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24414
24415         Recognize 'foo_LIBRARIES += libgnu.a'.
24416         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24417         makefile snippet has already specified an installation location,
24418         also using '+='.
24419
24420 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
24421
24422         getdate.y: factor out common actions
24423         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
24424         Use them in place of open-coded actions.
24425
24426 2008-07-01  Simon Josefsson  <simon@josefsson.org>
24427
24428         Add self-test for getdate module.
24429         * modules/getdate-tests: New file.
24430         * tests/test-getdate.c: New file.
24431
24432 2008-06-29  Bruno Haible  <bruno@clisp.org>
24433
24434         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
24435         .gitignore.
24436         Reported by Sylvain Beucler <beuc@beuc.net>.
24437
24438 2008-06-29  Bruno Haible  <bruno@clisp.org>
24439
24440         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
24441         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
24442
24443 2008-06-29  Bruno Haible  <bruno@clisp.org>
24444
24445         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
24446         EXTRA_DIST.
24447         Reported by Sylvain Beucler <beuc@beuc.net>.
24448
24449 2008-06-26  Jim Meyering  <meyering@redhat.com>
24450
24451         make several modules depend on the "open" module
24452         This provides slightly increased consistency when opening-for-write
24453         the name of a non-directory spelled with a trailing slash.
24454         * modules/chdir-safer: Likewise.
24455         * modules/chown: Likewise.
24456         * modules/clean-temp: Likewise.
24457         * modules/copy-file: Likewise.
24458         * modules/fchdir: Likewise.
24459         * modules/fcntl-safer: Likewise.
24460         * modules/pipe: Likewise.
24461         * modules/utime: Likewise.
24462         Prompted by Eric Blake and Bruno Haible.
24463
24464 2008-06-24  Andreas Schwab  <schwab@suse.de>
24465
24466         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24467         literals can be used as initializers for global variables.
24468
24469 2008-06-23  Eric Blake  <ebb9@byu.net>
24470
24471         Make gnulib-cache.m4 easier to diff.
24472         * gnulib-tool (func_import): Allow newlines when reading cached
24473         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24474
24475 2008-06-23  Bruno Haible  <bruno@clisp.org>
24476
24477         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24478         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24479         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24480         m4/signalblocking.m4.
24481         (gl_PREREQ_SIGACTION): Don't invoke it.
24482         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24483         gl_PREREQ_SIG_HANDLER_H.
24484         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24485         Don't check for sigaction here.
24486
24487 2008-06-23  Bruno Haible  <bruno@clisp.org>
24488
24489         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24490         (install_handlers): Don't set the SA_RESETHAND flag.
24491
24492 2008-06-23  Bruno Haible  <bruno@clisp.org>
24493
24494         * m4/sigaction.m4: Comment fixes.
24495         * lib/signal.in.h: Likewise.
24496
24497 2008-06-23  Eric Blake  <ebb9@byu.net>
24498
24499         Fix typo.
24500         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24501
24502         Avoid SA_ namespace.
24503         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24504         Reported by Ralf Wildenhues.
24505
24506         Avoid test failure due to SA_RESTORER.
24507         * tests/test-sigaction.c (SA_MASK): New macro.
24508         (main): Avoid failing due to extension flags being set.
24509         Reported by Jim Meyering.
24510
24511         Revert use of sig-handler.h in sigprocmask.c.
24512         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24513         it requires the existence of struct sigaction.
24514         * lib/sigprocmask.c (handler_t): Restore typedef.
24515         (rpl_signal, old_handlers): Use local type.
24516
24517 2008-06-22  Bruno Haible  <bruno@clisp.org>
24518
24519         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24520         conditionally.
24521         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24522
24523 2008-06-22  Bruno Haible  <bruno@clisp.org>
24524
24525         * doc/posix-functions/siginterrupt.texi: Move note.
24526
24527         * lib/signal.in.h (SA_RESTART): New macro.
24528         * lib/sigaction.c: Update comment.
24529
24530         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24531
24532         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24533         (gl_PREREQ_SIGPROCMASK): Invoke it.
24534         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24535
24536         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24537
24538         * lib/sigprocmask.c: Update a comment.
24539
24540 2008-06-21  Eric Blake  <ebb9@byu.net>
24541
24542         Use sigaction module rather than signal().
24543         * modules/c-stack (Depends-on): Add sigaction.
24544         * modules/fatal-signal (Depends-on): Likewise.
24545         * modules/nanosleep (Depends-on): Likewise.
24546         * modules/sigprocmask (Files): Add sig-handler.h.
24547         * modules/sigaction (Files): Likewise.
24548         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24549         Eggert.
24550         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24551         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24552         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24553         (init_fatal_signals): Likewise.
24554         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24555         (siginterrupt): Delete fallback.
24556         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24557         instead.
24558         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24559         siginterrupt.
24560
24561         New module sigaction, for mingw.
24562         * modules/sigaction: New module...
24563         * modules/sigaction-tests: ...and its test.
24564         * m4/sigaction.m4: New file.
24565         * lib/sigaction.c: Likewise.
24566         * tests/test-sigaction.c: Likewise.
24567         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24568         * modules/signal (Makefile.am): Likewise.
24569         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24570         needed.
24571         * doc/posix-headers/signal.texi (signal.h): Mention provided
24572         types.
24573         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24574         that sigaction is preferable.
24575         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24576         module.
24577         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24578         sigaction.
24579
24580         Improve robustness of sigprocmask by overriding signal.
24581         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24582         is in use.
24583         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24584         (SIGKILL, SIGSTOP): Provide fallbacks.
24585         (rpl_signal): Implement.
24586         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24587         signal can be called inside handlers.
24588
24589         Fix nanosleep module on mingw.
24590         * modules/nanosleep (Depends-on): Add sys_select.
24591         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24592
24593         Fix licensing of sigprocmask.
24594         * modules/raise (License): Relicense as LGPL.
24595
24596 2008-06-21  Bruno Haible  <bruno@clisp.org>
24597
24598         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24599         result if it contains question marks.
24600         Reported by Michael Geng <linux@michaelgeng.de>.
24601
24602 2008-06-19  Bruno Haible  <bruno@clisp.org>
24603
24604         Fix CVS-ism.
24605         * doc/gnulib.texi: Include updated-stamp.texi.
24606         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24607         (updated-stamp.texi): New rule.
24608         (gnulib.info): Depend on it.
24609         * doc/.gitignore: Add updated-stamp.texi.
24610         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24611
24612 2008-06-19  Bruno Haible  <bruno@clisp.org>
24613
24614         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24615         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24616
24617 2008-06-19  Eric Blake  <ebb9@byu.net>
24618
24619         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24620         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24621         Reported by Stepan Kasal.
24622
24623 2008-06-18  Bruno Haible  <bruno@clisp.org>
24624
24625         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24626         Reported by Eric Blake.
24627
24628 2008-06-18  Eric Blake  <ebb9@byu.net>
24629
24630         Work around cygwin 1.5.25 strsignal bug.
24631         * tests/test-strsignal.c: Allow for const char *.
24632         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24633
24634 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24635
24636         * users.txt: Update URL to article and add author/date
24637         information.
24638
24639 2008-06-17  Bruno Haible  <bruno@clisp.org>
24640
24641         New macro gl_DISABLE_THREADS.
24642         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24643         if the user did not pass --enable-threads or --disable-threads option.
24644         (gl_DISABLE_THREADS): New macro.
24645         Reported by Eric Blake <ebb9@byu.net>.
24646
24647 2008-06-17  Bruno Haible  <bruno@clisp.org>
24648
24649         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24650         when the macro ignores it.
24651         Based on a patch by Eric Blake <ebb9@byu.net>.
24652
24653 2008-06-17  Bruno Haible  <bruno@clisp.org>
24654
24655         * modules/tls (License): Change to LGPLv2+.
24656         Reported by Eric Blake.
24657
24658 2008-06-17  Eric Blake  <ebb9@byu.net>
24659
24660         Simplify c-stack prerequisites.
24661         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24662         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24663         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24664         check.
24665         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24666         <sys/resource.h>.
24667
24668         Move c-stack test into testsuite.
24669         * modules/c-stack-tests: New file.
24670         * lib/c-stack.c [DEBUG]: Move test program...
24671         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24672         fail test if sigaltstack is lacking.
24673         * tests/test-c-stack.sh: New driver file.
24674
24675 2008-06-16  Eric Blake  <ebb9@byu.net>
24676
24677         Use raise module consistently.
24678         * modules/fatal-signal (Depends-on): Add raise.
24679         * modules/sigprocmask (Depends-on): Likewise.
24680         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24681         * lib/sigprocmask.c (sigprocmask): Likewise.
24682         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24683         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24684
24685         Fix compliance bug in sigpending.
24686         * lib/sigprocmask.c (sigpending): Return pending array via
24687         parameter, not return value.
24688
24689 2008-06-14  Eric Blake  <ebb9@byu.net>
24690
24691         Improve obstack-printf test code.
24692         * tests/test-obstack-printf.c (test_function): Fix comment, and
24693         simplify usage of obstack_* in macros.  Add a test for coverage.
24694         Reported by Bruno Haible.
24695
24696 2008-06-14  Bruno Haible  <bruno@clisp.org>
24697
24698         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24699         array size as a constant, not as a const variable.
24700         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24701         AC_USE_SYSTEM_EXTENSIONS.
24702         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24703         Test whether the obstack_printf function actually exists.
24704         * modules/obstack-printf (Depends-on): Add extensions.
24705         (Include): Remove obstack.h.
24706         * modules/obstack-printf-posix (Depends-on): Add extensions.
24707         (Include): Remove obstack.h.
24708
24709 2008-06-13  Eric Blake  <ebb9@byu.net>
24710
24711         Add obstack-printf and obstack-printf-posix modules.
24712         * modules/obstack-printf: New file.
24713         * modules/obstack-printf-posix: Likewise.
24714         * MODULES.html.sh (Misc): Mention them.
24715         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24716         Likewise.
24717         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24718         Likewise.
24719         * modules/stdio (Makefile.am): Accomodate new modules.
24720         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24721         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24722         Declare.
24723         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24724         functions.
24725         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24726         (gl_REPLACE_OBSTACK_PRINTF): New macros
24727         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24728         * tests/test-obstack-printf.c: New file.
24729         * modules/obstack-printf-tests: Likewise.
24730         * modules/obstack-printf-posix-tests: Likewise.
24731
24732 2008-06-11  Bruno Haible  <bruno@clisp.org>
24733
24734         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24735         * lib/open.c: Include errno.h.
24736         (open): Fail when attempting to write to a file that has a trailing
24737         slash.
24738         * tests/test-open.c (main): Test against trailing slash bug.
24739         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24740
24741 2008-06-10  Bruno Haible  <bruno@clisp.org>
24742
24743         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24744         for $? to work inside the trap command, with various /bin/sh-s.
24745         * tests/test-vc-list-files-cvs.sh: Likewise.
24746
24747 2008-06-10  Bruno Haible  <bruno@clisp.org>
24748
24749         * lib/acl-internal.h: Don't include gettext.h here.
24750         * lib/set-mode-acl.c: Include gettext.h here.
24751         * lib/copy-acl.c: Likewise.
24752
24753 2008-06-10  Bruno Haible  <bruno@clisp.org>
24754
24755         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24756         * lib/wait-process.c (wait_subprocess): Likewise.
24757         * lib/execute.h (execute): Add termsigp argument.
24758         * lib/execute.c (execute): Likewise.
24759         * lib/csharpcomp.c (compile_csharp_using_pnet,
24760         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24761         * lib/csharpexec.c (execute_csharp_using_pnet,
24762         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24763         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24764         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24765         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24766         is_jikes_present): Update.
24767         * lib/javaexec.c (execute_java_class): Update.
24768         * lib/javaversion.c (execute_and_read_line): Update.
24769         * NEWS: Document the changes.
24770         Reported by Eric Blake.
24771
24772 2008-06-10  Eric Blake  <ebb9@byu.net>
24773
24774         Add missing include.
24775         * tests/test-strstr.c (includes): Add <signal.h>.
24776         * tests/test-strcasestr.c (includes): Likewise.
24777         * tests/test-memmem.c (includes): Likewise.
24778
24779 2008-06-10  Bruno Haible  <bruno@clisp.org>
24780
24781         * lib/wait-process.c (wait_subprocess): Add an assertion.
24782
24783 2008-06-10  Bruno Haible  <bruno@clisp.org>
24784
24785         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24786
24787 2008-06-10  Bruno Haible  <bruno@clisp.org>
24788
24789         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24790         using alarm().
24791         * tests/test-strcasestr.c (main): Likewise.
24792         * tests/test-strstr.c (main): Likewise.
24793
24794 2008-06-09  Bruno Haible  <bruno@clisp.org>
24795
24796         Work around the Solaris 10 ACE ACLs ABI change.
24797         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24798         declare if ACL_NO_TRIVIAL is present.
24799         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24800         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24801         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24802         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24803         define if ACL_NO_TRIVIAL is present.
24804         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24805         and use the current ABI.
24806         (file_has_acl): Use same #if condition as elsewhere.
24807         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24808         in use, and use the current ABI.
24809         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24810         Reported by Jim Meyering.
24811
24812 2008-06-09  Eric Blake  <ebb9@byu.net>
24813
24814         Work around environments that (stupidly) ignore SIGALRM.
24815         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24816         before using alarm().
24817         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24818         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24819         Reported by Ian Beckwith <ianb@erislabs.net>.
24820
24821         Produce autobuild blurb earlier in log.
24822         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24823
24824 2008-06-09  Jim Meyering  <meyering@redhat.com>
24825         and Ondřej Vašík  <ovasik@redhat.com>
24826
24827         utimens.c: correct kernel bug work-around
24828         Ondřej Vašík found that the invalid return value of 280 indicates
24829         failure, not success, and the kernel bug we're trying to work
24830         around affects not just the utimensat call, but also the fallback
24831         futimens call.
24832         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24833         not success.
24834         [HAVE_FUTIMENS]: Use the same work-around, here.
24835
24836 2008-06-09  Jim Meyering  <meyering@redhat.com>
24837
24838         add more guards around definition of ACE_-related code
24839         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24840         ALLOW and ACE_OWNER are also defined.
24841
24842 2008-06-08  Bruno Haible  <bruno@clisp.org>
24843
24844         * lib/acl-internal.h: Add me as co-author.
24845         * lib/file-has-acl.c: Likewise.
24846         * lib/set-mode-acl.c: Likewise.
24847         * lib/copy-acl.c: Likewise.
24848
24849 2008-06-08  Bruno Haible  <bruno@clisp.org>
24850
24851         Add support for AIX ACLs.
24852         * lib/acl-internal.h (acl_nontrivial): New declaration.
24853         * lib/file-has-acl.c (acl_nontrivial): New function.
24854         (file_has_acl): Add implementation using AIX 4 ACL API.
24855         * lib/set-mode-acl.c (qset_acl): Likewise.
24856         * lib/copy-acl.c (qcopy_acl): Likewise.
24857
24858 2008-06-08  Bruno Haible  <bruno@clisp.org>
24859
24860         Add support for HP-UX ACLs.
24861         * lib/acl-internal.h (acl_nontrivial): New declaration.
24862         * lib/file-has-acl.c (acl_nontrivial): New function.
24863         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24864         * lib/set-mode-acl.c (qset_acl): Likewise.
24865         * lib/copy-acl.c (qcopy_acl): Likewise.
24866
24867 2008-06-08  Bruno Haible  <bruno@clisp.org>
24868
24869         Add support for Cygwin ACLs.
24870         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24871         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24872         the chmod_or_fchmod call.
24873         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24874
24875 2008-06-08  Bruno Haible  <bruno@clisp.org>
24876
24877         Fix bug with setuid modes in Solaris 10+ code.
24878         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24879         succeeded, when the mode contains some special bits.
24880
24881 2008-06-08  Bruno Haible  <bruno@clisp.org>
24882
24883         Add support for Solaris 7..10 ACLs.
24884         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24885         declarations.
24886         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24887         functions.
24888         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24889         * lib/set-mode-acl.c (qset_acl): Likewise.
24890         * lib/copy-acl.c (qcopy_acl): Likewise.
24891
24892 2008-06-08  Bruno Haible  <bruno@clisp.org>
24893
24894         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24895         declaration.
24896         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24897         (acl_access_nontrivial): Remove MacOS X case.
24898         (file_has_acl): Use acl_extended_nontrivial.
24899         * lib/copy-acl.c (qcopy_acl): Likewise.
24900
24901 2008-06-08  Bruno Haible  <bruno@clisp.org>
24902
24903         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
24904
24905 2008-06-08  Jim Meyering  <meyering@redhat.com>
24906
24907         * modules/acl (Maintainer): Add Bruno Haible.
24908
24909 2008-06-07  Bruno Haible  <bruno@clisp.org>
24910
24911         Improve support for Tru64 ACLs.
24912         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
24913         ACL on OSF/1.
24914
24915 2008-06-07  Bruno Haible  <bruno@clisp.org>
24916
24917         Add support for MacOS X ACLs.
24918         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
24919         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
24920         * lib/set-mode-acl.c (qset_acl): Likewise.
24921         * lib/copy-acl.c (qcopy_acl): Likewise.
24922
24923 2008-06-07  Bruno Haible  <bruno@clisp.org>
24924
24925         Fix memory leak introduced on 2008-05-22.
24926         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
24927         use.
24928
24929 2008-06-07  Bruno Haible  <bruno@clisp.org>
24930
24931         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
24932         to construct an empty ACL.
24933
24934 2008-06-07  Bruno Haible  <bruno@clisp.org>
24935
24936         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
24937         precisely.
24938         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
24939
24940 2008-06-07  Bruno Haible  <bruno@clisp.org>
24941
24942         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
24943         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
24944
24945 2008-06-07  Bruno Haible  <bruno@clisp.org>
24946
24947         * doc/posix-functions/_setjmp.texi: Explain the use of this function
24948         regardless of POSIX.
24949         * doc/posix-functions/_longjmp.texi: Likewise.
24950         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
24951         SystemV platform in this case.
24952
24953 2008-06-06  Eric Blake  <ebb9@byu.net>
24954
24955         Document abort() bugs.
24956         * doc/posix-functions/abort.texi (abort): Mention anomalies.
24957
24958         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
24959         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
24960         sigsetjmp.
24961         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
24962         siglongjmp, but only as a macro.
24963         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
24964         is obsolete.
24965         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
24966
24967         Tweak documentation to cover cygwin argz bugs.
24968         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
24969         argz bug fix; no code change needed since no cygwin releases
24970         occurred between the last fix and the bug being tested.
24971         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
24972         module and recently fixed cygwin bugs.
24973         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
24974         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
24975         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
24976         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
24977         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
24978         Likewise.
24979         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
24980         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
24981         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
24982         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
24983         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
24984         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
24985         Likewise.
24986
24987         Avoid gcc warning on cygwin.
24988         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
24989         !ACL_NO_TRIVIAL]: Avoid unused variable.
24990
24991 2008-06-05  Eric Blake  <ebb9@byu.net>
24992
24993         Be tolerant of UNKNOWN version in gnulib-tool test dir.
24994         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
24995         git-version-gen fails to come up with a version.
24996         Reported by Simon Josefsson.
24997
24998 2008-06-05  Jim Meyering  <meyering@redhat.com>
24999             Paul Eggert  <eggert@cs.ucla.edu>
25000
25001         utimens.c: work around a probable Linux kernel bug
25002         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
25003         appears to be a kernel bug that causes utimensat to return 280
25004         instead of 0, indicating success.
25005
25006 2008-06-04  Bruno Haible  <bruno@clisp.org>
25007
25008         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
25009         2008-06-01 commit.
25010
25011 2008-06-04  Bruno Haible  <bruno@clisp.org>
25012
25013         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
25014         * lib/file-has-acl.c (acl_access_nontrivial): New function.
25015         (file_has_acl): Use it. Save errno afterwards.
25016         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
25017
25018 2008-06-03  Bruno Haible  <bruno@clisp.org>
25019
25020         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
25021         draft code. Simplify #ifs.
25022         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
25023         Put Solaris code after POSIX-draft code. Fix comments regarding
25024         Solaris 10, HP-UX. Mention Cygwin.
25025         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
25026
25027 2008-06-03  Eric Blake  <ebb9@byu.net>
25028
25029         Provide fallback for older kernels.
25030         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
25031         Provide runtime fallback if kernel lacks support.
25032         Reported by Mike Frysinger.
25033
25034 2008-06-02  Bruno Haible  <bruno@clisp.org>
25035
25036         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
25037         it exists.
25038
25039 2008-06-02  Bruno Haible  <bruno@clisp.org>
25040
25041         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
25042         * lib/copy-acl.c (qcopy_acl): Update comment.
25043
25044 2008-06-02  Bruno Haible  <bruno@clisp.org>
25045
25046         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
25047         like ACL APIs.
25048
25049 2008-06-02  Bruno Haible  <bruno@clisp.org>
25050
25051         * tests/test-file-has-acl.sh: Use different code for Cygwin.
25052         * tests/test-set-mode-acl.sh: Likewise.
25053         * tests/test-copy-acl.sh: Likewise.
25054         * tests/test-copy-file.sh: Likewise.
25055
25056 2008-06-02  Bruno Haible  <bruno@clisp.org>
25057
25058         * tests/test-file-has-acl.sh: Remove unused code.
25059
25060 2008-06-01  Bruno Haible  <bruno@clisp.org>
25061
25062         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
25063         (copy_acl): Just a wrapper around qcopy_acl that emits the error
25064         messages.
25065         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
25066
25067 2008-06-01  Bruno Haible  <bruno@clisp.org>
25068
25069         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
25070         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
25071         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
25072         APIs.
25073         * modules/acl-tests (configure.ac): Remove tests now contained in
25074         m4/acl.m4.
25075
25076 2008-06-02  Jim Meyering  <meyering@redhat.com>
25077
25078         announce-gen: use a better key-server host name
25079         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
25080         it may be more consistently reliable.  Suggested by Werner Koch
25081         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
25082
25083 2008-06-01  Bruno Haible  <bruno@clisp.org>
25084
25085         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
25086         Reported by Voroskoi Andras <voroskoi@gmail.com>.
25087
25088 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
25089
25090         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
25091
25092 2008-06-01  Bruno Haible  <bruno@clisp.org>
25093
25094         New ACL tests.
25095         * tests/test-file-has-acl.sh: New file.
25096         * tests/test-file-has-acl.c: New file.
25097         * tests/test-set-mode-acl.sh: New file.
25098         * tests/test-set-mode-acl.c: New file.
25099         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
25100         * tests/test-copy-acl.c: New file.
25101         * modules/acl-tests: New file, based on modules/copy-file-tests.
25102         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
25103         (Depends-on): Add acl-tests.
25104         (configure.ac): Remove checks.
25105         (Makefile.am): Don't create test-sameacls program here any more.
25106
25107 2008-06-01  Bruno Haible  <bruno@clisp.org>
25108
25109         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
25110         * tests/test-sameacls.c: Include progname.h.
25111         (main): Invoke set_program_name. Portability fixes for MacOS X,
25112         Solaris, HP-UX.
25113
25114 2008-06-01  Bruno Haible  <bruno@clisp.org>
25115
25116         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
25117         function.
25118         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
25119
25120 2008-06-01  Bruno Haible  <bruno@clisp.org>
25121
25122         * modules/rpmatch (Depends-on): Add strdup.
25123
25124 2008-06-01  Bruno Haible  <bruno@clisp.org>
25125
25126         * lib/pipe.c: Include unistd-safer.h.
25127         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
25128         * modules/pipe (Depends-on): Add unistd-safer.
25129
25130 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25131
25132         * modules/autobuild (configure.ac): Call AB_INIT.
25133
25134 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25135
25136         * tests/test-getaddrinfo.c: Don't print debug messages by default.
25137         Suggested by Bruno Haible <bruno@clisp.org>.
25138
25139 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25140
25141         * tests/test-base64.c: Cast size_t to unsigned long when invoking
25142         printf.  Use %lu instead of %d.  Reported by Bruno Haible
25143         <bruno@clisp.org>.
25144
25145 2008-05-29  Eric Blake  <ebb9@byu.net>
25146
25147         Prefer new POSIX 200x interfaces over futimesat.
25148         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
25149         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
25150         when available.
25151         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
25152
25153 2008-05-28  Bruno Haible  <bruno@clisp.org>
25154
25155         * modules/stpcpy (License): Change to LGPLv2+.
25156         Requested by David Lutterkort <dlutter@redhat.com>.
25157
25158 2008-05-27  Bruno Haible  <bruno@clisp.org>
25159
25160         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
25161         current mingw.
25162         Reported by Jose E. Marchesi <jemarch@gnu.org>.
25163
25164 2008-05-27  Bruno Haible  <bruno@clisp.org>
25165
25166         * modules/iconv_open (Link): New section, from module 'iconv'.
25167         * modules/striconv (Link): Likewise.
25168         * modules/striconveh (Link): Likewise.
25169         * modules/xstriconv (Link): Likewise.
25170         * modules/unicodeio (Link): Likewise.
25171         * modules/propername (Link): Likewise.
25172         Reported by Jim Meyering.
25173
25174 2008-05-26  Jim Meyering  <meyering@redhat.com>
25175
25176         sha256: do not artificially restrict buffer length to be < 2^32
25177         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
25178         uint32_t to size_t.
25179         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
25180         to match.
25181
25182         avoid unaligned access errors, e.g., on sparc
25183         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
25184         direct access through a possibly-unaligned uint64* pointer.
25185         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
25186         direct access through a possibly-unaligned uint32* pointer.
25187         Prompted by this patch from Tom "spot" Callaway:
25188         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
25189
25190         sha512.c: fix typo in comment
25191         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
25192
25193 2008-05-25  Bruno Haible  <bruno@clisp.org>
25194
25195         * lib/set-mode-acl.c: Renamed from lib/acl.c.
25196         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
25197         (Makefile.am): Update lib_SOURCES.
25198
25199 2008-05-25  Bruno Haible  <bruno@clisp.org>
25200
25201         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
25202
25203 2008-05-25  Jim Meyering  <meyering@redhat.com>
25204
25205         useless-if-before-free: freed expr may have white-space differences
25206         * build-aux/useless-if-before-free: Recognize cases in which the
25207         freed expression differs from the tested one in embedded white
25208         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25209         $1 was used, so we can't make any regexp shy.  Improved tests now
25210         detect this.
25211
25212         useless-if-before-free: accept white space in the expression.
25213         * build-aux/useless-if-before-free: For now, any white space
25214         in the expression must be identical in the free argument.
25215
25216         useless-if-before-free: efficiency tweak
25217         * build-aux/useless-if-before-free: Make the expression-matching
25218         regexp "shy".
25219         Make the *outer* regexp shy, not the expr-matching one.
25220
25221         update code-in-comment to accept cast of free arg
25222         * build-aux/useless-if-before-free: Update regexp.
25223
25224 2008-05-25  Bruno Haible  <bruno@clisp.org>
25225
25226         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25227         * modules/copy-file-tests (Files, Makefile.am): Update.
25228         * tests/test-copy-file.c (func_test_copy): Update.
25229
25230 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25231
25232         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25233
25234 2008-05-23  Bruno Haible  <bruno@clisp.org>
25235
25236         Improve support for ACLs on OSF/1.
25237         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25238         Remove fallback for unknown flavors of ACLs.
25239
25240 2008-05-22  Bruno Haible  <bruno@clisp.org>
25241
25242         Add support for ACLs on OSF/1.
25243         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25244         replacements.
25245         (acl_free_text): New macro fallback.
25246         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25247         acl_free.
25248         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25249         acl_free_text function. Require AC_C_INLINE.
25250
25251 2008-05-22  Bruno Haible  <bruno@clisp.org>
25252
25253         Make copy_acl work on MacOS X 10.5.
25254         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25255         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25256         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25257         If MODE_INSIDE_ACL, don't assume that every system has the same text
25258         representation for ACLs as FreeBSD.
25259         * lib/copy-acl.c (copy_acl): Add support for platforms with
25260         !MODE_INSIDE_ACL.
25261         * lib/file-has-acl.c (file_has_acl): Likewise.
25262         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25263         FreeBSD, MacOS X, or IRIX, respectively.
25264
25265 2008-05-22  Bruno Haible  <bruno@clisp.org>
25266
25267         * lib/acl.h: Don't include <sys/acl.h>.
25268         (GETACLCNT): Move fallback to lib/acl-internal.h.
25269         * lib/acl-internal.h: Include <sys/acl.h> here.
25270         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25271
25272 2008-05-22  Bruno Haible  <bruno@clisp.org>
25273
25274         Split off copy_acl function to separate file.
25275         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25276         * lib/acl.c (copy_acl): Moved function to separate file.
25277         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25278         * modules/acl (Files): Add lib/copy-acl.c.
25279         (Makefiles.am): Augment lib_SOURCES.
25280
25281 2008-05-22  Bruno Haible  <bruno@clisp.org>
25282
25283         * modules/copy-file-tests: New file.
25284         * tests/test-copy-file.sh: New file.
25285         * tests/test-copy-file.c: New file.
25286         * tests/test-copy-file-sameacls.c: New file.
25287
25288 2008-05-22  Eric Blake  <ebb9@byu.net>
25289
25290         Avoid gcc warning.
25291         * tests/test-memcmp.c (main): Pass NULL indirectly.
25292
25293 2008-05-21  Bruno Haible  <bruno@clisp.org>
25294
25295         Add reference doc about ACLs.
25296         * doc/acl-resources.txt: New file.
25297         * doc/acl-cygwin.txt: New file.
25298
25299 2008-05-21  Bruno Haible  <bruno@clisp.org>
25300
25301         Avoid one more warning from gcc.
25302         * lib/vasnprintf.c (IF_LINT): Update comments.
25303         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25304
25305 2008-05-21  Jim Meyering  <meyering@redhat.com>
25306
25307         avoid a warning from gcc
25308         * lib/vasnprintf.c (IF_LINT): Define.
25309         (scale10_round_decimal_long_double):
25310         Use it to avoid a "may be used uninitialized" warning.
25311         (scale10_round_decimal_double): Likewise.
25312
25313 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25314
25315         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25316         declared.
25317
25318 2008-05-20  Bruno Haible  <bruno@clisp.org>
25319
25320         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25321         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25322
25323 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25324
25325         * modules/memcmp-tests: New file.
25326         * tests/test-memcmp.c: New file.
25327
25328 2008-05-19  Bruno Haible  <bruno@clisp.org>
25329
25330         * modules/propername (Notice, configure.ac): Put quoted "..." into
25331         --keyword option.
25332         * lib/propername.h: Update comments accordingly.
25333         Reported by Eric Blake.
25334
25335 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25336
25337         * modules/getpass-gnu (Depends-on): Add fseeko.
25338
25339 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25340
25341         * modules/base64-tests: New file.
25342
25343 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25344
25345         * lib/base64.c (base64_decode_ctx): If a decode context structure
25346         was passed in use it to ignore newlines.  If a context structure
25347         was _not_ passed in, continue to treat newlines as garbage (this
25348         is the historical behavior).  Formerly base64_decode.
25349         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25350         takes a decode context structure.
25351         * lib/base64.h (base64_decode): Macro for four-argument calls.
25352         (base64_decode_alloc): Likewise.
25353         * lib/base64.c (base64_decode_ctx): If a decode context structure
25354         was passed in use it to ignore newlines.  If a context structure
25355         was _not_ passed in, continue to treat newlines as garbage (this
25356         is the historical behavior).  Formerly base64_decode.
25357         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25358         takes a decode context structure.
25359         * lib/base64.h (base64_decode): Macro for four-argument calls.
25360         (base64_decode_alloc): Likewise.
25361
25362 2008-05-19  Jim Meyering  <meyering@redhat.com>
25363
25364         avoid a warning from gcc
25365         * lib/trim.c (IF_LINT): Define.
25366         (trim2): Use it to avoid a "may be used uninitialized" warning.
25367
25368         Fix doc typo.
25369         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25370
25371 2008-05-19  Bruno Haible  <bruno@clisp.org>
25372
25373         * doc/glibc-functions/getpass.texi: Document limits of other
25374         implementations.
25375
25376 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25377             Bruno Haible <bruno@clisp.org>
25378
25379         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25380
25381 2008-05-18  Bruno Haible  <bruno@clisp.org>
25382
25383         * modules/propername: New file, from GNU gettext.
25384         * lib/propername.h: New file, from GNU gettext.
25385         * lib/propername.c: New file, from GNU gettext.
25386         * MODULES.html.sh (Internationalization functions): Add propername.
25387
25388 2008-05-16  Jim Meyering  <meyering@redhat.com>
25389             Bruno Haible  <bruno@clisp.org>
25390
25391         Avoid some warnings from "gcc -Wshadow".
25392         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25393
25394 2008-05-15  Eric Blake  <ebb9@byu.net>
25395
25396         Extend previous patch to cygwin 1.7.0.
25397         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25398         fast implementation in cygwin >= 1.7.0.
25399         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25401
25402 2008-05-15  Bruno Haible  <bruno@clisp.org>
25403
25404         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25405         implementation in glibc >= 2.9.
25406         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25407         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25408
25409 2008-05-15  Bruno Haible  <bruno@clisp.org>
25410
25411         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25412         (Unicode string functions): Add unilbrk/*.
25413         Reported by Karl Berry.
25414
25415 2008-05-15  Eric Blake  <ebb9@byu.net>
25416
25417         Fix violation of <stdbool.h> replacement in regex.
25418         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
25419         * lib/regexec.c (re_search_internal): Likewise.
25420         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
25421
25422 2008-05-15  Jim Meyering  <meyering@redhat.com>
25423
25424         avoid distracting test output when git or cvs is not found
25425         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
25426         * tests/test-vc-list-files-git.sh: Likewise.
25427
25428 2008-05-15  Eric Blake  <ebb9@byu.net>
25429
25430         Glibc finally accepted the memmem speedup code, bugzilla #5514.
25431         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
25432         glibc version.
25433         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25434         * doc/posix-functions/strstr.texi (strstr): Likewise.
25435         * lib/str-two-way.h (MAX): Sychronize with glibc.
25436
25437 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
25438
25439         * lib/regcomp.c (optimize_utf8): Add a note on why we test
25440         opr.ctx_type.
25441         (calc_first): Initialize constraint field.
25442         (duplicate_node_closure): Use it instead of special casing ANCHORS.
25443         Fix grammar.
25444         (duplicate_node): Merge constraint field for all node types.
25445         (calc_eclosure_iter): Look at constraint field for all node types.
25446         * lib/regex_internal.c (create_cd_newstate): Don't look at
25447         opr.ctx_type.
25448
25449 2008-05-14  Bruno Haible  <bruno@clisp.org>
25450
25451         Help GCC to do better code generation.
25452         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25453         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25454         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25455         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25456         Declare with attribute 'malloc' if supported.
25457
25458 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25459
25460         use "echo STR|wc -c" rather than unportable "expr length STR"
25461         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25462         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25463
25464 2008-05-14  Jim Meyering  <meyering@redhat.com>
25465
25466         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25467         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25468         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25469         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25470         via Collin Lasse.
25471
25472 2008-05-14  Eric Blake  <ebb9@byu.net>
25473
25474         Avoid quadratic growth in gl_LIBSOURCES.
25475         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25476         Suggested by Bruno Haible.
25477
25478         Test xmemdup0.
25479         * modules/xmemdup0-tests: New file.
25480         * tests/test-xmemdup0.c: Likewise.
25481
25482 2008-05-13  Eric Blake  <ebb9@byu.net>
25483
25484         Split xmemdup0 into its own module.
25485         * modules/xmemdup0: New file.
25486         * lib/xmemdup0.h: Likewise.
25487         * lib/xmemdup0.c: Likewise.
25488         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25489         * lib/xalloc.h (xmemdup0): Remove.
25490         * lib/xmalloc.c (xmemdup0): Likewise.
25491
25492 2008-05-13  Eric Blake  <ebb9@byu.net>
25493             Bruno Haible  <bruno@clisp.org>
25494
25495         Reduce number of forks required during autoconf.
25496         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25497         and gl_LIBSOURCES_DIR.
25498         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25499         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25500         m4_syscmd per file.
25501         <m4_foreach_w>: Move...
25502         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25503
25504 2008-05-13  Eric Blake  <ebb9@byu.net>
25505
25506         * gnulib-tool: Fix various comment typos.
25507
25508 2008-05-12  Bruno Haible  <bruno@clisp.org>
25509
25510         Tailor the linebreaking algorithm.
25511         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25512
25513 2008-05-12  Bruno Haible  <bruno@clisp.org>
25514
25515         Update to Unicode 5.0.0.
25516         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25517         LBP_JV, LBP_JT. Redistribute values.
25518         (unilbrk_table): Change size.
25519         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25520         Unicode TR#14 rev. 22.
25521         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25522         LBP_JV, LBP_JT. Redistribute values.
25523         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25524         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25525         Update.
25526         * lib/unilbrk/lbrkprop1.h: Regenerated.
25527         * lib/unilbrk/lbrkprop2.h: Regenerated.
25528         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25529         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25530         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25531         Likewise.
25532         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25533         Likewise.
25534         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25535         result.
25536         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25537         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25538         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25539         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25540         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25541         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25542
25543 2008-05-11  Bruno Haible  <bruno@clisp.org>
25544
25545         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25546
25547 2008-05-11  Bruno Haible  <bruno@clisp.org>
25548
25549         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25550         * modules/unilbrk/gen-lbrk: New file.
25551
25552 2008-05-11  Bruno Haible  <bruno@clisp.org>
25553
25554         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25555         * m4/sha512.m4 (gl_SHA512): Likewise.
25556
25557 2008-05-11  Jim Meyering  <meyering@redhat.com>
25558
25559         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25560         * modules/crypto/sha256: New file.
25561         * modules/crypto/sha512: Likewise.
25562         * lib/sha256.c: Likewise.
25563         * lib/sha256.h: Likewise.
25564         * lib/sha512.c: Likewise.
25565         * lib/sha512.h: Likewise.
25566         * lib/u64.h: Likewise.
25567         * m4/sha256.m4: Likewise.
25568         * m4/sha512.m4: Likewise.
25569         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25570
25571 2008-05-10  Bruno Haible  <bruno@clisp.org>
25572
25573         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25574         (Input/Output <stdio.h>): Add xprintf.
25575         (Signal handling <signal.h>): Add strsignal.
25576         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25577         (Core language properties): Add func.
25578         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25579         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25580         strings.
25581         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25582         (Input/output): New section.
25583         (File system functions): Add openat-die, stat-macros.
25584         (Networking functions): Add sockets.
25585         (Unicode string functions): Add unictype/*.
25586         (Support for building libraries and executables): Add gperf.
25587         (Support for building documentation): Add agpl-3.0.
25588         (Misc): Add nocrash.
25589
25590 2008-05-10  Bruno Haible  <bruno@clisp.org>
25591
25592         * modules/unictype/gen-ctype: New file.
25593
25594 2008-05-10  Jim Meyering  <meyering@redhat.com>
25595
25596         Make chdir-safer.c more efficient on a system with no symlinks.
25597         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25598         also if ELOOP is zero.  Suggested by Bruno Haible.
25599
25600         Make chdir-safer.c slightly safer.
25601         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25602         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25603
25604         Avoid compile failure on systems without ELOOP (like mingw).
25605         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25606         Reported by Bruno Haible.
25607
25608 2008-05-10  Bruno Haible  <bruno@clisp.org>
25609
25610         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25611         (is_utf8_encoding): Use a case-insensitive comparison.
25612         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25613         streq.
25614
25615 2008-05-10  Bruno Haible  <bruno@clisp.org>
25616
25617         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25618         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25619         * lib/unilbrk/ulc-common.h (iconv_string_length,
25620         iconv_string_keeping_offsets): Remove declarations.
25621         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25622         Don't include <iconv.h>, streq.h, xsize.h.
25623         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25624         conversion.
25625         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25626         <iconv.h>, streq.h, xsize.h.
25627         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25628         conversion.
25629         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25630         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25631         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25632         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25633
25634 2008-05-10  Bruno Haible  <bruno@clisp.org>
25635
25636         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25637         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25638
25639         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25640         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25641
25642         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25643         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25644
25645         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25646         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25647
25648         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25649         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25650
25651         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25652         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25653
25654         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25655         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25656
25657         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25658         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25659
25660 2008-05-10  Bruno Haible  <bruno@clisp.org>
25661
25662         Split up 'linebreak' module.
25663         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25664         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25665         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25666         modifications.
25667         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25668         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25669         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25670         lib/linebreak.c.
25671         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25672         lib/linebreak.c.
25673         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25674         lib/linebreak.c.
25675         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25676         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25677         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25678         lib/linebreak.c.
25679         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25680         lib/linebreak.c.
25681         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25682         lib/linebreak.c.
25683         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25684         lib/linebreak.c.
25685         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25686         lib/linebreak.c.
25687         * modules/unilbrk/base: New file.
25688         * modules/unilbrk/tables: New file.
25689         * modules/unilbrk/u8-possible-linebreaks: New file.
25690         * modules/unilbrk/u16-possible-linebreaks: New file.
25691         * modules/unilbrk/u32-possible-linebreaks: New file.
25692         * modules/unilbrk/ulc-common: New file.
25693         * modules/unilbrk/ulc-possible-linebreaks: New file.
25694         * modules/unilbrk/u8-width-linebreaks: New file.
25695         * modules/unilbrk/u16-width-linebreaks: New file.
25696         * modules/unilbrk/u32-width-linebreaks: New file.
25697         * modules/unilbrk/ulc-width-linebreaks: New file.
25698         * lib/linebreak.h: Remove file.
25699         * lib/linebreak.c: Remove file.
25700         * m4/linebreak.m4: Remove file.
25701         * modules/linebreak: Remove file.
25702         * NEWS: Mention the changes.
25703
25704 2008-05-09  Eric Blake  <ebb9@byu.net>
25705
25706         Add xmemdup0.
25707         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25708         implementation.
25709         * lib/xmalloc.c (xmemdup0): New C implementation.
25710
25711 2008-05-08  Bruno Haible  <bruno@clisp.org>
25712
25713         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25714
25715 2008-05-07  Eric Blake  <ebb9@byu.net>
25716
25717         Support cross-compilation of <wctype.h>.
25718         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25719         AC_CACHE_CHECK.
25720
25721 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25722
25723         * build-aux/vc-list-files: Add support for bzr.
25724
25725 2008-05-03  Jim Meyering  <meyering@redhat.com>
25726
25727         avoid failed assertion with tight malloc
25728         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25729
25730 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25731
25732         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25733         are needed from arpa/inet.h.
25734         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25735         Reported by Bruno Haible.
25736
25737 2008-05-02  Jim Meyering  <meyering@redhat.com>
25738
25739         avoid compilation error on FreeBSD 6
25740         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25741
25742 2008-05-01  Jim Meyering  <meyering@redhat.com>
25743
25744         useless-if-before-free: correct --help's exit status description
25745         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25746         for one or more matches, etc.  Reported by Bruno Haible.
25747
25748         vc-list-files: make the stand-alone gnulib test work
25749         * modules/vc-list-files-tests (configure.ac):
25750         Define and AC_SUBST abs_aux_dir.
25751         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25752         $(abs_top_srcdir) to each script and having each of them
25753         duplicate the work of setting PATH, set PATH here, using
25754         the new variable, abs_aux_dir instead.
25755         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25756         * tests/test-vc-list-files-git.sh: Likewise.
25757         Reported by Bruno Haible.
25758
25759 2008-05-01  Bruno Haible  <bruno@clisp.org>
25760
25761         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25762         reallocation. Rename 'done' to 'found_delimiter'.
25763
25764 2008-05-01  Jim Meyering  <meyering@redhat.com>
25765
25766         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25767         * build-aux/vc-list-files: Use `...`, not $(...).
25768
25769 2008-04-30  Jim Meyering  <meyering@redhat.com>
25770
25771         add tests for vc-list-files
25772         * modules/vc-list-files-tests: New module.
25773         * tests/test-vc-list-files-cvs.sh: New file.
25774         * tests/test-vc-list-files-git.sh: New file.
25775
25776         avoid a warning from gcc
25777         * lib/getndelim2.c (IF_LINT): Define.
25778         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25779
25780         vc-list-files: work properly with build-aux/cvsu, too
25781         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25782         to all cvs-based clauses.
25783
25784         vc-list-files: work properly in the CVS+awk case, too
25785         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25786
25787         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25788         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25789         take more than one file argument, so .  Add quotes, just in case $dir
25790         ever contains a shell meta-character.  Prompted by Soren Hansen in
25791         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25792
25793 2008-04-29  Eric Blake  <ebb9@byu.net>
25794
25795         Optimize getndelim2 to use block operations when possible.
25796         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25797         freadseek, and memchr2.
25798         * lib/getndelim2.c (getndelim2): Use them for block reads.
25799
25800 2008-04-29  Bruno Haible  <bruno@clisp.org>
25801
25802         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25803         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25804         * modules/inet_ntop (Depends-on): Add extensions.
25805         * modules/inet_pton (Depends-on): Likewise.
25806         Reported by Simon Josefsson.
25807
25808 2008-04-29  Jim Meyering  <meyering@redhat.com>
25809
25810         When the is more than one match in a block, match all of them.
25811         * build-aux/useless-if-before-free: Iterate through each block
25812         until there are no more matches.
25813
25814         Fix broken useless-if-before-free script.
25815         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25816         the expression to match cast of argument to free-like function.
25817
25818 2008-04-29  Eric Blake  <ebb9@byu.net>
25819
25820         Use new header.
25821         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25822
25823 2008-04-29  Jim Meyering  <meyering@redhat.com>
25824
25825         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25826         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25827         by gnulib to exist and to declare e.g., inet_ntop.
25828         Don't include "inet_ntop.h", now removed.
25829
25830         * m4/arpa_inet_h.m4: Remove trailing blanks.
25831
25832 2008-04-29  Eric Blake  <ebb9@byu.net>
25833
25834         Silence valgrind on safe reads beyond potential array bounds.
25835         * lib/rawmemchr.valgrind: New file.
25836         * lib/strchrnul.valgrind: Likewise.
25837         * modules/rawmemchr (Files): Distribute new file.
25838         * modules/strchrnul (Files): Likewise.
25839         Suggested by Bruno Haible.
25840
25841 2008-04-29  Bruno Haible  <bruno@clisp.org>
25842
25843         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25844         (inet_ntop, inet_pton): Change portability warning's wording.
25845         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25846         Invoke gl_CHECK_NEXT_HEADERS.
25847         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25848         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25849         set ARPA_INET_H.
25850         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25851         * modules/arpa_inet (Description): No longer only for systems that
25852         lack it.
25853         (Depends-on): Add include_next.
25854         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25855         HAVE_ARPA_INET_H.
25856
25857 2008-04-29  Jim Meyering  <meyering@redhat.com>
25858
25859         * modules/mkdir (License): Re-license as LGPLv2+.
25860
25861 2008-04-29  Bruno Haible  <bruno@clisp.org>
25862
25863         * modules/rawmemchr (Maintainer): Set to Eric.
25864         * modules/strchrnul (Maintainer): Likewise.
25865
25866 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25867
25868         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25869         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25870
25871         * modules/arpa_inet (arpa/inet.h): Use them.
25872
25873 2008-04-28  Eric Blake  <ebb9@byu.net>
25874
25875         Test getndelim2.
25876         * modules/getndelim2-tests: New file.
25877         * tests/test-getndelim2.c: Likewise.
25878         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25879         stream.
25880         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25881
25882         * MODULES.html.sh: Document new module.
25883
25884 2008-04-20  Bruno Haible  <bruno@clisp.org>
25885
25886         * lib/c-stack.c (die): Use raise.
25887         * modules/c-stack (Depends-on): Add raise.
25888
25889 2008-04-28  Bruno Haible  <bruno@clisp.org>
25890
25891         Expect rpmatch to be declared.
25892         * lib/yesno.c (rpmatch): Remove declaration.
25893
25894         Declare rpmatch.
25895         * lib/stdlib.in.h (rpmatch): New declaration.
25896         * lib/rpmatch.c: Include <stdlib.h> first.
25897         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25898         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25899         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
25900         HAVE_RPMATCH.
25901         * modules/rpmatch (Depends-on): Add stdlib, extensions.
25902         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25903         (Include): Set to <stdlib.h>.
25904         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
25905         HAVE_RPMATCH.
25906         * NEWS: Document the change.
25907
25908 2008-04-28  Bruno Haible  <bruno@clisp.org>
25909
25910         Change rpmatch to use nl_langinfo when appropriate.
25911         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
25912         (N_): New macro.
25913         (localized_pattern): New function/macro.
25914         (try): Remove match, nomatch arguments. Copy the pattern into safe
25915         memory before caching it.
25916         (rpmatch): Use localized_pattern. Add translator comments.
25917         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
25918         Suggested by Eric Blake.
25919         * modules/rpmatch (Depends-on): Add stdbool.
25920
25921 2008-04-28  Eric Blake  <ebb9@byu.net>
25922
25923         Add rawmemchr module, matching glibc.
25924         * modules/string (Makefile.am): New indicator.
25925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
25926         * lib/string.in.h (rawmemchr): Declare when appropriate.
25927         * modules/rawmemchr: New file.
25928         * m4/rawmemchr.m4: Likewise.
25929         * lib/rawmemchr.c: Likewise.
25930         * modules/rawmemchr-tests: Likewise.
25931         * tests/test-rawmemchr.c: Likewise.
25932         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
25933         module.
25934         * modules/strchrnul (Depends-on): Add rawmemchr.
25935         * lib/strchrnul.c (strchrnul): Optimize a corner case.
25936
25937         Whitespace cleanup.
25938         * tests/test-strchrnul.c: Reindent.
25939         * lib/strchrnul.c: Likewise.
25940
25941         Optimize and test strchrnul.
25942         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
25943         * modules/strchrnul-tests: New file.
25944         * tests/test-strchrnul.c: Likewise.
25945
25946         Remove intprops dependency.
25947         * modules/memchr (Depends-on): Remove intprops.
25948         * modules/memrchr (Depends-on): Likewise.
25949         * modules/memchr2 (Depends-on): Likewise.
25950         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
25951         * lib/memrchr.c (__memrchr): Likewise.
25952         * lib/memrchr2.c (memchr2): Likewise.
25953         Reported by Simon Josefsson.
25954
25955 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25956
25957         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
25958         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25959
25960 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25961
25962         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
25963
25964         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
25965
25966         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
25967
25968         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
25969         declarations.
25970         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
25971
25972         * m4/inet_pton.m4: Don't check for header files.
25973
25974         * m4/inet_ntop.m4: Don't check for header files.
25975
25976 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25977
25978         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
25979         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
25980         trigger for cygwin).
25981         Reported by Bruno Haible  <bruno@clisp.org>.
25982
25983 2008-04-28  Bruno Haible  <bruno@clisp.org>
25984
25985         * doc/posix-functions/strdup.texi: Mention mingw problem.
25986
25987 2008-04-27  Bruno Haible  <bruno@clisp.org>
25988
25989         * modules/stat-time-tests (Depends-on): Add sleep.
25990         * tests/test-stat-time.c (force_unlink): New function.
25991         (cleanup): Use it.
25992         (test_mtime): Remove the ctime related tests.
25993         (test_ctime): New function, containing the ctime related tests.
25994         (main): Call test_ctime, except on native Windows platforms.
25995
25996 2008-04-27  Bruno Haible  <bruno@clisp.org>
25997
25998         * lib/rpmatch.c (rpmatch): Add some comments.
25999         Reported by James Youngman <jay@gnu.org>.
26000
26001 2008-04-27  Bruno Haible  <bruno@clisp.org>
26002
26003         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
26004         quiet NaNs.
26005
26006 2008-04-27  Bruno Haible  <bruno@clisp.org>
26007
26008         Make test-yesno.sh work on mingw.
26009         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
26010         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
26011         (main): Set stdin to binary mode.
26012         * modules/yesno-tests (Depends-on): Add binary-io.
26013
26014 2008-04-27  Bruno Haible  <bruno@clisp.org>
26015
26016         Fix 'isfinite' on x86, x86_64, ia64 platforms.
26017         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
26018         argument that lie outside the IEEE 854 domain.
26019         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
26020         (gl_ISFINITE): Use it.
26021         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
26022
26023 2008-04-27  Bruno Haible  <bruno@clisp.org>
26024
26025         Allow local renaming in config.h.
26026         * lib/memrchr.c (memrchr): Don't undefine outside libc.
26027
26028 2008-04-27  Bruno Haible  <bruno@clisp.org>
26029
26030         * lib/memchr.c (__memchr): Change type of 'i'.
26031         * lib/memchr2.c (memchr2): Likewise.
26032
26033 2008-04-26  Eric Blake  <ebb9@byu.net>
26034         and Bruno Haible  <bruno@clisp.org>
26035
26036         Optimize and test memrchr.
26037         * modules/memrchr (Depends-on): Add intprops.
26038         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
26039         * modules/memrchr-tests: New file.
26040         * tests/test-memrchr.c: New file.
26041
26042 2008-04-26  Bruno Haible  <bruno@clisp.org>
26043
26044         Add tentative support for DragonFly BSD.
26045         * lib/stdio-impl.h: Add macros for DragonFly BSD.
26046         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
26047         fp.
26048         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26049         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
26050         * lib/fpurge.c (fpurge): Likewise.
26051         * lib/freadable.c (freaadable): Likewise.
26052         * lib/freadahead.c (freadahead): Likewise.
26053         * lib/freading.c (freading): Likewise.
26054         * lib/freadptr.c (freadptr): Likewise.
26055         * lib/freadseek.c (freadptrinc): Likewise.
26056         * lib/fseeko.c (fseeko): Likewise.
26057         * lib/fseterr.c (fseterr): Likewise.
26058         * lib/fwritable.c (fwritable): Likewise.
26059         * lib/fwriting.c (fwriting): Likewise.
26060
26061 2008-04-26  Bruno Haible  <bruno@clisp.org>
26062
26063         * lib/stdio-impl.h: New file.
26064         * lib/fbufmode.c: Include stdio-impl.h.
26065         (fbufmode): Use fp_, remove redundant #defines.
26066         * lib/fflush.c: Include stdio-impl.h.
26067         (clear_ungetc_buffer): Remove redundant #defines.
26068         * lib/fpurge.c: Include stdio-impl.h.
26069         (fpurge): Remove redundant #defines.
26070         * lib/freadable.c: Include stdio-impl.h.
26071         (freadable): Remove redundant #defines.
26072         * lib/freadahead.c: Include stdio-impl.h.
26073         (freadahead): Remove redundant #defines.
26074         * lib/freading.c: Include stdio-impl.h.
26075         (freading): Remove redundant #defines.
26076         * lib/freadptr.c: Include stdio-impl.h.
26077         (freadptr): Remove redundant #defines.
26078         * lib/freadseek.c: Include stdio-impl.h.
26079         (freadptrinc): Remove redundant #defines.
26080         * lib/fseeko.c: Include stdio-impl.h.
26081         (rpl_fseeko): Remove redundant #defines.
26082         * lib/fseterr.c: Include stdio-impl.h.
26083         (fseterr): Remove redundant #defines.
26084         * lib/fwritable.c: Include stdio-impl.h.
26085         (fwritable: Remove redundant #defines.
26086         * lib/fwriting.c: Include stdio-impl.h.
26087         (fwriting): Remove redundant #defines.
26088         * modules/fbufmode (Files): Add lib/stdio-impl.h.
26089         * modules/fflush (Files): Likewise.
26090         * modules/fpurge (Files): Likewise.
26091         * modules/freadable (Files): Likewise.
26092         * modules/freadahead (Files): Likewise.
26093         * modules/freading (Files): Likewise.
26094         * modules/freadptr (Files): Likewise.
26095         * modules/freadseek (Files): Likewise.
26096         * modules/fseeko (Files): Likewise.
26097         * modules/fseterr (Files): Likewise.
26098         * modules/fwritable (Files): Likewise.
26099         * modules/fwriting (Files): Likewise.
26100
26101 2008-04-26  Bruno Haible  <bruno@clisp.org>
26102
26103         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26104         restore_seek_optimization, update_fpos_cache): New functions, extracted
26105         from rpl_fflush.
26106         (rpl_fflush): Use them.
26107         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
26108         (gl_REPLACE_FFLUSH): Use it.
26109
26110 2008-04-26  Bruno Haible  <bruno@clisp.org>
26111
26112         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
26113         on Solaris.
26114         * tests/test-xstrtoimax.sh: Likewise.
26115         * tests/test-xstrtoumax.sh: Likewise.
26116         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26117
26118 2008-04-26  Bruno Haible  <bruno@clisp.org>
26119
26120         * modules/memchr-tests: New file.
26121         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
26122
26123 2008-04-26  Eric Blake  <ebb9@byu.net>
26124             Bruno Haible  <bruno@clisp.org>
26125
26126         * lib/memchr.c: Include intprops.h.
26127         (__memchr): Optimize parallel detection of matching bytes. Rename local
26128         variables. Add explanatory comments.
26129
26130 2008-04-26  Bruno Haible  <bruno@clisp.org>
26131
26132         Fix module 'memchr', broken since 2000-10-28.
26133         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
26134
26135 2008-04-26  Bruno Haible  <bruno@clisp.org>
26136
26137         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
26138         comments.
26139
26140 2008-04-25  Eric Blake  <ebb9@byu.net>
26141
26142         Use native fstatat on cygwin 1.7.0.
26143         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
26144         first.
26145
26146 2008-04-23  Eric Blake  <ebb9@byu.net>
26147
26148         Improve memchr2 performance.
26149         * lib/memchr2.c (memchr2): Further optimize parallel detection of
26150         NUL bytes.
26151         * modules/memchr2 (Depends-on): Use intprops.h.
26152
26153 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26154
26155         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
26156         an inline function instead of a CPP macro.  Patch by Ben Pfaff
26157         <blp@cs.stanford.edu>.
26158
26159 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26160
26161         * lib/arpa_inet.in.h: New file.
26162
26163         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
26164         (Makefile.am): Sed in substitute header file.
26165
26166         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
26167         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
26168
26169         * modules/inet_ntop (configure.ac): Use
26170         gl_ARPA_INET_MODULE_INDICATOR.
26171
26172         * modules/inet_pton (configure.ac): Use
26173         gl_ARPA_INET_MODULE_INDICATOR.
26174
26175 2008-04-22  Jim Meyering  <meyering@redhat.com>
26176
26177         * modules/verify (License): Re-license as LGPLv2+.
26178
26179 2008-04-22  Simon Josefsson  <simon@josefsson.org>
26180
26181         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
26182         parameter to void* as per POSIX standard (MinGW uses char*).
26183
26184 2008-04-21  Bruno Haible  <bruno@clisp.org>
26185
26186         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
26187         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
26188         Define to replacements if REPLACE_ISWCNTRL is 1.
26189         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
26190         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
26191         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
26192         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
26193         what it fixes.
26194         * doc/posix-functions/iswalpha.texi: Likewise.
26195         * doc/posix-functions/iswblank.texi: Likewise.
26196         * doc/posix-functions/iswcntrl.texi: Likewise.
26197         * doc/posix-functions/iswdigit.texi: Likewise.
26198         * doc/posix-functions/iswgraph.texi: Likewise.
26199         * doc/posix-functions/iswlower.texi: Likewise.
26200         * doc/posix-functions/iswprint.texi: Likewise.
26201         * doc/posix-functions/iswpunct.texi: Likewise.
26202         * doc/posix-functions/iswspace.texi: Likewise.
26203         * doc/posix-functions/iswupper.texi: Likewise.
26204         * doc/posix-functions/iswxdigit.texi: Likewise.
26205         Reported by Alain Guibert.
26206
26207 2008-04-21  Bruno Haible  <bruno@clisp.org>
26208
26209         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26210         Patch by Alain Guibert.
26211
26212 2008-04-21  Bruno Haible  <bruno@clisp.org>
26213
26214         Fix test failures on mingw.
26215         * tests/test-xstrtol.c (print_no_progname): New function.
26216         (main): Install it in error_print_progname hook.
26217         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26218         * tests/test-xstrtoimax.sh: Likewise.
26219         * tests/test-xstrtoumax.sh: Likewise.
26220
26221 2008-04-21  Bruno Haible  <bruno@clisp.org>
26222
26223         Fix test failure on mingw.
26224         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26225
26226 2008-04-21  Bruno Haible  <bruno@clisp.org>
26227
26228         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26229         Actually assign a value.
26230
26231 2008-04-20  Bruno Haible  <bruno@clisp.org>
26232
26233         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26234         take 2.
26235         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26236         'canonicalize-lgpl' module is also used.
26237         * lib/canonicalize-lgpl.c: Undo last change.
26238         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26239
26240 2008-04-20  Bruno Haible  <bruno@clisp.org>
26241
26242         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26243         config.h. Provide _mkdir based fallback for mingw.
26244         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26245         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26246         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26247         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26248         rather than defining mkdir in config.h.
26249         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26250         (gl_SYS_STAT_H_DEFAULTS): New macro.
26251         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26252         HAVE_IO_H any more.
26253         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26254         HAVE_DECL_MKDIR and HAVE_IO_H.
26255
26256 2008-04-20  Bruno Haible  <bruno@clisp.org>
26257
26258         * lib/isapipe.c: Port to native Windows platforms.
26259
26260 2008-04-20  Bruno Haible  <bruno@clisp.org>
26261
26262         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26263
26264 2008-04-21  Eric Blake  <ebb9@byu.net>
26265
26266         Work around preprocessors that don't handle UINTMAX_MAX.
26267         * lib/memchr2.c (memchr2): Avoid embedded #if.
26268         Reported by Alain Guibert, fix suggested by Bruno Haible.
26269
26270 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26271
26272         * doc/posix-functions/strftime.texi (strftime): Explain better
26273         Windows incompatibility.  Suggested by Micah Cowan
26274         <micah@cowan.name>.
26275
26276 2008-04-20  Bruno Haible  <bruno@clisp.org>
26277
26278         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26279         unistr/u8-mblen.
26280
26281 2008-04-20  Bruno Haible  <bruno@clisp.org>
26282
26283         Fix test failure on platforms with non-GNU iconv.
26284         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26285         (U_TO_U8): Use it, rather than u16_to_u8.
26286         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26287         units at the end of the input string.
26288         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26289
26290 2008-04-20  Bruno Haible  <bruno@clisp.org>
26291
26292         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26293         when the resulting length is 0.
26294         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26295
26296 2008-04-20  Bruno Haible  <bruno@clisp.org>
26297
26298         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26299         works.
26300         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26301
26302 2008-04-20  Bruno Haible  <bruno@clisp.org>
26303
26304         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26305         * modules/tsearch-tests (configure.ac): Test for initstate function.
26306
26307 2008-04-20  Bruno Haible  <bruno@clisp.org>
26308
26309         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26310         for nlink_t if missing.
26311         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26312
26313 2008-04-19  Bruno Haible  <bruno@clisp.org>
26314
26315         Work around snprintf bug on Linux libc5.
26316         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26317         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26318         gl_SNPRINTF_SIZE1.
26319         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26320         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26321         that test failed.
26322         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26323         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26324         * modules/snprintf (Files): Add m4/printf.m4.
26325         * modules/vsnprintf (Files): Likewise.
26326         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26327         * doc/posix-functions/vsnprintf.texi: Likewise.
26328
26329 2008-04-19  Bruno Haible  <bruno@clisp.org>
26330
26331         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26332         from 0.0058 to less than 10^-7.
26333
26334 2008-04-19  Bruno Haible  <bruno@clisp.org>
26335
26336         Fix rounding when a precision is given.
26337         * lib/vasnprintf.c (is_borderline): New function.
26338         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26339         9...9x.
26340         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26341         %e, %g.
26342         * tests/test-vasprintf-posix.c (test_function): Likewise.
26343         * tests/test-snprintf-posix.h (test_function): Likewise.
26344         * tests/test-sprintf-posix.h (test_function): Likewise.
26345         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26346         * tests/test-printf-posix.h (test_function): Likewise.
26347         * tests/test-printf-posix.output: Update.
26348         Reported by John Darrington <john@darrington.wattle.id.au> via
26349         Ben Pfaff <blp@cs.stanford.edu>.
26350
26351 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26352
26353         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26354         Suggested by Bruno Haible <bruno@clisp.org>.
26355
26356 2008-04-17  Bruno Haible  <bruno@clisp.org>
26357
26358         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26359         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26360         implementation.
26361         Patch by Bruce Merry <bmerry@gmail.com>.
26362
26363 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26364
26365         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26366         doesn't work under Windows.
26367
26368 2008-04-16  Bruno Haible  <bruno@clisp.org>
26369
26370         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26371         New macros.
26372         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26373         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26374         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26375         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26376         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26377         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26378         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26379         macros.
26380         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26381         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26382         Northern Sotho, Uighur.
26383
26384 2008-04-16  Bruno Haible  <bruno@clisp.org>
26385
26386         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26387         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26388         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26389         Reported by Daniel Bergström <daniel@octocode.com>.
26390
26391 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26392             Bruno Haible  <bruno@clisp.org>
26393
26394         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26395         function.
26396         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26397         New functions, mostly extracted from gl_locale_name_default.
26398         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26399
26400 2008-04-16  Eric Blake  <ebb9@byu.net>
26401
26402         Adjust strtod detection to catch glibc 2.7 bug.
26403         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26404         Reported by John Gatewood Ham.
26405
26406 2008-04-16  Bruno Haible  <bruno@clisp.org>
26407
26408         Add tentative support for Linux libc5.
26409         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26410         * lib/fpurge.c (fpurge): Likewise.
26411         * lib/freadable.c (freadable): Likewise.
26412         * lib/freadahead.c (freadahead): Likewise.
26413         * lib/freading.c (freading): Likewise.
26414         * lib/freadptr.c (freadptr): Likewise.
26415         * lib/freadseek.c (freadptrinc): Likewise.
26416         * lib/fseeko.c (rpl_fseeko): Likewise.
26417         * lib/fseterr.c (fseterr): Likewise.
26418         * lib/fwritable.c (fwritable): Likewise.
26419         * lib/fwriting.c (fwriting): Likewise.
26420         Reported by Alain Guibert <alguibert+bts@free.fr>.
26421
26422 2008-04-15  Bruno Haible  <bruno@clisp.org>
26423
26424         * modules/mathl (configure.ac): Define module indicator.
26425
26426 2008-04-15  Bruno Haible  <bruno@clisp.org>
26427
26428         * lib/logl.c (logl): Remove unused variables.
26429
26430 2008-04-15  Bruno Haible  <bruno@clisp.org>
26431
26432         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
26433         fails.
26434
26435 2008-04-15  Bruno Haible  <bruno@clisp.org>
26436
26437         * lib/trim.c (trim2): Fix argument of isspace() macro.
26438
26439 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
26440
26441         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
26442         to 0.
26443         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
26444
26445 2008-04-14  Bruno Haible  <bruno@clisp.org>
26446
26447         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26448         AC_LANG_PROGRAM argument.
26449         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26450         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26451         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26452         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26453         * m4/math_h.m4 (gl_MATH_H): Likewise.
26454         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26455         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26456         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26457         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26458         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26459         * m4/regex.m4 (gl_REGEX): Likewise.
26460         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26461         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26462         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26463         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26464         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26465         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26466         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26467         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26468
26469 2008-04-14  Jim Meyering  <meyering@redhat.com>
26470
26471         test-strtod: fix typos: s/abs/fabs/
26472         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26473
26474 2008-04-13  Bruno Haible  <bruno@clisp.org>
26475
26476         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26477         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26478         module is also used and while not building the reloc-wrapper.
26479
26480 2008-04-13  Bruno Haible  <bruno@clisp.org>
26481
26482         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26483
26484 2008-04-13  Bruno Haible  <bruno@clisp.org>
26485
26486         Fix AIX compilation failure introduced on 2008-04-02.
26487         * tests/test-frexp.c (exp): Undefine before redefining.
26488         * tests/test-frexpl.c (exp): Likewise.
26489
26490 2008-04-13  Bruno Haible  <bruno@clisp.org>
26491
26492         Work around a HP-UX stdio bug.
26493         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26494         * tests/test-ftello.c (main): Likewise.
26495         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26496         * doc/posix-functions/ftello.texi: Likewise.
26497
26498 2008-04-13  Bruno Haible  <bruno@clisp.org>
26499
26500         Make test-signbit pass on HP-UX/hppa.
26501         * tests/test-signbit.c (minus_zerol): New variable.
26502         (test_signbitl): Use it.
26503
26504 2008-04-13  Bruno Haible  <bruno@clisp.org>
26505
26506         Make truncl work on OSF/1 4.0.
26507         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26508         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26509         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26510         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26511         HAVE_DECL_TRUNCL.
26512         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26513         HAVE_DECL_TRUNCL.
26514         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26515
26516 2008-04-13  Bruno Haible  <bruno@clisp.org>
26517
26518         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26519
26520 2008-04-13  Bruno Haible  <bruno@clisp.org>
26521
26522         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26523         expression, so as to avoid HP-UX 11 cc compiler bug.
26524
26525 2008-04-13  Bruno Haible  <bruno@clisp.org>
26526
26527         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26528
26529 2008-04-13  Bruno Haible  <bruno@clisp.org>
26530
26531         * lib/git-merge-changelog.c: Remove empty declaration outside of
26532         functions.
26533
26534 2008-04-13  Bruno Haible  <bruno@clisp.org>
26535
26536         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26537
26538 2008-04-13  Bruno Haible  <bruno@clisp.org>
26539
26540         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26541         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26542         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26543         also if it exists but lacks definitions of the SHUT_* macros.
26544         * modules/sys_socket (Description): Update.
26545         Reported by Elbert Pol <e.pol@chello.nl>.
26546
26547 2008-04-13  Bruno Haible  <bruno@clisp.org>
26548
26549         * lib/localcharset.c (OS2): Don't redefine if already defined.
26550         Reported by Elbert Pol <e.pol@chello.nl>.
26551
26552 2008-04-13  Bruno Haible  <bruno@clisp.org>
26553
26554         * lib/binary-io.h [__EMX__]: Include <io.h>.
26555         Reported by Elbert Pol <e.pol@chello.nl>.
26556
26557 2008-04-12  Bruno Haible  <bruno@clisp.org>
26558
26559         * lib/fpucw.h: Enable the definitions also for x86_64.
26560         Needed for NetBSD/x86_64.
26561         Reported by Thomas Klausner <tk@giga.or.at>.
26562
26563 2008-04-12  Bruno Haible  <bruno@clisp.org>
26564
26565         * tests/test-strtod.c: Include isnand.h.
26566         (main): Use isnand instead of isnan.
26567         Reported by Jim Meyering.
26568
26569 2008-04-12  Bruno Haible  <bruno@clisp.org>
26570
26571         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26572         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26573
26574 2008-04-12  Jim Meyering  <meyering@redhat.com>
26575
26576         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26577
26578 2008-04-12  Bruno Haible  <bruno@clisp.org>
26579
26580         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26581         Reported by Elbert Pol <e.pol@chello.nl>.
26582
26583 2008-04-12  Eric Blake  <ebb9@byu.net>
26584
26585         Work around Solaris 10 math.h bug.
26586         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26587         (gl_MATH_H_DEFAULTS): Set up default.
26588         * modules/math (Makefile.am): Replace new indicators.
26589         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26590         * tests/test-math.c (main): Test this.
26591         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26592         * doc/posix-headers/math.texi (math.h): Mention bug.
26593         Reported by Nelson H. F. Beebe and Jim Meyering.
26594
26595 2008-04-11  Bruno Haible  <bruno@clisp.org>
26596
26597         Adapt to future versions of Apple GCC.
26598         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26599         Reported by Peter O'Gorman <peter@pogma.com>.
26600
26601 2008-04-11  Bruno Haible  <bruno@clisp.org>
26602
26603         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26604
26605 2008-04-11  Bruno Haible  <bruno@clisp.org>
26606
26607         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26608
26609         * modules/getaddrinfo-tests (Makefile.am): Define
26610         test_getaddrinfo_LDADD.
26611
26612 2008-04-11  Bruno Haible  <bruno@clisp.org>
26613
26614         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26615         (init): Fix syntax error.
26616         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26617         is declared.
26618
26619 2008-04-11  Bruno Haible  <bruno@clisp.org>
26620
26621         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26622         * modules/glob (Depends-on): Add stdbool.
26623
26624 2008-04-11  Bruno Haible  <bruno@clisp.org>
26625
26626         * lib/trim.c: Include <string.h>.
26627
26628 2008-04-11  Eric Blake  <ebb9@byu.net>
26629
26630         Avoid compile failure on OS/2.
26631         * lib/regex_internal.h (internal_function): Disable optimization
26632         on OS/2 (__EMX__), where it caused compiler error.
26633         Reported by Elbert Pol.
26634
26635 2008-04-11  Bruno Haible  <bruno@clisp.org>
26636
26637         Flush the standard error stream before aborting. Needed on mingw.
26638         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26639         * tests/test-array_list.c (ASSERT): Likewise.
26640         * tests/test-array_oset.c (ASSERT): Likewise.
26641         * tests/test-avltree_list.c (ASSERT): Likewise.
26642         * tests/test-avltree_oset.c (ASSERT): Likewise.
26643         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26644         * tests/test-binary-io.c (ASSERT): Likewise.
26645         * tests/test-byteswap.c (ASSERT): Likewise.
26646         * tests/test-c-ctype.c (ASSERT): Likewise.
26647         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26648         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26649         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26650         * tests/test-c-strstr.c (ASSERT): Likewise.
26651         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26652         * tests/test-canonicalize.c (ASSERT): Likewise.
26653         * tests/test-carray_list.c (ASSERT): Likewise.
26654         * tests/test-ceilf1.c (ASSERT): Likewise.
26655         * tests/test-ceilf2.c (ASSERT): Likewise.
26656         * tests/test-ceill.c (ASSERT): Likewise.
26657         * tests/test-count-one-bits.c (ASSERT): Likewise.
26658         * tests/test-fbufmode.c (ASSERT): Likewise.
26659         * tests/test-fflush2.c (ASSERT): Likewise.
26660         * tests/test-floorf1.c (ASSERT): Likewise.
26661         * tests/test-floorf2.c (ASSERT): Likewise.
26662         * tests/test-floorl.c (ASSERT): Likewise.
26663         * tests/test-fopen.c (ASSERT): Likewise.
26664         * tests/test-fpending.c (ASSERT): Likewise.
26665         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26666         * tests/test-fpurge.c (ASSERT): Likewise.
26667         * tests/test-freadable.c (ASSERT): Likewise.
26668         * tests/test-freadahead.c (ASSERT): Likewise.
26669         * tests/test-freading.c (ASSERT): Likewise.
26670         * tests/test-freadptr.c (ASSERT): Likewise.
26671         * tests/test-freadptr2.c (ASSERT): Likewise.
26672         * tests/test-freadseek.c (ASSERT): Likewise.
26673         * tests/test-freopen.c (ASSERT): Likewise.
26674         * tests/test-frexp.c (ASSERT): Likewise.
26675         * tests/test-frexpl.c (ASSERT): Likewise.
26676         * tests/test-fseek.c (ASSERT): Likewise.
26677         * tests/test-fseeko.c (ASSERT): Likewise.
26678         * tests/test-fstrcmp.c (ASSERT): Likewise.
26679         * tests/test-ftell.c (ASSERT): Likewise.
26680         * tests/test-ftello.c (ASSERT): Likewise.
26681         * tests/test-func.c (ASSERT): Likewise.
26682         * tests/test-fwritable.c (ASSERT): Likewise.
26683         * tests/test-fwriting.c (ASSERT): Likewise.
26684         * tests/test-getdelim.c (ASSERT): Likewise.
26685         * tests/test-getline.c (ASSERT): Likewise.
26686         * tests/test-i-ring.c (ASSERT): Likewise.
26687         * tests/test-iconv-utf.c (ASSERT): Likewise.
26688         * tests/test-iconv.c (ASSERT): Likewise.
26689         * tests/test-isfinite.c (ASSERT): Likewise.
26690         * tests/test-isnand.c (ASSERT): Likewise.
26691         * tests/test-isnanf.c (ASSERT): Likewise.
26692         * tests/test-isnanl.h (ASSERT): Likewise.
26693         * tests/test-ldexpl.c (ASSERT): Likewise.
26694         * tests/test-linked_list.c (ASSERT): Likewise.
26695         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26696         * tests/test-localename.c (ASSERT): Likewise.
26697         * tests/test-lseek.c (ASSERT): Likewise.
26698         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26699         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26700         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26701         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26702         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26703         * tests/test-mbschr.c (ASSERT): Likewise.
26704         * tests/test-mbscspn.c (ASSERT): Likewise.
26705         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26706         * tests/test-mbspbrk.c (ASSERT): Likewise.
26707         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26708         * tests/test-mbsrchr.c (ASSERT): Likewise.
26709         * tests/test-mbsspn.c (ASSERT): Likewise.
26710         * tests/test-mbsstr1.c (ASSERT): Likewise.
26711         * tests/test-mbsstr2.c (ASSERT): Likewise.
26712         * tests/test-mbsstr3.c (ASSERT): Likewise.
26713         * tests/test-memchr2.c (ASSERT): Likewise.
26714         * tests/test-memmem.c (ASSERT): Likewise.
26715         * tests/test-open.c (ASSERT): Likewise.
26716         * tests/test-printf-frexp.c (ASSERT): Likewise.
26717         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26718         * tests/test-printf-posix.c (ASSERT): Likewise.
26719         * tests/test-quotearg.c (ASSERT): Likewise.
26720         * tests/test-rbtree_list.c (ASSERT): Likewise.
26721         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26722         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26723         * tests/test-round1.c (ASSERT): Likewise.
26724         * tests/test-roundf1.c (ASSERT): Likewise.
26725         * tests/test-roundl.c (ASSERT): Likewise.
26726         * tests/test-signbit.c (ASSERT): Likewise.
26727         * tests/test-sleep.c (ASSERT): Likewise.
26728         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26729         * tests/test-snprintf.c (ASSERT): Likewise.
26730         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26731         * tests/test-stat-time.c (ASSERT): Likewise.
26732         * tests/test-strcasestr.c (ASSERT): Likewise.
26733         * tests/test-strerror.c (ASSERT): Likewise.
26734         * tests/test-striconv.c (ASSERT): Likewise.
26735         * tests/test-striconveh.c (ASSERT): Likewise.
26736         * tests/test-striconveha.c (ASSERT): Likewise.
26737         * tests/test-strsignal.c (ASSERT): Likewise.
26738         * tests/test-strstr.c (ASSERT): Likewise.
26739         * tests/test-strtod.c (ASSERT): Likewise.
26740         * tests/test-trunc1.c (ASSERT): Likewise.
26741         * tests/test-trunc2.c (ASSERT): Likewise.
26742         * tests/test-truncf1.c (ASSERT): Likewise.
26743         * tests/test-truncf2.c (ASSERT): Likewise.
26744         * tests/test-truncl.c (ASSERT): Likewise.
26745         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26746         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26747         * tests/test-vasnprintf.c (ASSERT): Likewise.
26748         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26749         * tests/test-vasprintf.c (ASSERT): Likewise.
26750         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26751         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26752         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26753         * tests/test-vsnprintf.c (ASSERT): Likewise.
26754         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26755         * tests/test-wcwidth.c (ASSERT): Likewise.
26756         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26757         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26758         * tests/test-xvasprintf.c (ASSERT): Likewise.
26759         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26760         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26761         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26762         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26763         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26764         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26765         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26766         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26767         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26768         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26769         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26770         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26771         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26772         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26773         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26774         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26775         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26776         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26777         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26778         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26779         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26780         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26781         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26782         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26783         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26784         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26785         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26786         * tests/unictype/test-combining.c (ASSERT): Likewise.
26787         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26788         * tests/unictype/test-digit.c (ASSERT): Likewise.
26789         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26790         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26791         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26792         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26793         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26794         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26795         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26796         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26797         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26798         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26799         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26800         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26801         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26802         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26803         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26804         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26805         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26806         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26807         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26808         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26809         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26810         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26811         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26812         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26813         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26814         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26815         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26816         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26817         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26818         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26819         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26820         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26821         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26822         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26823         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26824         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26825         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26826         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26827         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26828         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26829         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26830         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26831         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26832         Reported by Eric Blake.
26833
26834 2008-04-11  Bruno Haible  <bruno@clisp.org>
26835
26836         * lib/wchar.in.h: Tweak comment.
26837
26838 2008-04-11  Bruno Haible  <bruno@clisp.org>
26839
26840         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26841         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26842         gl_COMMON.
26843         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26844
26845 2008-04-11  Bruno Haible  <bruno@clisp.org>
26846
26847         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26848
26849 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26850
26851         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26852         of attempting to use non-existing /dev/*random.  Based on patch
26853         from Adam Strzelecki <ono@java.pl> in
26854         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26855
26856 2008-04-08  Bruno Haible  <bruno@clisp.org>
26857
26858         Add tentative support for emx+gcc.
26859         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26860         * lib/fpurge.c (fpurge): Likewise.
26861         * lib/freadable.c (freadable): Likewise.
26862         * lib/freadahead.c (freadahead): Likewise.
26863         * lib/freading.c (freading): Likewise.
26864         * lib/freadptr.c (freadptr): Likewise.
26865         * lib/freadseek.c (freadptrinc): Likewise.
26866         * lib/fseeko.c (rpl_fseeko): Likewise.
26867         * lib/fseterr.c (fseterr): Likewise.
26868         * lib/fwritable.c (fwritable): Likewise.
26869         * lib/fwriting.c (fwriting): Likewise.
26870         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26871
26872 2008-04-09  Eric Blake  <ebb9@byu.net>
26873
26874         Avoid some autoconf warnings.
26875         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26876         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26877         * m4/afs.m4 (gl_AFS): Likewise.
26878         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26879         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26880         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26881         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26882         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26883         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26884         (AC_CHECK_DECLS_ONCE): Likewise.
26885         Rename file...
26886         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26887         gnulib-tool requires autoconf 2.59 or better.
26888         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26889
26890 2008-04-08  Eric Blake  <ebb9@byu.net>
26891
26892         Use 'git describe --match' if present (added in git 1.5.5).
26893         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26894         if possible.
26895
26896 2008-04-08  Bruno Haible  <bruno@clisp.org>
26897
26898         Add tentative support for OpenServer.
26899         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
26900         _ptr, _cnt.
26901         * lib/fpurge.c (fpurge): Likewise.
26902         * lib/freadable.c (freadable): Likewise.
26903         * lib/freadahead.c (freadahead): Likewise.
26904         * lib/freading.c (freading): Likewise.
26905         * lib/freadptr.c (freadptr): Likewise.
26906         * lib/freadseek.c (freadptrinc): Likewise.
26907         * lib/fseeko.c (rpl_fseeko): Likewise.
26908         * lib/fseterr.c (fseterr): Likewise.
26909         * lib/fwritable.c (fwritable): Likewise.
26910         * lib/fwriting.c (fwriting): Likewise.
26911         Reported by Roger Cornelius <rac@tenzing.org> and
26912         Brian K. White <brian@aljex.com>.
26913
26914 2008-04-06  Jim Meyering  <meyering@redhat.com>
26915
26916         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
26917
26918 2008-04-06  Bruno Haible  <bruno@clisp.org>
26919
26920         Avoid possible error with non-ASCII bytes in UTF-8 locales.
26921         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
26922         * tests/test-printf-posix.sh: Likewise.
26923         * tests/test-vfprintf-posix.sh: Likewise.
26924         * tests/test-vprintf-posix.sh: Likewise.
26925         * tests/test-xprintf-posix.sh: Likewise.
26926
26927 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26928
26929         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
26930         hide error from 'ls', needed on OS/2.
26931         Report by Elbert Pol <elbert.pol@gmail.com>.
26932
26933 2008-04-04  Eric Blake  <ebb9@byu.net>
26934
26935         Make test-fseeko.c failures meaningful.
26936         * tests/test-fseeko.c: Print line number on failure.
26937         * tests/test-fseek.c: Likewise.
26938         Reported by Nelson H. F. Beebe.
26939
26940         Improve strtod bug detection check.
26941         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
26942         required for Solaris 10.
26943         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
26944
26945 2008-04-04  Bruno Haible  <bruno@clisp.org>
26946
26947         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
26948         by m4/setenv.m4.
26949
26950 2008-04-03  Eric Blake  <ebb9@byu.net>
26951
26952         Ensure sane .version contents.
26953         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
26954         version string.
26955         * build-aux/git-version-gen: Improve documentation.
26956
26957         Make GNU make output nicer.
26958         * top/GNUmakefile [!_have-Makefile]: Add dependency on
26959         MAKECMDGOALS to enforce message for all command line targets.  Set
26960         srcdir for use in maint.mk.
26961
26962         Another maintainer tweak.
26963         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
26964         a target that regenerates version.
26965
26966 2008-04-03  Jim Meyering  <meyering@redhat.com>
26967
26968         vc-list-files: don't cause coreutils "make po-check" failure
26969         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
26970
26971 2008-04-03  Eric Blake  <ebb9@byu.net>
26972
26973         Allow VPATH usage of vc-list-files.
26974         * build-aux/vc-list-files (scriptversion): Add timestamp.
26975         (options): Add --help, --version, -C.
26976         (CVS): Support installed cvsu.
26977
26978 2008-04-02  Bruno Haible  <bruno@clisp.org>
26979
26980         Avoid some "statement with no effect" warnings from gcc.
26981         * tests/test-wctype.c (main): Explicitly ignore unused values.
26982         Reported by Jim Meyering.
26983
26984 2008-04-02  Jim Meyering  <meyering@redhat.com>
26985
26986         Avoid some warnings from "gcc -Wshadow".
26987         * tests/test-frexp.c (exp): Define to a different identifier.
26988         * tests/test-frexpl.c (exp): Likewise.
26989
26990 2008-04-03  Jim Meyering  <meyering@redhat.com>
26991
26992         bootstrap: remove dangling *.[ch] symlinks from lib
26993         * build-aux/bootstrap [dangling symlink removal]: Move find's
26994         -depth option to precede all others, to avoid a warning.
26995         Remove *.[ch] files too, and from "$source_base" (usually lib/).
26996
26997 2008-04-02  Bruno Haible  <bruno@clisp.org>
26998
26999         Avoid some warnings from "gcc -Wshadow".
27000         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
27001         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
27002         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
27003         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
27004         Reported by Jim Meyering.
27005
27006 2008-04-01  Bruno Haible  <bruno@clisp.org>
27007
27008         Fix test to work on IRIX 6.5 with cc.
27009         * tests/test-math.c (numeric_equal): New function.
27010         (main): Use it.
27011
27012 2008-04-01  Bruno Haible  <bruno@clisp.org>
27013
27014         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
27015
27016 2008-04-01  Bruno Haible  <bruno@clisp.org>
27017
27018         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
27019         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27020         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
27021         (Depends-on): Remove math.
27022
27023         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
27024         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27025         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
27026         (Depends-on): Remove math.
27027
27028         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
27029         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27030         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
27031         (Depends-on): Remove math.
27032         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
27033         (Depends-on): Remove math.
27034
27035         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
27036         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27037         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
27038         (Depends-on): Remove math.
27039         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
27040         (Depends-on): Remove math.
27041
27042         * tests/test-round1.c: Include nan.h.
27043         (main): Use NaNd instead of NAN.
27044         * modules/round-tests (Files): Add tests/nan.h.
27045
27046         * tests/test-trunc1.c: Include nan.h.
27047         (main): Use NaNd instead of NAN.
27048         * modules/trunc-tests (Files): Add tests/nan.h.
27049
27050         * tests/test-roundf1.c: Include nan.h.
27051         (main): Use NaNf instead of NAN.
27052         * modules/roundf-tests (Files): Add tests/nan.h.
27053
27054         * tests/test-truncf1.c: Include nan.h.
27055         (main): Use NaNf instead of NAN.
27056         * modules/truncf-tests (Files): Add tests/nan.h.
27057
27058         * tests/test-ceilf1.c: Include nan.h.
27059         (main): Use NaNf instead of NAN.
27060         * modules/ceilf-tests (Files): Add tests/nan.h.
27061
27062         * tests/test-floorf1.c: Include nan.h.
27063         (main): Use NaNf instead of NAN.
27064         * modules/floorf-tests (Files): Add tests/nan.h.
27065
27066         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
27067         (main): Use NaNf instead of NAN.
27068         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
27069
27070         * tests/test-isnand.c: Include nan.h instead of <math.h>.
27071         (main): Use NaNd instead of NAN.
27072         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
27073
27074         * tests/test-frexp.c: Include nan.h.
27075         (main): Use NaNd instead of NAN.
27076         * modules/frexp-tests (Files): Add tests/nan.h.
27077
27078         * lib/isnan.c: Don't include <math.h>.
27079         (FUNC): Don't use NAN macro.
27080         * modules/isnand-nolibm (Depends-on): Remove math.
27081         * modules/isnanf-nolibm (Depends-on): Remove math.
27082         * modules/isnanl (Depends-on): Remove math.
27083         * modules/isnanl-nolibm (Depends-on): Remove math.
27084
27085         * tests/nan.h: New file.
27086
27087 2008-04-01  Eric Blake  <ebb9@byu.net>
27088
27089         Fix typos.
27090         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
27091         values to be the right type.
27092
27093         For now, cater to gnulib strtod inaccuracies.
27094         * tests/test-strtod.c (main): Allow 1-ulp error on expected
27095         fractional results.  While not as nice from a QoI perspective, it
27096         is a quicker patch than correctly implementing decimal to binary
27097         rounding.
27098
27099 2008-03-31  Eric Blake  <ebb9@byu.net>
27100
27101         Guarantee a definition of NAN.
27102         * lib/math.in.h (NAN): Define if missing.
27103         * tests/test-math.c (main): Test it.
27104         * doc/posix-headers/math.texi (math.h): Document this.
27105         * lib/isnan.c (rpl_isnand): Use it.
27106         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
27107         * tests/test-floorf1.c (NaN): Likewise.
27108         * tests/test-frexp.c (NaN): Likewise.
27109         * tests/test-isnand.c (NaN): Likewise.
27110         * tests/test-isnanf.c (NaN): Likewise.
27111         * tests/test-round1.c (NaN): Likewise.
27112         * tests/test-roundf1.c (NaN): Likewise.
27113         * tests/test-snprintf-posix.h (NaN): Likewise.
27114         * tests/test-sprintf-posix.h (NaN): Likewise.
27115         * tests/test-trunc1.c (NaN): Likewise.
27116         * tests/test-truncf1.c (NaN): Likewise.
27117         * tests/test-vasnprintf-posix.c (NaN): Likewise.
27118         * tests/test-vasprintf-posix.c (NaN): Likewise.
27119         * modules/isnand-nolibm (Depends-on): Add math.
27120         * modules/isnanf-nolibm (Depends-on): Likewise.
27121         * modules/isnanl (Depends-on): Likewise.
27122         * modules/isnanl-nolibm (Depends-on): Likewise.
27123         * modules/snprintf-posix-tests (Depends-on): Likewise.
27124         * modules/sprintf-posix-tests (Depends-on): Likewise.
27125         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
27126         * modules/vsprintf-posix-tests (Depends-on): Likewise.
27127         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
27128         * modules/vasprintf-posix-tests (Depends-on): Likewise.
27129
27130 2008-03-31  Bruno Haible  <bruno@clisp.org>
27131
27132         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
27133         * doc/posix-functions/strtod.texi: Likewise.
27134
27135 2008-03-31  Bruno Haible  <bruno@clisp.org>
27136
27137         * tests/test-strtod.c (main): Don't use C99 syntax.
27138
27139 2008-03-31  Bruno Haible  <bruno@clisp.org>
27140
27141         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
27142         Reported by Eric Blake.
27143
27144 2008-03-31  Jim Meyering  <meyering@redhat.com>
27145
27146         Don't compare actual signbit return values.
27147         * tests/test-strtod.c (main): Rather, compare only their
27148         zero/non-zero nature.
27149
27150 2008-03-31  Eric Blake  <ebb9@byu.net>
27151
27152         More strtod documentation.
27153         * doc/posix-functions/strtod.texi (strtod): Interpret more test
27154         failures as distinct bugs.
27155
27156 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27157
27158         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
27159         Problem reported by Erik Benada in
27160         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
27161
27162 2008-03-30  Bruno Haible  <bruno@clisp.org>
27163
27164         * tests/test-strtod.c: Add comments about which assertion fails on which
27165         platform.
27166         * doc/posix-functions/strtod.texi: Add info about many more platforms.
27167
27168 2008-03-30  Eric Blake  <ebb9@byu.net>
27169
27170         Test signbit behavior on zeros.
27171         * tests/test-signbit.c (test_signbitf): Add tests for zero.
27172         (test_signbitd, test_signbitl): Likewise.
27173
27174         More strtod touchups.
27175         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
27176         sign of negative underflow, for now.  Use .5, not .1.
27177         * doc/posix-functions/strtod.texi (strtod): Mention these
27178         limitations.
27179         Reported by Jim Meyering.
27180
27181 2008-03-30  Bruno Haible  <bruno@clisp.org>
27182
27183         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
27184         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
27185
27186 2008-03-30  Bruno Haible  <bruno@clisp.org>
27187
27188         Avoid failure when attempting to return empty iconv results on some
27189         platforms.
27190         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
27191         allocation, don't report ENOMEM when the resulting string is empty.
27192
27193 2008-03-30  Bruno Haible  <bruno@clisp.org>
27194
27195         Fix buffer overrun.
27196         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
27197         Don't consider the width for tmp_length. Check count against tmp_length
27198         before doing the padding. Ensure enough allocation during padding.
27199
27200 2008-03-30  Eric Blake  <ebb9@byu.net>
27201
27202         strtod touchups.
27203         * lib/strtod.c (strtod): Avoid compiler warnings.
27204         Reported by Jim Meyering.
27205
27206 2008-03-30  Bruno Haible  <bruno@clisp.org>
27207
27208         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27209         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27210         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27211         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27212         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27213         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27214         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27215         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27216
27217         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27218         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27219         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27220         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27221         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27222         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27223         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27224         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27225
27226         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27227         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27228         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27229         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27230         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27231         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27232         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27233         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27234
27235         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27236         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27237
27238         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27239         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27240
27241         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27242         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27243
27244         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27245         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27246         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27247
27248         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27249         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27250         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27251
27252         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27253         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27254         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27255
27256         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27258         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27259
27260         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27261         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27262         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27263         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27264         (Depends-on): Add EOVERFLOW.
27265         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27266         (Depends-on): Add EOVERFLOW.
27267         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27268         (Depends-on): Add EOVERFLOW.
27269         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27270         (Depends-on): Add EOVERFLOW.
27271         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27272         (Depends-on): Add EOVERFLOW.
27273         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27274         (Depends-on): Add EOVERFLOW.
27275         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27276         (Depends-on): Add EOVERFLOW.
27277         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27278         (Depends-on): Add EOVERFLOW.
27279
27280         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27281         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27282         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27283
27284         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27286         * modules/snprintf (Depends-on): Add EOVERFLOW.
27287
27288         * lib/poll.c (EOVERFLOW): Remove fallback.
27289         * modules/poll (Depends-on): Add EOVERFLOW.
27290
27291         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27292         * modules/getugroups (Depends-on): Add EOVERFLOW.
27293
27294         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27295         * modules/getdelim (Depends-on): Add EOVERFLOW.
27296
27297         * lib/ftell.c (EOVERFLOW): Remove fallback.
27298         * modules/ftell (Depends-on): Add EOVERFLOW.
27299
27300         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27301         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27302         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27303
27304         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27305
27306         * modules/EOVERFLOW-tests: New file.
27307         * tests/test-EOVERFLOW.c: New file.
27308
27309         * modules/EOVERFLOW: New file.
27310         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27311
27312 2008-03-30  Bruno Haible  <bruno@clisp.org>
27313
27314         Fix bug introduced on 2007-06-10.
27315         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27316         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27317
27318 2008-03-30  Bruno Haible  <bruno@clisp.org>
27319
27320         Improve freadseek's efficiency after ungetc.
27321         * lib/freadseek.c: Include freadahead.h.
27322         (freadptrinc): New function, extracted from freadseek.
27323         (freadseek): Use it in a loop. Use freadahead to determine the number
27324         of loop iterations.
27325         * modules/freadseek (Depends-on): Add freadahead.
27326         (configure.ac): Require AC_C_INLINE.
27327
27328 2008-03-30  Bruno Haible  <bruno@clisp.org>
27329
27330         * lib/freadseek.c (freadseek): Don't ignore the return value of
27331         freadptr.
27332
27333 2008-03-29  Eric Blake  <ebb9@byu.net>
27334
27335         Add hex float support.
27336         * modules/strtod (Depends-on): Add c-ctype.
27337         (Link): Mention POW_LIB.
27338         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27339         whitespace between 'e' and exponent.
27340         * tests/test-strtod.c (main): Enable hex float tests.
27341         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27342         now provides.
27343
27344         Document various strtod bugs, with some fixes.
27345         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27346         "-0x", "inf", "nan", and hex constants.
27347         * doc/posix-functions/atof.texi (atof): Likewise.
27348         * modules/stdlib (Makefile.am): Support strtod.
27349         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27350         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27351         detect additional strtod bugs.
27352         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27353         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27354         bool where appropriate.  Parse 'inf' and 'nan'.
27355         * tests/test-strtod.c: New file.
27356         * modules/strtod (Depends-on): Add stdbool, stdlib.
27357         (configure.ac): Turn on module indicator.
27358         * modules/strtod-tests: New module.
27359
27360 2008-03-29  Eric Blake  <ebb9@byu.net>
27361
27362         Fix ftell on mingw.
27363         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27364         * modules/ftell-tests (Depends-on): Add binary-io.
27365         * modules/ftello-tests (Depends-on): Likewise.
27366         * tests/test-ftell.c (main): Enhance test to cover behavior after
27367         ungetc.  Enforce binary mode.
27368         * tests/test-ftello.c (main): Likewise.
27369
27370         Pass test-freadseek on cygwin.
27371         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27372         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27373         ungetc buffer.
27374
27375         * tests/test-fflush2.c (main): Fix typo.
27376
27377 2008-03-29  Bruno Haible  <bruno@clisp.org>
27378
27379         * tests/test-fflush2.c (main): Temporarily disable the contents of
27380         this test.
27381         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27382         Reported by Eric Blake.
27383
27384 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27385
27386         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27387         (GC_SHA224_DIGEST_SIZE): Add.
27388
27389         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27390         (gc_hash_digest_length): Likewise.
27391         (gc_hash_buffer): Likewise.
27392
27393 2008-03-25  Bruno Haible  <bruno@clisp.org>
27394
27395         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27396         detail which gettext release to use.
27397         Reported by Simon Josefsson.
27398
27399 2008-03-26  Jim Meyering  <meyering@redhat.com>
27400
27401         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27402         * modules/gnumakefile (clean-GNUmakefile): Also, use
27403         test ... && ... || : syntax rather than if-then ... fi.
27404
27405         gnumakefile: Don't double-quote-expand $(VPATH) value.
27406         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27407
27408 2008-03-24  Eric Blake  <ebb9@byu.net>
27409
27410         Alter GNUmakefile to install into top directory.
27411         * modules/maintainer-makefile: Split, and add dependency...
27412         * modules/gnumakefile: to this new module.
27413         * build-aux/GNUmakefile: Move...
27414         * top/GNUmakefile: ...here.
27415         * build-aux/maint.mk: Move...
27416         * top/maint.mk: ...here.
27417         * MODULES.html.sh (Support for maintaining...): Document new
27418         module.
27419
27420 2008-03-23  Bruno Haible  <bruno@clisp.org>
27421
27422         * gnulib-tool: New options --vc-files, --no-vc-files.
27423         (func_usage): Document them.
27424         (vc_files): New variable.
27425         (func_import): Consider vc_files.
27426         (func_create_testdir): Set vc_files to empty.
27427         Suggested by Jim Meyering and Karl Berry.
27428
27429 2008-03-23  Bruno Haible  <bruno@clisp.org>
27430
27431         Fix regex compilation error on HP-UX 11.
27432         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
27433         * modules/regex (Files): Add m4/mbstate_t.m4.
27434         Reported by Ton Voon <ton.voon@altinity.com>.
27435
27436 2008-03-23  Bruno Haible  <bruno@clisp.org>
27437
27438         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
27439
27440 2008-03-23  Eric Blake  <ebb9@byu.net>
27441             Bruno Haible  <bruno@clisp.org>
27442
27443         Install files from top/ in the destination directory.
27444         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27445         augmentation also for the files from top/.
27446         (func_import, func_create_testdir): Rewrite file names:
27447         top/filename -> filename.
27448
27449 2008-03-23  Bruno Haible  <bruno@clisp.org>
27450
27451         Tweak "gnulib --version" output.
27452         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27453
27454 2008-03-23  Bruno Haible  <bruno@clisp.org>
27455
27456         Tweak "gnulib --version" output.
27457         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27458         rather than contents of ChangeLog, when possible.
27459
27460 2008-03-21  Eric Blake  <ebb9@byu.net>
27461
27462         More --version tweaks.
27463         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27464         date of last ChangeLog entry.
27465
27466 2008-03-21  Jim Meyering  <meyering@redhat.com>
27467
27468         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27469
27470 2008-03-20  Eric Blake  <ebb9@byu.net>
27471
27472         VPATH fix.
27473         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27474
27475 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27476
27477         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27478         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27479
27480 2008-03-20  Eric Blake  <ebb9@byu.net>
27481
27482         Sync GNUmakefile with coreutils.
27483         * build-aux/GNUmakefile (have-Makefile): Rename...
27484         (_have-Makefile): ...to this, for namespace consideration.
27485         (GNUmakefile.cfg): Include, if present.
27486         (_autoreconf): Define a default.
27487         (_is-dist-target): New rule for rebuilds to pick up intra-release
27488         version.
27489         (maint-cfg.mk): Rename...
27490         (cfg.mk): ...to this.
27491
27492 2008-03-18  Jim Meyering  <meyering@redhat.com>
27493
27494         New script and module: mktempd
27495         * MODULES.html.sh (maint+release support): Add mktempd.
27496         * build-aux/mktempd: New file.
27497         * modules/mktempd: New file.
27498
27499 2008-03-15  Jim Meyering  <meyering@redhat.com>
27500
27501         Undo last change.
27502         * lib/sha1.c, lib/md5.c: 63 != ~63.
27503         Reported by Andreas Schwab.
27504
27505         sha1.c, md5.c: Hoist a redundant expression.
27506         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27507         "ctx->buflen" only once, before calling *_process_block.
27508         * lib/md5.c (md5_process_bytes): Likewise.
27509
27510 2008-03-14  Eric Blake  <ebb9@byu.net>
27511
27512         Bump copyright year in files generated by gnulib-tool.
27513         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27514         gnulib-tool, rather than hard-coding it.
27515
27516         Fix 'gnulib-tool --version' output to work with git.
27517         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27518         (startup): ...here.
27519         (func_version): Use it to invoke git-version-gen, rather than
27520         relying on CVS keyword expansion.  Modernize wording.
27521         (cvsdatestamp, last_checkin_date, version): Kill unused
27522         variables.
27523
27524 2008-03-12  Jim Meyering  <meyering@redhat.com>
27525
27526         Recognize optional cast of the argument to free.
27527         * build-aux/useless-if-before-free: Update regexps.
27528
27529         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27530
27531 2008-03-11  Bruno Haible  <bruno@clisp.org>
27532
27533         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27534         by a single package.
27535         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27536         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27537         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27538         Reported by Sam Steingold <sds@gnu.org>.
27539
27540 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27541
27542         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27543         repositories.
27544
27545 2008-03-11  Bruno Haible  <bruno@clisp.org>
27546
27547         Avoid conflicts between local macro definitions.
27548         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27549         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27550
27551 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27552             Bruno Haible  <bruno@clisp.org>
27553
27554         Make va_copy work with some version of xlc on AIX 5.1.
27555         * lib/stdarg.in.h: New file.
27556         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27557         On AIX, use a <stdarg.h> file substitute.
27558         * modules/stdarg (Files): Add lib/stdarg.in.h.
27559         (Depends-on): Add include_next.
27560         (Makefile.am): Build a stdarg.h substitute if requested.
27561         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27562
27563 2008-03-10  Bruno Haible  <bruno@clisp.org>
27564
27565         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27566         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27567         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27568
27569 2008-03-10  Bruno Haible  <bruno@clisp.org>
27570
27571         * modules/stdlib (Depends-on): Add include_next, remove
27572         absolute-header.
27573
27574 2008-03-09  Bruno Haible  <bruno@clisp.org>
27575
27576         * lib/freadahead.h (freadahead): Document more precisely.
27577         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27578         the sum of both buffer sizes.
27579         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27580         * NEWS: Document the change.
27581
27582 2008-03-09  Bruno Haible  <bruno@clisp.org>
27583
27584         Extend freadptr to return also the buffer size.
27585         * lib/freadptr.h (freadptr): Add sizep argument.
27586         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27587         (freadptr): Add sizep argument. Determine buffer size like freadahead
27588         does.
27589         * tests/test-freadptr.c: Don't include freadahead.h.
27590         (main): Adapt for new calling convention of freadptr.
27591         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27592         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27593         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27594         tests/test-freadptr2.sh.
27595         (Depends): Remove freadahead.
27596         (TESTS): Add test-freadptr2.sh.
27597         (check_PROGRAMS): Add test-freadptr2.
27598
27599 2008-03-09  Bruno Haible  <bruno@clisp.org>
27600
27601         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27602         Report and solution by Simon Josefsson.
27603
27604 2008-03-06  Bruno Haible  <bruno@clisp.org>
27605
27606         Make fflush after ungetc work on BSD platforms.
27607         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27608         * tests/test-fflush2.c: New file.
27609         * tests/test-fflush2.sh: New file.
27610         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27611         tests/test-fflush2.c.
27612         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27613         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27614
27615 2008-03-06  Eric Blake  <ebb9@byu.net>
27616
27617         Likewise for ftello.
27618         * modules/ftello (Dependencies): Add extensions.
27619         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27620
27621 2008-03-06  Bruno Haible  <bruno@clisp.org>
27622
27623         * modules/fseeko (Dependencies): Add extensions.
27624         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27625         Needed on glibc systems.
27626
27627 2008-03-06  Bruno Haible  <bruno@clisp.org>
27628
27629         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27630         email address.
27631         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27632
27633 2008-03-06  Bruno Haible  <bruno@clisp.org>
27634
27635         * users.txt: Add libgnupdf.
27636
27637 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27638
27639         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27640         (Header File Substitutes, Function Substitutes,
27641         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27642         (Build robot for gnulib): Fix typo.
27643
27644 2008-03-06  Bruno Haible  <bruno@clisp.org>
27645
27646         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27647         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27648
27649 2008-03-06  Bruno Haible  <bruno@clisp.org>
27650
27651         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27652         * doc/gnulib.texi: Include it.
27653
27654 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27655
27656         * modules/func (License): Change license to unlimited; there was
27657         no LGPL parts in the module anyway.
27658
27659 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27660
27661         * modules/__func__: Renamed to modules/func.
27662         * modules/__func__-tests: Renamed to modules/func-tests.
27663         * tests/test-__func__.c: Renamed to tests/test-func.c.
27664         * m4/__func__.m4: Renamed to m4/func.m4.
27665         * doc/gnulib.texi (__func__): Section renamed to func.
27666         Suggested by Eric Blake <ebb9@byu.net>.
27667
27668 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27669
27670         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27671         about __func__.  Make example self-contained.  Suggested by Eric
27672         Blake <ebb9@byu.net>.
27673
27674         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27675         Suggested by Eric Blake <ebb9@byu.net>.
27676
27677 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27678
27679         * modules/__func__: New file.
27680         * modules/__func__-tests: New file.
27681         * tests/test-__func__.c: New file.
27682         * m4/__func__.m4: New file.
27683         * doc/gnulib.texi (__func__): Document __func__ module.
27684
27685 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27686
27687         * modules/byteswap (License): Re-license as LGPLv2+.
27688
27689 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27690
27691         * doc/Makefile: Add pdf target.
27692
27693 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27694
27695         * modules/inline (License): Use 'unlimited', since there are only
27696         *.m4 files in this module.
27697
27698 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27699             Bruno Haible  <bruno@clisp.org>
27700
27701         Add support for HP C 7.1 on OpenVMS 8.3.
27702         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27703
27704 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27705
27706         Update VMS specifics.
27707         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27708
27709 2008-03-02  Jim Meyering  <meyering@redhat.com>
27710
27711         Remove the last dependency on the "free" module.
27712         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27713         Reported by Bob Proulx.
27714
27715         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27716
27717         Remove useless "if" tests before free.  Deprecate "free" module.
27718         * doc/posix-functions/free.texi: Mention that this
27719         module is no longer useful.
27720         * modules/free (Notice): Say this module is obsolete.
27721         * modules/readutmp (Depends-on): Remove free.
27722         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27723         * lib/putenv.c (putenv): Likewise.
27724         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27725         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27726         * tests/test-c-strcasestr.c (main): Likewise.
27727         * tests/test-c-strstr.c (main): Likewise.
27728         * tests/test-mbscasestr1.c (main): Likewise.
27729         * tests/test-mbscasestr2.c (main): Likewise.
27730         * tests/test-mbsstr1.c (main): Likewise.
27731         * tests/test-mbsstr2.c (main): Likewise.
27732         * tests/test-memmem.c (main): Likewise.
27733         * tests/test-strcasestr.c (main): Likewise.
27734         * tests/test-striconv.c (main): Likewise.
27735         * tests/test-striconveh.c (main): Likewise.
27736         * tests/test-striconveha.c (main): Likewise.
27737         * tests/test-strstr.c (main): Likewise.
27738
27739         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27740
27741         bootstrap: sync from coreutils again
27742         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27743
27744 2008-03-01  Jim Meyering  <meyering@redhat.com>
27745
27746         bootstrap: sync from coreutils
27747         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27748         also when the target doesn't exist.
27749
27750 2008-03-01  Eric Blake  <ebb9@byu.net>
27751
27752         Fix bugs in last patch.
27753         * lib/memchr2.c (memchr2): Fix typo.
27754         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27755         extension.
27756         Reported by Bruce Korb.
27757
27758         New module 'memchr2'.
27759         * modules/memchr2: New file.
27760         * modules/memchr2-tests: Likewise.
27761         * lib/memchr2.h: Likewise.
27762         * lib/memchr2.c: Likewise, based on memchr.c.
27763         * tests/test-memchr2.c: New test.
27764         * MODULES.html.sh (String handling): Add memchr2.
27765
27766 2008-02-29  Bruno Haible  <bruno@clisp.org>
27767
27768         * modules/freadseek-tests: New file.
27769         * tests/test-freadseek.sh: New file.
27770         * tests/test-freadseek.c: New file.
27771
27772         New module 'freadseek'.
27773         * modules/freadseek: New file.
27774         * lib/freadseek.h: New file.
27775         * lib/freadseek.c: New file.
27776         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27777
27778 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27779
27780         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27781         wydawca.
27782
27783         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27784         program_invocation_name and program_invocation_short_name are
27785         present.
27786
27787 2008-02-28  Bruno Haible  <bruno@clisp.org>
27788
27789         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27790         * tests/test-freadptr.sh: Also test non-seekable stdin.
27791
27792 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27793
27794         * build-aux/bootstrap (source_base, m4_base)
27795         (doc_base, tests_base): New variables.
27796         (gnulib_tool_options): Do not hardcode base directories, use
27797         the above variables instead.
27798
27799 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27800
27801         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27802
27803 2008-02-28  Bruno Haible  <bruno@clisp.org>
27804
27805         * modules/freadptr-tests: New file.
27806         * tests/test-freadptr.sh: New file.
27807         * tests/test-freadptr.c: New file.
27808
27809         New module 'freadptr'.
27810         * modules/freadptr: New file.
27811         * lib/freadptr.h: New file.
27812         * lib/freadptr.c: New file.
27813         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27814
27815 2008-02-26  Karl Berry  <karl@freefriends.org>
27816
27817         Sync from Libtool:
27818         * libltdl/argz.c (argz_add, argz_count): New functions.
27819         * libltdl/argz.in.h: Declare them.
27820         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27821
27822 2008-02-22  Bruno Haible  <bruno@clisp.org>
27823
27824         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27825         is a pointer type.  Needed for HP-UX 10.
27826         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27827         * doc/posix-functions/gmtime_r.texi: Likewise.
27828         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27829
27830 2008-02-24  Bruno Haible  <bruno@clisp.org>
27831
27832         * modules/environ-tests: New file.
27833         * tests/test-environ.c: New file.
27834
27835         New module 'environ'.
27836         * modules/environ: New file.
27837         * lib/unistd.in.h (environ): New declaration.
27838         * m4/environ.m4: New file.
27839         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27840         after use.
27841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27842         HAVE_DECL_ENVIRON.
27843         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27844         HAVE_DECL_ENVIRON.
27845         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27846         wrong claim that 'environ' is missing on some systems.
27847         * modules/execute (Depends-on): Add environ.
27848         * lib/execute.c (environ): Remove fallback declaration.
27849         * modules/pipe (Depends-on): Add environ.
27850         * lib/pipe.c (environ): Remove fallback declaration.
27851         * modules/setenv (Depends-on): Add environ.
27852         * lib/setenv.c (environ): Remove fallback declaration.
27853         * modules/unsetenv (Depends-on): Add environ.
27854         * lib/unsetenv.c (environ): Remove fallback declaration.
27855         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27856         m4/environ.m4.
27857         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27858         (gl_PREREQ_UNSETENV): Likewise.
27859
27860 2008-02-24  Bruno Haible  <bruno@clisp.org>
27861
27862         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27863
27864 2008-02-20  Bob Proulx  <bob@proulx.com>
27865
27866         Enable use of older two part flavor 'git describe'.
27867         * build-aux/git-version-gen: If using the older two part flavor of
27868         git version then recreate the third part now present in the
27869         newer three part flavor of git describe.
27870
27871 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27872
27873         * lib/fts.c (fts_build): Typo correction to comment.
27874
27875 2008-02-17  Bruno Haible  <bruno@clisp.org>
27876
27877         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27878         generating no-op conflicts.
27879
27880 2008-02-17  Bruno Haible  <bruno@clisp.org>
27881
27882         Speed up by 10%.
27883         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27884         result_entries, rather than an index-based loop.
27885
27886 2008-02-17  Bruno Haible  <bruno@clisp.org>
27887
27888         Speed up by 25%.
27889         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27890         'hashcode_cached'.
27891         (entry_create): New function.
27892         (entry_hashcode): Use the cached hashcode if possible.
27893         (read_changelog_file, try_split_merged_entry): Use entry_create.
27894
27895 2008-02-17  Bruno Haible  <bruno@clisp.org>
27896
27897         Speed up from O(n^2) to O(n) for long ChangeLog files.
27898         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27899         (read_changelog_file): Change implementation of entries_reversed list
27900         to rbtreehash.
27901         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
27902
27903 2008-02-17  Bruno Haible  <bruno@clisp.org>
27904
27905         New option --split-merged-entry.
27906         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
27907         (find_paragraph_end, try_split_merged_entry): New functions.
27908         (long_options): Add option --split-merged-entry.
27909         (usage): Document option --split-merged-entry.
27910         (main): Implement option --split-merged-entry.
27911         Reported by Eric Blake.
27912
27913 2008-02-17  Bruno Haible  <bruno@clisp.org>
27914
27915         * lib/git-merge-changelog.c: Include c-strstr.h.
27916         (main): Support the "git pull --rebase" situation.
27917         * modules/git-merge-changelog (Depends-on): Add c-strstr.
27918         Reported by Eric Blake.
27919
27920 2008-02-16  Eric Blake  <ebb9@byu.net>
27921
27922         Avoid doubling \ in common case of "c-maybe" quoting style.
27923         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
27924         eliding outer quotes.
27925         * lib/quotearg.h: Document this.
27926         * tests/test-quotearg.c (result_strings, inputs, results_g)
27927         (flag_results, locale_results): Test it by adding a new string to
27928         each test group.
27929         (compare_strings): Test new string.
27930
27931 2008-02-13  Eric Blake  <ebb9@byu.net>
27932
27933         Avoid trigraph quoting in default output.
27934         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
27935         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
27936         unless explicitly requested.
27937         * tests/test-quotearg.c (flag_results, main): Add additional tests.
27938
27939 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
27940
27941         Don't rely on signed integer overflowing to negative value.
27942         * lib/getugroups.c (getugroups): Include <limits.h>.
27943         Instead, compare against INT_MAX, and increment only if the test passes.
27944
27945 2008-02-13  Jim Meyering  <meyering@redhat.com>
27946         and Eric Blake  <ebb9@byu.net>
27947
27948         Avoid shadowing warning and compile errors on Linux.
27949         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
27950         forwarding macros on Linux.
27951         (dcgettext): Define a stub, for Linux.
27952         (results_g, main): Avoid warnings.
27953
27954 2008-02-12  Eric Blake  <ebb9@byu.net>
27955
27956         Silence warning in last patch.
27957         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
27958
27959         Quotearg part 4: add tests, fix c-maybe colon quoting.
27960         * lib/quotearg.h: Improve documentation.
27961         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
27962         escapes when adding outer quotes.  When quoting trigraphs, use
27963         valid C notation.  When quoting NUL, omit extra characters if next
27964         character is not digit.  Alter prototype.
27965         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
27966         callers.
27967         * modules/quotearg-tests: New module.
27968         * tests/test-quotearg.c: New test.
27969
27970 2008-02-07  Eric Blake  <ebb9@byu.net>
27971
27972         Quotearg part 3: add flag to control outer quote elision.
27973         * lib/quotearg.h (c_maybe_quoting_style): New style.
27974         (enum quoting_flags): Better documentation of flags.
27975         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
27976         c-maybe style.
27977         (quotearg_buffer_restyled): Handle new flag to elide outer
27978         quotes.
27979
27980         Quotearg part 2: add flag that can control NUL elision.
27981         * lib/quotearg.h (set_quoting_flags): New prototype.
27982         * lib/quotearg.c (struct quoting_options): Add flag field.
27983         (set_quoting_flags): New function.
27984         (quotearg_buffer_restyled): Add flags parameter.
27985         (quotearg_alloc_mem): Set the flag if length cannot be returned.
27986         (quotearg_n_options): Set the flag, since length cannot be
27987         returned.
27988         (quoting_options_from_style): Default flags correctly.
27989
27990         Quotearg part 1: more wrappers, restore quotearg_char state.
27991         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
27992         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
27993         (quotearg_colon_mem): New wrappers.
27994         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
27995         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
27996         functions.
27997         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
27998         (quotearg_colon_mem): New functions.
27999
28000 2008-02-11  Bruno Haible  <bruno@clisp.org>
28001
28002         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
28003         library in the current directory: it does not work with parallel make.
28004         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28005
28006 2008-02-11  Bruno Haible  <bruno@clisp.org>
28007
28008         * .gitattributes: New file.
28009
28010 2008-02-11  Jim Meyering  <meyering@redhat.com>
28011
28012         useless-if-before-free: Fix reversed exit values.
28013         * build-aux/useless-if-before-free: Use correct values
28014         for EXIT_MATCH and EXIT_NO_MATCH.
28015
28016         * build-aux/useless-if-before-free: Close stdout carefully.
28017
28018 2008-02-10  Bruno Haible  <bruno@clisp.org>
28019
28020         New module 'git-merge-changelog'.
28021         * modules/git-merge-changelog: New file.
28022         * lib/git-merge-changelog.c: New file.
28023
28024 2008-02-10  Jim Meyering  <meyering@redhat.com>
28025
28026         useless-if-before-free: New option: --list (-l).
28027
28028         useless-if-before-free: Don't exit immediately upon open failure.
28029         * build-aux/useless-if-before-free: Exit 2 for errors.
28030         Upon failure to open a file, don't exit immediately.
28031         Rather, just warn and continue with any remaining files.
28032
28033 2008-02-10  Bruno Haible  <bruno@clisp.org>
28034
28035         New abstract list operation 'node_set_value'.
28036         * lib/gl_list.h (gl_list_node_set_value): New function.
28037         (struct gl_list_implementation): New field node_set_value.
28038         * lib/gl_list.c (gl_list_node_set_value): New function.
28039         * lib/gl_array_list.c (gl_array_node_set_value): New function.
28040         (gl_array_list_implementation): Update.
28041         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
28042         (gl_carray_list_implementation): Update.
28043         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
28044         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28045         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28046         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
28047         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28048         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28049         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28050         Update.
28051         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28052         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
28053         (gl_sublist_list_implementation): Update.
28054
28055 2008-02-10  Bruno Haible  <bruno@clisp.org>
28056
28057         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
28058         Needed when ELEMENT is #defined to 'some_type *'.
28059
28060 2008-02-10  Jim Meyering  <meyering@redhat.com>
28061
28062         New script and module: useless-if-before-free
28063         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
28064         * build-aux/useless-if-before-free: New file.
28065         * modules/useless-if-before-free: New file.
28066
28067         * build-aux/gitlog-to-changelog: Use committer date, not author date.
28068
28069         xstrtol_error: Fix typo.
28070         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
28071         s/exit_failure/exit_status/.
28072
28073 2008-02-09  Jim Meyering  <meyering@redhat.com>
28074
28075         New script and module: gitlog-to-changelog
28076         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
28077         * modules/gitlog-to-changelog: New file.
28078         * build-aux/gitlog-to-changelog: New file.
28079
28080 2008-02-08  Jim Meyering  <meyering@redhat.com>
28081
28082         Avoid two "parameter unused" warnings.
28083         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
28084         Mark "st" as used.
28085
28086         Use "git COMMAND", not "git-COMMAND".
28087         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
28088         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
28089         * build-aux/git-version-gen: Use "git status", not "git-status".
28090
28091 2008-02-07  Bruno Haible  <bruno@clisp.org>
28092
28093         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
28094         Avoids a crash on Windows Vista.
28095         Reported by Adam Strzelecki <ono@java.pl> via
28096         Simon Josefsson <simon@josefsson.org>.
28097
28098 2008-02-06  Bruno Haible  <bruno@clisp.org>
28099
28100         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
28101         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
28102         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
28103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
28104         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28105         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28106         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
28107         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
28108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28112         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28114         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28115         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
28116         left-adjust flag.
28117         * tests/test-snprintf-posix.h (test_function): Likewise.
28118         * tests/test-sprintf-posix.h (test_function): Likewise.
28119         * tests/test-vasprintf-posix.c (test_function): Likewise.
28120         * doc/posix-functions/fprintf.texi: Update.
28121         * doc/posix-functions/printf.texi: Update.
28122         * doc/posix-functions/snprintf.texi: Update.
28123         * doc/posix-functions/sprintf.texi: Update.
28124         * doc/posix-functions/vfprintf.texi: Update.
28125         * doc/posix-functions/vprintf.texi: Update.
28126         * doc/posix-functions/vsnprintf.texi: Update.
28127         * doc/posix-functions/vsprintf.texi: Update.
28128         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28129
28130 2008-02-06  Bruno Haible  <bruno@clisp.org>
28131
28132         Fix bug introduced on 2008-01-26.
28133         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
28134
28135 2008-02-06  Bruno Haible  <bruno@clisp.org>
28136
28137         Fix bug introduced on 2007-06-10.
28138         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
28139         !NEED_PRINTF_FLAG_ZERO.
28140
28141 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
28142
28143         getloadavg: use libperfstat on AIX5
28144         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
28145
28146 2008-02-03  Bruno Haible  <bruno@clisp.org>
28147
28148         * lib/diffseq.h: Add comments about required #includes.
28149         Reported by Michael Biggs <gnulib@doubleplum.net>.
28150
28151 2008-02-01  Bruno Haible  <bruno@clisp.org>
28152
28153         * users.txt: Add gnuit.
28154
28155 2008-01-31  Bruno Haible  <bruno@clisp.org>
28156
28157         * lib/md4.c (set_uint32): Mark as inline.
28158         * lib/md5.c (set_uint32): Likewise.
28159         * lib/sha1.c (set_uint32): Likewise.
28160         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
28161         * m4/md5.m4 (gl_MD5): Likewise.
28162         * m4/sha1.m4 (gl_SHA1): Likewise.
28163
28164 2008-01-31  Jim Meyering  <meyering@redhat.com>
28165
28166         Use "sizeof VAR", rather than a literal "4".
28167         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
28168         * lib/md4.c (md4_read_ctx): Likewise.
28169         * lib/sha1.c (sha1_read_ctx): Likewise.
28170
28171 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28172
28173         * tests/test-sha1.c: New file, based on test-md5.c.
28174
28175         * modules/crypto/sha1-tests: New file.
28176
28177 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28178
28179         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
28180
28181 2008-01-31  Jim Meyering  <meyering@redhat.com>
28182
28183         Prefer "sizeof v" over the equivalent "4".
28184         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
28185         * lib/md5.c (set_uint32): Likewise.
28186         * lib/sha1.c (set_uint32): Likewise.
28187
28188 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28189
28190         * lib/sha1.c (set_uint32): Mark function as static.
28191
28192 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28193
28194         md2: clarify comments to say that alignment is not required.
28195         * lib/md2.h: Remove warning about alignment in comment.
28196         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
28197         never been required.
28198
28199 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28200
28201         md4: adapt alignment constraint fix from sha1.
28202         * lib/md4.c (set_uint32): New function, from sha1.c
28203         (md4_read_ctx): Use it.
28204         (md4_finish_ctx): Doc fix.
28205         * lib/md4.h: Doc fix.
28206
28207 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28208
28209         md5: adapt alignment constraint fix from sha1.
28210         * lib/md5.c (set_uint32): New function, from sha1.c
28211         (md5_read_ctx): Use it.
28212         (md5_finish_ctx): Doc fix.
28213         * lib/md5.h: Doc fix.
28214
28215 2008-01-30  Peter Palfrader  <weasel@debian.org>
28216
28217         sha1: remove the result buffer alignment constraint
28218         * lib/sha1.c (set_uint32): New function.
28219         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28220         constraint.
28221         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28222         * lib/sha1.h: Likewise.
28223
28224 2008-01-30  Andreas Schwab  <schwab@suse.de>
28225             Bruno Haible  <bruno@clisp.org>
28226
28227         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28228         correct definition of LDBL_MIN_EXP.
28229
28230 2008-01-30  Karl Berry  <karl@gnu.org>
28231
28232         * config/srclist-update: try to preserve x bit on updates.
28233         * config/srclistvars.sh: update for karl.
28234
28235 2008-01-29  Jim Meyering  <meyering@redhat.com>
28236
28237         vasnprintf.c: Avoid warning about unused label
28238         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28239         "overflow" label definition and associated code with the
28240         same cpp condition that guards the sole use of that label.
28241
28242 2008-01-26  Bruno Haible  <bruno@clisp.org>
28243
28244         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28245         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28246         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28247         * lib/isnanl-nolibm.h (isnanl): Likewise.
28248         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28249
28250 2008-01-26  Bruno Haible  <bruno@clisp.org>
28251
28252         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28253         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28254
28255 2008-01-26  Bruno Haible  <bruno@clisp.org>
28256
28257         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28258         GCC >= 4.0 built-in.
28259         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28260
28261 2008-01-26  Bruno Haible  <bruno@clisp.org>
28262
28263         Rename isnan, applicable to 'double' only, to isnand.
28264         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28265         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28266         (configure.ac): Update.
28267         (Include): Replace "isnan.h" with "isnand.h".
28268         * m4/isnand.m4: Renamed from m4/isnan.m4.
28269         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28270         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28271         instead of isnan.c.
28272         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28273         instead of HAVE_ISNAN_IN_LIBC.
28274         (isnand): Renamed from isnan.
28275         * lib/isnand.c: New file.
28276         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28277         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28278         (Makefile.am): Update.
28279         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28280         Include isnand.h instead of isnan.h.
28281         (main): Test isnand instead of isnan.
28282         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28283         isnan-nolibm.
28284         * modules/frexp (Depends-on): Likewise.
28285         * modules/frexp-tests (Depends-on): Likewise.
28286         * modules/frexp-nolibm (Depends-on): Likewise.
28287         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28288         * modules/isfinite (Depends-on): Likewise.
28289         * modules/round-tests (Depends-on): Likewise.
28290         * modules/signbit (Depends-on): Likewise.
28291         * modules/signbit-tests (Depends-on): Likewise.
28292         * modules/snprintf-posix (Depends-on): Likewise.
28293         * modules/sprintf-posix (Depends-on): Likewise.
28294         * modules/trunc-tests (Depends-on): Likewise.
28295         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28296         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28297         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28298         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28299         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28300         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28301         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28302         * modules/vasnprintf-posix (Depends-on): Likewise.
28303         * modules/vasprintf-posix (Depends-on): Likewise.
28304         * modules/vfprintf-posix (Depends-on): Likewise.
28305         * modules/vsnprintf-posix (Depends-on): Likewise.
28306         * modules/vsprintf-posix (Depends-on): Likewise.
28307         * lib/frexp.c: Include isnand.h instead of isnan.h.
28308         (ISNAN): Set to isnand instead of isnan.
28309         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28310         (gl_isfinited): Use isnand instead of isnan.
28311         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28312         (gl_signbitd): Use isnand instead of isnan.
28313         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28314         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28315         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28316         (main): Use isnand instead of isnan.
28317         * tests/test-round1.c: Include isnand.h.
28318         (main): Use isnand instead of isnan.
28319         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28320         (ISNAN): Set to isnand instead of isnan.
28321         * tests/test-trunc1.c: Include isnand.h.
28322         (main): Use isnand instead of isnan.
28323         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28324         (equal): Use isnand instead of isnan.
28325         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28326         isnand-nolibm.
28327         * NEWS: Mention the change.
28328
28329 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28330             Bruno Haible  <bruno@clisp.org>
28331
28332         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28333         the GCC builtins for signbits are present and set
28334         REPLACE_SIGNBIT_USING_GCC if so.
28335         * lib/math.in.h (signbit): Define using GCC builtins if
28336         REPLACE_SIGNBIT_USING_GCC is set.
28337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28338         REPLACE_SIGNBIT_USING_GCC.
28339         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28340
28341 2008-01-25  Jim Meyering  <meyering@redhat.com>
28342
28343         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28344         * lib/poll.c: Include <config.h>, not "config.h".
28345         * tests/test-getaddrinfo.c: Likewise.
28346
28347 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28348
28349         * modules/sockets-tests: New file.
28350
28351 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28352
28353         * modules/sockets: New module, can be used to call WSA_Startup and
28354         WSA_Cleanup when needed.
28355
28356         * lib/sockets.h, lib/sockets.c: New files.
28357
28358         * m4/sockets.m4: New file.
28359
28360         * tests/test-sockets.c: New file.
28361
28362 2008-01-19  Bruno Haible  <bruno@clisp.org>
28363
28364         * doc/posix-headers: Renamed from doc/headers.
28365         * doc/posix-functions: Renamed from doc/functions.
28366         * doc/gnulib.texi: Update.
28367
28368 2008-01-19  Bruno Haible  <bruno@clisp.org>
28369
28370         * doc/glibc-functions/strcasestr.texi: Include contents of
28371         doc/functions/strcasestr.texi, fixing the list of platforms.
28372         * doc/functions/strcasestr.texi: Remove file.
28373
28374 2008-01-19  Bruno Haible  <bruno@clisp.org>
28375
28376         * doc/glibc-functions/memmem.texi: Include contents of
28377         doc/functions/memmem.texi.
28378         * doc/functions/memmem.texi: Remove file.
28379
28380 2008-01-18  Bruno Haible  <bruno@clisp.org>
28381
28382         * doc/glibc-functions/*.texi: New files.
28383         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28384         to use the new files.
28385
28386 2008-01-17  Bruno Haible  <bruno@clisp.org>
28387
28388         * tests/test-gethostname.c (main): Fix printf statement.
28389
28390 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28391
28392         * modules/gethostname-tests: New file.
28393
28394         * tests/test-gethostname.c: New file.
28395
28396 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28397
28398         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28399         used by the UNAME case.  Reported by Bruno Haible
28400         <bruno@clisp.org>.
28401
28402 2008-01-17  Eric Blake  <ebb9@byu.net>
28403
28404         Convert c-strcasestr to be more efficient.
28405         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28406         (Depends-on): Add c-strcase, remove malloca, strnlen.
28407         * tests/test-c-strcasestr.c (main): Enhance test.
28408         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28409
28410 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28411
28412         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28413         Use it in creating po/Makevars.
28414
28415 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28416
28417         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
28418         Applications that requires it should initialize libgcrypt
28419         manually.
28420
28421 2008-01-16  Simon Josefsson  <simon@josefsson.org>
28422
28423         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
28424
28425 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28426
28427         Fix problem with getdate on mingw32 reported by Simon Josefsson
28428         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
28429         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
28430         tzname", when deciding whether to declare tzname.
28431         * lib/strftime.c (tzname): Likewise.
28432
28433 2008-01-15  Bruno Haible  <bruno@clisp.org>
28434
28435         Work around a MacOS X 10.5 bug in frexpl().
28436         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
28437         * doc/functions/frexpl.texi: Document the bug.
28438         Reported by Elias Pipping <pipping@gentoo.org>.
28439
28440 2008-01-14  Eric Blake  <ebb9@byu.net>
28441
28442         Touch up previous patch.
28443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
28444         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
28445
28446         Convert strcasestr module to use Two-Way algorithm.
28447         * modules/strcasestr-simple: New module, based on the old
28448         strcasestr, but with Two-Way rather than KMP.
28449         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28450         * lib/string.in.h (rpl_strcasestr): Declare.
28451         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28452         performance.
28453         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28454         * modules/string (Makefile.am): Support strcasestr.
28455         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28456         * modules/strcasestr-tests (Depends-on): Check for alarm.
28457         * tests/test-strcasestr.c: Augment test.
28458         * lib/str-two-way.h: Clean up stray macro.
28459         * NEWS: Document new module.
28460         * MODULES.html.sh (string handling): Likewise.
28461         * doc/functions/strcasestr.texi: New file.
28462         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28463         here, since it is not a POSIX function.
28464
28465 2008-01-14  Colin Watson  <cjwatson@debian.org>
28466             Bruno Haible  <bruno@clisp.org>
28467
28468         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28469         works fine; if not, set REPLACE_STRSIGNAL.
28470         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28472         REPLACE_STRSIGNAL.
28473         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28474         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28475         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28476
28477 2008-01-14  Bruno Haible  <bruno@clisp.org>
28478
28479         * modules/strsignal (Include): Change to <string.h>.
28480
28481 2008-01-14  Colin Watson  <cjwatson@debian.org>
28482
28483         * modules/argp (Notice): Add a notice recommending to change
28484         XGETTEXT_OPTIONS.
28485         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28486
28487 2008-01-13  Colin Watson  <cjwatson@debian.org>
28488
28489         * modules/strsignal-tests: New file.
28490         * tests/test-strsignal.c: New file.
28491
28492         * lib/strsignal.c: New file, from glibc with modifications.
28493         * lib/siglist.h: New file, from glibc with modifications.
28494         * lib/string.in.h (strsignal): New declaration.
28495         * m4/strsignal.m4: New file.
28496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28497         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28498         * modules/strsignal: New file.
28499         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28500         HAVE_DECL_STRSIGNAL.
28501
28502 2008-01-13  Bruno Haible  <bruno@clisp.org>
28503
28504         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28505         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28506         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28507         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28508
28509 2008-01-13  Bruno Haible  <bruno@clisp.org>
28510
28511         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28512         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28513         * lib/argp.h (__attribute__): Likewise.
28514         * lib/c-stack.c (__attribute__): Likewise.
28515         * lib/error.h (__attribute__): Likewise.
28516         * lib/fts.c (__attribute__): Likewise.
28517         * lib/openat.h (__attribute__): Likewise.
28518         * lib/stdio.in.h (__attribute__): Likewise.
28519         * lib/string.in.h (__attribute__): Likewise.
28520         * lib/utimens.c (__attribute__): Likewise.
28521         * lib/vasnprintf.h (__attribute__): Likewise.
28522         * lib/xalloc.h (__attribute__): Likewise.
28523         * lib/xprintf.h (__attribute__): Likewise.
28524         * lib/xstrtol.h (__attribute__): Likewise.
28525         * lib/xvasprintf.h (__attribute__): Likewise.
28526
28527 2008-01-12  Bruno Haible  <bruno@clisp.org>
28528
28529         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28530         * doc/glibc-headers/a.out.texi: New file.
28531         * doc/glibc-headers/aliases.texi: New file.
28532         * doc/glibc-headers/alloca.texi: New file.
28533         * doc/glibc-headers/ar.texi: New file.
28534         * doc/glibc-headers/argp.texi: New file.
28535         * doc/glibc-headers/argz.texi: New file.
28536         * doc/glibc-headers/byteswap.texi: New file.
28537         * doc/glibc-headers/crypt.texi: New file.
28538         * doc/glibc-headers/endian.texi: New file.
28539         * doc/glibc-headers/envz.texi: New file.
28540         * doc/glibc-headers/err.texi: New file.
28541         * doc/glibc-headers/error.texi: New file.
28542         * doc/glibc-headers/execinfo.texi: New file.
28543         * doc/glibc-headers/fpu_control.texi: New file.
28544         * doc/glibc-headers/fstab.texi: New file.
28545         * doc/glibc-headers/fts.texi: New file.
28546         * doc/glibc-headers/getopt.texi: New file.
28547         * doc/glibc-headers/ieee754.texi: New file.
28548         * doc/glibc-headers/ifaddrs.texi: New file.
28549         * doc/glibc-headers/libintl.texi: New file.
28550         * doc/glibc-headers/mcheck.texi: New file.
28551         * doc/glibc-headers/mntent.texi: New file.
28552         * doc/glibc-headers/obstack.texi: New file.
28553         * doc/glibc-headers/paths.texi: New file.
28554         * doc/glibc-headers/printf.texi: New file.
28555         * doc/glibc-headers/pty.texi: New file.
28556         * doc/glibc-headers/resolv.texi: New file.
28557         * doc/glibc-headers/shadow.texi: New file.
28558         * doc/glibc-headers/sysexits.texi: New file.
28559         * doc/glibc-headers/ttyent.texi: New file.
28560
28561 2008-01-12  Jim Meyering  <meyering@redhat.com>
28562
28563         announce-gen: emit Gnulib's git-based version string.
28564         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28565         New option --gnulib-version=V, where V is expected to be
28566         the output of running git describe in the gnulib directory.
28567         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28568         not useful, and plan to stop publishing an xdelta file with each
28569         coreutils release.
28570
28571         * build-aux/announce-gen: Also check for lzma-compressed files.
28572
28573 2008-01-11  Bruno Haible  <bruno@clisp.org>
28574
28575         * tests/test-memmem.c (main): Increase maximum allowed time.
28576         * tests/test-strstr.c (main): Likewise.
28577
28578 2008-01-11  Bruno Haible  <bruno@clisp.org>
28579
28580         * doc/functions/memmem.texi: Add more precisions about platforms.
28581         * doc/functions/strstr.texi: Likewise.
28582
28583 2008-01-10  Eric Blake  <ebb9@byu.net>
28584
28585         * m4/strstr.m4: Delete cruft from copy-n-paste.
28586         Reported by Bruno Haible.
28587
28588 2008-01-10  Bruno Haible  <bruno@clisp.org>
28589
28590         Make c-strstr rely on strstr.
28591         * lib/c-strstr.c: Don't include str-kmp.h.
28592         (c_strstr): Define in terms of strstr.
28593         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28594         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28595
28596 2008-01-10  Bruno Haible  <bruno@clisp.org>
28597
28598         * doc/gnulib.texi (String Functions in C Locale): New section.
28599         * doc/c-ctype.texi: New file.
28600         * doc/c-strcase.texi: New file.
28601         * doc/c-strcaseeq.texi: New file.
28602         * doc/c-strcasestr.texi: New file.
28603         * doc/c-strstr.texi: New file.
28604         * doc/c-strtod.texi: New file.
28605         * doc/c-strtold.texi: New file.
28606
28607 2008-01-10  Eric Blake  <ebb9@byu.net>
28608
28609         * lib/relocatable.h: Fix a comment.
28610
28611 2008-01-10  Eric Blake  <ebb9@byu.net>
28612
28613         Share two-way algorithm.
28614         * lib/str-two-way.h: New file, merged from...
28615         * lib/memmem.c: ...here...
28616         * lib/strstr.c: ...and here.
28617         * modules/memmem (Files): Use it.
28618         * modules/strstr (Files): Likewise.
28619
28620         Avoid quadratic strstr implementations.
28621         * lib/strstr.c: New file.
28622         * m4/strstr.m4: Likewise.
28623         * modules/strstr: Likewise.
28624         * modules/strstr-tests: Likewise.
28625         * tests/test-strstr.c: Likewise.
28626         * lib/string.in.h (rpl_strstr): Declare.
28627         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28629         * modules/string (Makefile.am): Likewise.
28630         * MODULES.html.sh (string handling): Mention new module.
28631         * doc/functions/strstr.texi (strstr): Document the bug.
28632
28633 2008-01-10  Bruno Haible  <bruno@clisp.org>
28634
28635         * lib/relocatable.h (relocate): State whether result is freshly
28636         allocated or not.
28637         * lib/relocatable.c (relocate): Return a freshly allocated string
28638         instead of a pointer to a privately held string.
28639         Reported by Sylvain Beucler <beuc@gnu.org>.
28640
28641 2008-01-10  Colin Watson  <cjwatson@debian.org>
28642
28643         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28644         s/S_ISNLK/S_ISLNK/.
28645
28646 2008-01-09  Bruno Haible  <bruno@clisp.org>
28647
28648         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28649         and other files.
28650         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28651         if it's only a guess.
28652         * modules/memmem: Simplify by depending on memmem-simple.
28653
28654 2008-01-09  Bruno Haible  <bruno@clisp.org>
28655
28656         Work around OpenBSD 4.0 tdelete() bug.
28657         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28658         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28659         macros and don't redefine the enum values.
28660         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28661         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28662         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28663
28664 2008-01-09  Bruno Haible  <bruno@clisp.org>
28665
28666         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28667         (main): Don't perform the tests if setlocale did not install a UTF-8
28668         locale. Needed on OpenBSD 4.0.
28669         * modules/wcwidth-tests (Depends-on): Add localcharset.
28670
28671 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28672
28673         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28674         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28675         * NEWS: announce this.
28676         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28677
28678 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28679         and Eric Blake  <ebb9@byu.net>
28680
28681         Add memmem-simple module.
28682         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28683         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28684         * modules/memmem-simple: New file.
28685         * modules/memmem (Description): Tweak.
28686         * MODULES.html.sh (string handling): Mention new module.
28687         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28688         addressed by memmem-simple.
28689         * NEWS: Document the difference.
28690
28691 2008-01-09  Eric Blake  <ebb9@byu.net>
28692
28693         Give gcc some memmem optimization hints.
28694         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28695         (strcasestr): Declare as pure.
28696         * modules/memmem (Maintainer): Claim my implementation.
28697
28698 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28699
28700         Support AIX 6.1 and higher.
28701         * build-aux/config.libpath: Likewise.
28702         * build-aux/config.rpath: Likewise.
28703
28704 2008-01-08  Jim Meyering  <meyering@redhat.com>
28705             Bruno Haible  <bruno@clisp.org>
28706
28707         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28708         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28709         Reported by Peter Fales in
28710         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28711
28712 2008-01-08  Bruno Haible  <bruno@clisp.org>
28713
28714         * modules/unictype/category-of (Depends-on): Add
28715         unictype/category-none.
28716         * modules/unictype/category-and-tests (Depends-on): Add
28717         unictype/category-{L,N,Lu,Nd}.
28718         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28719         * modules/unictype/category-or-tests (Depends-on): Add
28720         unictype/category-{L,N}.
28721         * modules/unictype/category-name-tests (Depends-on): Add
28722         unictype/category-{Z,Nl}.
28723         Reported by Simon Josefsson.
28724
28725 2008-01-08  Bruno Haible  <bruno@clisp.org>
28726
28727         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28728         convention better.
28729         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28730         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28731         Reported by Peter Miller <millerp@canb.auug.org.au>.
28732
28733 2008-01-08  Eric Blake  <ebb9@byu.net>
28734
28735         Rewrite memmem to guarantee linear complexity without malloc.
28736         * lib/memmem.c (memmem): Use Two-Way rather than
28737         Knuth-Morris-Pratt, to allow O(1) space usage.
28738         (critical_factorization, two_way_short_needle)
28739         (two_way_long_needle): New functions.
28740         (knuth_morris_pratt): Delete.
28741         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28742         Add stdint.
28743         * tests/test-memmem.c (main): Add tests for periodic needle and
28744         sublinear performance.
28745         * doc/functions/memmem.texi (memmem): Document other deficiencies
28746         in cygwin and older glibc.
28747
28748 2008-01-08  Bruno Haible  <bruno@clisp.org>
28749
28750         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28751         augmentation.
28752
28753 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28754
28755         Add a configure time option: --disable-acl.
28756         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28757         AC_ARG_ENABLE(acl).
28758
28759 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28760
28761         * tests/test-localename.c: Don't include obsolete "setenv.h".
28762
28763         * modules/localename-tests (Depends-on): Need unsetenv.
28764
28765 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28766
28767         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28768
28769 2008-01-06  Colin Watson  <cjwatson@debian.org>
28770
28771         * users.txt: Add man-db.
28772
28773 2008-01-07  Bruno Haible  <bruno@clisp.org>
28774
28775         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28776         previous section name.
28777
28778 2008-01-07  Bruno Haible  <bruno@clisp.org>
28779
28780         * lib/progname.c (set_program_name): Don't strip off a leading
28781         "lt-" prefix outside a .libs directory.
28782         Suggested by Paul Eggert.
28783
28784 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28785             Bruno Haible  <bruno@clisp.org>
28786
28787         Improve memory cleanup in 'relocatable' module.
28788         * lib/relocatable.h (compute_curr_prefix): Change return type to
28789         'char *'.
28790         * lib/relocatable.c (compute_curr_prefix): Change return type to
28791         'char *'. Free curr_installdir after use.
28792         (relocate): Free curr_prefix_better after use.
28793         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28794
28795 2008-01-01  Bruno Haible  <bruno@clisp.org>
28796
28797         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28798         failure on older glibc systems.
28799         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28800
28801 2008-01-05  Eric Blake  <ebb9@byu.net>
28802
28803         Avoid quadratic system memmem.
28804         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28805         Reported by Ralf Wildenhues.
28806
28807         Fix memmem test for mingw.
28808         * modules/memmem-tests (configure.ac): Check for alarm.
28809         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28810         it.
28811         * doc/functions/memmem.texi: New file.
28812         * doc/gnulib.texi (Function Substitutes): Add memmem.
28813         Reported by Bruno Haible.
28814
28815 2008-01-04  Bruno Haible  <bruno@clisp.org>
28816
28817         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28818         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28819         gl_HEADER_STRING_H_DEFAULTS.
28820
28821 2008-01-04  Eric Blake  <ebb9@byu.net>
28822
28823         Shorten duration of memmem test.
28824         * tests/test-memmem.c (main): Use alarm to declare failure if test
28825         is taking too long.
28826         Reported by Ralf Wildenhues.
28827
28828 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28829
28830         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28831         string, needed by strerror.
28832
28833 2008-01-03  Colin Watson  <cjwatson@debian.org>
28834             Bruno Haible  <bruno@clisp.org>
28835
28836         * doc/gnulib-tool.texi (Localization): New section.
28837
28838 2008-01-02  Bruno Haible  <bruno@clisp.org>
28839
28840         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28841         variables to 'unsigned char *' type.
28842         Reported by Paul Eggert.
28843
28844 2008-01-02  Jim Meyering  <jim@meyering.net>
28845
28846         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28847
28848 2007-12-31  Jim Meyering  <jim@meyering.net>
28849
28850         Avoid use of private FTS type name.
28851         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28852
28853 2007-12-30  Karl Berry  <karl@gnu.org>
28854
28855         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28856         work around defect in Texinfo and/or the standalone Info browser.
28857
28858 2007-12-30  Bruno Haible  <bruno@clisp.org>
28859
28860         Unify 5 copies of the KMP code.
28861         * lib/str-kmp.h: New file.
28862         * lib/c-strcasestr.c: Include str-kmp.h.
28863         (knuth_morris_pratt): Remove function.
28864         (c_strcasestr): Update.
28865         * lib/c-strstr.c: Include str-kmp.h.
28866         (knuth_morris_pratt): Remove function.
28867         (c_strcasestr): Update.
28868         * lib/mbscasestr.c: Include str-kmp.h.
28869         (knuth_morris_pratt_unibyte): Remove function.
28870         * lib/mbsstr.c: Include str-kmp.h.
28871         (knuth_morris_pratt_unibyte): Remove function.
28872         * lib/strcasestr.c: Include str-kmp.h.
28873         (knuth_morris_pratt): Remove function.
28874         (strcasestr): Update.
28875         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28876         * modules/c-strstr (Files): Likewise.
28877         * modules/mbscasestr (Files): Likewise.
28878         * modules/mbsstr (Files): Likewise.
28879         * modules/strcasestr (Files): Likewise.
28880         Suggested by Paul Eggert.
28881
28882 2007-12-30  Bruno Haible  <bruno@clisp.org>
28883
28884         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28885         defined.
28886
28887 2007-12-30  Bruno Haible  <bruno@clisp.org>
28888
28889         * lib/xmalloca.h: Include xalloc.h.
28890         (xnmalloca): New macro.
28891
28892 2007-12-30  Bruno Haible  <bruno@clisp.org>
28893
28894         * lib/malloca.h (nmalloca): New macro.
28895         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28896         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28897         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28898         knuth_morris_pratt_multibyte): Likewise.
28899         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
28900         knuth_morris_pratt_multibyte): Likewise.
28901         * lib/memmem.c (knuth_morris_pratt): Likewise.
28902         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
28903
28904 2007-12-25  Bruno Haible  <bruno@clisp.org>
28905
28906         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
28907         * lib/glob.c: Don't include openat.h.
28908         (link_exists2_p): Add back the code that deals with the
28909         !GLOB_ALTDIRFUNC case.
28910         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
28911         let it do the filename concatenation.
28912         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
28913         * modules/glob (Depends-on): Remove openat.
28914
28915 2007-12-31  Bruno Haible  <bruno@clisp.org>
28916
28917         * modules/dirfd (License): Change to LGPLv2+.
28918         Approved by Jim Meyering.
28919
28920 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28921
28922         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
28923         when multiplying M by sizeof (size_t).
28924
28925 2007-12-10  Martin Lambers  <marlam@marlam.de>
28926
28927         Override getpagesize on mingw.
28928         * lib/getpagesize.c: New file.
28929         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
28930         * modules/getpagesize (Files): Add lib/getpagesize.c.
28931         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
28932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28933         REPLACE_GETPAGESIZE.
28934         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
28935
28936 2007-12-25  Bruno Haible  <bruno@clisp.org>
28937
28938         * modules/localcharset (Notice): New field.
28939         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
28940         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
28941
28942 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28943             Bruno Haible  <bruno@clisp.org>
28944
28945         Avoid using the syntax symbol() in formatted documentation.
28946         * MODULES.html.sh (func_module): When replacing symbol() with a
28947         hyperlink, remove the parentheses. Show an error if some remain.
28948         Recognize and render the '...' syntax.
28949         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
28950         Rework. Add paragraph about GCC's inlining.
28951         * doc/alloca.texi: Likewise.
28952         * doc/error.texi: Remove parentheses from symbol reference.
28953         * doc/gnulib-intro.texi: Likewise.
28954         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
28955         * modules/fnmatch (Description): Reword to say "the ... function".
28956         * modules/full-read (Description): Likewise.
28957         * modules/full-write (Description): Likewise.
28958         * modules/safe-read (Description): Likewise.
28959         * modules/safe-write (Description): Likewise.
28960         * modules/strchrnul (Description): Likewise.
28961         * modules/trim (Description): Likewise.
28962         * modules/error (Description): Remove parentheses from symbol
28963         references.
28964         * modules/verror (Description): Likewise.
28965         Reported by Karl Berry.
28966
28967 2007-12-25  Bruno Haible  <bruno@clisp.org>
28968
28969         Fixup after 2007-10-16 commit.
28970         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
28971
28972 2007-12-24  Bruno Haible  <bruno@clisp.org>
28973
28974         Make --enable-relocatable work with DESTDIR.
28975         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
28976         to compute installdir from destprog.
28977         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
28978         also set the RELOC_DESTDIR variable.
28979         Reported by Левашев Иван <octagram@bluebottle.com>.
28980
28981 2007-12-24  Bruno Haible  <bruno@clisp.org>
28982
28983         Fix link error due to xalloc_die().
28984         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
28985         of xreadlink.
28986         * lib/relocwrapper.c: Update comments.
28987         * build-aux/install-reloc: Remove xreadlink.c from file list.
28988         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
28989         xreadlink.c.
28990         Reported by Левашев Иван <octagram@bluebottle.com>.
28991
28992 2007-12-24  Bruno Haible  <bruno@clisp.org>
28993
28994         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
28995         * lib/setenv.h: Remove file.
28996         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
28997         lib/setenv.h.
28998         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
28999         (Depends-on): Add stdlib.
29000         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
29001         gl_FUNC_UNSETENV.
29002         (Include): Replace setenv.h with <stdlib.h>.
29003         * modules/unsetenv: New file.
29004         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
29005         * lib/unsetenv.c: Include <stdlib.h> first.
29006         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
29007         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
29008         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
29009         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
29010         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
29011         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29012         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
29013         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29014         * doc/functions/unsetenv.texi: Update.
29015         * modules/xsetenv (Depends-on): Add unsetenv.
29016         * modules/getdate (Depends-on): Likewise.
29017         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
29018         * lib/xsetenv.c: Don't include setenv.h.
29019         * lib/getdate.y: Likewise.
29020         * lib/relocwrapper.c: Likewise.
29021         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
29022         (Depends-on): Add stdlib.
29023         * NEWS: Mention the changes.
29024         Reported by Левашев Иван <octagram@bluebottle.com>.
29025
29026 2007-12-23  Bruno Haible  <bruno@clisp.org>
29027
29028         * lib/memmem.c (memmem): Use lowercase variable names. Tab
29029         indentation.
29030
29031 2007-12-23  Bruno Haible  <bruno@clisp.org>
29032
29033         * lib/c-strcasestr.c: Add more comments.
29034         * lib/c-strstr.c: Likewise.
29035         * lib/mbscasestr.c: Likewise.
29036         * lib/mbsstr.c: Likewise.
29037         * lib/strcasestr.c: Likewise.
29038         * lib/memmem.c: Likewise.
29039
29040 2007-12-23  Bruno Haible  <bruno@clisp.org>
29041
29042         * tests/test-memmem.c: Include <string.h> first.
29043
29044 2007-12-22  Bruno Haible  <bruno@clisp.org>
29045
29046         * gnulib-tool (func_create_testdir): Change $auxdir while generating
29047         the contents of $testsbase.
29048         Reported by Ralf Wildenhues.
29049
29050 2007-12-22  Bruno Haible  <bruno@clisp.org>
29051
29052         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
29053         two variables local_ldadd_before, local_ldadd_last.
29054
29055 2007-12-20  Eric Blake  <ebb9@byu.net>
29056
29057         Work around circular library issue when cross-compiling.
29058         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
29059         that progname.o does not need to pull in rpl_memcmp.
29060
29061 2007-12-19  Eric Blake  <ebb9@byu.net>
29062
29063         Fix memmem to avoid O(n^2) worst-case complexity.
29064         * lib/memmem.c (knuth_morris_pratt): New function.
29065         (memmem): Use it if first few naive iterations fail.
29066         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
29067         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
29068         * modules/memchr (License): Likewise.
29069         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
29070         malloca.
29071         * tests/test-memmem.c: Rewrite, borrowing ideas from
29072         test-mbsstr1.c; the old version wouldn't even compile!
29073         * modules/memmem-tests: New file.
29074         * lib/string.in.h (rpl_memmem): Add declaration.
29075         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
29076         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
29077         REPLACE_MEMMEM.
29078
29079 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29080
29081         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
29082         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
29083         before any system include files, and undef after them all.  This
29084         should fix a problem on VMS reported by John E. Malmberg in
29085         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
29086
29087 2007-12-17  Eric Blake  <ebb9@byu.net>
29088
29089         Revert addition of verify, for BSD/OS.
29090         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
29091         can't handle large files, for the sake of obsolete platforms.
29092         * modules/fseeko (Depends-on): Remove verify.
29093         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
29094         * doc/functions/ftello.texi (ftello): Likewise.
29095         * doc/functions/fgetpos.texi (fgetpos): Likewise.
29096         Reported by Larry Jones.
29097
29098 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
29099
29100         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
29101         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
29102
29103 2007-12-17  Jim Meyering  <meyering@redhat.com>
29104
29105         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
29106         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
29107         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
29108         * modules/getcwd (Depends-on): Add openat.
29109         Reported by Petr Salinger.
29110
29111 2007-12-17  Bruno Haible  <bruno@clisp.org>
29112
29113         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
29114         avoid a segmentation fault of the configure test on x86_64 systems.
29115
29116 2007-12-15  Jim Meyering  <meyering@redhat.com>
29117
29118         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
29119
29120 2007-12-13  Eric Blake  <ebb9@byu.net>
29121
29122         Another fseek test.
29123         * tests/test-fseek.c (main): Also test ungetc handling.
29124         * tests/test-fseeko.c (main): Likewise.
29125         * modules/fseeko (Depends-on): Add verify.
29126         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
29127         large.
29128         Reported by Larry Jones.
29129
29130         Fix fseeko on mingw.
29131         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
29132         seek.
29133
29134         Beef up fseek tests.
29135         * tests/test-fseek.c (main): Also test eof handling.
29136         * tests/test-fseeko.c (main): Likewise.
29137         Reported by Larry Jones.
29138
29139 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
29140
29141         Fix fseeko on BSD-based platforms.
29142         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
29143         successful seek.
29144
29145 2007-12-12  Eric Blake  <ebb9@byu.net>
29146
29147         Allow circular dependency of separate libtests.a
29148         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
29149         when use_libtests.
29150
29151 2007-12-11  Eric Blake  <ebb9@byu.net>
29152
29153         Fix bug with -0.0L in previous patch.
29154         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
29155         * tests/test-isnan.c (main): Also test on zeroes.
29156         * tests/test-isnanf.c (main): Likewise.
29157         * tests/test-isnanl.h (main): Likewise.
29158
29159         Detect pseudo-denormals on x86 even when cross-compiling.
29160         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
29161         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
29162         invalid bit patterns that happen to satisfy ==.
29163
29164         Avoid link failures with separate libtests.a.
29165         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
29166         last, to satisfy circular dependencies.
29167
29168 2007-12-11  Eric Blake  <ebb9@byu.net>
29169         and Bruno Haible  <bruno@clisp.org>
29170
29171         Fix OpenBSD 4.0 <float.h> handling of long double.
29172         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
29173         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
29174         * doc/headers/float.texi (float.h): Document OpenBSD bug.
29175
29176 2007-12-11  Jim Meyering  <meyering@redhat.com>
29177
29178         * users.txt: Add libvirt.
29179
29180         Support versions of autoconf prior to 2.59c.
29181         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
29182         if it is not already defined.
29183
29184 2007-12-09  Bruno Haible  <bruno@clisp.org>
29185
29186         Let 'gnulib-tool --import' collect sources needed for the tests in
29187         tests/ rather than in lib/.
29188         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
29189         argument. If true, add rules to generate libtests.a, and put libtests.a
29190         into $(LDADD). Consider source files in subdirectories and set
29191         uses_subdirs.
29192         (func_emit_initmacro_start, func_emit_initmacro_end,
29193         func_emit_initmacro_done): Pass all arguments explicitly.
29194         (func_import): Determine two module lists main_modules,
29195         testsrelated_modules. Determine use_libtests. Determine two variables
29196         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
29197         instead of just sed_transform_lib_file. Determine two variables
29198         main_files and testsrelated_files. Compute 'files' as the union of
29199         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
29200         func_add_or_update. In the generated gnulib-comp.m4, collect the
29201         object files for tests/ in different variables than those for lib/.
29202         Substitute LIBTESTS_LIBDEPS.
29203         (func_create_testdir): Combine the uses_subdirs results from
29204         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
29205
29206 2007-12-09  Bruno Haible  <bruno@clisp.org>
29207
29208         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29209         the build-aux directory.
29210
29211 2007-12-09  Bruno Haible  <bruno@clisp.org>
29212
29213         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29214         introduced on 2006-09-09.
29215
29216 2007-12-07  Jim Meyering  <meyering@redhat.com>
29217
29218         Let these macros work also with autoconf-2.59.
29219         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29220         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29221         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29222
29223 2007-12-06  Jim Meyering  <meyering@redhat.com>
29224
29225         Avoid a configure-time syntax error in gl_FUNC_ACL.
29226         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29227         function in each branch, before testing the cache variable.
29228
29229 2007-12-04  Eric Blake  <ebb9@byu.net>
29230
29231         Make scripts executable.
29232         * build-aux/config.guess: Add execute permissions.
29233         * build-aux/config.sub: Likewise.
29234         * build-aux/gendocs.sh: Likewise.
29235
29236         Fix frexp on mingw.
29237         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29238         cross-compiling.
29239         * doc/functions/frexp.texi (frexp): Document the bug.
29240
29241         Make cygwin fseeko check more reliable.
29242         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29243         version numbers, rather than unrelated feature check.
29244         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29245         * doc/functions/ftello.texi (ftello): Likewise.
29246         Reported by Bruno Haible.
29247
29248         * m4/strerror.m4: Bump version number.
29249
29250 2007-12-03  Bruno Haible  <bruno@clisp.org>
29251
29252         * doc/functions/mprotect.texi: Mention the mingw problem.
29253
29254 2007-12-03  Eric Blake  <ebb9@byu.net>
29255
29256         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29257         REPLACE_STRERROR is initialized before this macro.
29258
29259 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29260
29261         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29262         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29263         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29264         put -lsec in even for programs other than 'ls'.  This fixes a problem
29265         for gettext reported by Bruno Haible in
29266         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29267         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29268         Add support for Solaris 10.  This isn't efficient, but should get the
29269         job done for now.
29270
29271 2007-12-03  James Youngman  <jay@gnu.org>
29272
29273         * doc/regexprops-generic.texi: change "an close-group" to "a
29274         close-group" and "illegal" to "not allowed".
29275
29276 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29277
29278         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29279         pr_byname.h. Needed for the rare case when the maintainer has done
29280         "make maintainer-clean" in the source directory and then attempts a
29281         build outside the source directory.
29282         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29283         scripts_byname.h.
29284
29285 2007-12-02  Martin Lambers <marlam@marlam.de>
29286             Bruno Haible  <bruno@clisp.org>
29287
29288         * lib/getpagesize.h: Remove file.
29289         * lib/unistd.in.h: Include declaration of getpagesize here.
29290         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29291         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29292         HAVE_SYS_PARAM_H.
29293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29294         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29295         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29296         (Depends-on): Add unistd.
29297         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29298         (Include): Use <unistd.h> instead of getpagesize.h.
29299         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29300         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29301         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29302         gl_GETPAGESIZE invocation, already handled by module dependency.
29303         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29304
29305 2007-12-02  Bruno Haible  <bruno@clisp.org>
29306
29307         * modules/strings-tests: New file.
29308         * tests/test-strings.c: New file.
29309
29310         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29311         * lib/strings.in.h: New file.
29312         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29313         * m4/strings_h.m4: New file.
29314         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29315         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29316         * modules/strings: New file.
29317         * modules/string (Makefile.am): Update.
29318         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29319         Reported by Karl Berry.
29320
29321 2007-12-01  Eric Blake  <ebb9@byu.net>
29322
29323         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29324         accomodate fix in cygwin 1.5.25.
29325
29326 2007-12-01  Jim Meyering  <meyering@redhat.com>
29327
29328         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29329         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29330         that would inhibit utf8-optimization of a regexp containing line-
29331         or buffer-anchors, e.g., `^', `$'.
29332
29333 2007-11-30  Bruno Haible  <bruno@clisp.org>
29334
29335         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29336         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29337         glthread_recursive_lock_init.
29338         * lib/lock.c (glthread_recursive_lock_init)
29339         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29340         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29341
29342 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29343
29344         New function qset_acl, like set_acl but with syscall semantics.
29345         * lib/acl.h (qset_acl): New decl.
29346         * lib/acl.c (qset_acl): New function.
29347         (set_acl): Use new function.  Use more-consistent diagnostics.
29348
29349 2007-11-28  Jim Meyering  <meyering@redhat.com>
29350
29351         * modules/physmem (License): Change from GPL to LGPLv2+.
29352
29353 2007-11-26  Bruno Haible  <bruno@clisp.org>
29354
29355         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29356         'long double' type has excess precision.
29357         Reported by Jim Meyering in
29358         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29359
29360 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29361
29362         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29363         Sync from <http://gnu.org/licenses>.
29364         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29365         with license text from same location.
29366         * doc/maintain.texi, doc/standards.texi:  Sync from
29367         <http://savannah.gnu.org/projects/gnustandards>.
29368
29369 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
29370         and Jim Meyering  <meyering@redhat.com>
29371
29372         Adjust getdate' grammar to accept a slightly more regular language.
29373         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29374         Before, the former was rejected.
29375         * lib/getdate.y (digits_to_date_time): New function, factored
29376         out of ...
29377         (number): ...here.  Just call digits_to_date_time.
29378         (hybrid): New non-terminal to handle an <unsigned number,
29379         signed relative offset> sequence consistently.
29380
29381 2007-11-18  Jim Meyering  <meyering@redhat.com>
29382
29383         Pull my changes from coreutils:
29384         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29385         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29386         use of $gnulib_tool_option_extras, so that it's separated from the
29387         preceding argument.
29388
29389         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29390         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29391         parent destination directories before copying a file into place.
29392
29393 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29394
29395         bootstrap: work also with 4-argument variant of AC_INIT
29396         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29397
29398 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29399
29400         Port test-getaddrinfo to Solaris.
29401         Problem reported by Bruno Haible in
29402         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29403         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29404         explanation of setting 'hints'.
29405         Don't reject an implementation merely because it returns EAI_SERVICE.
29406         (EAI_SERVICE): Define to 0 if not defined.
29407
29408 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29409
29410         The license of gnu-make and posix-shell is now "GPLed build tool".
29411         * modules/gnu-make (License): Likewise.
29412         * modules/posix-shell (License): Likewise.
29413
29414         New module posix-shell, for determining a POSIX shell
29415         or perhaps something that is close enough to a POSIX shell.
29416         * m4/posix-shell.m4: New file.
29417         * modules/posix-shell: New file.
29418
29419         * MODULES.html.sh: Mention new module.
29420
29421         New module gnu-make, for determining whether we're using GNU Make.
29422         * m4/gnu-make.m4: New file.
29423         * modules/gnu-make: New file.
29424         * MODULES.html.sh: Mention new module.
29425
29426 2007-11-14  Jim Meyering  <meyering@redhat.com>
29427
29428         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
29429         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
29430         use this macro to create a function _definition_.
29431         Remove useless "#undef ARGMATCH_DIE".
29432
29433 2007-11-14  Bruno Haible  <bruno@clisp.org>
29434
29435         * lib/config.charset: Update for OpenBSD 4.1.
29436         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
29437
29438 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
29439
29440         Document 64-bit #if problems in stdint.texi.
29441         * doc/headers/stdint.texi (stdint.h): Mention problems with
29442         64-bit-#if, and how to work around them.
29443
29444         Don't insist on 'long long int' support in the preprocessor.  It
29445         breaks too many things.  For example, PRIdMAX still uses a 'long
29446         long int' format with the latest Sun compiler, even though
29447         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29448         preprocessor problem.  This causes the latest coreutils to dump
29449         core on Solaris 10 sparc with the Sun C compiler.
29450         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29451         the troublesome expressions at configure-time, not at #if-time.
29452         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29453         preprocessor.
29454         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29455         compile-time C checks, done at 'configure'-time.
29456         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29457         * modules/inttypes (Makefile): Substitute the new symbols that
29458         gl_INTTYPES_H now generates.
29459         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29460
29461 2007-11-12  Bruno Haible  <bruno@clisp.org>
29462
29463         Tests for Unicode character classification functions.
29464
29465         * modules/unictype/bidicategory-byname-tests: New file.
29466         * modules/unictype/bidicategory-name-tests: New file.
29467         * modules/unictype/bidicategory-of-tests: New file.
29468         * modules/unictype/bidicategory-test-tests: New file.
29469         * modules/unictype/block-list-tests: New file.
29470         * modules/unictype/block-of-tests: New file.
29471         * modules/unictype/block-test-tests: New file.
29472         * modules/unictype/category-C-tests: New file.
29473         * modules/unictype/category-Cc-tests: New file.
29474         * modules/unictype/category-Cf-tests: New file.
29475         * modules/unictype/category-Cn-tests: New file.
29476         * modules/unictype/category-Co-tests: New file.
29477         * modules/unictype/category-Cs-tests: New file.
29478         * modules/unictype/category-L-tests: New file.
29479         * modules/unictype/category-Ll-tests: New file.
29480         * modules/unictype/category-Lm-tests: New file.
29481         * modules/unictype/category-Lo-tests: New file.
29482         * modules/unictype/category-Lt-tests: New file.
29483         * modules/unictype/category-Lu-tests: New file.
29484         * modules/unictype/category-M-tests: New file.
29485         * modules/unictype/category-Mc-tests: New file.
29486         * modules/unictype/category-Me-tests: New file.
29487         * modules/unictype/category-Mn-tests: New file.
29488         * modules/unictype/category-N-tests: New file.
29489         * modules/unictype/category-Nd-tests: New file.
29490         * modules/unictype/category-Nl-tests: New file.
29491         * modules/unictype/category-No-tests: New file.
29492         * modules/unictype/category-P-tests: New file.
29493         * modules/unictype/category-Pc-tests: New file.
29494         * modules/unictype/category-Pd-tests: New file.
29495         * modules/unictype/category-Pe-tests: New file.
29496         * modules/unictype/category-Pf-tests: New file.
29497         * modules/unictype/category-Pi-tests: New file.
29498         * modules/unictype/category-Po-tests: New file.
29499         * modules/unictype/category-Ps-tests: New file.
29500         * modules/unictype/category-S-tests: New file.
29501         * modules/unictype/category-Sc-tests: New file.
29502         * modules/unictype/category-Sk-tests: New file.
29503         * modules/unictype/category-Sm-tests: New file.
29504         * modules/unictype/category-So-tests: New file.
29505         * modules/unictype/category-Z-tests: New file.
29506         * modules/unictype/category-Zl-tests: New file.
29507         * modules/unictype/category-Zp-tests: New file.
29508         * modules/unictype/category-Zs-tests: New file.
29509         * modules/unictype/category-and-not-tests: New file.
29510         * modules/unictype/category-and-tests: New file.
29511         * modules/unictype/category-byname-tests: New file.
29512         * modules/unictype/category-name-tests: New file.
29513         * modules/unictype/category-none-tests: New file.
29514         * modules/unictype/category-of-tests: New file.
29515         * modules/unictype/category-or-tests: New file.
29516         * modules/unictype/category-test-withtable-tests: New file.
29517         * modules/unictype/combining-class-tests: New file.
29518         * modules/unictype/ctype-alnum-tests: New file.
29519         * modules/unictype/ctype-alpha-tests: New file.
29520         * modules/unictype/ctype-blank-tests: New file.
29521         * modules/unictype/ctype-cntrl-tests: New file.
29522         * modules/unictype/ctype-digit-tests: New file.
29523         * modules/unictype/ctype-graph-tests: New file.
29524         * modules/unictype/ctype-lower-tests: New file.
29525         * modules/unictype/ctype-print-tests: New file.
29526         * modules/unictype/ctype-punct-tests: New file.
29527         * modules/unictype/ctype-space-tests: New file.
29528         * modules/unictype/ctype-upper-tests: New file.
29529         * modules/unictype/ctype-xdigit-tests: New file.
29530         * modules/unictype/decimal-digit-tests: New file.
29531         * modules/unictype/digit-tests: New file.
29532         * modules/unictype/mirror-tests: New file.
29533         * modules/unictype/numeric-tests: New file.
29534         * modules/unictype/property-alphabetic-tests: New file.
29535         * modules/unictype/property-ascii-hex-digit-tests: New file.
29536         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29537         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29538         * modules/unictype/property-bidi-block-separator-tests: New file.
29539         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29540         * modules/unictype/property-bidi-common-separator-tests: New file.
29541         * modules/unictype/property-bidi-control-tests: New file.
29542         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29543         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29544         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29545         * modules/unictype/property-bidi-european-digit-tests: New file.
29546         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29547         * modules/unictype/property-bidi-left-to-right-tests: New file.
29548         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29549         * modules/unictype/property-bidi-other-neutral-tests: New file.
29550         * modules/unictype/property-bidi-pdf-tests: New file.
29551         * modules/unictype/property-bidi-segment-separator-tests: New file.
29552         * modules/unictype/property-bidi-whitespace-tests: New file.
29553         * modules/unictype/property-byname-tests: New file.
29554         * modules/unictype/property-combining-tests: New file.
29555         * modules/unictype/property-composite-tests: New file.
29556         * modules/unictype/property-currency-symbol-tests: New file.
29557         * modules/unictype/property-dash-tests: New file.
29558         * modules/unictype/property-decimal-digit-tests: New file.
29559         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29560         * modules/unictype/property-deprecated-tests: New file.
29561         * modules/unictype/property-diacritic-tests: New file.
29562         * modules/unictype/property-extender-tests: New file.
29563         * modules/unictype/property-format-control-tests: New file.
29564         * modules/unictype/property-grapheme-base-tests: New file.
29565         * modules/unictype/property-grapheme-extend-tests: New file.
29566         * modules/unictype/property-grapheme-link-tests: New file.
29567         * modules/unictype/property-hex-digit-tests: New file.
29568         * modules/unictype/property-hyphen-tests: New file.
29569         * modules/unictype/property-id-continue-tests: New file.
29570         * modules/unictype/property-id-start-tests: New file.
29571         * modules/unictype/property-ideographic-tests: New file.
29572         * modules/unictype/property-ids-binary-operator-tests: New file.
29573         * modules/unictype/property-ids-trinary-operator-tests: New file.
29574         * modules/unictype/property-ignorable-control-tests: New file.
29575         * modules/unictype/property-iso-control-tests: New file.
29576         * modules/unictype/property-join-control-tests: New file.
29577         * modules/unictype/property-left-of-pair-tests: New file.
29578         * modules/unictype/property-line-separator-tests: New file.
29579         * modules/unictype/property-logical-order-exception-tests: New file.
29580         * modules/unictype/property-lowercase-tests: New file.
29581         * modules/unictype/property-math-tests: New file.
29582         * modules/unictype/property-non-break-tests: New file.
29583         * modules/unictype/property-not-a-character-tests: New file.
29584         * modules/unictype/property-numeric-tests: New file.
29585         * modules/unictype/property-other-alphabetic-tests: New file.
29586         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29587         * modules/unictype/property-other-grapheme-extend-tests: New file.
29588         * modules/unictype/property-other-id-continue-tests: New file.
29589         * modules/unictype/property-other-id-start-tests: New file.
29590         * modules/unictype/property-other-lowercase-tests: New file.
29591         * modules/unictype/property-other-math-tests: New file.
29592         * modules/unictype/property-other-uppercase-tests: New file.
29593         * modules/unictype/property-paired-punctuation-tests: New file.
29594         * modules/unictype/property-paragraph-separator-tests: New file.
29595         * modules/unictype/property-pattern-syntax-tests: New file.
29596         * modules/unictype/property-pattern-white-space-tests: New file.
29597         * modules/unictype/property-private-use-tests: New file.
29598         * modules/unictype/property-punctuation-tests: New file.
29599         * modules/unictype/property-quotation-mark-tests: New file.
29600         * modules/unictype/property-radical-tests: New file.
29601         * modules/unictype/property-sentence-terminal-tests: New file.
29602         * modules/unictype/property-soft-dotted-tests: New file.
29603         * modules/unictype/property-space-tests: New file.
29604         * modules/unictype/property-terminal-punctuation-tests: New file.
29605         * modules/unictype/property-test-tests: New file.
29606         * modules/unictype/property-titlecase-tests: New file.
29607         * modules/unictype/property-unassigned-code-value-tests: New file.
29608         * modules/unictype/property-unified-ideograph-tests: New file.
29609         * modules/unictype/property-uppercase-tests: New file.
29610         * modules/unictype/property-variation-selector-tests: New file.
29611         * modules/unictype/property-white-space-tests: New file.
29612         * modules/unictype/property-xid-continue-tests: New file.
29613         * modules/unictype/property-xid-start-tests: New file.
29614         * modules/unictype/property-zero-width-tests: New file.
29615         * modules/unictype/scripts-tests: New file.
29616         * modules/unictype/syntax-c-ident-tests: New file.
29617         * modules/unictype/syntax-c-whitespace-tests: New file.
29618         * modules/unictype/syntax-java-ident-tests: New file.
29619         * modules/unictype/syntax-java-whitespace-tests: New file.
29620         * tests/unictype/test-bidi_byname.c: New file.
29621         * tests/unictype/test-bidi_name.c: New file.
29622         * tests/unictype/test-bidi_of.c: New file.
29623         * tests/unictype/test-bidi_test.c: New file.
29624         * tests/unictype/test-block_list.c: New file.
29625         * tests/unictype/test-block_of.c: New file.
29626         * tests/unictype/test-block_test.c: New file.
29627         * tests/unictype/test-categ_and.c: New file.
29628         * tests/unictype/test-categ_and_not.c: New file.
29629         * tests/unictype/test-categ_byname.c: New file.
29630         * tests/unictype/test-categ_name.c: New file.
29631         * tests/unictype/test-categ_none.c: New file.
29632         * tests/unictype/test-categ_of.c: New file.
29633         * tests/unictype/test-categ_or.c: New file.
29634         * tests/unictype/test-categ_test_withtable.c: New file.
29635         * tests/unictype/test-combining.c: New file.
29636         * tests/unictype/test-decdigit.c: New file.
29637         * tests/unictype/test-digit.c: New file.
29638         * tests/unictype/test-mirror.c: New file.
29639         * tests/unictype/test-numeric.c: New file.
29640         * tests/unictype/test-pr_byname.c: New file.
29641         * tests/unictype/test-pr_test.c: New file.
29642         * tests/unictype/test-predicate-part1.h: New file.
29643         * tests/unictype/test-predicate-part2.h: New file.
29644         * tests/unictype/test-scripts.c: New file.
29645         * tests/unictype/test-sy_c_ident.c: New file.
29646         * tests/unictype/test-sy_java_ident.c: New file.
29647
29648         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29649         for Unicode 5.0.0.
29650         * tests/unictype/test-categ_Cc.c: Likewise.
29651         * tests/unictype/test-categ_Cf.c: Likewise.
29652         * tests/unictype/test-categ_Cn.c: Likewise.
29653         * tests/unictype/test-categ_Co.c: Likewise.
29654         * tests/unictype/test-categ_Cs.c: Likewise.
29655         * tests/unictype/test-categ_L.c: Likewise.
29656         * tests/unictype/test-categ_Ll.c: Likewise.
29657         * tests/unictype/test-categ_Lm.c: Likewise.
29658         * tests/unictype/test-categ_Lo.c: Likewise.
29659         * tests/unictype/test-categ_Lt.c: Likewise.
29660         * tests/unictype/test-categ_Lu.c: Likewise.
29661         * tests/unictype/test-categ_M.c: Likewise.
29662         * tests/unictype/test-categ_Mc.c: Likewise.
29663         * tests/unictype/test-categ_Me.c: Likewise.
29664         * tests/unictype/test-categ_Mn.c: Likewise.
29665         * tests/unictype/test-categ_N.c: Likewise.
29666         * tests/unictype/test-categ_Nd.c: Likewise.
29667         * tests/unictype/test-categ_Nl.c: Likewise.
29668         * tests/unictype/test-categ_No.c: Likewise.
29669         * tests/unictype/test-categ_P.c: Likewise.
29670         * tests/unictype/test-categ_Pc.c: Likewise.
29671         * tests/unictype/test-categ_Pd.c: Likewise.
29672         * tests/unictype/test-categ_Pe.c: Likewise.
29673         * tests/unictype/test-categ_Pf.c: Likewise.
29674         * tests/unictype/test-categ_Pi.c: Likewise.
29675         * tests/unictype/test-categ_Po.c: Likewise.
29676         * tests/unictype/test-categ_Ps.c: Likewise.
29677         * tests/unictype/test-categ_S.c: Likewise.
29678         * tests/unictype/test-categ_Sc.c: Likewise.
29679         * tests/unictype/test-categ_Sk.c: Likewise.
29680         * tests/unictype/test-categ_Sm.c: Likewise.
29681         * tests/unictype/test-categ_So.c: Likewise.
29682         * tests/unictype/test-categ_Z.c: Likewise.
29683         * tests/unictype/test-categ_Zl.c: Likewise.
29684         * tests/unictype/test-categ_Zp.c: Likewise.
29685         * tests/unictype/test-categ_Zs.c: Likewise.
29686         * tests/unictype/test-ctype_alnum.c: Likewise.
29687         * tests/unictype/test-ctype_alpha.c: Likewise.
29688         * tests/unictype/test-ctype_blank.c: Likewise.
29689         * tests/unictype/test-ctype_cntrl.c: Likewise.
29690         * tests/unictype/test-ctype_digit.c: Likewise.
29691         * tests/unictype/test-ctype_graph.c: Likewise.
29692         * tests/unictype/test-ctype_lower.c: Likewise.
29693         * tests/unictype/test-ctype_print.c: Likewise.
29694         * tests/unictype/test-ctype_punct.c: Likewise.
29695         * tests/unictype/test-ctype_space.c: Likewise.
29696         * tests/unictype/test-ctype_upper.c: Likewise.
29697         * tests/unictype/test-ctype_xdigit.c: Likewise.
29698         * tests/unictype/test-decdigit.h: Likewise.
29699         * tests/unictype/test-digit.h: Likewise.
29700         * tests/unictype/test-numeric.h: Likewise.
29701         * tests/unictype/test-pr_alphabetic.c: Likewise.
29702         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29703         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29704         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29705         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29706         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29707         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29708         * tests/unictype/test-pr_bidi_control.c: Likewise.
29709         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29710         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29711         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29712         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29713         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29714         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29715         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29716         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29717         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29718         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29719         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29720         * tests/unictype/test-pr_combining.c: Likewise.
29721         * tests/unictype/test-pr_composite.c: Likewise.
29722         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29723         * tests/unictype/test-pr_dash.c: Likewise.
29724         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29725         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29726         * tests/unictype/test-pr_deprecated.c: Likewise.
29727         * tests/unictype/test-pr_diacritic.c: Likewise.
29728         * tests/unictype/test-pr_extender.c: Likewise.
29729         * tests/unictype/test-pr_format_control.c: Likewise.
29730         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29731         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29732         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29733         * tests/unictype/test-pr_hex_digit.c: Likewise.
29734         * tests/unictype/test-pr_hyphen.c: Likewise.
29735         * tests/unictype/test-pr_id_continue.c: Likewise.
29736         * tests/unictype/test-pr_id_start.c: Likewise.
29737         * tests/unictype/test-pr_ideographic.c: Likewise.
29738         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29739         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29740         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29741         * tests/unictype/test-pr_iso_control.c: Likewise.
29742         * tests/unictype/test-pr_join_control.c: Likewise.
29743         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29744         * tests/unictype/test-pr_line_separator.c: Likewise.
29745         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29746         * tests/unictype/test-pr_lowercase.c: Likewise.
29747         * tests/unictype/test-pr_math.c: Likewise.
29748         * tests/unictype/test-pr_non_break.c: Likewise.
29749         * tests/unictype/test-pr_not_a_character.c: Likewise.
29750         * tests/unictype/test-pr_numeric.c: Likewise.
29751         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29752         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29753         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29754         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29755         * tests/unictype/test-pr_other_id_start.c: Likewise.
29756         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29757         * tests/unictype/test-pr_other_math.c: Likewise.
29758         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29759         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29760         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29761         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29762         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29763         * tests/unictype/test-pr_private_use.c: Likewise.
29764         * tests/unictype/test-pr_punctuation.c: Likewise.
29765         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29766         * tests/unictype/test-pr_radical.c: Likewise.
29767         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29768         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29769         * tests/unictype/test-pr_space.c: Likewise.
29770         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29771         * tests/unictype/test-pr_titlecase.c: Likewise.
29772         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29773         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29774         * tests/unictype/test-pr_uppercase.c: Likewise.
29775         * tests/unictype/test-pr_variation_selector.c: Likewise.
29776         * tests/unictype/test-pr_white_space.c: Likewise.
29777         * tests/unictype/test-pr_xid_continue.c: Likewise.
29778         * tests/unictype/test-pr_xid_start.c: Likewise.
29779         * tests/unictype/test-pr_zero_width.c: Likewise.
29780         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29781         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29782
29783 2007-11-12  Bruno Haible  <bruno@clisp.org>
29784
29785         Unicode character classification functions.
29786         * lib/unictype.h: New file.
29787         * modules/unictype/base: New file.
29788         * modules/unictype/category-L: New file.
29789         * modules/unictype/category-Lu: New file.
29790         * modules/unictype/category-Ll: New file.
29791         * modules/unictype/category-Lt: New file.
29792         * modules/unictype/category-Lm: New file.
29793         * modules/unictype/category-Lo: New file.
29794         * modules/unictype/category-M: New file.
29795         * modules/unictype/category-Mn: New file.
29796         * modules/unictype/category-Mc: New file.
29797         * modules/unictype/category-Me: New file.
29798         * modules/unictype/category-N: New file.
29799         * modules/unictype/category-Nd: New file.
29800         * modules/unictype/category-Nl: New file.
29801         * modules/unictype/category-No: New file.
29802         * modules/unictype/category-P: New file.
29803         * modules/unictype/category-Pc: New file.
29804         * modules/unictype/category-Pd: New file.
29805         * modules/unictype/category-Ps: New file.
29806         * modules/unictype/category-Pe: New file.
29807         * modules/unictype/category-Pi: New file.
29808         * modules/unictype/category-Pf: New file.
29809         * modules/unictype/category-Po: New file.
29810         * modules/unictype/category-S: New file.
29811         * modules/unictype/category-Sm: New file.
29812         * modules/unictype/category-Sc: New file.
29813         * modules/unictype/category-Sk: New file.
29814         * modules/unictype/category-So: New file.
29815         * modules/unictype/category-Z: New file.
29816         * modules/unictype/category-Zs: New file.
29817         * modules/unictype/category-Zl: New file.
29818         * modules/unictype/category-Zp: New file.
29819         * modules/unictype/category-C: New file.
29820         * modules/unictype/category-Cc: New file.
29821         * modules/unictype/category-Cf: New file.
29822         * modules/unictype/category-Cs: New file.
29823         * modules/unictype/category-Co: New file.
29824         * modules/unictype/category-Cn: New file.
29825         * modules/unictype/category-or: New file.
29826         * modules/unictype/category-of: New file.
29827         * modules/unictype/category-test: New file.
29828         * modules/unictype/category-test-withtable: New file.
29829         * modules/unictype/category-byname: New file.
29830         * modules/unictype/category-none: New file.
29831         * modules/unictype/category-and: New file.
29832         * modules/unictype/category-and-not: New file.
29833         * modules/unictype/category-name: New file.
29834         * modules/unictype/combining-class: New file.
29835         * modules/unictype/category-all: New file.
29836         * modules/unictype/bidicategory-all: New file.
29837         * modules/unictype/bidicategory-byname: New file.
29838         * modules/unictype/bidicategory-name: New file.
29839         * modules/unictype/bidicategory-of: New file.
29840         * modules/unictype/bidicategory-test: New file.
29841         * modules/unictype/decimal-digit: New file.
29842         * modules/unictype/digit: New file.
29843         * modules/unictype/numeric: New file.
29844         * modules/unictype/mirror: New file.
29845         * modules/unictype/property-white-space: New file.
29846         * modules/unictype/property-alphabetic: New file.
29847         * modules/unictype/property-other-alphabetic: New file.
29848         * modules/unictype/property-not-a-character: New file.
29849         * modules/unictype/property-default-ignorable-code-point: New file.
29850         * modules/unictype/property-other-default-ignorable-code-point: New
29851         file.
29852         * modules/unictype/property-deprecated: New file.
29853         * modules/unictype/property-logical-order-exception: New file.
29854         * modules/unictype/property-variation-selector: New file.
29855         * modules/unictype/property-private-use: New file.
29856         * modules/unictype/property-unassigned-code-value: New file.
29857         * modules/unictype/property-uppercase: New file.
29858         * modules/unictype/property-other-uppercase: New file.
29859         * modules/unictype/property-lowercase: New file.
29860         * modules/unictype/property-other-lowercase: New file.
29861         * modules/unictype/property-titlecase: New file.
29862         * modules/unictype/property-soft-dotted: New file.
29863         * modules/unictype/property-id-start: New file.
29864         * modules/unictype/property-other-id-start: New file.
29865         * modules/unictype/property-id-continue: New file.
29866         * modules/unictype/property-other-id-continue: New file.
29867         * modules/unictype/property-xid-start: New file.
29868         * modules/unictype/property-xid-continue: New file.
29869         * modules/unictype/property-pattern-white-space: New file.
29870         * modules/unictype/property-pattern-syntax: New file.
29871         * modules/unictype/property-join-control: New file.
29872         * modules/unictype/property-grapheme-base: New file.
29873         * modules/unictype/property-grapheme-extend: New file.
29874         * modules/unictype/property-other-grapheme-extend: New file.
29875         * modules/unictype/property-grapheme-link: New file.
29876         * modules/unictype/property-bidi-control: New file.
29877         * modules/unictype/property-bidi-left-to-right: New file.
29878         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29879         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29880         * modules/unictype/property-bidi-european-digit: New file.
29881         * modules/unictype/property-bidi-eur-num-separator: New file.
29882         * modules/unictype/property-bidi-eur-num-terminator: New file.
29883         * modules/unictype/property-bidi-arabic-digit: New file.
29884         * modules/unictype/property-bidi-common-separator: New file.
29885         * modules/unictype/property-bidi-block-separator: New file.
29886         * modules/unictype/property-bidi-segment-separator: New file.
29887         * modules/unictype/property-bidi-whitespace: New file.
29888         * modules/unictype/property-bidi-non-spacing-mark: New file.
29889         * modules/unictype/property-bidi-boundary-neutral: New file.
29890         * modules/unictype/property-bidi-pdf: New file.
29891         * modules/unictype/property-bidi-embedding-or-override: New file.
29892         * modules/unictype/property-bidi-other-neutral: New file.
29893         * modules/unictype/property-hex-digit: New file.
29894         * modules/unictype/property-ascii-hex-digit: New file.
29895         * modules/unictype/property-ideographic: New file.
29896         * modules/unictype/property-unified-ideograph: New file.
29897         * modules/unictype/property-radical: New file.
29898         * modules/unictype/property-ids-binary-operator: New file.
29899         * modules/unictype/property-ids-trinary-operator: New file.
29900         * modules/unictype/property-zero-width: New file.
29901         * modules/unictype/property-space: New file.
29902         * modules/unictype/property-non-break: New file.
29903         * modules/unictype/property-iso-control: New file.
29904         * modules/unictype/property-format-control: New file.
29905         * modules/unictype/property-dash: New file.
29906         * modules/unictype/property-hyphen: New file.
29907         * modules/unictype/property-punctuation: New file.
29908         * modules/unictype/property-line-separator: New file.
29909         * modules/unictype/property-paragraph-separator: New file.
29910         * modules/unictype/property-quotation-mark: New file.
29911         * modules/unictype/property-sentence-terminal: New file.
29912         * modules/unictype/property-terminal-punctuation: New file.
29913         * modules/unictype/property-currency-symbol: New file.
29914         * modules/unictype/property-math: New file.
29915         * modules/unictype/property-other-math: New file.
29916         * modules/unictype/property-paired-punctuation: New file.
29917         * modules/unictype/property-left-of-pair: New file.
29918         * modules/unictype/property-combining: New file.
29919         * modules/unictype/property-composite: New file.
29920         * modules/unictype/property-decimal-digit: New file.
29921         * modules/unictype/property-numeric: New file.
29922         * modules/unictype/property-diacritic: New file.
29923         * modules/unictype/property-extender: New file.
29924         * modules/unictype/property-ignorable-control: New file.
29925         * modules/unictype/property-test: New file.
29926         * modules/unictype/property-byname: New file.
29927         * modules/unictype/property-all: New file.
29928         * modules/unictype/scripts: New file.
29929         * modules/unictype/scripts-all: New file.
29930         * modules/unictype/block-of: New file.
29931         * modules/unictype/block-test: New file.
29932         * modules/unictype/block-list: New file.
29933         * modules/unictype/block-all: New file.
29934         * modules/unictype/syntax-c-whitespace: New file.
29935         * modules/unictype/syntax-java-whitespace: New file.
29936         * modules/unictype/syntax-c-ident: New file.
29937         * modules/unictype/syntax-java-ident: New file.
29938         * modules/unictype/ctype-alnum: New file.
29939         * modules/unictype/ctype-alpha: New file.
29940         * modules/unictype/ctype-cntrl: New file.
29941         * modules/unictype/ctype-digit: New file.
29942         * modules/unictype/ctype-graph: New file.
29943         * modules/unictype/ctype-lower: New file.
29944         * modules/unictype/ctype-print: New file.
29945         * modules/unictype/ctype-punct: New file.
29946         * modules/unictype/ctype-space: New file.
29947         * modules/unictype/ctype-upper: New file.
29948         * modules/unictype/ctype-xdigit: New file.
29949         * modules/unictype/ctype-blank: New file.
29950         * lib/unictype/bidi_byname.c: New file.
29951         * lib/unictype/bidi_name.c: New file.
29952         * lib/unictype/bidi_of.c: New file.
29953         * lib/unictype/bidi_test.c: New file.
29954         * lib/unictype/bitmap.h: New file.
29955         * lib/unictype/block_test.c: New file.
29956         * lib/unictype/blocks.c: New file.
29957         * lib/unictype/categ_C.c: New file.
29958         * lib/unictype/categ_Cc.c: New file.
29959         * lib/unictype/categ_Cf.c: New file.
29960         * lib/unictype/categ_Cn.c: New file.
29961         * lib/unictype/categ_Co.c: New file.
29962         * lib/unictype/categ_Cs.c: New file.
29963         * lib/unictype/categ_L.c: New file.
29964         * lib/unictype/categ_Ll.c: New file.
29965         * lib/unictype/categ_Lm.c: New file.
29966         * lib/unictype/categ_Lo.c: New file.
29967         * lib/unictype/categ_Lt.c: New file.
29968         * lib/unictype/categ_Lu.c: New file.
29969         * lib/unictype/categ_M.c: New file.
29970         * lib/unictype/categ_Mc.c: New file.
29971         * lib/unictype/categ_Me.c: New file.
29972         * lib/unictype/categ_Mn.c: New file.
29973         * lib/unictype/categ_N.c: New file.
29974         * lib/unictype/categ_Nd.c: New file.
29975         * lib/unictype/categ_Nl.c: New file.
29976         * lib/unictype/categ_No.c: New file.
29977         * lib/unictype/categ_P.c: New file.
29978         * lib/unictype/categ_Pc.c: New file.
29979         * lib/unictype/categ_Pd.c: New file.
29980         * lib/unictype/categ_Pe.c: New file.
29981         * lib/unictype/categ_Pf.c: New file.
29982         * lib/unictype/categ_Pi.c: New file.
29983         * lib/unictype/categ_Po.c: New file.
29984         * lib/unictype/categ_Ps.c: New file.
29985         * lib/unictype/categ_S.c: New file.
29986         * lib/unictype/categ_Sc.c: New file.
29987         * lib/unictype/categ_Sk.c: New file.
29988         * lib/unictype/categ_Sm.c: New file.
29989         * lib/unictype/categ_So.c: New file.
29990         * lib/unictype/categ_Z.c: New file.
29991         * lib/unictype/categ_Zl.c: New file.
29992         * lib/unictype/categ_Zp.c: New file.
29993         * lib/unictype/categ_Zs.c: New file.
29994         * lib/unictype/categ_and.c: New file.
29995         * lib/unictype/categ_and_not.c: New file.
29996         * lib/unictype/categ_byname.c: New file.
29997         * lib/unictype/categ_name.c: New file.
29998         * lib/unictype/categ_none.c: New file.
29999         * lib/unictype/categ_of.c: New file.
30000         * lib/unictype/categ_or.c: New file.
30001         * lib/unictype/categ_test.c: New file.
30002         * lib/unictype/combining.c: New file.
30003         * lib/unictype/ctype_alnum.c: New file.
30004         * lib/unictype/ctype_alpha.c: New file.
30005         * lib/unictype/ctype_blank.c: New file.
30006         * lib/unictype/ctype_cntrl.c: New file.
30007         * lib/unictype/ctype_digit.c: New file.
30008         * lib/unictype/ctype_graph.c: New file.
30009         * lib/unictype/ctype_lower.c: New file.
30010         * lib/unictype/ctype_print.c: New file.
30011         * lib/unictype/ctype_punct.c: New file.
30012         * lib/unictype/ctype_space.c: New file.
30013         * lib/unictype/ctype_upper.c: New file.
30014         * lib/unictype/ctype_xdigit.c: New file.
30015         * lib/unictype/decdigit.c: New file.
30016         * lib/unictype/digit.c: New file.
30017         * lib/unictype/identsyntaxmap.h: New file.
30018         * lib/unictype/mirror.c: New file.
30019         * lib/unictype/numeric.c: New file.
30020         * lib/unictype/pr_alphabetic.c: New file.
30021         * lib/unictype/pr_ascii_hex_digit.c: New file.
30022         * lib/unictype/pr_bidi_arabic_digit.c: New file.
30023         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
30024         * lib/unictype/pr_bidi_block_separator.c: New file.
30025         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
30026         * lib/unictype/pr_bidi_common_separator.c: New file.
30027         * lib/unictype/pr_bidi_control.c: New file.
30028         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
30029         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
30030         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
30031         * lib/unictype/pr_bidi_european_digit.c: New file.
30032         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
30033         * lib/unictype/pr_bidi_left_to_right.c: New file.
30034         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
30035         * lib/unictype/pr_bidi_other_neutral.c: New file.
30036         * lib/unictype/pr_bidi_pdf.c: New file.
30037         * lib/unictype/pr_bidi_segment_separator.c: New file.
30038         * lib/unictype/pr_bidi_whitespace.c: New file.
30039         * lib/unictype/pr_byname.c: New file.
30040         * lib/unictype/pr_byname.gperf: New file.
30041         * lib/unictype/pr_combining.c: New file.
30042         * lib/unictype/pr_composite.c: New file.
30043         * lib/unictype/pr_currency_symbol.c: New file.
30044         * lib/unictype/pr_dash.c: New file.
30045         * lib/unictype/pr_decimal_digit.c: New file.
30046         * lib/unictype/pr_default_ignorable_code_point.c: New file.
30047         * lib/unictype/pr_deprecated.c: New file.
30048         * lib/unictype/pr_diacritic.c: New file.
30049         * lib/unictype/pr_extender.c: New file.
30050         * lib/unictype/pr_format_control.c: New file.
30051         * lib/unictype/pr_grapheme_base.c: New file.
30052         * lib/unictype/pr_grapheme_extend.c: New file.
30053         * lib/unictype/pr_grapheme_link.c: New file.
30054         * lib/unictype/pr_hex_digit.c: New file.
30055         * lib/unictype/pr_hyphen.c: New file.
30056         * lib/unictype/pr_id_continue.c: New file.
30057         * lib/unictype/pr_id_start.c: New file.
30058         * lib/unictype/pr_ideographic.c: New file.
30059         * lib/unictype/pr_ids_binary_operator.c: New file.
30060         * lib/unictype/pr_ids_trinary_operator.c: New file.
30061         * lib/unictype/pr_ignorable_control.c: New file.
30062         * lib/unictype/pr_iso_control.c: New file.
30063         * lib/unictype/pr_join_control.c: New file.
30064         * lib/unictype/pr_left_of_pair.c: New file.
30065         * lib/unictype/pr_line_separator.c: New file.
30066         * lib/unictype/pr_logical_order_exception.c: New file.
30067         * lib/unictype/pr_lowercase.c: New file.
30068         * lib/unictype/pr_math.c: New file.
30069         * lib/unictype/pr_non_break.c: New file.
30070         * lib/unictype/pr_not_a_character.c: New file.
30071         * lib/unictype/pr_numeric.c: New file.
30072         * lib/unictype/pr_other_alphabetic.c: New file.
30073         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
30074         * lib/unictype/pr_other_grapheme_extend.c: New file.
30075         * lib/unictype/pr_other_id_continue.c: New file.
30076         * lib/unictype/pr_other_id_start.c: New file.
30077         * lib/unictype/pr_other_lowercase.c: New file.
30078         * lib/unictype/pr_other_math.c: New file.
30079         * lib/unictype/pr_other_uppercase.c: New file.
30080         * lib/unictype/pr_paired_punctuation.c: New file.
30081         * lib/unictype/pr_paragraph_separator.c: New file.
30082         * lib/unictype/pr_pattern_syntax.c: New file.
30083         * lib/unictype/pr_pattern_white_space.c: New file.
30084         * lib/unictype/pr_private_use.c: New file.
30085         * lib/unictype/pr_punctuation.c: New file.
30086         * lib/unictype/pr_quotation_mark.c: New file.
30087         * lib/unictype/pr_radical.c: New file.
30088         * lib/unictype/pr_sentence_terminal.c: New file.
30089         * lib/unictype/pr_soft_dotted.c: New file.
30090         * lib/unictype/pr_space.c: New file.
30091         * lib/unictype/pr_terminal_punctuation.c: New file.
30092         * lib/unictype/pr_test.c: New file.
30093         * lib/unictype/pr_titlecase.c: New file.
30094         * lib/unictype/pr_unassigned_code_value.c: New file.
30095         * lib/unictype/pr_unified_ideograph.c: New file.
30096         * lib/unictype/pr_uppercase.c: New file.
30097         * lib/unictype/pr_variation_selector.c: New file.
30098         * lib/unictype/pr_white_space.c: New file.
30099         * lib/unictype/pr_xid_continue.c: New file.
30100         * lib/unictype/pr_xid_start.c: New file.
30101         * lib/unictype/pr_zero_width.c: New file.
30102         * lib/unictype/scripts.c: New file.
30103         * lib/unictype/sy_c_ident.c: New file.
30104         * lib/unictype/sy_c_whitespace.c: New file.
30105         * lib/unictype/sy_java_ident.c: New file.
30106         * lib/unictype/sy_java_whitespace.c: New file.
30107
30108         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
30109         Unicode 5.0.0.
30110         * lib/unictype/blocks.h: Likewise.
30111         * lib/unictype/categ_C.h: Likewise.
30112         * lib/unictype/categ_Cc.h: Likewise.
30113         * lib/unictype/categ_Cf.h: Likewise.
30114         * lib/unictype/categ_Cn.h: Likewise.
30115         * lib/unictype/categ_Co.h: Likewise.
30116         * lib/unictype/categ_Cs.h: Likewise.
30117         * lib/unictype/categ_L.h: Likewise.
30118         * lib/unictype/categ_Ll.h: Likewise.
30119         * lib/unictype/categ_Lm.h: Likewise.
30120         * lib/unictype/categ_Lo.h: Likewise.
30121         * lib/unictype/categ_Lt.h: Likewise.
30122         * lib/unictype/categ_Lu.h: Likewise.
30123         * lib/unictype/categ_M.h: Likewise.
30124         * lib/unictype/categ_Mc.h: Likewise.
30125         * lib/unictype/categ_Me.h: Likewise.
30126         * lib/unictype/categ_Mn.h: Likewise.
30127         * lib/unictype/categ_N.h: Likewise.
30128         * lib/unictype/categ_Nd.h: Likewise.
30129         * lib/unictype/categ_Nl.h: Likewise.
30130         * lib/unictype/categ_No.h: Likewise.
30131         * lib/unictype/categ_P.h: Likewise.
30132         * lib/unictype/categ_Pc.h: Likewise.
30133         * lib/unictype/categ_Pd.h: Likewise.
30134         * lib/unictype/categ_Pe.h: Likewise.
30135         * lib/unictype/categ_Pf.h: Likewise.
30136         * lib/unictype/categ_Pi.h: Likewise.
30137         * lib/unictype/categ_Po.h: Likewise.
30138         * lib/unictype/categ_Ps.h: Likewise.
30139         * lib/unictype/categ_S.h: Likewise.
30140         * lib/unictype/categ_Sc.h: Likewise.
30141         * lib/unictype/categ_Sk.h: Likewise.
30142         * lib/unictype/categ_Sm.h: Likewise.
30143         * lib/unictype/categ_So.h: Likewise.
30144         * lib/unictype/categ_Z.h: Likewise.
30145         * lib/unictype/categ_Zl.h: Likewise.
30146         * lib/unictype/categ_Zp.h: Likewise.
30147         * lib/unictype/categ_Zs.h: Likewise.
30148         * lib/unictype/categ_of.h: Likewise.
30149         * lib/unictype/combining.h: Likewise.
30150         * lib/unictype/ctype_alnum.h: Likewise.
30151         * lib/unictype/ctype_alpha.h: Likewise.
30152         * lib/unictype/ctype_blank.h: Likewise.
30153         * lib/unictype/ctype_cntrl.h: Likewise.
30154         * lib/unictype/ctype_digit.h: Likewise.
30155         * lib/unictype/ctype_graph.h: Likewise.
30156         * lib/unictype/ctype_lower.h: Likewise.
30157         * lib/unictype/ctype_print.h: Likewise.
30158         * lib/unictype/ctype_punct.h: Likewise.
30159         * lib/unictype/ctype_space.h: Likewise.
30160         * lib/unictype/ctype_upper.h: Likewise.
30161         * lib/unictype/ctype_xdigit.h: Likewise.
30162         * lib/unictype/decdigit.h: Likewise.
30163         * lib/unictype/digit.h: Likewise.
30164         * lib/unictype/mirror.h: Likewise.
30165         * lib/unictype/numeric.h: Likewise.
30166         * lib/unictype/pr_alphabetic.h: Likewise.
30167         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
30168         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
30169         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
30170         * lib/unictype/pr_bidi_block_separator.h: Likewise.
30171         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
30172         * lib/unictype/pr_bidi_common_separator.h: Likewise.
30173         * lib/unictype/pr_bidi_control.h: Likewise.
30174         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
30175         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
30176         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
30177         * lib/unictype/pr_bidi_european_digit.h: Likewise.
30178         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
30179         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
30180         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
30181         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
30182         * lib/unictype/pr_bidi_pdf.h: Likewise.
30183         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
30184         * lib/unictype/pr_bidi_whitespace.h: Likewise.
30185         * lib/unictype/pr_combining.h: Likewise.
30186         * lib/unictype/pr_composite.h: Likewise.
30187         * lib/unictype/pr_currency_symbol.h: Likewise.
30188         * lib/unictype/pr_dash.h: Likewise.
30189         * lib/unictype/pr_decimal_digit.h: Likewise.
30190         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
30191         * lib/unictype/pr_deprecated.h: Likewise.
30192         * lib/unictype/pr_diacritic.h: Likewise.
30193         * lib/unictype/pr_extender.h: Likewise.
30194         * lib/unictype/pr_format_control.h: Likewise.
30195         * lib/unictype/pr_grapheme_base.h: Likewise.
30196         * lib/unictype/pr_grapheme_extend.h: Likewise.
30197         * lib/unictype/pr_grapheme_link.h: Likewise.
30198         * lib/unictype/pr_hex_digit.h: Likewise.
30199         * lib/unictype/pr_hyphen.h: Likewise.
30200         * lib/unictype/pr_id_continue.h: Likewise.
30201         * lib/unictype/pr_id_start.h: Likewise.
30202         * lib/unictype/pr_ideographic.h: Likewise.
30203         * lib/unictype/pr_ids_binary_operator.h: Likewise.
30204         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
30205         * lib/unictype/pr_ignorable_control.h: Likewise.
30206         * lib/unictype/pr_iso_control.h: Likewise.
30207         * lib/unictype/pr_join_control.h: Likewise.
30208         * lib/unictype/pr_left_of_pair.h: Likewise.
30209         * lib/unictype/pr_line_separator.h: Likewise.
30210         * lib/unictype/pr_logical_order_exception.h: Likewise.
30211         * lib/unictype/pr_lowercase.h: Likewise.
30212         * lib/unictype/pr_math.h: Likewise.
30213         * lib/unictype/pr_non_break.h: Likewise.
30214         * lib/unictype/pr_not_a_character.h: Likewise.
30215         * lib/unictype/pr_numeric.h: Likewise.
30216         * lib/unictype/pr_other_alphabetic.h: Likewise.
30217         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30218         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30219         * lib/unictype/pr_other_id_continue.h: Likewise.
30220         * lib/unictype/pr_other_id_start.h: Likewise.
30221         * lib/unictype/pr_other_lowercase.h: Likewise.
30222         * lib/unictype/pr_other_math.h: Likewise.
30223         * lib/unictype/pr_other_uppercase.h: Likewise.
30224         * lib/unictype/pr_paired_punctuation.h: Likewise.
30225         * lib/unictype/pr_paragraph_separator.h: Likewise.
30226         * lib/unictype/pr_pattern_syntax.h: Likewise.
30227         * lib/unictype/pr_pattern_white_space.h: Likewise.
30228         * lib/unictype/pr_private_use.h: Likewise.
30229         * lib/unictype/pr_punctuation.h: Likewise.
30230         * lib/unictype/pr_quotation_mark.h: Likewise.
30231         * lib/unictype/pr_radical.h: Likewise.
30232         * lib/unictype/pr_sentence_terminal.h: Likewise.
30233         * lib/unictype/pr_soft_dotted.h: Likewise.
30234         * lib/unictype/pr_space.h: Likewise.
30235         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30236         * lib/unictype/pr_titlecase.h: Likewise.
30237         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30238         * lib/unictype/pr_unified_ideograph.h: Likewise.
30239         * lib/unictype/pr_uppercase.h: Likewise.
30240         * lib/unictype/pr_variation_selector.h: Likewise.
30241         * lib/unictype/pr_white_space.h: Likewise.
30242         * lib/unictype/pr_xid_continue.h: Likewise.
30243         * lib/unictype/pr_xid_start.h: Likewise.
30244         * lib/unictype/pr_zero_width.h: Likewise.
30245         * lib/unictype/scripts.h: Likewise.
30246         * lib/unictype/scripts_byname.gperf: Likewise.
30247         * lib/unictype/sy_c_ident.h: Likewise.
30248         * lib/unictype/sy_c_whitespace.h: Likewise.
30249         * lib/unictype/sy_java_ident.h: Likewise.
30250         * lib/unictype/sy_java_whitespace.h: Likewise.
30251
30252         * lib/unictype/Makefile: New file.
30253         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30254         glibc.
30255         * lib/unictype/3level.h: New file, copied from glibc.
30256         * lib/unictype/3levelbit.h: New file.
30257
30258 2007-11-11  Bruno Haible  <bruno@clisp.org>
30259
30260         * modules/gperf: New file.
30261         * modules/iconv_open (Depends-on): Add it.
30262         (Makefile.am): Remove the GPERF definition.
30263
30264 2007-11-11  Bruno Haible  <bruno@clisp.org>
30265
30266         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30267         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30268
30269 2007-11-11  Bruno Haible  <bruno@clisp.org>
30270
30271         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30272         (usage): Remove function.
30273
30274 2007-11-11  Bruno Haible  <bruno@clisp.org>
30275
30276         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30277         gl_FUNC_CEILF_LIBS.
30278         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30279         gl_FUNC_CEIL_LIBS.
30280         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30281         gl_FUNC_CEILL_LIBS.
30282         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30283         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30284         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30285
30286 2007-11-11  Bruno Haible  <bruno@clisp.org>
30287
30288         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30289         roundf were declared but do not exist on functions.
30290         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30291         roundl were declared but do not exist on functions.
30292         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30293         HAVE_FLOORL_AND_CEILL, respectively.
30294         Needed for Sun C on Solaris 10.
30295
30296 2007-11-11  Bruno Haible  <bruno@clisp.org>
30297
30298         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30299         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30300         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30301         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30302         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30303         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30304         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30305         HAVE_DECL_ROUNDF.
30306         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30307         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30308         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30309         of HAVE_DECL_ROUND*.
30310         * modules/math (Makefile.am): Update.
30311
30312 2007-11-10  Bruno Haible  <bruno@clisp.org>
30313
30314         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30315         ptrdiff_t as m4/intl.m4.
30316
30317 2007-11-10  Jim Meyering  <meyering@redhat.com>
30318
30319         Avoid link failure for the argmatch test.
30320         * tests/test-argmatch.c (usage): Define function to avoid a link
30321         failure: argmatch_die requires a usage function.
30322
30323 2007-11-09  Bruno Haible  <bruno@clisp.org>
30324
30325         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30326         * doc/functions/vsnprintf.texi: Likewise.
30327         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30328         with a size argument < 2.
30329
30330 2007-11-09  Bruno Haible  <bruno@clisp.org>
30331
30332         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30333         buffer. Fixes an inefficiency introduced on 2007-11-03.
30334
30335 2007-11-09  Bruno Haible  <bruno@clisp.org>
30336
30337         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30338         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30339
30340 2007-11-08  Jim Meyering  <meyering@redhat.com>
30341
30342         Change cache variable name prefix "jm_" to "gl_" everywhere.
30343         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30344         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30345         * m4/uptime.m4: s/gl_/jm_/
30346
30347 2007-11-07  Bruno Haible  <bruno@clisp.org>
30348
30349         Update to GNU gettext 0.17.
30350         * m4/intl.m4: Update to GNU gettext 0.17.
30351         * m4/po.m4: Likewise.
30352         * modules/gettext (Files): Remove m4/ulonglong.m4.
30353         (configure.ac): Require gettext infrastructure from version 0.17.
30354
30355 2007-11-06  Bruno Haible  <bruno@clisp.org>
30356
30357         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30358         symbolic values are not defined in a public header.
30359         * lib/freadable.c (freadable) [QNX]: Likewise.
30360         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30361         * lib/freading.c (freading) [QNX]: Likewise.
30362         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30363         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30364         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30365         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30366         Reported by Alain Magloire.
30367
30368         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30369
30370 2007-11-05  Bruno Haible  <bruno@clisp.org>
30371
30372         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30373         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30374         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30375         Reported by Eric Blake.
30376
30377 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30378             Bruno Haible  <bruno@clisp.org>
30379
30380         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30381         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30382         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30383         (malloc): Undefine also before including <stdlib.h>.
30384         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30385         Needed on OSF/1 4.0.
30386
30387 2007-11-05  Jim Meyering  <meyering@redhat.com>
30388
30389         git-version-gen: sync from coreutils.
30390         * build-aux/git-version-gen: Add comments.
30391         Change the first '-' to '.' in the snapshot version string,
30392         e.g., 6.9-377-08144 -> 6.9.377-08144
30393         Remove first parameter.
30394         Don't declare a version "-dirty" merely because a time
30395         stamp has changed.
30396
30397 2007-11-04  Bruno Haible  <bruno@clisp.org>
30398
30399         * lib/lock.h: Protect all macro definitions containing an 'if'
30400         statement through a "do { ... } while (0)".
30401         * lib/tls.h: Likewise.
30402
30403 2007-11-04  Bruno Haible  <bruno@clisp.org>
30404
30405         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30406
30407 2007-11-04  Bruno Haible  <bruno@clisp.org>
30408
30409         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30410         * modules/fprintf-posix (Depends-on): Add nocrash.
30411         * modules/snprintf-posix (Depends-on): Likewise.
30412         * modules/sprintf-posix (Depends-on): Likewise.
30413         * modules/vasnprintf-posix (Depends-on): Likewise.
30414         * modules/vasprintf-posix (Depends-on): Likewise.
30415         * modules/vfprintf-posix (Depends-on): Likewise.
30416         * modules/vsnprintf-posix (Depends-on): Likewise.
30417         * modules/vsprintf-posix (Depends-on): Likewise.
30418         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30419         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30420         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30421         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30422         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30423         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30424         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30425
30426 2007-11-04  Bruno Haible  <bruno@clisp.org>
30427
30428         * modules/nocrash: New file.
30429         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
30430         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
30431
30432 2007-11-04  Bruno Haible  <bruno@clisp.org>
30433
30434         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
30435         precision handling.
30436         * tests/test-vasprintf-posix.c (test_function): Likewise.
30437         * tests/test-snprintf-posix.h (test_function): Likewise.
30438         * tests/test-sprintf-posix.h (test_function): Likewise.
30439
30440         Fix *printf behaviour for large precisions on mingw and BeOS.
30441         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
30442         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
30443         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
30444         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30445         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30446         gl_PRINTF_PRECISION and test its result. Invoke
30447         gl_PREREQ_VASNPRINTF_PRECISION.
30448         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30449         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30450         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30451         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30452         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30453         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30454         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30455         * doc/functions/fprintf.texi: Update.
30456         * doc/functions/printf.texi: Update.
30457         * doc/functions/snprintf.texi: Update.
30458         * doc/functions/sprintf.texi: Update.
30459         * doc/functions/vfprintf.texi: Update.
30460         * doc/functions/vprintf.texi: Update.
30461         * doc/functions/vsnprintf.texi: Update.
30462         * doc/functions/vsprintf.texi: Update.
30463
30464 2007-11-04  Bruno Haible  <bruno@clisp.org>
30465
30466         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30467
30468 2007-11-04  Bruno Haible  <bruno@clisp.org>
30469
30470         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30471         Reported by Sylvain Beucler <beuc@gnu.org>.
30472
30473 2007-11-03  Bruno Haible  <bruno@clisp.org>
30474
30475         * tests/test-fprintf-posix2.sh: New file.
30476         * tests/test-fprintf-posix2.c: New file.
30477         * modules/fprintf-posix-tests (Files): Add them.
30478         (TESTS): Add test-fprintf-posix2.sh.
30479         (configure.ac): Check for getrlimit and setrlimit.
30480         (check_PROGRAMS): Add test-fprintf-posix2.
30481
30482         * tests/test-printf-posix2.sh: New file.
30483         * tests/test-printf-posix2.c: New file.
30484         * modules/printf-posix-tests (Files): Add them.
30485         (TESTS): Add test-printf-posix2.sh.
30486         (configure.ac): Check for getrlimit and setrlimit.
30487         (check_PROGRAMS): Add test-printf-posix2.
30488
30489         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30490         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30491         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30492         (decode_double): New function, copied from decode_long_double.
30493         (scale10_round_decimal_decoded): New function, extracted from
30494         scale10_round_decimal_long_double.
30495         (scale10_round_decimal_long_double): Use it.
30496         (scale10_round_decimal_double): New function.
30497         (floorlog10): New function.
30498         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30499         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30500         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30501         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30502         gl_PRINTF_ENOMEM and test its result. Invoke
30503         gl_PREREQ_VASNPRINTF_ENOMEM.
30504         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30505         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30506         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30507         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30508         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30509         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30510         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30511         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30512         * modules/snprintf-posix (Depends-on): Likewise.
30513         * modules/sprintf-posix (Depends-on): Likewise.
30514         * modules/vasnprintf-posix (Depends-on): Likewise.
30515         * modules/vasprintf-posix (Depends-on): Likewise.
30516         * modules/vfprintf-posix (Depends-on): Likewise.
30517         * modules/vsnprintf-posix (Depends-on): Likewise.
30518         * modules/vsprintf-posix (Depends-on): Likewise.
30519         * doc/functions/fprintf.texi: Update.
30520         * doc/functions/printf.texi: Update.
30521         * doc/functions/snprintf.texi: Update.
30522         * doc/functions/sprintf.texi: Update.
30523         * doc/functions/vfprintf.texi: Update.
30524         * doc/functions/vprintf.texi: Update.
30525         * doc/functions/vsnprintf.texi: Update.
30526         * doc/functions/vsprintf.texi: Update.
30527
30528 2007-11-03  Bruno Haible  <bruno@clisp.org>
30529
30530         * modules/frexp-nolibm-tests: New file.
30531
30532         * modules/frexp-nolibm: New file.
30533         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30534
30535 2007-11-03  Bruno Haible  <bruno@clisp.org>
30536
30537         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30538         value is C99 compliant.
30539         Needed for OSF/1 5.1.
30540
30541 2007-11-03  Bruno Haible  <bruno@clisp.org>
30542
30543         Fix out-of-memory handling of vasnprintf.
30544         * lib/printf-parse.c: Include <errno.h>.
30545         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30546         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30547         is already set.
30548
30549 2007-11-02  Eric Blake  <ebb9@byu.net>
30550
30551         Fix tests on cygwin.
30552         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30553
30554 2007-11-01  Bruno Haible  <bruno@clisp.org>
30555
30556         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30557         warning.
30558         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30559         needed for POSIX compatibility.
30560
30561 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30562
30563         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30564         for compatibility with GNU.
30565
30566 2007-11-01  Bruno Haible  <bruno@clisp.org>
30567
30568         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30569         (putenv): Renamed from rpl_putenv. Change argument type from
30570         'const char *' to 'char *'.
30571         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30572         of defining putenv in config.h, just set REPLACE_PUTENV.
30573         * modules/putenv (Depends-on): Add stdlib.
30574         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30575         (Include): Use <stdlib.h>.
30576         * lib/stdlib.in.h (putenv): New declaration.
30577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30578         REPLACE_PUTENV.
30579         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30580         REPLACE_PUTENV.
30581         Needed for MacOS X 10.5.0.
30582         Reported by Peter O'Gorman <peter@pogma.com>.
30583
30584 2007-11-01  Jim Meyering  <meyering@redhat.com>
30585
30586         Treat an empty date string exactly like "0".
30587         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30588         if the remaining date string (to be parsed) is empty, use "0".
30589         Reported by Mischa Molhoek and discussed in this thread:
30590         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30591
30592 2007-10-31  Bruno Haible  <bruno@clisp.org>
30593
30594         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30595         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30596         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30597         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30598         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30599         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30600
30601 2007-10-31  Bruno Haible  <bruno@clisp.org>
30602
30603         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30604         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30605         (AC_TYPE_LONG_LONG_INT): Use it.
30606         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30607         it as well.
30608         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30609         to m4/longlong.m4.
30610         * modules/stdint (Files): Remove m4/ulonglong.m4.
30611         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30612         m4/ulonglong.m4.
30613         * modules/strtoumax (Files): Likewise.
30614
30615 2007-10-30  Bruno Haible  <bruno@clisp.org>
30616
30617         * modules/xvasprintf-posix: New file.
30618         Suggested by Eric Blake.
30619
30620 2007-10-30  Bruno Haible  <bruno@clisp.org>
30621
30622         * modules/xprintf-posix-tests: New file.
30623         * tests/test-xprintf-posix.sh: New file.
30624         * tests/test-xprintf-posix.c: New file.
30625         * tests/test-xfprintf-posix.c: New file.
30626
30627         * modules/xprintf-posix: New file.
30628
30629 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30630
30631         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30632         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30633         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30634
30635 2007-10-29  Bruno Haible  <bruno@clisp.org>
30636
30637         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30638         contain the special marker '_cv_'.
30639         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30640         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30641         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30642         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30643         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30644         Reported by Ralf Wildenhues.
30645
30646 2007-10-29  Bruno Haible  <bruno@clisp.org>
30647
30648         * gnulib-tool (func_import): When --lgpl is not specified, set
30649         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30650         GPLv3.
30651         Reported by Simon Josefsson.
30652
30653 2007-10-28  Bruno Haible  <bruno@clisp.org>
30654
30655         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30656         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30657         HAVE_DECL_ISFINITE.
30658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30659         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30660         HAVE_DECL_ISFINITE.
30661
30662 2007-10-28  Bruno Haible  <bruno@clisp.org>
30663
30664         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30665         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30666
30667 2007-10-28  Bruno Haible  <bruno@clisp.org>
30668
30669         Fix link errors with Sun C 5.0 on Solaris 10.
30670         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30671         function is declared but not present in the compiler's libm.
30672         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30673         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30674         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30675         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30676         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30677         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30678         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30680         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30681         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30682         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30683         HAVE_DECL_FLOORL.
30684
30685 2007-10-28  Bruno Haible  <bruno@clisp.org>
30686
30687         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30688         gl_FUNC_FLOORL. Cache the result.
30689         (gl_FUNC_FLOORL): Use it.
30690         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30691         gl_FUNC_CEILL. Cache the result.
30692         (gl_FUNC_CEILL): Use it.
30693
30694         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30695         gl_FUNC_FLOOR. Cache the result.
30696         (gl_FUNC_FLOOR): Use it.
30697         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30698         gl_FUNC_CEIL. Cache the result.
30699         (gl_FUNC_CEIL): Use it.
30700
30701         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30702         gl_FUNC_FLOORF. Cache the result.
30703         (gl_FUNC_FLOORF): Use it.
30704         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30705         gl_FUNC_CEILF. Cache the result.
30706         (gl_FUNC_CEILF): Use it.
30707
30708 2007-10-28  Bruno Haible  <bruno@clisp.org>
30709
30710         * gnulib-tool: Allow specifying the LGPL version number through
30711         --lgpl=2 or --lgpl=3.
30712         (func_usage): Document --lgpl with argument.
30713         Handle --lgpl=... arguments.
30714         (func_import): Recognize also gl_LGPL calls with an argument. When
30715         --lgpl=2 is used and the module's license is just LGPL, report an
30716         error. Set sed_transform_lib_file according to the lgpl variable. In
30717         the generated files, use --lgpl or gl_LGPL invocations with argument,
30718         if necessary.
30719         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30720         an LGPv2+ license.
30721         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30722         gl_LGPL macro.
30723
30724 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30725             Bruno Haible  <bruno@clisp.org>
30726
30727         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30728         (u16_uctomb_aux): Likewise.
30729         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30730         !HAVE_INLINE.
30731         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30732
30733 2007-10-28  Bruno Haible  <bruno@clisp.org>
30734
30735         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30736         Invoke AM_GETTEXT_OPTION if it exists.
30737         * modules/vasprintf: Likewise.
30738         * modules/verror: Likewise.
30739         * modules/xprintf: Likewise.
30740         * modules/xvasprintf: Likewise.
30741
30742 2007-10-27  Ben Pfaff  <blp@gnu.org>
30743
30744         * lib/math.in.h: Define isfinite macro and prototypes for
30745         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30746         implementations.
30747         * m4/math_h.m4: New substitutions for isfinite module.
30748         * lib/isfinite.c: New file.
30749         * m4/isfinite.m4: New file.
30750         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30751         * modules/isfinite: New file.
30752         * modules/isfinite-tests: New file.
30753         * tests/tests-isfinite.c: New file.
30754         * doc/functions/isfinite.texi: Mention isfinite module.
30755         * MODULES.html.sh: Mention new module.
30756
30757 2007-10-27  Ben Pfaff  <blp@gnu.org>
30758
30759         Ralf Wildenhues reported that Tru64 4.0D declares the round
30760         functions but does not have definitions.
30761         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30762         cannot be found in any library, set the output variable to
30763         "missing" instead of "".
30764         * m4/round.m4: Also use our substitute if we cannot find round in
30765         any library, even if it is declared.
30766         * m4/roundf.m4: Likewise for roundf.
30767         * m4/roundl.m4: Likewise for roundl.
30768         * lib/math.in.h: Undefine roundf, round, roundl before defining
30769         their replacements, to allow for hypothetical systems where these
30770         may be defined as macros but not available in libraries.
30771
30772 2007-10-27  Bruno Haible  <bruno@clisp.org>
30773
30774         * doc/gnulib.texi: Invoke @firstparagraphindent.
30775         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30776         changes in gnulib.
30777         (Source changes): New section.
30778
30779 2007-10-26  Bruno Haible  <bruno@clisp.org>
30780
30781         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30782         borrowed from autoconf.
30783
30784 2007-10-26  Bruno Haible  <bruno@clisp.org>
30785
30786         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30787         strerror returned the empty string. Needed on HP-UX 11.00.
30788
30789 2007-10-24  Micah Cowan  <micah@cowan.name>
30790
30791         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30792         * build-aux/bootstrap: Remove support for now-unnecessary option,
30793         --cvs-user, and envvars CVS_USER, CVS_RSH.
30794
30795 2007-10-24  Jim Meyering  <meyering@redhat.com>
30796
30797         Avoid diagnostics from sha1sum when there is no cached checksum.
30798         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30799         if the po.s1 file hasn't been created yet.
30800
30801         * build-aux/bootstrap: Sync from coreutils:
30802         2007-10-24  Jim Meyering  <meyering@redhat.com>
30803         Get gnulib from the git repository, not from an obsolete cvs one.
30804         * build-aux/bootstrap: Suggestion from Micah Cowan.
30805         2007-10-04  Jim Meyering  <jim@meyering.net>
30806         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30807         (update_po_files): Work also when there are no .po files in po/.
30808
30809 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30810
30811         * README: Append ".git" to git and cg examples.
30812         Problem reported by Benoit Sigoure.
30813
30814 2007-10-23  Micah Cowan  <micah@cowan.name>
30815
30816         * users.txt: Add wget.
30817
30818 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30819
30820         Fix linking of some unistdio tests on FreeBSD.
30821         * modules/unistdio/u16-vsnprintf-tests
30822         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30823         * modules/unistdio/u16-vsprintf-tests
30824         (test_u16_vsnprintf1_LDADD): Likewise.
30825         * modules/unistdio/u32-vsnprintf-tests
30826         (test_u32_vsnprintf1_LDADD): Likewise.
30827         * modules/unistdio/u32-vsprintf-tests
30828         (test_u32_vsprintf1_LDADD): Likewise.
30829         * modules/unistdio/u8-vsnprintf-tests
30830         (test_u8_vsnprintf1_LDADD): Likewise.
30831         * modules/unistdio/u8-vsprintf-tests
30832         (test_u8_vsprintf1_LDADD): Likewise.
30833         * modules/unistdio/ulc-vsnprintf-tests
30834         (test_ulc_vsnprintf1_LDADD): Likewise.
30835         * modules/unistdio/ulc-vsprintf-tests
30836         (test_ulc_vsprintf1_LDADD): Likewise.
30837
30838         Fix linking of some uniconv tests on FreeBSD.
30839         * modules/uniconv/u16-conv-from-enc-tests
30840         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30841         * modules/uniconv/u16-conv-to-enc-tests
30842         (test_u16_conv_to_enc_LDADD): Likewise.
30843         * modules/uniconv/u16-strconv-from-enc-tests
30844         (test_u16_strconv_from_enc_LDADD): Likewise.
30845         * modules/uniconv/u16-strconv-to-enc-tests
30846         (test_u16_strconv_to_enc_LDADD): Likewise.
30847         * modules/uniconv/u32-conv-from-enc-tests
30848         (test_u32_conv_from_enc_LDADD): Likewise.
30849         * modules/uniconv/u32-conv-to-enc-tests
30850         (test_u32_conv_to_enc_LDADD): Likewise.
30851         * modules/uniconv/u32-strconv-from-enc-tests
30852         (test_u32_strconv_from_enc_LDADD): Likewise.
30853         * modules/uniconv/u32-strconv-to-enc-tests
30854         (test_u32_strconv_to_enc_LDADD): Likewise.
30855         * modules/uniconv/u8-conv-from-enc-tests
30856         (test_u8_conv_from_enc_LDADD): Likewise.
30857         * modules/uniconv/u8-conv-to-enc-tests
30858         (test_u8_conv_to_enc_LDADD): Likewise.
30859         * modules/uniconv/u8-strconv-from-enc-tests
30860         (test_u8_strconv_from_enc_LDADD): Likewise.
30861         * modules/uniconv/u8-strconv-to-enc-tests
30862         (test_u8_strconv_to_enc_LDADD): Likewise.
30863
30864 2007-10-22  Bruno Haible  <bruno@clisp.org>
30865
30866         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30867         size.
30868
30869 2007-10-22  Eric Blake  <ebb9@byu.net>
30870
30871         Tweak x*printf documentation.
30872         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30873         variable name and comments.
30874         Suggested by Bruno Haible.
30875
30876 2007-10-22  Bruno Haible  <bruno@clisp.org>
30877
30878         * lib/acl.c (copy_acl): Fix file name in comment.
30879
30880 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30881
30882         Fix Tru64 problem with stdbool.h.
30883         * lib/stdbool.in.h (false, true):
30884         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30885         Don't declare as an enum in this situation; it runs afoul of Tru64.
30886         Problem reported by Steven M. Schweda in
30887         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30888
30889 2007-10-22  Eric Blake  <ebb9@byu.net>
30890
30891         Also wrap vf?printf.
30892         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30893         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30894         (xvprintf, xvfprintf): New functions.
30895
30896 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30897
30898         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30899         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
30900
30901         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
30902         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
30903
30904 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30905
30906         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
30907         by Bruno Haible.
30908
30909 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30910
30911         * lib/getloadavg.c
30912         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
30913         Undef `sys' after including sys/table.h, for Tru64 4.0D.
30914
30915         * tests/test-i-ring.c: Work for C89.
30916
30917 2007-10-22  Bruno Haible  <bruno@clisp.org>
30918
30919         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
30920         -1u, in preprocessor expression, so that we don't test for the bug
30921         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
30922         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
30923
30924 2007-10-22  Eric Blake  <ebb9@byu.net>
30925
30926         * tests/test-yesno.sh: Silence stderr during test.
30927
30928 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30929
30930         * modules/crypto/gc-camellia: New file.
30931
30932         * m4/gc-camellia.m4: New file.
30933
30934         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
30935
30936         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
30937
30938 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30939
30940         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
30941         --help to stdout.  Reported by sms@antinode.org (Steven
30942         M. Schweda).
30943
30944 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30945
30946         * users.txt: Fix link to libksba.
30947
30948 2007-10-21  Ben Pfaff  <blp@gnu.org>
30949
30950         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
30951         round.c roundf implementation that depends on floorf and ceilf to
30952         be tested unconditionally.
30953
30954 2007-10-21  Ben Pfaff  <blp@gnu.org>
30955
30956         * m4/check-libm-func.m4: Removed.
30957         * m4/check-math-lib.m4: New file.
30958         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
30959         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
30960         definition and lack of AC_LIBOBJ([roundf]).
30961         * m4/roundl.m4: Ditto, and similarly for roundl.
30962         * modules/round: Reference new m4 file.
30963         * modules/roundf: Ditto.
30964         * modules/roundl: Ditto.
30965         * tests/test-round2.c (main): Use ROUND instead of round.
30966         Bug report from Bruno Haible.
30967
30968 2007-10-21  Bruno Haible  <bruno@clisp.org>
30969
30970         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
30971         context.
30972
30973 2007-10-21  Bruno Haible  <bruno@clisp.org>
30974
30975         * tests/test-wcwidth.c (main): Allow negative result for some control
30976         characters.
30977
30978         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
30979         Needed on OSF/1 5.1.
30980
30981 2007-10-21  Bruno Haible  <bruno@clisp.org>
30982
30983         * tests/test-floorf1.c: Include isnanf.h.
30984         (main): Use isnanf() instead of isnan().
30985         * tests/test-ceilf1.c: Include isnanf.h.
30986         (main): Use isnanf() instead of isnan().
30987         * tests/test-truncf1.c: Include isnanf.h.
30988         (main): Use isnanf() instead of isnan().
30989         * tests/test-roundf1.c: Include isnanf.h.
30990         (main): Use isnanf() instead of isnan().
30991
30992 2007-10-21  Eric Blake  <ebb9@byu.net>
30993
30994         * users.txt: Update URL for m4.
30995
30996 2007-10-21  Bruno Haible  <bruno@clisp.org>
30997
30998         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
30999
31000 2007-10-21  Bruno Haible  <bruno@clisp.org>
31001
31002         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
31003         Git's management files if the CVS files are not present.
31004
31005 2007-10-20  Bruno Haible  <bruno@clisp.org>
31006
31007         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
31008         gcc-3.4.x.
31009
31010 2007-10-20  Ben Pfaff  <blp@gnu.org>
31011
31012         * lib/math.in.h: Declare round, roundf, roundl if we are providing
31013         implementations.
31014         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
31015         * lib/round.c: New file.
31016         * lib/roundf.c: New file.
31017         * lib/roundl.c: New file.
31018         * m4/round.m4: New file.
31019         * m4/roundf.m4: New file.
31020         * m4/roundl.m4: New file.
31021         * m4/check-libm-func-m4: New file.
31022         * modules/math: Replace round, roundf, roundl related @VARS@ in
31023         math.in.h.
31024         * modules/round: New file.
31025         * modules/round-tests: New file.
31026         * modules/roundf: New file.
31027         * modules/roundf-tests: New file.
31028         * modules/roundl: New file.
31029         * modules/roundl-tests: New file.
31030         * tests/test-round1.c: New file.
31031         * tests/test-round2.c: New file.
31032         * tests/test-roundf1.c: New file.
31033         * tests/test-roundf2.c: New file.
31034         * tests/test-roundl.c: New file.
31035         * doc/functions/round.texi: Mention round module.
31036         * doc/functions/roundf.texi: Mention roundf module.
31037         * doc/functions/roundl.texi: Mention roundl module.
31038         * MODULES.html.sh: Mention new modules.
31039         Thanks to Bruno Haible for suggestions.
31040
31041 2007-10-20  Jim Meyering  <meyering@redhat.com>
31042
31043         * lib/xprintf.c: Include <config.h> unconditionally.
31044
31045         Change xprintf's license to GPL.
31046         * modules/xprintf (License): s/LGPL/GPL/, since this module
31047         depends on modules (exit and exitfail) which are GPL.
31048         Suggestion from Bruno Haible.
31049
31050         xprintf fixes.
31051         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
31052         Use a clearer diagnostic.
31053         Patch from Bruno Haible.
31054
31055 2007-10-20  Bruno Haible  <bruno@clisp.org>
31056
31057         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
31058         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
31059         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31060
31061 2007-10-20  Bruno Haible  <bruno@clisp.org>
31062
31063         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
31064         precision in the comparison result > x - 1 or similar.
31065         * tests/test-ceilf2.c (correct_result_p): Likewise.
31066         * tests/test-truncf2.c (correct_result_p): Likewise.
31067         * tests/test-trunc2.c (correct_result_p): Likewise.
31068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31069
31070 2007-10-20  Bruno Haible  <bruno@clisp.org>
31071
31072         * modules/ceil: New file.
31073         * m4/ceil.m4: New file.
31074         * doc/functions/ceil.texi: Mention the 'ceil' module.
31075
31076 2007-10-20  Bruno Haible  <bruno@clisp.org>
31077
31078         * modules/floor: New file.
31079         * m4/floor.m4: New file.
31080         * doc/functions/floor.texi: Mention the 'floor' module.
31081
31082 2007-10-20  Bruno Haible  <bruno@clisp.org>
31083
31084         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
31085         of %a.
31086         * modules/floorf-tests (Depends-on): Likewise.
31087         * modules/truncf-tests (Depends-on): Likewise.
31088         * modules/trunc-tests (Depends-on): Likewise.
31089         Reported by Ben Pfaff.
31090
31091 2007-10-19  Jim Meyering  <meyering@redhat.com>
31092
31093         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
31094         Don't bother testing specific errno values.  Just test ferror.
31095
31096         New module: xprintf
31097         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
31098
31099 2007-10-19  Bruno Haible  <bruno@clisp.org>
31100
31101         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
31102         syntax.
31103         * modules/javaexec (Makefile.am): Likewise.
31104         * modules/relocatable-prog (Makefile.am): Likewise.
31105         Suggested by Jim Meyering.
31106
31107 2007-10-18  Bruno Haible  <bruno@clisp.org>
31108
31109         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
31110         Reported by Jim Meyering.
31111
31112 2007-10-18  Eric Blake  <ebb9@byu.net>
31113
31114         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
31115
31116 2007-10-18  Bruno Haible  <bruno@clisp.org>
31117
31118         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
31119         the format string into writable memory. Needed in Fortify conditions.
31120
31121 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
31122             Bruno Haible  <bruno@clisp.org>
31123
31124         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
31125         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
31126         * modules/trim (Depends-on): Add mbchar.
31127         (configure.ac): Add gl_FUNC_MBRTOWC.
31128         (Makefile.am): Augment lib_SOURCES.
31129
31130 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31131
31132         Modify glob.c to use fstatat and dirfd, to simplify it.
31133         Suggested by Eric Blake.
31134         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
31135         Don't include <stdbool.h>; not used.
31136         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
31137         (link_exists_p): Simplify implementation, since we can now assume
31138         dirfd and fstatat.
31139         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
31140
31141 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31142
31143         * gnulib-tool (func_get_dependencies): Fix sed script to
31144         match only tests.
31145
31146 2007-10-17  Bruno Haible  <bruno@clisp.org>
31147
31148         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
31149         allow locale names without encoding suffix.
31150         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31151         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31152
31153 2007-10-16  Bruno Haible  <bruno@clisp.org>
31154
31155         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
31156         * lib/getgroups.c (getgroups): Likewise.
31157         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
31158
31159 2007-10-16  Bruno Haible  <bruno@clisp.org>
31160
31161         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
31162         * modules/malloc-posix (License): Likewise.
31163         * modules/realloc-posix (License): Likewise.
31164         * modules/calloc-posix (License): Likewise.
31165         * modules/intprops (License): Change from GPL to LGPL, with
31166         Paul Eggert's approval.
31167
31168 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31169
31170         Merge glibc changes into lib/glob.c.
31171
31172         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
31173         2007-10-15 04:59:03 UTC.  Here are the changes:
31174
31175         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
31176
31177         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
31178
31179         * lib/glob.c: Add some branch prediction throughout.
31180
31181         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
31182
31183         [BZ #5103]
31184         * lib/glob.c (glob): Recognize patterns starting \/.
31185
31186         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
31187
31188         [BZ #3996]
31189         * lib/glob.c (attribute_hidden): Define if not defined.
31190         (glob): Unescape dirname, filename or username when needed and not
31191         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
31192         is NULL.  Handle unescaped [ in pattern without closing ].
31193         Don't pass GLOB_CHECK down to recursive glob for directories.
31194         (__glob_pattern_type): New function.
31195         (__glob_pattern_p): Implement using __glob_pattern_type.
31196         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
31197         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
31198         Remove unreachable code.
31199
31200         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
31201
31202         * lib/glob.c (glob_in_dir): Add some comments and asserts to
31203         explain why there are no leaks.
31204
31205         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
31206
31207         [BZ #3253]
31208         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31209         time, rather allocate increasingly bigger arrays of pointers, if
31210         possible with alloca, if too large with malloc.
31211
31212 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31213
31214         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31215         Problem reported by H.Merijn Brand in
31216         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31217         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31218         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31219
31220 2007-10-15  Bruno Haible  <bruno@clisp.org>
31221
31222         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31223         with explicit rpl_ prefix.
31224         * lib/fopen.c (fopen): Likewise.
31225         * lib/freopen.c (freopen): Likewise.
31226         * lib/iconv.c (iconv): Likewise.
31227         * lib/iconv_close.c (iconv_close): Likewise.
31228
31229 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31230
31231         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31232
31233 2007-10-15  Bruno Haible  <bruno@clisp.org>
31234
31235         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31236         <stddef.h> instead of <stdlib.h> since we only need NULL.
31237         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31238
31239 2007-10-15  Bruno Haible  <bruno@clisp.org>
31240
31241         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31242         Replace paragraph talking about LIBOBJS.
31243         Reported by Colin Watson <cjwatson@debian.org>.
31244
31245 2007-10-15  Bruno Haible  <bruno@clisp.org>
31246
31247         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31248         <stdlib.h> before using NULL.
31249
31250 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31251
31252         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31253         Reported by Albert Chin <china@thewrittenword.com>.
31254
31255 2007-10-14  Bruno Haible  <bruno@clisp.org>
31256
31257         * modules/iconv_open-utf-tests: New file.
31258         * tests/test-iconv-utf.c: New file.
31259
31260         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31261         * modules/iconv_open-utf: New file.
31262         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31263         (iconv, iconv_close): New declarations.
31264         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31265         be defined.
31266         (iconv_open): Add special handling of conversion between UTF-8 and
31267         UTF-{16,32}{BE,LE}.
31268         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31269         * lib/iconv_close.c: New file.
31270         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31271         gl_FUNC_ICONV_OPEN.
31272         (gl_FUNC_ICONV_OPEN): Use it.
31273         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31274         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31275         and REPLACE_ICONV_UTF.
31276         * modules/iconv_open (Depends-on): Add c-strcase.
31277         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31278         ICONV_CONST.
31279         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31280
31281 2007-10-13  Albert Chin  <china@thewrittenword.com>
31282             Bruno Haible  <bruno@clisp.org>
31283
31284         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31285         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31286
31287 2007-10-13  Bruno Haible  <bruno@clisp.org>
31288
31289         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31290         defined, use the ISO C99 inline semantics.
31291         * lib/argp.h (ARGP_EI): Likewise.
31292
31293 2007-10-13  Bruno Haible  <bruno@clisp.org>
31294
31295         Handle 'inline' change in gcc 4.3.0.
31296         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31297         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31298         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31299         argp_fmtstream_point): Disable 'extern' declaration if the function
31300         definition is going to be provided inline.
31301         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31302         semantics, not the ISO C99 inline semantics.
31303         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31304         'extern' declaration if the function definition is going to be provided
31305         inline.
31306         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31307         the GNU C inline semantics, not the ISO C99 inline semantics. With
31308         GCC 4.2, avoid a warning.
31309
31310 2007-10-13  Bruno Haible  <bruno@clisp.org>
31311
31312         * lib/freading.h (freading): Enable the use of __freading for
31313         glibc >= 2.7.
31314         * lib/freading.c (freading): Likewise.
31315
31316 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31317
31318         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31319         "warning: C99 inline functions are not supported; using GNU89".
31320
31321 2007-10-12  Bruno Haible  <bruno@clisp.org>
31322
31323         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31324         of 2.
31325         * tests/test-ceilf2.c: New file.
31326         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31327
31328         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31329         * modules/ceilf-tests: Update.
31330
31331 2007-10-12  Bruno Haible  <bruno@clisp.org>
31332
31333         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31334         of 2.
31335         * tests/test-floorf2.c: New file.
31336         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31337
31338         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31339         * modules/floorf-tests: Update.
31340
31341 2007-10-12  Bruno Haible  <bruno@clisp.org>
31342
31343         * tests/test-trunc2.c: New file.
31344         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31345
31346         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31347         * modules/trunc-tests: Update.
31348
31349 2007-10-12  Bruno Haible  <bruno@clisp.org>
31350
31351         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31352         of 2.
31353         * tests/test-truncf2.c: New file.
31354         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31355
31356         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31357         * modules/truncf-tests: Update.
31358
31359 2007-10-11  Eric Blake  <ebb9@byu.net>
31360
31361         Don't claim strerror is broken on Interix.
31362         * doc/functions/strerror.texi (strerror): Known broken systems are
31363         now Solaris 8, and not Interix.
31364         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31365         Interix on cross-compile.
31366         Reported by Martin Koeppe in
31367         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31368
31369 2007-10-11  Bruno Haible  <bruno@clisp.org>
31370
31371         * modules/i-ring-tests: New file.
31372         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31373         instead of assert.
31374
31375 2007-10-11  Bruno Haible  <bruno@clisp.org>
31376
31377         * modules/filenamecat-tests: New file.
31378         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31379         * lib/filenamecat.c: Remove test code.
31380
31381 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31382
31383         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31384
31385         * lib/strerror.c: Include <string.h> always, to test interface,
31386         and to remove the need for the dummy.
31387         Include intprops.h to compute width instead of doing it ourselves
31388         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31389         (strerror): Define it to return NULL if there's no system strerror.
31390         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31391         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31392         ancient pre-strerror Unix systems well any more.  Saying "unknown
31393         system error" is enough.
31394         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31395         simpler strerror.c implementation.
31396         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31397         Simplify the tests to reflect the simpler strerror implementation.
31398         * modules/strerror (Depends-on): Add intprops.
31399
31400 2007-10-09  Eric Blake  <ebb9@byu.net>
31401
31402         Silence test-fpending.
31403         * modules/fpending-tests (Files): Add wrapper script.
31404         * tests/test-fpending.sh: New file.
31405
31406 2007-10-09  Bruno Haible  <bruno@clisp.org>
31407
31408         * MODULES.html.sh (func_module): Don't create a hyperlink for
31409         function names like 'printf_frexp'.
31410         (Misc): Add crc, memxor.
31411         (Characteristics of floating types): New section.
31412         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31413         isnanf-nolibm, signbit, trunc, truncf, truncl.
31414         (Enhancements for ISO C 99 functions): New subsection Input/output.
31415         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31416         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31417         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
31418         (Compatibility checks for POSIX:2001 functions): Add clock-time.
31419         (Enhancements for POSIX:2001 functions): Add chdir-long.
31420         (File system functions): Add areadlink, chdir-safer, read-file.
31421         Remove cycle-check.
31422         (File system as inode set): New section.
31423         (Date and time): Add gethrxtime.
31424         (Multithreading): Add openmp.
31425         (Internationalization functions): Add localename.
31426         (Unicode string functions): Add unistr/u*-mbsnlen.
31427         (Support for maintaining and releasing projects): Add git-version-gen.
31428         (Lone files): Remove directories.
31429
31430 2007-10-08  Ben Pfaff  <blp@gnu.org>
31431
31432         * lib/xmalloca.h: Fix typo in comment.
31433
31434 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31435
31436         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
31437         when avoiding problems with integer overflow.  Use a portable test
31438         instead.
31439
31440 2007-10-08  Simon Josefsson  <simon@josefsson.org>
31441
31442         * modules/dummy (License): Change to LGPLv2+.
31443         * modules/float (License): Likewise
31444         * modules/realloc (License): Likewise
31445         * modules/stdlib (License): Likewise
31446
31447 2007-10-07  Bruno Haible  <bruno@clisp.org>
31448
31449         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31450         * floor.c (TWO_MANT_DIG): Likewise.
31451         * ceil.c (TWO_MANT_DIG): Likewise.
31452         Reported by Ben Pfaff.
31453
31454 2007-10-07  Bruno Haible  <bruno@clisp.org>
31455
31456         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31457         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31458         * lib/frexp.c (FUNC): Likewise.
31459         * lib/printf-frexp.h (printf_frexp): Likewise.
31460         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31461         * lib/printf-frexp.c (FUNC): Likewise.
31462         Suggested by Jim Meyering.
31463
31464 2007-10-07  Jim Meyering  <meyering@redhat.com>
31465
31466         Make xnanosleep's integer overflow test more robust.
31467         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31468         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31469
31470 2007-10-07  Bruno Haible  <bruno@clisp.org>
31471
31472         * NEWS: Mention the license change.
31473
31474         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31475         abbreviations in the modules files.
31476
31477         Change copyright notice from GPLv2+ to GPLv3+.
31478         * README: Change copyright notice.
31479         * MODULES.html.sh: Likewise.
31480         * build-aux/bootstrap.conf: Likewise.
31481         * build-aux/config.libpath: Likewise.
31482         * build-aux/csharpcomp.sh.in: Likewise.
31483         * build-aux/csharpexec.sh.in: Likewise.
31484         * build-aux/install-reloc: Likewise.
31485         * build-aux/javacomp.sh.in: Likewise.
31486         * build-aux/javaexec.sh.in: Likewise.
31487         * build-aux/ldd.sh.in: Likewise.
31488         * build-aux/reloc-ldflags: Likewise.
31489         * build-aux/relocatable.sh.in: Likewise.
31490         * build-aux/x-to-1.in: Likewise.
31491         * check-module: Likewise.
31492         * config/srclistvars.sh: Likewise.
31493         * gnulib-tool: Likewise.
31494         * lib/acl-internal.h: Likewise.
31495         * lib/acl.c: Likewise.
31496         * lib/acl.h: Likewise.
31497         * lib/acl_entries.c: Likewise.
31498         * lib/areadlink-with-size.c: Likewise.
31499         * lib/areadlink.c: Likewise.
31500         * lib/areadlink.h: Likewise.
31501         * lib/argmatch.c: Likewise.
31502         * lib/argmatch.h: Likewise.
31503         * lib/argp-ba.c: Likewise.
31504         * lib/argp-eexst.c: Likewise.
31505         * lib/argp-fmtstream.c: Likewise.
31506         * lib/argp-fmtstream.h: Likewise.
31507         * lib/argp-fs-xinl.c: Likewise.
31508         * lib/argp-help.c: Likewise.
31509         * lib/argp-namefrob.h: Likewise.
31510         * lib/argp-parse.c: Likewise.
31511         * lib/argp-pin.c: Likewise.
31512         * lib/argp-pv.c: Likewise.
31513         * lib/argp-pvh.c: Likewise.
31514         * lib/argp-xinl.c: Likewise.
31515         * lib/argp.h: Likewise.
31516         * lib/at-func.c: Likewise.
31517         * lib/atanl.c: Likewise.
31518         * lib/backupfile.c: Likewise.
31519         * lib/backupfile.h: Likewise.
31520         * lib/basename.c: Likewise.
31521         * lib/binary-io.h: Likewise.
31522         * lib/byteswap.in.h: Likewise.
31523         * lib/c-stack.c: Likewise.
31524         * lib/c-stack.h: Likewise.
31525         * lib/c-strcasestr.c: Likewise.
31526         * lib/c-strcasestr.h: Likewise.
31527         * lib/c-strstr.c: Likewise.
31528         * lib/c-strstr.h: Likewise.
31529         * lib/c-strtod.c: Likewise.
31530         * lib/calloc.c: Likewise.
31531         * lib/canon-host.c: Likewise.
31532         * lib/canon-host.h: Likewise.
31533         * lib/canonicalize-lgpl.c: Likewise.
31534         * lib/canonicalize.c: Likewise.
31535         * lib/canonicalize.h: Likewise.
31536         * lib/ceil.c: Likewise.
31537         * lib/ceilf.c: Likewise.
31538         * lib/ceill.c: Likewise.
31539         * lib/chdir-long.c: Likewise.
31540         * lib/chdir-long.h: Likewise.
31541         * lib/chdir-safer.c: Likewise.
31542         * lib/chdir-safer.h: Likewise.
31543         * lib/chown.c: Likewise.
31544         * lib/classpath.c: Likewise.
31545         * lib/classpath.h: Likewise.
31546         * lib/clean-temp.c: Likewise.
31547         * lib/clean-temp.h: Likewise.
31548         * lib/cloexec.c: Likewise.
31549         * lib/close-stream.c: Likewise.
31550         * lib/closein.c: Likewise.
31551         * lib/closein.h: Likewise.
31552         * lib/closeout.c: Likewise.
31553         * lib/closeout.h: Likewise.
31554         * lib/concat-filename.c: Likewise.
31555         * lib/copy-file.c: Likewise.
31556         * lib/copy-file.h: Likewise.
31557         * lib/count-one-bits.h: Likewise.
31558         * lib/crc.c: Likewise.
31559         * lib/crc.h: Likewise.
31560         * lib/creat-safer.c: Likewise.
31561         * lib/csharpcomp.c: Likewise.
31562         * lib/csharpcomp.h: Likewise.
31563         * lib/csharpexec.c: Likewise.
31564         * lib/csharpexec.h: Likewise.
31565         * lib/cycle-check.c: Likewise.
31566         * lib/cycle-check.h: Likewise.
31567         * lib/diacrit.c: Likewise.
31568         * lib/diacrit.h: Likewise.
31569         * lib/diffseq.h: Likewise.
31570         * lib/dirchownmod.c: Likewise.
31571         * lib/dirent.in.h: Likewise.
31572         * lib/dirfd.c: Likewise.
31573         * lib/dirfd.h: Likewise.
31574         * lib/dirname.c: Likewise.
31575         * lib/dirname.h: Likewise.
31576         * lib/dummy.c: Likewise.
31577         * lib/dup-safer.c: Likewise.
31578         * lib/dup2.c: Likewise.
31579         * lib/eealloc.h: Likewise.
31580         * lib/error.c: Likewise.
31581         * lib/error.h: Likewise.
31582         * lib/euidaccess.c: Likewise.
31583         * lib/exclude.c: Likewise.
31584         * lib/exclude.h: Likewise.
31585         * lib/execute.c: Likewise.
31586         * lib/execute.h: Likewise.
31587         * lib/exitfail.c: Likewise.
31588         * lib/exitfail.h: Likewise.
31589         * lib/expl.c: Likewise.
31590         * lib/fatal-signal.c: Likewise.
31591         * lib/fatal-signal.h: Likewise.
31592         * lib/fbufmode.c: Likewise.
31593         * lib/fbufmode.h: Likewise.
31594         * lib/fchdir.c: Likewise.
31595         * lib/fchmodat.c: Likewise.
31596         * lib/fchownat.c: Likewise.
31597         * lib/fcntl--.h: Likewise.
31598         * lib/fcntl-safer.h: Likewise.
31599         * lib/fcntl.in.h: Likewise.
31600         * lib/fd-safer.c: Likewise.
31601         * lib/fflush.c: Likewise.
31602         * lib/file-has-acl.c: Likewise.
31603         * lib/file-set.c: Likewise.
31604         * lib/file-type.c: Likewise.
31605         * lib/file-type.h: Likewise.
31606         * lib/fileblocks.c: Likewise.
31607         * lib/filemode.c: Likewise.
31608         * lib/filemode.h: Likewise.
31609         * lib/filename.h: Likewise.
31610         * lib/filenamecat.c: Likewise.
31611         * lib/filenamecat.h: Likewise.
31612         * lib/findprog.c: Likewise.
31613         * lib/findprog.h: Likewise.
31614         * lib/float.in.h: Likewise.
31615         * lib/floor.c: Likewise.
31616         * lib/floorf.c: Likewise.
31617         * lib/floorl.c: Likewise.
31618         * lib/fopen-safer.c: Likewise.
31619         * lib/fopen.c: Likewise.
31620         * lib/fpending.c: Likewise.
31621         * lib/fpending.h: Likewise.
31622         * lib/fprintf.c: Likewise.
31623         * lib/fprintftime.h: Likewise.
31624         * lib/fpucw.h: Likewise.
31625         * lib/fpurge.c: Likewise.
31626         * lib/fpurge.h: Likewise.
31627         * lib/freadable.c: Likewise.
31628         * lib/freadable.h: Likewise.
31629         * lib/freadahead.c: Likewise.
31630         * lib/freadahead.h: Likewise.
31631         * lib/freading.c: Likewise.
31632         * lib/freading.h: Likewise.
31633         * lib/free.c: Likewise.
31634         * lib/freopen.c: Likewise.
31635         * lib/frexp.c: Likewise.
31636         * lib/frexpl.c: Likewise.
31637         * lib/fseek.c: Likewise.
31638         * lib/fseterr.c: Likewise.
31639         * lib/fseterr.h: Likewise.
31640         * lib/fstatat.c: Likewise.
31641         * lib/fstrcmp.c: Likewise.
31642         * lib/fstrcmp.h: Likewise.
31643         * lib/fsusage.c: Likewise.
31644         * lib/fsusage.h: Likewise.
31645         * lib/ftell.c: Likewise.
31646         * lib/ftello.c: Likewise.
31647         * lib/fts-cycle.c: Likewise.
31648         * lib/fts.c: Likewise.
31649         * lib/fts_.h: Likewise.
31650         * lib/full-read.c: Likewise.
31651         * lib/full-read.h: Likewise.
31652         * lib/full-write.c: Likewise.
31653         * lib/full-write.h: Likewise.
31654         * lib/fwritable.c: Likewise.
31655         * lib/fwritable.h: Likewise.
31656         * lib/fwriteerror.c: Likewise.
31657         * lib/fwriteerror.h: Likewise.
31658         * lib/fwriting.c: Likewise.
31659         * lib/fwriting.h: Likewise.
31660         * lib/gcd.c: Likewise.
31661         * lib/gcd.h: Likewise.
31662         * lib/getcwd.c: Likewise.
31663         * lib/getdate.h: Likewise.
31664         * lib/getdate.y: Likewise.
31665         * lib/getdomainname.c: Likewise.
31666         * lib/getdomainname.h: Likewise.
31667         * lib/getgroups.c: Likewise.
31668         * lib/gethostname.c: Likewise.
31669         * lib/gethrxtime.c: Likewise.
31670         * lib/gethrxtime.h: Likewise.
31671         * lib/getloadavg.c: Likewise.
31672         * lib/getndelim2.c: Likewise.
31673         * lib/getndelim2.h: Likewise.
31674         * lib/getnline.c: Likewise.
31675         * lib/getnline.h: Likewise.
31676         * lib/getopt.c: Likewise.
31677         * lib/getopt.in.h: Likewise.
31678         * lib/getopt1.c: Likewise.
31679         * lib/getopt_int.h: Likewise.
31680         * lib/getpagesize.h: Likewise.
31681         * lib/getsubopt.c: Likewise.
31682         * lib/gettime.c: Likewise.
31683         * lib/getugroups.c: Likewise.
31684         * lib/getugroups.h: Likewise.
31685         * lib/getusershell.c: Likewise.
31686         * lib/gl_anyavltree_list1.h: Likewise.
31687         * lib/gl_anyavltree_list2.h: Likewise.
31688         * lib/gl_anyhash_list1.h: Likewise.
31689         * lib/gl_anyhash_list2.h: Likewise.
31690         * lib/gl_anylinked_list1.h: Likewise.
31691         * lib/gl_anylinked_list2.h: Likewise.
31692         * lib/gl_anyrbtree_list1.h: Likewise.
31693         * lib/gl_anyrbtree_list2.h: Likewise.
31694         * lib/gl_anytree_list1.h: Likewise.
31695         * lib/gl_anytree_list2.h: Likewise.
31696         * lib/gl_anytree_oset.h: Likewise.
31697         * lib/gl_anytreehash_list1.h: Likewise.
31698         * lib/gl_anytreehash_list2.h: Likewise.
31699         * lib/gl_array_list.c: Likewise.
31700         * lib/gl_array_list.h: Likewise.
31701         * lib/gl_array_oset.c: Likewise.
31702         * lib/gl_array_oset.h: Likewise.
31703         * lib/gl_avltree_list.c: Likewise.
31704         * lib/gl_avltree_list.h: Likewise.
31705         * lib/gl_avltree_oset.c: Likewise.
31706         * lib/gl_avltree_oset.h: Likewise.
31707         * lib/gl_avltreehash_list.c: Likewise.
31708         * lib/gl_avltreehash_list.h: Likewise.
31709         * lib/gl_carray_list.c: Likewise.
31710         * lib/gl_carray_list.h: Likewise.
31711         * lib/gl_linked_list.c: Likewise.
31712         * lib/gl_linked_list.h: Likewise.
31713         * lib/gl_linkedhash_list.c: Likewise.
31714         * lib/gl_linkedhash_list.h: Likewise.
31715         * lib/gl_list.c: Likewise.
31716         * lib/gl_list.h: Likewise.
31717         * lib/gl_oset.c: Likewise.
31718         * lib/gl_oset.h: Likewise.
31719         * lib/gl_rbtree_list.c: Likewise.
31720         * lib/gl_rbtree_list.h: Likewise.
31721         * lib/gl_rbtree_oset.c: Likewise.
31722         * lib/gl_rbtree_oset.h: Likewise.
31723         * lib/gl_rbtreehash_list.c: Likewise.
31724         * lib/gl_rbtreehash_list.h: Likewise.
31725         * lib/gl_sublist.c: Likewise.
31726         * lib/gl_sublist.h: Likewise.
31727         * lib/group-member.c: Likewise.
31728         * lib/group-member.h: Likewise.
31729         * lib/hard-locale.c: Likewise.
31730         * lib/hard-locale.h: Likewise.
31731         * lib/hash-pjw.c: Likewise.
31732         * lib/hash-pjw.h: Likewise.
31733         * lib/hash-triple.c: Likewise.
31734         * lib/hash.c: Likewise.
31735         * lib/hash.h: Likewise.
31736         * lib/human.c: Likewise.
31737         * lib/human.h: Likewise.
31738         * lib/i-ring.c: Likewise.
31739         * lib/i-ring.h: Likewise.
31740         * lib/idcache.c: Likewise.
31741         * lib/imaxabs.c: Likewise.
31742         * lib/imaxdiv.c: Likewise.
31743         * lib/inet_pton.c: Likewise.
31744         * lib/inet_pton.h: Likewise.
31745         * lib/intprops.h: Likewise.
31746         * lib/inttostr.c: Likewise.
31747         * lib/inttostr.h: Likewise.
31748         * lib/inttypes.in.h: Likewise.
31749         * lib/isapipe.c: Likewise.
31750         * lib/isdir.c: Likewise.
31751         * lib/isnan.c: Likewise.
31752         * lib/isnan.h: Likewise.
31753         * lib/isnanf.c: Likewise.
31754         * lib/isnanf.h: Likewise.
31755         * lib/isnanl-nolibm.h: Likewise.
31756         * lib/isnanl.c: Likewise.
31757         * lib/isnanl.h: Likewise.
31758         * lib/javacomp.c: Likewise.
31759         * lib/javacomp.h: Likewise.
31760         * lib/javaexec.c: Likewise.
31761         * lib/javaexec.h: Likewise.
31762         * lib/javaversion.c: Likewise.
31763         * lib/javaversion.h: Likewise.
31764         * lib/javaversion.java: Likewise.
31765         * lib/lbrkprop.h: Likewise.
31766         * lib/lchmod.h: Likewise.
31767         * lib/lchown.c: Likewise.
31768         * lib/ldexpl.c: Likewise.
31769         * lib/linebreak.c: Likewise.
31770         * lib/linebreak.h: Likewise.
31771         * lib/linebuffer.c: Likewise.
31772         * lib/linebuffer.h: Likewise.
31773         * lib/locale.in.h: Likewise.
31774         * lib/logl.c: Likewise.
31775         * lib/long-options.c: Likewise.
31776         * lib/long-options.h: Likewise.
31777         * lib/lstat.c: Likewise.
31778         * lib/lstat.h: Likewise.
31779         * lib/math.in.h: Likewise.
31780         * lib/mbchar.c: Likewise.
31781         * lib/mbchar.h: Likewise.
31782         * lib/mbfile.h: Likewise.
31783         * lib/mbiter.h: Likewise.
31784         * lib/mbscasecmp.c: Likewise.
31785         * lib/mbscasestr.c: Likewise.
31786         * lib/mbschr.c: Likewise.
31787         * lib/mbscspn.c: Likewise.
31788         * lib/mbslen.c: Likewise.
31789         * lib/mbsncasecmp.c: Likewise.
31790         * lib/mbsnlen.c: Likewise.
31791         * lib/mbspbrk.c: Likewise.
31792         * lib/mbspcasecmp.c: Likewise.
31793         * lib/mbsrchr.c: Likewise.
31794         * lib/mbssep.c: Likewise.
31795         * lib/mbsspn.c: Likewise.
31796         * lib/mbsstr.c: Likewise.
31797         * lib/mbstok_r.c: Likewise.
31798         * lib/mbswidth.c: Likewise.
31799         * lib/mbswidth.h: Likewise.
31800         * lib/mbuiter.h: Likewise.
31801         * lib/memcasecmp.c: Likewise.
31802         * lib/memcasecmp.h: Likewise.
31803         * lib/memchr.c: Likewise.
31804         * lib/memcmp.c: Likewise.
31805         * lib/memcoll.c: Likewise.
31806         * lib/memcoll.h: Likewise.
31807         * lib/memcpy.c: Likewise.
31808         * lib/memrchr.c: Likewise.
31809         * lib/mkancesdirs.c: Likewise.
31810         * lib/mkdir-p.c: Likewise.
31811         * lib/mkdir-p.h: Likewise.
31812         * lib/mkdir.c: Likewise.
31813         * lib/mkdirat.c: Likewise.
31814         * lib/mkdtemp.c: Likewise.
31815         * lib/mkstemp-safer.c: Likewise.
31816         * lib/mkstemp.c: Likewise.
31817         * lib/modechange.c: Likewise.
31818         * lib/modechange.h: Likewise.
31819         * lib/mountlist.c: Likewise.
31820         * lib/mountlist.h: Likewise.
31821         * lib/mpsort.c: Likewise.
31822         * lib/nanosleep.c: Likewise.
31823         * lib/obstack.c: Likewise.
31824         * lib/obstack.h: Likewise.
31825         * lib/open-safer.c: Likewise.
31826         * lib/open.c: Likewise.
31827         * lib/openat-die.c: Likewise.
31828         * lib/openat-priv.h: Likewise.
31829         * lib/openat-proc.c: Likewise.
31830         * lib/openat.c: Likewise.
31831         * lib/openat.h: Likewise.
31832         * lib/pagealign_alloc.c: Likewise.
31833         * lib/pagealign_alloc.h: Likewise.
31834         * lib/physmem.c: Likewise.
31835         * lib/physmem.h: Likewise.
31836         * lib/pipe-safer.c: Likewise.
31837         * lib/pipe.c: Likewise.
31838         * lib/pipe.h: Likewise.
31839         * lib/posixtm.c: Likewise.
31840         * lib/posixtm.h: Likewise.
31841         * lib/posixver.c: Likewise.
31842         * lib/printf-frexp.c: Likewise.
31843         * lib/printf-frexp.h: Likewise.
31844         * lib/printf-frexpl.c: Likewise.
31845         * lib/printf-frexpl.h: Likewise.
31846         * lib/printf.c: Likewise.
31847         * lib/progname.c: Likewise.
31848         * lib/progname.h: Likewise.
31849         * lib/progreloc.c: Likewise.
31850         * lib/putenv.c: Likewise.
31851         * lib/quote.c: Likewise.
31852         * lib/quote.h: Likewise.
31853         * lib/quotearg.c: Likewise.
31854         * lib/quotearg.h: Likewise.
31855         * lib/raise.c: Likewise.
31856         * lib/readline.c: Likewise.
31857         * lib/readline.h: Likewise.
31858         * lib/readlink.c: Likewise.
31859         * lib/readtokens.c: Likewise.
31860         * lib/readtokens.h: Likewise.
31861         * lib/readtokens0.c: Likewise.
31862         * lib/readtokens0.h: Likewise.
31863         * lib/readutmp.c: Likewise.
31864         * lib/readutmp.h: Likewise.
31865         * lib/realloc.c: Likewise.
31866         * lib/relocwrapper.c: Likewise.
31867         * lib/rename-dest-slash.c: Likewise.
31868         * lib/rename.c: Likewise.
31869         * lib/rmdir.c: Likewise.
31870         * lib/rpmatch.c: Likewise.
31871         * lib/safe-read.c: Likewise.
31872         * lib/safe-read.h: Likewise.
31873         * lib/safe-write.c: Likewise.
31874         * lib/safe-write.h: Likewise.
31875         * lib/same-inode.h: Likewise.
31876         * lib/same.c: Likewise.
31877         * lib/same.h: Likewise.
31878         * lib/save-cwd.c: Likewise.
31879         * lib/save-cwd.h: Likewise.
31880         * lib/savedir.c: Likewise.
31881         * lib/savedir.h: Likewise.
31882         * lib/savewd.c: Likewise.
31883         * lib/savewd.h: Likewise.
31884         * lib/search.in.h: Likewise.
31885         * lib/setenv.c: Likewise.
31886         * lib/setenv.h: Likewise.
31887         * lib/settime.c: Likewise.
31888         * lib/sh-quote.c: Likewise.
31889         * lib/sh-quote.h: Likewise.
31890         * lib/sig2str.c: Likewise.
31891         * lib/sig2str.h: Likewise.
31892         * lib/signal.in.h: Likewise.
31893         * lib/signbitd.c: Likewise.
31894         * lib/signbitf.c: Likewise.
31895         * lib/signbitl.c: Likewise.
31896         * lib/sigprocmask.c: Likewise.
31897         * lib/sincosl.c: Likewise.
31898         * lib/sleep.c: Likewise.
31899         * lib/sprintf.c: Likewise.
31900         * lib/sqrtl.c: Likewise.
31901         * lib/stat-time.h: Likewise.
31902         * lib/stdio--.h: Likewise.
31903         * lib/stdio-safer.h: Likewise.
31904         * lib/stdlib--.h: Likewise.
31905         * lib/stdlib-safer.h: Likewise.
31906         * lib/stdlib.in.h: Likewise.
31907         * lib/stpcpy.c: Likewise.
31908         * lib/stpncpy.c: Likewise.
31909         * lib/strchrnul.c: Likewise.
31910         * lib/strcspn.c: Likewise.
31911         * lib/strerror.c: Likewise.
31912         * lib/strftime.c: Likewise.
31913         * lib/strftime.h: Likewise.
31914         * lib/striconveh.c: Likewise.
31915         * lib/striconveh.h: Likewise.
31916         * lib/striconveha.c: Likewise.
31917         * lib/striconveha.h: Likewise.
31918         * lib/stripslash.c: Likewise.
31919         * lib/strnlen1.c: Likewise.
31920         * lib/strnlen1.h: Likewise.
31921         * lib/strtod.c: Likewise.
31922         * lib/strtoimax.c: Likewise.
31923         * lib/strtok_r.c: Likewise.
31924         * lib/strtol.c: Likewise.
31925         * lib/strtoll.c: Likewise.
31926         * lib/strtoul.c: Likewise.
31927         * lib/strtoull.c: Likewise.
31928         * lib/sysexits.in.h: Likewise.
31929         * lib/tempname.c: Likewise.
31930         * lib/tempname.h: Likewise.
31931         * lib/timespec.h: Likewise.
31932         * lib/tls.c: Likewise.
31933         * lib/tls.h: Likewise.
31934         * lib/tmpdir.c: Likewise.
31935         * lib/tmpdir.h: Likewise.
31936         * lib/tmpfile-safer.c: Likewise.
31937         * lib/tmpfile.c: Likewise.
31938         * lib/trigl.c: Likewise.
31939         * lib/trigl.h: Likewise.
31940         * lib/trim.c: Likewise.
31941         * lib/trim.h: Likewise.
31942         * lib/trunc.c: Likewise.
31943         * lib/truncf.c: Likewise.
31944         * lib/truncl.c: Likewise.
31945         * lib/tsearch.c: Likewise.
31946         * lib/unicodeio.c: Likewise.
31947         * lib/unicodeio.h: Likewise.
31948         * lib/unistd--.h: Likewise.
31949         * lib/unistd-safer.h: Likewise.
31950         * lib/unistdio/ulc-fprintf.c: Likewise.
31951         * lib/unistdio/ulc-vfprintf.c: Likewise.
31952         * lib/unlinkdir.c: Likewise.
31953         * lib/unlinkdir.h: Likewise.
31954         * lib/unlocked-io.h: Likewise.
31955         * lib/unsetenv.c: Likewise.
31956         * lib/userspec.c: Likewise.
31957         * lib/utime.c: Likewise.
31958         * lib/utimecmp.c: Likewise.
31959         * lib/utimecmp.h: Likewise.
31960         * lib/utimens.c: Likewise.
31961         * lib/verify.h: Likewise.
31962         * lib/verror.c: Likewise.
31963         * lib/verror.h: Likewise.
31964         * lib/version-etc-fsf.c: Likewise.
31965         * lib/version-etc.c: Likewise.
31966         * lib/version-etc.h: Likewise.
31967         * lib/vfprintf.c: Likewise.
31968         * lib/vprintf.c: Likewise.
31969         * lib/vsprintf.c: Likewise.
31970         * lib/w32spawn.h: Likewise.
31971         * lib/wait-process.c: Likewise.
31972         * lib/wait-process.h: Likewise.
31973         * lib/wcwidth.c: Likewise.
31974         * lib/write-any-file.c: Likewise.
31975         * lib/xalloc-die.c: Likewise.
31976         * lib/xalloc.h: Likewise.
31977         * lib/xasprintf.c: Likewise.
31978         * lib/xgetcwd.c: Likewise.
31979         * lib/xgetcwd.h: Likewise.
31980         * lib/xgetdomainname.c: Likewise.
31981         * lib/xgetdomainname.h: Likewise.
31982         * lib/xgethostname.c: Likewise.
31983         * lib/xmalloc.c: Likewise.
31984         * lib/xmalloca.c: Likewise.
31985         * lib/xmalloca.h: Likewise.
31986         * lib/xmemcoll.c: Likewise.
31987         * lib/xnanosleep.c: Likewise.
31988         * lib/xreadlink.c: Likewise.
31989         * lib/xreadlink.h: Likewise.
31990         * lib/xsetenv.c: Likewise.
31991         * lib/xsetenv.h: Likewise.
31992         * lib/xstriconv.c: Likewise.
31993         * lib/xstriconv.h: Likewise.
31994         * lib/xstrndup.c: Likewise.
31995         * lib/xstrndup.h: Likewise.
31996         * lib/xstrtod.c: Likewise.
31997         * lib/xstrtod.h: Likewise.
31998         * lib/xstrtol-error.c: Likewise.
31999         * lib/xstrtol.c: Likewise.
32000         * lib/xstrtol.h: Likewise.
32001         * lib/xtime.h: Likewise.
32002         * lib/xvasprintf.c: Likewise.
32003         * lib/xvasprintf.h: Likewise.
32004         * lib/yesno.c: Likewise.
32005         * lib/yesno.h: Likewise.
32006         * posix-modules: Likewise.
32007         * tests/test-alloca-opt.c: Likewise.
32008         * tests/test-arcfour.c: Likewise.
32009         * tests/test-arctwo.c: Likewise.
32010         * tests/test-argmatch.c: Likewise.
32011         * tests/test-argp-2.sh: Likewise.
32012         * tests/test-argp.c: Likewise.
32013         * tests/test-arpa_inet.c: Likewise.
32014         * tests/test-array_list.c: Likewise.
32015         * tests/test-array_oset.c: Likewise.
32016         * tests/test-atexit.c: Likewise.
32017         * tests/test-avltree_list.c: Likewise.
32018         * tests/test-avltree_oset.c: Likewise.
32019         * tests/test-avltreehash_list.c: Likewise.
32020         * tests/test-base64.c: Likewise.
32021         * tests/test-binary-io.c: Likewise.
32022         * tests/test-byteswap.c: Likewise.
32023         * tests/test-c-ctype.c: Likewise.
32024         * tests/test-c-strcasecmp.c: Likewise.
32025         * tests/test-c-strcasestr.c: Likewise.
32026         * tests/test-c-strncasecmp.c: Likewise.
32027         * tests/test-c-strstr.c: Likewise.
32028         * tests/test-canonicalize-lgpl.c: Likewise.
32029         * tests/test-canonicalize.c: Likewise.
32030         * tests/test-carray_list.c: Likewise.
32031         * tests/test-ceilf.c: Likewise.
32032         * tests/test-ceill.c: Likewise.
32033         * tests/test-count-one-bits.c: Likewise.
32034         * tests/test-crc.c: Likewise.
32035         * tests/test-dirname.c: Likewise.
32036         * tests/test-fbufmode.c: Likewise.
32037         * tests/test-fcntl.c: Likewise.
32038         * tests/test-fflush.c: Likewise.
32039         * tests/test-floorf.c: Likewise.
32040         * tests/test-floorl.c: Likewise.
32041         * tests/test-fopen.c: Likewise.
32042         * tests/test-fprintf-posix.c: Likewise.
32043         * tests/test-fprintf-posix.h: Likewise.
32044         * tests/test-fpurge.c: Likewise.
32045         * tests/test-freadable.c: Likewise.
32046         * tests/test-freadahead.c: Likewise.
32047         * tests/test-freading.c: Likewise.
32048         * tests/test-freopen.c: Likewise.
32049         * tests/test-frexp.c: Likewise.
32050         * tests/test-frexpl.c: Likewise.
32051         * tests/test-fseek.c: Likewise.
32052         * tests/test-fseeko.c: Likewise.
32053         * tests/test-fseterr.c: Likewise.
32054         * tests/test-fstrcmp.c: Likewise.
32055         * tests/test-ftell.c: Likewise.
32056         * tests/test-ftello.c: Likewise.
32057         * tests/test-fwritable.c: Likewise.
32058         * tests/test-fwriting.c: Likewise.
32059         * tests/test-getaddrinfo.c: Likewise.
32060         * tests/test-getpass.c: Likewise.
32061         * tests/test-gettimeofday.c: Likewise.
32062         * tests/test-hmac-md5.c: Likewise.
32063         * tests/test-hmac-sha1.c: Likewise.
32064         * tests/test-iconv.c: Likewise.
32065         * tests/test-iconvme.c: Likewise.
32066         * tests/test-inttypes.c: Likewise.
32067         * tests/test-isnan.c: Likewise.
32068         * tests/test-isnanf.c: Likewise.
32069         * tests/test-isnanl-nolibm.c: Likewise.
32070         * tests/test-isnanl.c: Likewise.
32071         * tests/test-isnanl.h: Likewise.
32072         * tests/test-ldexpl.c: Likewise.
32073         * tests/test-linked_list.c: Likewise.
32074         * tests/test-linkedhash_list.c: Likewise.
32075         * tests/test-locale.c: Likewise.
32076         * tests/test-localename.c: Likewise.
32077         * tests/test-lock.c: Likewise.
32078         * tests/test-lseek.c: Likewise.
32079         * tests/test-malloca.c: Likewise.
32080         * tests/test-math.c: Likewise.
32081         * tests/test-mbscasecmp.c: Likewise.
32082         * tests/test-mbscasestr1.c: Likewise.
32083         * tests/test-mbscasestr2.c: Likewise.
32084         * tests/test-mbscasestr3.c: Likewise.
32085         * tests/test-mbscasestr4.c: Likewise.
32086         * tests/test-mbschr.c: Likewise.
32087         * tests/test-mbscspn.c: Likewise.
32088         * tests/test-mbsncasecmp.c: Likewise.
32089         * tests/test-mbspbrk.c: Likewise.
32090         * tests/test-mbspcasecmp.c: Likewise.
32091         * tests/test-mbsrchr.c: Likewise.
32092         * tests/test-mbsspn.c: Likewise.
32093         * tests/test-mbsstr1.c: Likewise.
32094         * tests/test-mbsstr2.c: Likewise.
32095         * tests/test-mbsstr3.c: Likewise.
32096         * tests/test-md5.c: Likewise.
32097         * tests/test-memmem.c: Likewise.
32098         * tests/test-netinet_in.c: Likewise.
32099         * tests/test-open.c: Likewise.
32100         * tests/test-printf-frexp.c: Likewise.
32101         * tests/test-printf-frexpl.c: Likewise.
32102         * tests/test-printf-posix.c: Likewise.
32103         * tests/test-printf-posix.h: Likewise.
32104         * tests/test-rbtree_list.c: Likewise.
32105         * tests/test-rbtree_oset.c: Likewise.
32106         * tests/test-rbtreehash_list.c: Likewise.
32107         * tests/test-read-file.c: Likewise.
32108         * tests/test-rijndael.c: Likewise.
32109         * tests/test-search.c: Likewise.
32110         * tests/test-signbit.c: Likewise.
32111         * tests/test-sleep.c: Likewise.
32112         * tests/test-snprintf-posix.c: Likewise.
32113         * tests/test-snprintf-posix.h: Likewise.
32114         * tests/test-snprintf.c: Likewise.
32115         * tests/test-sprintf-posix.c: Likewise.
32116         * tests/test-sprintf-posix.h: Likewise.
32117         * tests/test-stat-time.c: Likewise.
32118         * tests/test-stdbool.c: Likewise.
32119         * tests/test-stdint.c: Likewise.
32120         * tests/test-stdio.c: Likewise.
32121         * tests/test-stdlib.c: Likewise.
32122         * tests/test-stpncpy.c: Likewise.
32123         * tests/test-strcasestr.c: Likewise.
32124         * tests/test-striconv.c: Likewise.
32125         * tests/test-striconveh.c: Likewise.
32126         * tests/test-striconveha.c: Likewise.
32127         * tests/test-string.c: Likewise.
32128         * tests/test-sys_select.c: Likewise.
32129         * tests/test-sys_socket.c: Likewise.
32130         * tests/test-sys_stat.c: Likewise.
32131         * tests/test-sys_time.c: Likewise.
32132         * tests/test-sysexits.c: Likewise.
32133         * tests/test-time.c: Likewise.
32134         * tests/test-tls.c: Likewise.
32135         * tests/test-trunc.c: Likewise.
32136         * tests/test-truncf.c: Likewise.
32137         * tests/test-truncl.c: Likewise.
32138         * tests/test-unistd.c: Likewise.
32139         * tests/test-vasnprintf-posix.c: Likewise.
32140         * tests/test-vasnprintf-posix2.c: Likewise.
32141         * tests/test-vasnprintf.c: Likewise.
32142         * tests/test-vasprintf-posix.c: Likewise.
32143         * tests/test-vasprintf.c: Likewise.
32144         * tests/test-verify.c: Likewise.
32145         * tests/test-vfprintf-posix.c: Likewise.
32146         * tests/test-vprintf-posix.c: Likewise.
32147         * tests/test-vsnprintf-posix.c: Likewise.
32148         * tests/test-vsnprintf.c: Likewise.
32149         * tests/test-vsprintf-posix.c: Likewise.
32150         * tests/test-wchar.c: Likewise.
32151         * tests/test-wctype.c: Likewise.
32152         * tests/test-wcwidth.c: Likewise.
32153         * tests/test-xstrtol.c: Likewise.
32154         * tests/test-xvasprintf.c: Likewise.
32155         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32156         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32157         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32158         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32159         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32160         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32161         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32162         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32163         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32164         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32165         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32166         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32167         * tests/uniname/test-uninames.c: Likewise.
32168         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32169         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
32170         * tests/unistdio/test-u16-printf1.h: Likewise.
32171         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32172         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32173         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32174         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32175         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32176         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32177         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32178         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
32179         * tests/unistdio/test-u32-printf1.h: Likewise.
32180         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32181         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32182         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32183         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32184         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32185         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32186         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32187         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
32188         * tests/unistdio/test-u8-printf1.h: Likewise.
32189         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32190         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32191         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32192         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32193         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32194         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32195         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32196         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
32197         * tests/unistdio/test-ulc-printf1.h: Likewise.
32198         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32199         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32200         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32201         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32202         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32203         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32204         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32205         * tests/uniwidth/test-u16-width.c: Likewise.
32206         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32207         * tests/uniwidth/test-u32-width.c: Likewise.
32208         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32209         * tests/uniwidth/test-u8-width.c: Likewise.
32210         * tests/uniwidth/test-uc_width.c: Likewise.
32211         * config/srclist-update: Likewise.
32212         (fixlicense): Update to GPLv3+.
32213
32214         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32215         * tests/test-tsearch.c: Change copyright notice.
32216
32217         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32218         * lib/c-strcaseeq.h: Change copyright notice.
32219         * lib/streq.h: Likewise.
32220         * lib/uniconv.h: Likewise.
32221         * lib/uniconv/u-conv-from-enc.h: Likewise.
32222         * lib/uniconv/u-conv-to-enc.h: Likewise.
32223         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32224         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32225         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32226         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32227         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32228         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32229         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32230         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32231         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32232         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32233         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32234         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32235         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32236         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32237         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32238         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32239         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32240         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32241         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32242         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32243         * lib/uniname.h: Likewise.
32244         * lib/uniname/uniname.c: Likewise.
32245         * lib/unistdio.h: Likewise.
32246         * lib/unistdio/u-asnprintf.h: Likewise.
32247         * lib/unistdio/u-asprintf.h: Likewise.
32248         * lib/unistdio/u-printf-args.c: Likewise.
32249         * lib/unistdio/u-printf-args.h: Likewise.
32250         * lib/unistdio/u-printf-parse.h: Likewise.
32251         * lib/unistdio/u-snprintf.h: Likewise.
32252         * lib/unistdio/u-sprintf.h: Likewise.
32253         * lib/unistdio/u-vasprintf.h: Likewise.
32254         * lib/unistdio/u-vsnprintf.h: Likewise.
32255         * lib/unistdio/u-vsprintf.h: Likewise.
32256         * lib/unistdio/u16-asnprintf.c: Likewise.
32257         * lib/unistdio/u16-asprintf.c: Likewise.
32258         * lib/unistdio/u16-printf-parse.c: Likewise.
32259         * lib/unistdio/u16-snprintf.c: Likewise.
32260         * lib/unistdio/u16-sprintf.c: Likewise.
32261         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32262         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32263         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32264         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32265         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32266         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32267         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32268         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32269         * lib/unistdio/u16-vasnprintf.c: Likewise.
32270         * lib/unistdio/u16-vasprintf.c: Likewise.
32271         * lib/unistdio/u16-vsnprintf.c: Likewise.
32272         * lib/unistdio/u16-vsprintf.c: Likewise.
32273         * lib/unistdio/u32-asnprintf.c: Likewise.
32274         * lib/unistdio/u32-asprintf.c: Likewise.
32275         * lib/unistdio/u32-printf-parse.c: Likewise.
32276         * lib/unistdio/u32-snprintf.c: Likewise.
32277         * lib/unistdio/u32-sprintf.c: Likewise.
32278         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32279         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32280         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32281         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32282         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32283         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32284         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32285         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32286         * lib/unistdio/u32-vasnprintf.c: Likewise.
32287         * lib/unistdio/u32-vasprintf.c: Likewise.
32288         * lib/unistdio/u32-vsnprintf.c: Likewise.
32289         * lib/unistdio/u32-vsprintf.c: Likewise.
32290         * lib/unistdio/u8-asnprintf.c: Likewise.
32291         * lib/unistdio/u8-asprintf.c: Likewise.
32292         * lib/unistdio/u8-printf-parse.c: Likewise.
32293         * lib/unistdio/u8-snprintf.c: Likewise.
32294         * lib/unistdio/u8-sprintf.c: Likewise.
32295         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32296         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32297         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32298         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32299         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32300         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32301         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32302         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32303         * lib/unistdio/u8-vasnprintf.c: Likewise.
32304         * lib/unistdio/u8-vasprintf.c: Likewise.
32305         * lib/unistdio/u8-vsnprintf.c: Likewise.
32306         * lib/unistdio/u8-vsprintf.c: Likewise.
32307         * lib/unistdio/ulc-asnprintf.c: Likewise.
32308         * lib/unistdio/ulc-asprintf.c: Likewise.
32309         * lib/unistdio/ulc-printf-parse.c: Likewise.
32310         * lib/unistdio/ulc-snprintf.c: Likewise.
32311         * lib/unistdio/ulc-sprintf.c: Likewise.
32312         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32313         * lib/unistdio/ulc-vasprintf.c: Likewise.
32314         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32315         * lib/unistdio/ulc-vsprintf.c: Likewise.
32316         * lib/unistr.h: Likewise.
32317         * lib/unistr/u-cpy-alloc.h: Likewise.
32318         * lib/unistr/u-cpy.h: Likewise.
32319         * lib/unistr/u-endswith.h: Likewise.
32320         * lib/unistr/u-move.h: Likewise.
32321         * lib/unistr/u-set.h: Likewise.
32322         * lib/unistr/u-startswith.h: Likewise.
32323         * lib/unistr/u-stpcpy.h: Likewise.
32324         * lib/unistr/u-stpncpy.h: Likewise.
32325         * lib/unistr/u-strcat.h: Likewise.
32326         * lib/unistr/u-strcpy.h: Likewise.
32327         * lib/unistr/u-strcspn.h: Likewise.
32328         * lib/unistr/u-strdup.h: Likewise.
32329         * lib/unistr/u-strlen.h: Likewise.
32330         * lib/unistr/u-strncat.h: Likewise.
32331         * lib/unistr/u-strncpy.h: Likewise.
32332         * lib/unistr/u-strnlen.h: Likewise.
32333         * lib/unistr/u-strpbrk.h: Likewise.
32334         * lib/unistr/u-strspn.h: Likewise.
32335         * lib/unistr/u-strstr.h: Likewise.
32336         * lib/unistr/u-strtok.h: Likewise.
32337         * lib/unistr/u16-check.c: Likewise.
32338         * lib/unistr/u16-chr.c: Likewise.
32339         * lib/unistr/u16-cmp.c: Likewise.
32340         * lib/unistr/u16-cpy-alloc.c: Likewise.
32341         * lib/unistr/u16-cpy.c: Likewise.
32342         * lib/unistr/u16-endswith.c: Likewise.
32343         * lib/unistr/u16-mblen.c: Likewise.
32344         * lib/unistr/u16-mbsnlen.c: Likewise.
32345         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32346         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32347         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32348         * lib/unistr/u16-mbtouc.c: Likewise.
32349         * lib/unistr/u16-mbtoucr.c: Likewise.
32350         * lib/unistr/u16-move.c: Likewise.
32351         * lib/unistr/u16-next.c: Likewise.
32352         * lib/unistr/u16-prev.c: Likewise.
32353         * lib/unistr/u16-set.c: Likewise.
32354         * lib/unistr/u16-startswith.c: Likewise.
32355         * lib/unistr/u16-stpcpy.c: Likewise.
32356         * lib/unistr/u16-stpncpy.c: Likewise.
32357         * lib/unistr/u16-strcat.c: Likewise.
32358         * lib/unistr/u16-strchr.c: Likewise.
32359         * lib/unistr/u16-strcmp.c: Likewise.
32360         * lib/unistr/u16-strcpy.c: Likewise.
32361         * lib/unistr/u16-strcspn.c: Likewise.
32362         * lib/unistr/u16-strdup.c: Likewise.
32363         * lib/unistr/u16-strlen.c: Likewise.
32364         * lib/unistr/u16-strmblen.c: Likewise.
32365         * lib/unistr/u16-strmbtouc.c: Likewise.
32366         * lib/unistr/u16-strncat.c: Likewise.
32367         * lib/unistr/u16-strncmp.c: Likewise.
32368         * lib/unistr/u16-strncpy.c: Likewise.
32369         * lib/unistr/u16-strnlen.c: Likewise.
32370         * lib/unistr/u16-strpbrk.c: Likewise.
32371         * lib/unistr/u16-strrchr.c: Likewise.
32372         * lib/unistr/u16-strspn.c: Likewise.
32373         * lib/unistr/u16-strstr.c: Likewise.
32374         * lib/unistr/u16-strtok.c: Likewise.
32375         * lib/unistr/u16-to-u32.c: Likewise.
32376         * lib/unistr/u16-to-u8.c: Likewise.
32377         * lib/unistr/u16-uctomb-aux.c: Likewise.
32378         * lib/unistr/u16-uctomb.c: Likewise.
32379         * lib/unistr/u32-check.c: Likewise.
32380         * lib/unistr/u32-chr.c: Likewise.
32381         * lib/unistr/u32-cmp.c: Likewise.
32382         * lib/unistr/u32-cpy-alloc.c: Likewise.
32383         * lib/unistr/u32-cpy.c: Likewise.
32384         * lib/unistr/u32-endswith.c: Likewise.
32385         * lib/unistr/u32-mblen.c: Likewise.
32386         * lib/unistr/u32-mbsnlen.c: Likewise.
32387         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32388         * lib/unistr/u32-mbtouc.c: Likewise.
32389         * lib/unistr/u32-mbtoucr.c: Likewise.
32390         * lib/unistr/u32-move.c: Likewise.
32391         * lib/unistr/u32-next.c: Likewise.
32392         * lib/unistr/u32-prev.c: Likewise.
32393         * lib/unistr/u32-set.c: Likewise.
32394         * lib/unistr/u32-startswith.c: Likewise.
32395         * lib/unistr/u32-stpcpy.c: Likewise.
32396         * lib/unistr/u32-stpncpy.c: Likewise.
32397         * lib/unistr/u32-strcat.c: Likewise.
32398         * lib/unistr/u32-strchr.c: Likewise.
32399         * lib/unistr/u32-strcmp.c: Likewise.
32400         * lib/unistr/u32-strcpy.c: Likewise.
32401         * lib/unistr/u32-strcspn.c: Likewise.
32402         * lib/unistr/u32-strdup.c: Likewise.
32403         * lib/unistr/u32-strlen.c: Likewise.
32404         * lib/unistr/u32-strmblen.c: Likewise.
32405         * lib/unistr/u32-strmbtouc.c: Likewise.
32406         * lib/unistr/u32-strncat.c: Likewise.
32407         * lib/unistr/u32-strncmp.c: Likewise.
32408         * lib/unistr/u32-strncpy.c: Likewise.
32409         * lib/unistr/u32-strnlen.c: Likewise.
32410         * lib/unistr/u32-strpbrk.c: Likewise.
32411         * lib/unistr/u32-strrchr.c: Likewise.
32412         * lib/unistr/u32-strspn.c: Likewise.
32413         * lib/unistr/u32-strstr.c: Likewise.
32414         * lib/unistr/u32-strtok.c: Likewise.
32415         * lib/unistr/u32-to-u16.c: Likewise.
32416         * lib/unistr/u32-to-u8.c: Likewise.
32417         * lib/unistr/u32-uctomb.c: Likewise.
32418         * lib/unistr/u8-check.c: Likewise.
32419         * lib/unistr/u8-chr.c: Likewise.
32420         * lib/unistr/u8-cmp.c: Likewise.
32421         * lib/unistr/u8-cpy-alloc.c: Likewise.
32422         * lib/unistr/u8-cpy.c: Likewise.
32423         * lib/unistr/u8-endswith.c: Likewise.
32424         * lib/unistr/u8-mblen.c: Likewise.
32425         * lib/unistr/u8-mbsnlen.c: Likewise.
32426         * lib/unistr/u8-mbtouc-aux.c: Likewise.
32427         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32428         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32429         * lib/unistr/u8-mbtouc.c: Likewise.
32430         * lib/unistr/u8-mbtoucr.c: Likewise.
32431         * lib/unistr/u8-move.c: Likewise.
32432         * lib/unistr/u8-next.c: Likewise.
32433         * lib/unistr/u8-prev.c: Likewise.
32434         * lib/unistr/u8-set.c: Likewise.
32435         * lib/unistr/u8-startswith.c: Likewise.
32436         * lib/unistr/u8-stpcpy.c: Likewise.
32437         * lib/unistr/u8-stpncpy.c: Likewise.
32438         * lib/unistr/u8-strcat.c: Likewise.
32439         * lib/unistr/u8-strchr.c: Likewise.
32440         * lib/unistr/u8-strcmp.c: Likewise.
32441         * lib/unistr/u8-strcpy.c: Likewise.
32442         * lib/unistr/u8-strcspn.c: Likewise.
32443         * lib/unistr/u8-strdup.c: Likewise.
32444         * lib/unistr/u8-strlen.c: Likewise.
32445         * lib/unistr/u8-strmblen.c: Likewise.
32446         * lib/unistr/u8-strmbtouc.c: Likewise.
32447         * lib/unistr/u8-strncat.c: Likewise.
32448         * lib/unistr/u8-strncmp.c: Likewise.
32449         * lib/unistr/u8-strncpy.c: Likewise.
32450         * lib/unistr/u8-strnlen.c: Likewise.
32451         * lib/unistr/u8-strpbrk.c: Likewise.
32452         * lib/unistr/u8-strrchr.c: Likewise.
32453         * lib/unistr/u8-strspn.c: Likewise.
32454         * lib/unistr/u8-strstr.c: Likewise.
32455         * lib/unistr/u8-strtok.c: Likewise.
32456         * lib/unistr/u8-to-u16.c: Likewise.
32457         * lib/unistr/u8-to-u32.c: Likewise.
32458         * lib/unistr/u8-uctomb-aux.c: Likewise.
32459         * lib/unistr/u8-uctomb.c: Likewise.
32460         * lib/unitypes.h: Likewise.
32461         * lib/uniwidth.h: Likewise.
32462         * lib/uniwidth/cjk.h: Likewise.
32463         * lib/uniwidth/u16-strwidth.c: Likewise.
32464         * lib/uniwidth/u16-width.c: Likewise.
32465         * lib/uniwidth/u32-strwidth.c: Likewise.
32466         * lib/uniwidth/u32-width.c: Likewise.
32467         * lib/uniwidth/u8-strwidth.c: Likewise.
32468         * lib/uniwidth/u8-width.c: Likewise.
32469         * lib/uniwidth/width.c: Likewise.
32470
32471 2007-10-07  Bruno Haible  <bruno@clisp.org>
32472
32473         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32474         The file is still under LGPL (see modules/inttypes).
32475
32476 2007-10-06  Bruno Haible  <bruno@clisp.org>
32477
32478         * modules/trunc (Dependencies): Add 'extensions'.
32479         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32480         Reported by Ben Pfaff <blp@gnu.org>.
32481
32482 2007-10-06  Bruno Haible  <bruno@clisp.org>
32483
32484         * modules/freopen-tests: New file.
32485         * tests/test-freopen.c: New file.
32486
32487         * modules/fopen-tests: New file.
32488         * tests/test-fopen.c: New file.
32489
32490         * modules/fopen: New file.
32491         * lib/fopen.c: New file.
32492         * m4/fopen.m4: New file.
32493         * modules/freopen: New file.
32494         * lib/freopen.c: New file.
32495         * m4/freopen.m4: New file.
32496         * lib/stdio.in.h (fopen, freopen): New declarations.
32497         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32498         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32499         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32500         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32501         * doc/functions/fopen.texi: Mention the 'fopen' module.
32502         * doc/functions/freopen.texi: Mention the 'freopen' module.
32503
32504 2007-10-06  Bruno Haible  <bruno@clisp.org>
32505
32506         * modules/open-tests: New file.
32507         * tests/test-open.c: New file.
32508
32509         * modules/open: New file.
32510         * lib/open.c: New file.
32511         * m4/open.m4: New file.
32512         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32513         lib/open.c does.
32514         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32515         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32516         macros.
32517         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32518         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32519         REPLACE_OPEN.
32520         * doc/functions/open.texi: Mention the 'open' module.
32521
32522 2007-10-04  Bruno Haible  <bruno@clisp.org>
32523
32524         * modules/ceill-tests: New file.
32525         * tests/test-ceill.c: New file.
32526
32527         * modules/ceill: New file.
32528         * lib/ceill.c: Replace entire file.
32529         * m4/ceill.m4: New file.
32530         * lib/math.in.h (ceill): Replace declaration.
32531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32532         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32533         * doc/functions/ceill.texi: Mention the 'ceill' module.
32534         * modules/mathl (Files): Remove lib/ceill.c.
32535         (Depends-on): Add ceill.
32536
32537 2007-10-04  Bruno Haible  <bruno@clisp.org>
32538
32539         * modules/ceilf-tests: New file.
32540         * tests/test-ceilf.c: New file.
32541
32542         * modules/ceilf: New file.
32543         * lib/ceil.c: New file.
32544         * lib/ceilf.c: New file.
32545         * m4/ceilf.m4: New file.
32546         * lib/math.in.h (ceilf): New declaration.
32547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32548         HAVE_DECL_CEILF.
32549         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32550         HAVE_DECL_CEILF.
32551         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32552
32553 2007-10-04  Bruno Haible  <bruno@clisp.org>
32554
32555         * modules/floorl-tests: New file.
32556         * tests/test-floorl.c: New file.
32557
32558         * modules/floorl: New file.
32559         * lib/floorl.c: Replace entire file.
32560         * m4/floorl.m4: New file.
32561         * lib/math.in.h (floorl): Replace declaration.
32562         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32563         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32564         * doc/functions/floorl.texi: Mention the 'floorl' module.
32565         * modules/mathl (Files): Remove lib/floorl.c.
32566         (Depends-on): Add floorl.
32567
32568 2007-10-04  Bruno Haible  <bruno@clisp.org>
32569
32570         * modules/floorf-tests: New file.
32571         * tests/test-floorf.c: New file.
32572
32573         * modules/floorf: New file.
32574         * lib/floor.c: New file.
32575         * lib/floorf.c: New file.
32576         * m4/floorf.m4: New file.
32577         * lib/math.in.h (floorf): New declaration.
32578         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32579         HAVE_DECL_FLOORF.
32580         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32581         HAVE_DECL_FLOORF.
32582         * doc/functions/floorf.texi: Mention the 'floorf' module.
32583
32584 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32585             Bruno Haible  <bruno@clisp.org>
32586
32587         Advertise for the Git server instead of the CVS server.
32588         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32589         repository instead of the CVS one.
32590         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32591         about all VCS systems generically.
32592         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32593
32594 2007-10-04  Bruno Haible  <bruno@clisp.org>
32595
32596         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32597         means.
32598         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32599
32600 2007-10-04  Bruno Haible  <bruno@clisp.org>
32601
32602         * modules/truncl-tests: New file.
32603         * tests/test-truncl.c: New file.
32604
32605         * modules/truncl: New file.
32606         * lib/truncl.c: New file.
32607         * m4/truncl.m4: New file.
32608         * lib/math.in.h (truncl): New declaration.
32609         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32610         HAVE_DECL_TRUNCL.
32611         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32612         HAVE_DECL_TRUNCL.
32613         * doc/functions/truncl.texi: Mention the 'truncl' module.
32614
32615 2007-10-04  Bruno Haible  <bruno@clisp.org>
32616
32617         * modules/truncf-tests: New file.
32618         * tests/test-truncf.c: New file.
32619
32620         * modules/truncf: New file.
32621         * lib/trunc.c: Make paramerizable through USE_* macros.
32622         * lib/truncf.c: New file.
32623         * m4/truncf.m4: New file.
32624         * lib/math.in.h (truncf): New declaration.
32625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32626         HAVE_DECL_TRUNCF.
32627         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32628         HAVE_DECL_TRUNCF.
32629         * doc/functions/truncf.texi: Mention the 'truncf' module.
32630
32631 2007-10-03  Bruno Haible  <bruno@clisp.org>
32632
32633         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32634         augmentation also for tests modules.
32635         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32636         * modules/atexit-tests (Makefile.am): Likewise.
32637         * modules/binary-io-tests (Makefile.am): Likewise.
32638         * modules/c-strcase-tests (Makefile.am): Likewise.
32639         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32640         * modules/canonicalize-tests (Makefile.am): Likewise.
32641         * modules/closein-tests (Makefile.am): Likewise.
32642         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32643         * modules/freadahead-tests (Makefile.am): Likewise.
32644         * modules/fseek-tests (Makefile.am): Likewise.
32645         * modules/fseeko-tests (Makefile.am): Likewise.
32646         * modules/ftell-tests (Makefile.am): Likewise.
32647         * modules/ftello-tests (Makefile.am): Likewise.
32648         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32649         * modules/isnanl-tests (Makefile.am): Likewise.
32650         * modules/lseek-tests (Makefile.am): Likewise.
32651         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32652         * modules/mbscasestr-tests (Makefile.am): Likewise.
32653         * modules/mbschr-tests (Makefile.am): Likewise.
32654         * modules/mbscspn-tests (Makefile.am): Likewise.
32655         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32656         * modules/mbspbrk-tests (Makefile.am): Likewise.
32657         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32658         * modules/mbsrchr-tests (Makefile.am): Likewise.
32659         * modules/mbsspn-tests (Makefile.am): Likewise.
32660         * modules/mbsstr-tests (Makefile.am): Likewise.
32661         * modules/printf-posix-tests (Makefile.am): Likewise.
32662         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32663         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32664         * modules/tsearch-tests (Makefile.am): Likewise.
32665         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32666         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32667         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32668         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32669         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32670         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32671         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32672         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32673         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32674         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32675         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32676         * modules/xstrtol-tests (Makefile.am): Likewise.
32677         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32678         * modules/yesno-tests (Makefile.am): Likewise.
32679
32680 2007-10-03  Bruno Haible  <bruno@clisp.org>
32681
32682         * modules/trunc-tests: New file.
32683         * tests/test-trunc.c: New file.
32684
32685         * modules/trunc: New file.
32686         * lib/trunc.c: New file.
32687         * m4/trunc.m4: New file.
32688         * lib/math.in.h (trunc): New declaration.
32689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32690         HAVE_DECL_TRUNC.
32691         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32692         HAVE_DECL_TRUNC.
32693         * doc/functions/trunc.texi: Mention the 'trunc' module.
32694
32695 2007-10-03  Bruno Haible  <bruno@clisp.org>
32696
32697         * tests/test-fpending.c: New file, mostly copied
32698         from coreutils/lib/t-fpending.c.
32699         * modules/fpending-tests: New file.
32700
32701 2007-10-03  Bruno Haible  <bruno@clisp.org>
32702
32703         Port the stdio extensions to QNX (untested).
32704         * lib/fseterr.c (fseterr): Add support for QNX.
32705         * lib/fbufmode.c (fbufmode): Likewise.
32706         * lib/freadable.c (freadable): Likewise.
32707         * lib/fwritable.c (fwritable): Likewise.
32708         * lib/freading.c (freading): Likewise.
32709         * lib/fwriting.c (fwriting): Likewise.
32710         * lib/freadahead.c (freadahed): Likewise.
32711         * lib/fpurge.c (fpurge): Likewise.
32712         * lib/fseeko.c (rpl_fseeko): Likewise.
32713
32714 2007-10-03  Bruno Haible  <bruno@clisp.org>
32715             Jim Meyering  <jim@meyering.net>
32716             Eric Blake  <ebb9@byu.net>
32717
32718         * doc/relocatable.texi: Use @command instead of @program.
32719
32720 2007-10-02  Jim Meyering  <jim@meyering.net>
32721
32722         Perform one more "_.h" -> ".in.h" substitution.
32723         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32724         instead of unistd_.h here, too.
32725
32726 2007-10-01  Bruno Haible  <bruno@clisp.org>
32727
32728         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32729         Needed for the alloca-opt module.
32730
32731 2007-09-30  Bruno Haible  <bruno@clisp.org>
32732
32733         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32734         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32735         alloca_.h.
32736         * lib/argz.in.h: Renamed from lib/argz_.h.
32737         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32738         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32739         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32740         byteswap_.h.
32741         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32742         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32743         dirent_.h.
32744         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32745         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32746         fcntl_.h.
32747         * lib/float.in.h: Renamed from lib/float_.h.
32748         * modules/float (Files, Makefile.am): Use float.in.h instead of
32749         float_.h.
32750         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32751         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32752         fnmatch_.h.
32753         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32754         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32755         getopt_.h.
32756         * lib/glob.in.h: Renamed from lib/glob_.h.
32757         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32758         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32759         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32760         iconv_.h.
32761         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32762         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32763         inttypes_.h.
32764         * lib/locale.in.h: Renamed from lib/locale_.h.
32765         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32766         locale_.h.
32767         * lib/math.in.h: Renamed from lib/math_.h.
32768         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32769         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32770         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32771         of netinet_in_.h. Add dependency.
32772         * lib/poll.in.h: Renamed from lib/poll_.h.
32773         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32774         * lib/search.in.h: Renamed from lib/search_.h.
32775         * modules/search (Files, Makefile.am): Use search.in.h instead of
32776         search_.h.
32777         * lib/signal.in.h: Renamed from lib/signal_.h.
32778         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32779         _signal.h.
32780         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32781         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32782         stdbool_.h.
32783         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32784         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32785         stdint_.h.
32786         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32787         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32788         stdio_.h.
32789         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32790         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32791         stdlib_.h.
32792         * lib/string.in.h: Renamed from lib/string_.h.
32793         * modules/string (Files, Makefile.am): Use string.in.h instead of
32794         string_.h.
32795         * doc/gnulib-tool.texi (Initial import): Update.
32796         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32797         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32798         of sys_select_.h. Add dependency.
32799         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32800         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32801         of sys_socket_.h.
32802         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32803         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32804         sys_stat_.h.
32805         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32806         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32807         sys_time_.h.
32808         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32809         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32810         sysexits_.h.
32811         * lib/time.in.h: Renamed from lib/time_.h.
32812         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32813         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32814         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32815         unistd_.h.
32816         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32817         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32818         wchar_.h.
32819         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32820         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32821         wctype_.h.
32822         * build-aux/bootstrap (slurp): Update.
32823         * lib/.cppi-disable: Update.
32824
32825 2007-09-30  Bruno Haible  <bruno@clisp.org>
32826
32827         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32828         Needed on BeOS.
32829
32830 2007-09-30  Bruno Haible  <bruno@clisp.org>
32831
32832         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32833
32834 2007-09-29  Bruno Haible  <bruno@clisp.org>
32835
32836         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32837
32838 2007-09-29  Bruno Haible  <bruno@clisp.org>
32839
32840         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32841         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32842         * build-aux/install-reloc: Compile also areadlink.c.
32843         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32844
32845 2007-09-29  Bruno Haible  <bruno@clisp.org>
32846
32847         * gnulib-tool (func_emit_initmacro_done): Indentation.
32848
32849 2007-09-29  Bruno Haible  <bruno@clisp.org>
32850
32851         * README: Add CVS checkout update instructions.
32852         Info from Bob Proulx <bob@proulx.com>.
32853
32854 2007-09-28  Eric Blake  <ebb9@byu.net>
32855
32856         Provide move-if-change.
32857         * build-aux/move-if-change: New file, based on best practice
32858         rather than any canonical upstream location.
32859
32860 2007-09-28  Jim Meyering  <jim@meyering.net>
32861
32862         Fix canonicalize loop-detection corner case.
32863         Do not attempt to stat the symlink values stored via seen_triple.
32864         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32865         on linux-2.6.18, (but not 2.6.22).
32866         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32867         triple_compare.  The former compares dev,ino,filename, while the latter
32868         would actually stat dirname(filename) when dev and ino were equal.
32869         * lib/hash-triple.c: Install <string.h>.
32870         (STREQ): Define.
32871         (triple_compare_ino_str): New function.
32872         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32873
32874 2007-09-28  Eric Blake  <ebb9@byu.net>
32875
32876         Enforce that AC_REPLACE_FUNCS files exist.
32877         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32878         override check for typos.
32879
32880         Fix test-closein on Solaris 10.
32881         * tests/test-closein.c (main): Don't assume stdin can be inherited
32882         closed on all systems.
32883         * tests/test-closein.sh: Likewise.
32884         Reported by Piotr Tarnowski.
32885
32886 2007-09-28  Jim Meyering  <jim@meyering.net>
32887
32888         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32889
32890 2007-09-27  Jim Meyering  <jim@meyering.net>
32891
32892         canonicalize: Avoid a false-positive cycle failure.
32893         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32894         Sort.  Remove cycle-check.
32895         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32896         not cycle-check.h.
32897         (seen_triple): New function.
32898         (canonicalize_filename_mode): Use it instead of cycle-check.
32899         * tests/test-canonicalize.c: Add a test for this bug.
32900         * tests/test-canonicalize.sh: Set up and run the test.
32901
32902         New module, file-set, from coreutils.
32903         * modules/file-set: Define it.
32904         * lib/file-set.c, lib/file-set.h: Implement.
32905
32906         New module, hash-triple, from coreutils.
32907         * modules/hash-triple: Define it.
32908         * lib/hash-triple.c, lib/hash-triple.h: Implement.
32909
32910 2007-09-25  Eric Blake  <ebb9@byu.net>
32911
32912         Fix strerror on Interix.
32913         * lib/string_.h (strerror): Declare replacement.
32914         * doc/functions/strerror.texi (strerror): Document the Interix
32915         shortcoming.
32916         * modules/string (Makefile.am): Support new hooks.
32917         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
32918         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
32919         gl_FUNC_STRERROR_SEPARATE.
32920         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
32921         * lib/strerror.c (rpl_strerror): Provide replacement.
32922         * modules/strerror (Depends-on): Add string.
32923         (configure.ac): Detect use of module.
32924         * tests/test-strerror.c: New file.
32925         * modules/strerror-tests: New test module.
32926         * modules/argp (Depends-on): Add strerror.
32927         * modules/error (Depends-on): Likewise.
32928         Reported by Martin Koeppe.
32929
32930 2007-09-24  Bruno Haible  <bruno@clisp.org>
32931
32932         * README: Update git instructions.
32933
32934 2007-09-24  Eric Blake  <ebb9@byu.net>
32935
32936         Revert fpending breakage from 2007-09-08.
32937         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
32938         __fpending.c.
32939
32940 2007-09-24  Jim Meyering  <jim@meyering.net>
32941
32942         filenamecat.c: Add a test.
32943         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
32944         showing how the function works when DIR is the empty string.
32945
32946 2007-09-21  Simon Josefsson  <simon@josefsson.org>
32947
32948         * tests/test-canonicalize.sh: Turn on executable bit.
32949
32950 2007-09-19  Eric Blake  <ebb9@byu.net>
32951
32952         * README: Update CVS instructions.
32953
32954 2007-09-18  Bruno Haible  <bruno@clisp.org>
32955
32956         * modules/areadlink: New file.
32957         * lib/areadlink.h (areadlink): New declaration.
32958         * lib/areadlink.c: New file, based on lib/xreadlink.c.
32959
32960 2007-09-17  Jim Meyering  <jim@meyering.net>
32961
32962         * lib/savewd.c (ESTALE) [!defined]: Define.
32963         Reported to be required on Interix by Martin Koeppe.
32964
32965 2007-09-17  Bruno Haible  <bruno@clisp.org>
32966
32967         * gnulib-tool (func_version): Use $version.
32968
32969 2007-09-16  Bruno Haible  <bruno@clisp.org>
32970
32971         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
32972         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
32973         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
32974         Reported by Greg Schafer <gschafer@zip.com.au>.
32975
32976 2007-09-15  Bruno Haible  <bruno@clisp.org>
32977
32978         * gnulib-tool (sed): Try a little harder to make bash understand the
32979         alias.
32980         Reported by Bruce Korb <bruce.korb@gmail.com>.
32981
32982 2007-09-13  Eric Blake  <ebb9@byu.net>
32983
32984         * ChangeLog: Remove conflict markers.
32985
32986 2007-09-13  Simon Josefsson  <simon@josefsson.org>
32987
32988         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
32989         Reported by Bruno Haible <bruno@clisp.org>.
32990
32991 2007-09-12  Bruno Haible  <bruno@clisp.org>
32992
32993         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
32994         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
32995         is not defined.
32996
32997 2007-09-12  Eric Blake  <ebb9@byu.net>
32998
32999         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
33000         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
33001         Autoconf definition.
33002         * modules/euidaccess (Depends-on): Add extensions, for
33003         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
33004         * modules/fnmatch (Depends-on): Likewise.
33005         * modules/getaddrinfo (Depends-on): Likewise.
33006         * modules/getdelim (Depends-on): Likewise.
33007         * modules/getline (Depends-on): Likewise.
33008         * modules/getsubopt (Depends-on): Likewise.
33009         * modules/gettext (Depends-on): Likewise.
33010         * modules/group-member (Depends-on): Likewise.
33011         * modules/mbchar (Depends-on): Likewise.
33012         * modules/memmem (Depends-on): Likewise.
33013         * modules/mempcpy (Depends-on): Likewise.
33014         * modules/memrchr (Depends-on): Likewise.
33015         * modules/pagealign_alloc (Depends-on): Likewise.
33016         * modules/readutmp (Depends-on): Likewise.
33017         * modules/stpcpy (Depends-on): Likewise.
33018         * modules/stpncpy (Depends-on): Likewise.
33019         * modules/strchrnul (Depends-on): Likewise.
33020         * modules/strndup (Depends-on): Likewise.
33021         * modules/strsep (Depends-on): Likewise.
33022         * modules/strverscmp (Depends-on): Likewise.
33023         * modules/vasprintf (Depends-on): Likewise.
33024         * modules/wcwidth (Depends-on): Likewise.
33025         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
33026         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
33027         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
33028         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
33029         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
33030         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33031         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
33032         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33033         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
33034         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33035         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33036         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
33037         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
33038         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
33039         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
33040         * m4/readutmp.m4 (gl_READUTMP): Likewise.
33041         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33042         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
33043         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33044         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
33045         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33046         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
33047         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
33048         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
33049         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
33050         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33051         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
33052         so that lock.m4 can be used in gettext without extensions module.
33053
33054 2007-09-11  Bruno Haible  <bruno@clisp.org>
33055
33056         * m4/isc-posix.m4: Remove file.
33057         Suggested by Eric Blake.
33058
33059 2007-09-11  Eric Blake  <ebb9@byu.net>
33060
33061         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
33062
33063 2007-09-10  Bruno Haible  <bruno@clisp.org>
33064
33065         * posix-modules: Fix typo in error message.
33066         Reported by Matt <mkraai@beckman.com>.
33067
33068 2007-09-09  Bruno Haible  <bruno@clisp.org>
33069
33070         * doc/functions/getdelim.texi: Update list of platforms lacking the
33071         function.
33072         * doc/functions/getline.texi: Likewise.
33073
33074 2007-09-09  Jim Meyering  <jim@meyering.net>
33075
33076         * lib/hash.c (hash_initialize): Detect calloc failure.
33077         Reported by Bruno Haible.
33078
33079 2007-09-09  Bruno Haible  <bruno@clisp.org>
33080
33081         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
33082         malloc or realloc fails.
33083
33084 2007-09-09  Bruno Haible  <bruno@clisp.org>
33085
33086         * modules/getcwd (Depends-on): Add malloc-posix.
33087         * modules/glob (Depends-on): Likewise.
33088         * modules/putenv (Depends-on): Likewise.
33089         * modules/strdup (Depends-on): Likewise.
33090         * modules/getdelim (Depends-on): Add realloc-posix.
33091         * modules/read-file (Depends-on): Likewise.
33092
33093 2007-09-09  Bruno Haible  <bruno@clisp.org>
33094
33095         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
33096         (gl_FUNC_MALLOC_POSIX): Require it.
33097         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
33098         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
33099         * modules/realloc (Files): Add m4/malloc.m4.
33100         * modules/calloc (Files): Likewise.
33101
33102 2007-09-09  Bruno Haible  <bruno@clisp.org>
33103
33104         * modules/malloc-posix: New file.
33105         * modules/malloc (Depends-on): Add malloc-posix.
33106         * lib/malloc.c: Include errno.h.
33107         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
33108         and a POSIX-compatible malloc into a single function. Set ENOMEM
33109         when returning NULL.
33110         * m4/malloc.m4: New file.
33111         * doc/functions/malloc.texi: Mention the malloc-posix module.
33112         * lib/stdlib_.h (malloc): New declaration.
33113         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33114         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
33115         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
33116         and HAVE_MALLOC_POSIX.
33117
33118 2007-09-09  Bruno Haible  <bruno@clisp.org>
33119
33120         * modules/realloc-posix: New file.
33121         * modules/realloc (Depends-on): Add realloc-posix.
33122         * lib/realloc.c: Include errno.h.
33123         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
33124         and a POSIX-compatible realloc into a single function. Set ENOMEM
33125         when returning NULL.
33126         * m4/realloc.m4: New file.
33127         * doc/functions/realloc.texi: Mention the realloc-posix module.
33128         * lib/stdlib_.h (realloc): New declaration.
33129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33130         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
33131         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
33132         and HAVE_REALLOC_POSIX.
33133
33134 2007-09-09  Bruno Haible  <bruno@clisp.org>
33135
33136         * modules/calloc-posix: New file.
33137         * modules/calloc (Depends-on): Add calloc-posix.
33138         * lib/calloc.c: Include errno.h.
33139         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
33140         and a POSIX-compatible calloc into a single function. Set ENOMEM
33141         when returning NULL.
33142         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
33143         * doc/functions/calloc.texi: Mention the calloc-posix module.
33144         * lib/stdlib_.h (calloc): New declaration.
33145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33146         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
33147         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
33148         and HAVE_CALLOC_POSIX.
33149
33150 2007-09-09  Bruno Haible  <bruno@clisp.org>
33151
33152         Allow for modules to show an arbitrary notice.
33153         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
33154         * gnulib-tool: New option --extract-notice.
33155         (func_usage): Document it.
33156         (sed_extract_prog): Update.
33157         (func_get_notice): New function.
33158         (func_modules_notice): New function.
33159         (func_import, func_create_testdir): Invoke it.
33160         Suggested by Jim Meyering.
33161
33162 2007-09-09  Bruno Haible  <bruno@clisp.org>
33163
33164         * gnulib-tool: New options --verbose, --quiet.
33165         (func_usage): Document them.
33166         (verbose): New variable.
33167         (func_execute_command): New function.
33168         (func_import): Don't show the module list and the file list if
33169         $verbose < 0.
33170         (func_create_testdir): Likewise. Use func_execute_command.
33171         (func_create_megatestdir): Use func_execute_command.
33172
33173 2007-09-08  Bruno Haible  <bruno@clisp.org>
33174
33175         * gnulib-tool (func_import): Prefer rsync over wget when available,
33176         for fetching the PO files.
33177
33178 2007-09-08  Bruno Haible  <bruno@clisp.org>
33179
33180         * posix-modules: New file. Portions copied from gnulib-tool.
33181         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
33182
33183 2007-09-08  Jim Meyering  <jim@meyering.net>
33184
33185         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
33186         * lib/fpending.h: Rename from __fpending.h.
33187         * lib/fpending.c: Rename from __fpending.c.
33188         Include "fpending.h", not "__fpending.h".
33189         * lib/__fpending.h, lib/__fpending.c: Remove files.
33190         * modules/fpending (Files): Reflect new file names.
33191         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
33192
33193 2007-09-08  Bruno Haible  <bruno@clisp.org>
33194
33195         * m4/inttypes-h.m4: Remove stub file.
33196
33197 2007-09-07  Simon Josefsson  <simon@josefsson.org>
33198
33199         * doc/headers/stdint.texi: Discuss #include_next issue.
33200
33201 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33202
33203         * build-aux/bootstrap: Remove obsolete comment about wget --help.
33204
33205 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33206
33207         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
33208         in variable name.
33209
33210 2007-09-03  Jim Meyering  <jim@meyering.net>
33211
33212         New module: git-version-gen.
33213         * modules/git-version-gen: New file.
33214
33215         Import changes from coreutils for bootstrap script.
33216
33217         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33218
33219         bootstrap: uses rsync to download the .po files
33220         * build-aux/bootstrap (po_download_command_format): New global.
33221         (download_po_files): Use rsync.
33222         (update_po_files): Don't remove .po files after download,
33223         so future rsync runs can take advantage of the copies.
33224
33225         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33226
33227         Solve the unnecessary-.po-file-regeneration problem once and for all.
33228         * build-aux/bootstrap (download_po_files): New function, renamed from
33229         get_translations.  Now, downloads, but doesn't update LINGUAS.
33230         (update_po_files): New function.
33231
33232         bootstrap: Ignore more.
33233         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33234         uniwidth to e.g., lib/.gitignore.
33235         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33236
33237         * build-aux/bootstrap: New setting: vc_ignore.
33238         (insert_sorted_if_absent): Create $file if absent.
33239         Adapt to new, possibly empty, list: $vc_ignore.
33240
33241         bootstrap: generate more ignorable names
33242         * build-aux/bootstrap (slurp): When generating ignorable names,
33243         also map .sin to .sed, .gperf to .c, and .y to .c.
33244
33245 2007-09-03  Jim Meyering  <jim@meyering.net>
33246
33247         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33248         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33249
33250 2007-09-02  Bruno Haible  <bruno@clisp.org>
33251
33252         Fix mis-recognition of 'mcs' on QNX 6.
33253         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33254         output contains the string "Mono".
33255         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33256         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33257
33258 2007-09-01  Bruno Haible  <bruno@clisp.org>
33259
33260         Fix collision between uniwidth/* and linebreak modules.
33261         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33262         u32_width): Remove declarations.
33263         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33264         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33265         streq3, streq2, streq1, streq0): Remove functions.
33266         (STREQ): Remove macro.
33267         (is_cjk_encoding): Remove function.
33268         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33269         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33270         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33271         * NEWS: Document the change.
33272
33273 2007-09-01  Bruno Haible  <bruno@clisp.org>
33274
33275         * lib/streq.h: Add double-inclusion guard.
33276
33277 2007-09-01  Karl Berry  <karl@gnu.org>
33278
33279         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33280
33281 2007-08-28  Jim Meyering  <jim@meyering.net>
33282
33283         Rename mreadlink_with_size to areadlink_with_size.
33284         * NEWS: Document the change.
33285         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33286         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33287         * lib/mreadlink.h: Rename this to...
33288         * lib/areadlink.h: ...this.
33289         * modules/mreadlink-with-size: Rename this to...
33290         * modules/areadlink-with-size: ...this.
33291         * lib/canonicalize.c: Reflect the renaming.
33292         * modules/canonicalize: Likewise.
33293
33294 2007-08-26  Bruno Haible  <bruno@clisp.org>
33295
33296         * gnulib-tool (func_import): When deciding which files to remove,
33297         consider also dangling symbolic links.
33298         Reported by Eric Blake.
33299
33300 2007-08-26  Bruno Haible  <bruno@clisp.org>
33301
33302         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33303
33304 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33305
33306         * lib/readline.c: Don't include getline.h, the prototype is now
33307         found in stdio.h.
33308
33309 2007-08-23  Jim Meyering  <jim@meyering.net>
33310
33311         Getdelim touchup.
33312         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33313         around the funlockfile call, since funlockfile never sets errno.
33314         Don't set errno upon failed realloc.
33315
33316 2007-08-22  Eric Blake  <ebb9@byu.net>
33317
33318         Getline touchups.
33319         * lib/getdelim.c (getdelim): Revert regression that required *n to
33320         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33321         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33322         getdelim, rather than whether implementation is missing.
33323         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33324         * lib/stdio_.h (getline): Also declare if replacement is
33325         required.
33326         * doc/functions/getdelim.texi: New file.
33327         * doc/functions/getline.texi: Likewise.
33328         * doc/gnulib.texi (Function Substitutes): Add new files.
33329         Reported by Bruno Haible.
33330
33331 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33332
33333         * users.txt: Add Guile.
33334
33335 2007-08-22  Eric Blake  <ebb9@byu.net>
33336
33337         * tests/test-getdelim.c (main): Use remove, not unlink.
33338         * tests/test-getline.c (main): Likewise.
33339
33340         Move getline and getdelim into stdio.h, per POSIX 200x.
33341         * modules/getline (Files): Remove getline.h.
33342         (Depends-on): Add stdio.
33343         (configure.ac): Add module indicator.
33344         * modules/getdelim (Files): Remove getdelim.h.
33345         (Depends-on): Add stdio.
33346         (configure.ac): Add module indicator.
33347         * modules/stdio (Makefile.am): Work with new indicators.
33348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33349         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33350         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33351         * lib/getdelim.h: Delete.
33352         * lib/getline.h: Delete.
33353         * lib/stdio_.h (getdelim, getline): Declare.
33354         * modules/getdelim-tests: New module.
33355         * modules/getline-tests: Likewise.
33356         * tests/test-getdelim.c: New file.
33357         * tests/test-getline.c: Likewise.
33358         * NEWS: Document the change.
33359         * lib/getline.c: Update choice of header.
33360         * lib/csharpcomp.c: Likewise.
33361         * lib/getpass.c: Likewise.
33362         * lib/javacomp.c: Likewise.
33363         * lib/javaversion.c: Likewise.
33364         * lib/yesno.c: Likewise.
33365         * lib/getdelim.c: Likewise.
33366         (getdelim): Set errno on failure, and avoid memory leak.
33367
33368 2007-08-19  Bruno Haible  <bruno@clisp.org>
33369
33370         * modules/closein (Depends-on): Add freadahead.
33371         * lib/closein.c: Include freadahead.h.
33372         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33373         is zero.
33374
33375 2007-08-19  Bruno Haible  <bruno@clisp.org>
33376
33377         * modules/freadahead-tests: New file.
33378         * tests/test-freadahead.sh: New file.
33379         * tests/test-freadahead.c: New file.
33380
33381         * modules/freadahead: New file.
33382         * lib/freadahead.h: New file.
33383         * lib/freadahead.c: New file.
33384         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33385         fbufmode, fpurge, freadable, fwritable.
33386
33387 2007-08-19  Eric Blake  <ebb9@byu.net>
33388
33389         Test yesno in combination with closein.
33390         * lib/yesno.c (yesno): Document use of stdin.
33391         * modules/yesno-tests (Files): New module.
33392         * tests/test-yesno.c (main): New file.
33393         * tests/test-yesno.sh: Likewise.
33394
33395 2007-08-19  Bruno Haible  <bruno@clisp.org>
33396
33397         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33398         * lib/fseeko.c (rpl_fseeko): Likewise.
33399         * lib/fseterr.c (fseterr): Likewise.
33400
33401 2007-08-19  Bruno Haible  <bruno@clisp.org>
33402
33403         * tests/test-lseek.c (main): Disable a test for BeOS.
33404         * doc/functions/lseek.texi: Document the BeOS bug.
33405
33406 2007-08-19  Bruno Haible  <bruno@clisp.org>
33407             Eric Blake  <ebb9@byu.net>
33408
33409         * lib/lseek.c: Include <sys/stat.h>.
33410         (rpl_lseek): Add workaround code also for Unix platforms.
33411         Needed for BeOS.
33412         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33413         * doc/functions/lseek.texi: Document BeOS definiency.
33414
33415 2007-08-18  Bruno Haible  <bruno@clisp.org>
33416
33417         * modules/fstrcmp-tests: New file.
33418         * tests/test-fstrcmp.c: New file.
33419
33420 2007-08-18  Bruno Haible  <bruno@clisp.org>
33421
33422         * modules/fstrcmp: New file, from GNU gettext with modifications.
33423         * lib/fstrcmp.h: New file, from GNU gettext.
33424         * lib/fstrcmp.c: New file, from GNU gettext.
33425         * MODULES.html.sh (String handling): Add fstrcmp.
33426
33427 2007-08-18  Bruno Haible  <bruno@clisp.org>
33428
33429         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
33430         'bool'.
33431         (diag, compareseq): Remove const from the ctxt argument.
33432         (USE_HEURISTIC): Undefine at the end.
33433
33434 2007-08-18  Jim Meyering  <jim@meyering.net>
33435
33436         New file: lib/idcache.h
33437         * NEWS: Mention the addition.
33438         * modules/idcache (Files): Add lib/idcache.h
33439         * lib/idcache.c: Include "idcache.h".
33440         Don't include <sys/types.h>.
33441         Add a FIXME comment.
33442         Move file-scoped "static" declarations to the top.
33443         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
33444
33445 2007-08-17  Bruno Haible  <bruno@clisp.org>
33446         and Paul Eggert  <eggert@cs.ucla.edu>
33447
33448         * MODULES.html.sh: Add diffseq.
33449         * modules/diffseq: New file.
33450         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33451         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33452
33453 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33454
33455         Import changes from coreutils for bootstrap script.
33456
33457         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33458
33459         * build-aux/bootstrap (slurp): Work even in environments where
33460         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33461         current code does not slurp files whose names start with ".", and
33462         this looks like it might be a troublesome area.
33463
33464         2007-07-11  Jim Meyering  <jim@meyering.net>
33465
33466         If there's a GPL vN copyright comment, require that N == 3.
33467
33468         2007-07-08  Jim Meyering  <jim@meyering.net>
33469
33470         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33471         * build-aux/bootstrap (mam_template): Move definition out of loop.
33472
33473         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33474
33475         * build-aux/bootstrap (symlink_to_dir): Rename function from
33476         symlink_to_gnulib.  Add a directory parameter.  Update all
33477         callers.
33478         (cp_mark_as_generated): Also check for -- and link to -- files in
33479         gl/.
33480
33481         2007-07-08  Jim Meyering  <jim@meyering.net>
33482
33483         Adapt to deeper hierarchy in gnulib.
33484         * build-aux/bootstrap (symlink_to_dir): If the destination
33485         directory doesn't exist, create it. This is required at least for
33486         "lib/uniwidth/cjk.h".
33487
33488         2007-05-15  Jim Meyering  <jim@meyering.net>
33489
33490         * build-aux/bootstrap: Now that generated Makefile.am files
33491         are no longer under version control, they must be created at
33492         bootstrap time.
33493
33494 2007-08-14  Ben Pfaff  <blp@gnu.org>
33495
33496         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33497
33498 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33499
33500         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33501         given the changes below.
33502         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33503         even on hosts that have padding bits beyond the supported 64.
33504
33505 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33506
33507         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33508         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33509         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33510         depends on it.
33511         (xstrtol_error): Remove.
33512         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33513         but with a different signature.
33514         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33515         * lib/xstrtol-error.c: Include exitfail.h.
33516         (xstrtol_fatal): New function, with a different signature from the
33517         old xstrtol_error, so that the caller need not worry about passing
33518         in an exit status, or about storage management of the option argument.
33519         (xstrtol_error): Now a static function.  Redo signature to
33520         implement xstrtol_fatal.  Output the correct number of hyphens in
33521         front of the option so that the caller need not worry about
33522         storage management.
33523         (N_): New macro.
33524         (_): Remove; not used now.
33525         * modules/xstrtol: Depend on getopt.
33526         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33527         of old STRTOL_FATAL_ERROR macro.
33528         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33529         of test program.
33530         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33531         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33532
33533 2007-08-08  Eric Blake  <ebb9@byu.net>
33534
33535         * lib/xstrtol-error.c: Add missing include.
33536
33537         Move xstrtol messages into gnulib domain, when --pobase is used.
33538         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33539         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33540         * modules/xstrtol (Files): Distribute new file.
33541         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33542         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33543         * tests/test-xstrtol.c: ...into new file.
33544         * tests/test-xstrtoul.c: Also test xstrtoul.
33545         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33546         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33547         * tests/test-xstrtol.sh: Drive the tests.
33548         * tests/test-xstrtoimax.sh: Likewise.
33549         * tests/test-xstrtoumax.sh: Likewise.
33550         * modules/xstrtol-tests: New module.
33551         * modules/xstrtoimax-tests: Likewise.
33552         * modules/xstrtoumax-tests: Likewise.
33553
33554 2007-08-08  Jim Meyering  <jim@meyering.net>
33555
33556         New function: mfile_name_concat.
33557         * lib/filenamecat.c (mfile_name_concat): New function, just like
33558         file_name_concat, but return NULL upon failure rather than exiting
33559         with a diagnostic.
33560         * lib/filenamecat.h: Declare it.
33561
33562 2007-08-07  Bruno Haible  <bruno@clisp.org>
33563
33564         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33565         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33566         warning from gcc.
33567         Reported by Eric Blake.
33568
33569 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33570
33571         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33572         * modules/crypto/arcfour (License): Likewise.
33573         * modules/crypto/des-tests (License): Likewise.
33574         * modules/crypto/gc-arctwo-tests (License): Likewise.
33575         * modules/crypto/gc-des-tests (License): Likewise.
33576         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33577         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33578         * modules/crypto/gc-md2-tests (License): Likewise.
33579         * modules/crypto/gc-md4-tests (License): Likewise.
33580         * modules/crypto/gc-md5-tests (License): Likewise.
33581         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33582         * modules/crypto/gc-rijndael-tests (License): Likewise.
33583         * modules/crypto/gc-sha1-tests (License): Likewise.
33584         * modules/crypto/gc-tests (License): Likewise.
33585         * modules/crypto/hmac-md5 (License): Likewise.
33586         * modules/crypto/hmac-sha1 (License): Likewise.
33587         * modules/crypto/md2-tests (License): Likewise.
33588         * modules/crypto/md4-tests (License): Likewise.
33589         * modules/crypto/md5 (License): Likewise.
33590         * modules/crypto/rijndael (License): Likewise.
33591         * modules/crypto/sha1 (License): Likewise.
33592         * modules/memxor (License): Likewise.
33593
33594 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33595         and Bruno Haible  <bruno@clisp.org>
33596
33597         * NEWS: Describe interface changes to human, xstrtol.
33598         * lib/human.h: Include <xstrtol.h>.
33599         (human_options): Return enum strtol_error, not int.  Remove
33600         bool arg; take int * instead.
33601         * lib/human.c: Don't include "gettext.h".
33602         (_): Remove; no longer used.
33603         Don't include <xstrtol.h>, since human.h does it.
33604         (human_options): Adjust to abovementioned interface changes.
33605         Do not report error to stderr; that's now the caller's
33606         responsibility.
33607         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33608         interface change.
33609         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33610         Str, Argument_type_string.  All uses changed.  Put " argument"
33611         in diagnostics to make them clearer.  Change wording of suffix
33612         message for clarity.
33613         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33614         Argument_type_string.
33615         (STRTOL_FATAL_WARN): Remove; no longer used.
33616         * modules/human (Depends-on): Remove gettext-h.
33617
33618 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33619
33620         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33621
33622 2007-07-31  Bruno Haible  <bruno@clisp.org>
33623
33624         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33625         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33626         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33627
33628 2007-07-31  Bruno Haible  <bruno@clisp.org>
33629
33630         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33631         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33632
33633 2007-07-30  Bruno Haible  <bruno@clisp.org>
33634
33635         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33636         * modules/c-ctype (License): Likewise.
33637         * modules/c-strcase (License): Likewise.
33638         * modules/check-version (License): Likewise.
33639         * modules/iconv (License): Likewise.
33640         * modules/iconv_open (License): Likewise.
33641         * modules/read-file (License): Likewise.
33642         * modules/striconv (License): Likewise.
33643         * modules/strverscmp (License): Likewise.
33644         * modules/vasprintf (License): Likewise.
33645         * modules/crypto/des (License): Likewise.
33646         * modules/crypto/gc (License): Likewise.
33647         * modules/crypto/gc-arcfour (License): Likewise.
33648         * modules/crypto/gc-arctwo (License): Likewise.
33649         * modules/crypto/gc-des (License): Likewise.
33650         * modules/crypto/gc-hmac-md5 (License): Likewise.
33651         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33652         * modules/crypto/gc-md2 (License): Likewise.
33653         * modules/crypto/gc-md4 (License): Likewise.
33654         * modules/crypto/gc-md5 (License): Likewise.
33655         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33656         * modules/crypto/gc-random (License): Likewise.
33657         * modules/crypto/gc-rijndael (License): Likewise.
33658         * modules/crypto/gc-sha1 (License): Likewise.
33659         * modules/crypto/md2 (License): Likewise.
33660         * modules/crypto/md4 (License): Likewise.
33661
33662 2007-07-30  Jim Meyering  <jim@meyering.net>
33663
33664         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33665         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33666         it has valid stat data.  This bug would cause du not to count the
33667         sizes of inaccessible directories.
33668         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33669         in <http://bugzilla.redhat.com/250077>.
33670
33671 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33672             Bruno Haible  <bruno@clisp.org>
33673
33674         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33675         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33676         #include_next, gives a diagnostic about it, but reports no error in
33677         the exit code.
33678         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33679
33680 2007-07-24  Ben Pfaff  <blp@gnu.org>
33681
33682         Improve name: "count-one-bits" is better than "popcount".
33683         * MODULES.html.sh: Update name.
33684         * lib/popcount.h: Renamed lib/count-one-bits.h.
33685         (popcount): Renamed count_one_bits.
33686         (popcountl): Renamed count_one_bits_l.
33687         (popcountll): Renamed count_one_bits_ll.
33688         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33689         * modules/popcount: Renamed module/count-one-bits.
33690         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33691         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33692
33693 2007-07-23  Ben Pfaff  <blp@gnu.org>
33694
33695         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33696         better code generation, and add U to large constants to avoid
33697         warnings, in non-GCC case.
33698         Suggested by Bruno Haible.
33699
33700 2007-07-23  Ben Pfaff  <blp@gnu.org>
33701
33702         * lib/popcount.h: Use verify_true instead of if...abort.
33703         * modules/popcount: Depend on verify module.
33704         Suggested by Jim Meyering.
33705
33706 2007-07-23  Bruno Haible  <bruno@clisp.org>
33707
33708         * gnulib-tool (func_import): Create a .cvsignore file also when the
33709         directory is not yet in CVS but the toplevel directory is. When
33710         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33711         Reported by Karl Berry.
33712
33713 2007-07-22  Ben Pfaff  <blp@gnu.org>
33714
33715         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33716         case.
33717         Suggested by Eric Blake.
33718
33719 2007-07-22  Ben Pfaff  <blp@gnu.org>
33720
33721         New module: popcount.
33722         * MODULES.html.sh: Add popcount.
33723         * modules/popcount: New file.
33724         * modules/popcount-tests: New file.
33725         * tests/test-popcount.c: New file.
33726         * lib/popcount.h: New file.
33727         * m4/popcount.m4: New file.
33728
33729 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33730
33731         * build-aux/announce-gen: Update to GPLv3.
33732
33733         * build-aux/config.guess: Update from config.
33734
33735 2007-07-21  Bruno Haible  <bruno@clisp.org>
33736
33737         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33738         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33739
33740 2007-07-20  Jim Meyering  <jim@meyering.net>
33741
33742         * check-module: Diagnose a self-dependency.
33743
33744 2007-07-19  Bruno Haible  <bruno@clisp.org>
33745
33746         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33747         empty.
33748         Reported by Eric Blake.
33749
33750 2007-07-18  Bruno Haible  <bruno@clisp.org>
33751
33752         * gnulib-tool: New options --po-base, --po-domain.
33753         (func_usage): Document them.
33754         (pobase, po_domain): New variables.
33755         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33756         DEFAULT_TEXT_DOMAIN.
33757         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33758         (func_import): Consider pobase and po_domain. Create a po/ directory.
33759         (func_create_testdir): Set pobase and po_domain to empty.
33760         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33761         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33762
33763 2007-07-18  Bruno Haible  <bruno@clisp.org>
33764
33765         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33766         EXTRA_DIST augmentation for files in build-aux/.
33767
33768 2007-07-16  Bruno Haible  <bruno@clisp.org>
33769
33770         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33771         * modules/getdelim (License): Likewise.
33772
33773 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33774
33775         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33776         * modules/d-type (License): Likewise.
33777         * modules/extensions (License): Likewise.
33778         * modules/fnmatch (License): Likewise.
33779         * modules/fseeko (License): Likewise.
33780         * modules/getaddrinfo (License): Likewise.
33781         * modules/getline (License): Likewise.
33782         * modules/getlogin_r (License): Likewise.
33783         * modules/getpass (License): Likewise.
33784         * modules/gettimeofday (License): Likewise.
33785         * modules/glob (License): Likewise.
33786         * modules/inet_ntop (License): Likewise.
33787         * modules/malloc (License): Likewise.
33788         * modules/malloca (License): Likewise.
33789         * modules/memmem (License): Likewise.
33790         * modules/mempcpy (License): Likewise.
33791         * modules/memset (License): Likewise.
33792         * modules/minmax (License): Likewise.
33793         * modules/mktime (License): Likewise.
33794         * modules/netinet_in (License): Likewise.
33795         * modules/pathmax (License): Likewise.
33796         * modules/poll (License): Likewise.
33797         * modules/regex (License): Likewise.
33798         * modules/snprintf (License): Likewise.
33799         * modules/stdbool (License): Likewise.
33800         * modules/stdint (License): Likewise.
33801         * modules/stdio (License): Likewise.
33802         * modules/strcase (License): Likewise.
33803         * modules/strcasestr (License): Likewise.
33804         * modules/strdup (License): Likewise.
33805         * modules/string (License): Likewise.
33806         * modules/strndup (License): Likewise.
33807         * modules/strnlen (License): Likewise.
33808         * modules/strpbrk (License): Likewise.
33809         * modules/strptime (License): Likewise.
33810         * modules/strsep (License): Likewise.
33811         * modules/sys_select (License): Likewise.
33812         * modules/sys_socket (License): Likewise.
33813         * modules/sys_stat (License): Likewise.
33814         * modules/sys_time (License): Likewise.
33815         * modules/time (License): Likewise.
33816         * modules/time_r (License): Likewise.
33817         * modules/timegm (License): Likewise.
33818         * modules/unistd (License): Likewise.
33819         * modules/vsnprintf (License): Likewise.
33820         * modules/wctype (License): Likewise.
33821
33822 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33823
33824         * modules/argz (License): LGPLv2+.
33825
33826 2007-07-15  Karl Berry  <karl@gnu.org>
33827
33828         * doc/gnulib.texi: revise node structure per new fdl.texi.
33829
33830 2007-07-14  Bruno Haible  <bruno@clisp.org>
33831
33832         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33833         the output file.
33834         * lib/uniname/uninames.h: Regenerated.
33835
33836 2007-07-14  Karl Berry  <karl@gnu.org>
33837
33838         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33839         omitting sectioning and index commands.
33840
33841 2007-07-13  Bruno Haible  <bruno@clisp.org>
33842
33843         New gnulib-tool option --more-symlinks.
33844         * gnulib-tool (func_usage): Document --more-symlinks.
33845         (do_copyrights): New variable.
33846         Recognize option --more-symlinks.
33847         (func_import): Don't add a copyright notice transform to
33848         sed_transform_lib_file if do_copyrights is empty.
33849
33850 2007-07-13  Bruno Haible  <bruno@clisp.org>
33851
33852         * lib/vasnprintf.c (decimal_point_char): Define also if
33853         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33854         && !NEED_PRINTF_DIRECTIVE_A.
33855         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33856         Gary V. Vaughan <gary@gnu.org>.
33857
33858 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33859
33860         * lib/inttypes_.h: Undo previous change, since it was fixed
33861         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33862
33863 2007-07-13  Bruno Haible  <bruno@clisp.org>
33864
33865         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33866         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33867
33868 2007-07-13  Jim Meyering  <jim@meyering.net>
33869
33870         df: Don't fail for Tru64's "file-on-file mount".
33871         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33872         so we fall through and use statfs instead.  Details here:
33873         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33874         Reported by Albert Chin.
33875
33876 2007-07-13  Bruno Haible  <bruno@clisp.org>
33877
33878         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33879         * modules/configmake (License): Likewise.
33880         * modules/gettext (License): Likewise.
33881         * modules/gettext-h (License): Likewise.
33882         * modules/include_next (License): Likewise.
33883         * modules/link-warning (License): Likewise.
33884         * modules/localcharset (License): Likewise.
33885         * modules/localename (License): Likewise.
33886         * modules/lock (License): Likewise.
33887         * modules/relocatable-lib-lgpl (License): Likewise.
33888         * modules/size_max (License): Likewise.
33889         * modules/vasnprintf (License): Likewise.
33890         * modules/wchar (License): Likewise.
33891         * modules/xsize (License): Likewise.
33892
33893 2007-07-13  Bruno Haible  <bruno@clisp.org>
33894
33895         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33896         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33897
33898 2007-07-12  Bruno Haible  <bruno@clisp.org>
33899
33900         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
33901         in the modules files.
33902
33903 2007-07-11  Karl Berry  <karl@gnu.org>
33904
33905         * MODULES.html.sh (func_module): use
33906          sed -e '\|^'"${includefile}"'$|d'
33907          instead of /.../d, to avoid errors on $includefile's containing /.
33908
33909 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33910
33911         * gnulib-tool (func_import): Avoid duplication of --avoid
33912         statements
33913         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
33914         names to `_' in variable names.
33915
33916 2007-07-10  Eric Blake  <ebb9@byu.net>
33917
33918         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
33919         * NEWS: Document this change.
33920
33921 2007-07-08  Bruno Haible  <bruno@clisp.org>
33922
33923         Update to Unicode 5.0.
33924         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
33925         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
33926         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
33927         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
33928         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
33929         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
33930         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
33931         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
33932         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
33933         U+10A3F, U+1D242..U+1D244.
33934         (nonspacing_table_ind): Update.
33935         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
33936         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
33937
33938 2007-07-08  Bruno Haible  <bruno@clisp.org>
33939
33940         Update to Unicode 5.0.
33941         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
33942         code transform. Extend the name index field of unicode_name_to_code and
33943         unicode_code_to_name from 16 to 24 bits.
33944         * lib/uniname/uniname.c (unicode_character_name,
33945         unicode_name_character): Add the range 0x12xxx to the code transform.
33946         * lib/uniname/uninames.h: Regenerated.
33947         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
33948
33949 2007-07-07  Bruno Haible  <bruno@clisp.org>
33950
33951         * modules/wcwidth-tests: New file.
33952         * tests/test-wcwidth.c: New file.
33953
33954         Work around MacOS X wcwidth() bug.
33955         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
33956         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
33957         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
33958         original wcwidth in non-UTF-8 locales.
33959         * modules/wcwidth (Depends-on): Add localcharset, streq,
33960         uniwidth/width.
33961         * doc/functions/wcwidth.texi: Update.
33962
33963 2007-07-07  Bruno Haible  <bruno@clisp.org>
33964
33965         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
33966         (wcwidth): New declaration.
33967         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
33968         macros.
33969         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
33970         here. Prepare for creating <wchar.h> unconditionally.
33971         * modules/wchar (Depends-on): Add link-warning.
33972         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
33973         REPLACE_WCWIDTH, and GL_LINK_WARNING.
33974         * lib/wcwidth.h: Remove file.
33975         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
33976         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
33977         * modules/wcwidth (Files): Remove lib/wcwidth.h.
33978         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
33979         (Include): Replace wcwidth.h with <wchar.h>.
33980         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
33981         * lib/mbchar.h: Don't include wcwidth.h.
33982         * lib/mbswidth.c: Likewise.
33983         * NEWS: Mention the change.
33984
33985 2007-07-07  Bruno Haible  <bruno@clisp.org>
33986
33987         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
33988         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
33989         definition with an external declaration.
33990         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
33991         defined as a function. Remove AC_C_INLINE requirement.
33992         * modules/wcwidth (Files): Add lib/wcwidth.c.
33993         (Makefile.am): Remove redundant statement.
33994
33995 2007-07-07  Bruno Haible  <bruno@clisp.org>
33996
33997         * MODULES.html.sh (Unicode string functions): Add the new modules.
33998
33999         * tests/uniwidth/test-u32-strwidth.c: New file.
34000         * modules/uniwidth/u32-strwidth-tests: New file.
34001
34002         * lib/uniwidth/u32-strwidth.c: New file.
34003         * modules/uniwidth/u32-strwidth: New file.
34004
34005         * tests/uniwidth/test-u16-strwidth.c: New file.
34006         * modules/uniwidth/u16-strwidth-tests: New file.
34007
34008         * lib/uniwidth/u16-strwidth.c: New file.
34009         * modules/uniwidth/u16-strwidth: New file.
34010
34011         * tests/uniwidth/test-u8-strwidth.c: New file.
34012         * modules/uniwidth/u8-strwidth-tests: New file.
34013
34014         * lib/uniwidth/u8-strwidth.c: New file.
34015         * modules/uniwidth/u8-strwidth: New file.
34016
34017         * tests/uniwidth/test-u32-width.c: New file.
34018         * modules/uniwidth/u32-width-tests: New file.
34019
34020         * lib/uniwidth/u32-width.c: New file.
34021         * modules/uniwidth/u32-width: New file.
34022
34023         * tests/uniwidth/test-u16-width.c: New file.
34024         * modules/uniwidth/u16-width-tests: New file.
34025
34026         * lib/uniwidth/u16-width.c: New file.
34027         * modules/uniwidth/u16-width: New file.
34028
34029         * tests/uniwidth/test-u8-width.c: New file.
34030         * modules/uniwidth/u8-width-tests: New file.
34031
34032         * lib/uniwidth/u8-width.c: New file.
34033         * modules/uniwidth/u8-width: New file.
34034
34035         * tests/uniwidth/test-uc_width.c: New file.
34036         * modules/uniwidth/width-tests: New file.
34037
34038         * lib/uniwidth/width.c: New file, from GNU libiconv.
34039         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
34040         * modules/uniwidth/width: New file.
34041
34042         * lib/uniwidth.h: New file, from GNU libiconv.
34043         * modules/uniwidth/base: New file.
34044
34045 2007-07-07  Bruno Haible  <bruno@clisp.org>
34046
34047         * lib/uniname.h: New file, from GNU gettext.
34048         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
34049         * lib/uniname/uninames.h: New file, from GNU gettext.
34050         * lib/uniname/uniname.c: New file, from GNU gettext.
34051         * tests/uniname/test-uninames.sh: New file.
34052         * tests/uniname/test-uninames.c: New file, from GNU gettext.
34053         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
34054         * modules/uniname/base: New file.
34055         * modules/uniname/uniname: New file.
34056         * modules/uniname/uniname-tests: New file.
34057         * MODULES.html.sh (Unicode string functions): Add the new modules.
34058
34059 2007-07-06  Bruno Haible  <bruno@clisp.org>
34060
34061         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
34062
34063 2007-07-06  Bruno Haible  <bruno@clisp.org>
34064
34065         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
34066         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
34067         includes <cygwin/sys_time.h> which includes <sys/select.h> which
34068         include <sys/time.h>.
34069         Reported by Eric Blake.
34070
34071 2007-07-06  Eric Blake  <ebb9@byu.net>
34072
34073         Fix testing canonicalize on cygwin.
34074         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34075         Revert patch from 2007-06-19.
34076         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
34077         canonicalize module is also in use.
34078         * tests/test-canonicalize.c: New file.
34079         * tests/test-canonicalize.sh: Likewise.
34080         * modules/canonicalize-tests: Likewise.
34081
34082 2007-07-06  Jim Meyering  <jim@meyering.net>
34083
34084         * lib/getugroups.c (getugroups): Detect getgrent failure.
34085         Adjust comment to reflect reality: this function may return -1.
34086
34087 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34088
34089         * build-aux/bootstrap (TP_URL,get_translations): Update to use
34090         the new TP address.
34091         (usage): Fix typo
34092         (gnulib_mk): New variable.
34093
34094 2007-07-05  Jim Meyering  <jim@meyering.net>
34095
34096         Don't let endgrent clobber errno, no matter how improbable.
34097         * lib/getugroups.c (getugroups): Save and restore errno around
34098         endgrent call.
34099
34100         Close the group DB even when failing with 2^31 or more members.
34101         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
34102
34103 2007-07-04  Jim Meyering  <jim@meyering.net>
34104
34105         * lib/getugroups.h: New file.
34106         * lib/getugroups.c: Include "getugroups.h".
34107         Remove uses of "register" keyword.
34108         Move local variable, "cp", down into scope where used.
34109         Give "username" parameter the "const" attribute.
34110         * modules/getugroups (Files): Add lib/getugroups.h
34111
34112 2007-07-04  Karl Berry  <karl@gnu.org>
34113
34114         * MODULES.html.sh (func_all_modules): Complete rename of
34115         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
34116
34117 2007-07-02  Bruno Haible  <bruno@clisp.org>
34118
34119         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
34120         mode, when inttypes.h comes from gnulib.
34121         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34122
34123 2007-07-02  Simon Josefsson  <simon@josefsson.org>
34124
34125         * NEWS: Mention lgpl module name change.
34126
34127         * modules/lgpl-2.1: Renamed from lgpl.
34128
34129         * NEWS: Mention gpl module name change.
34130
34131         * modules/gpl-3.0: New file, based on gpl-2.0.
34132
34133         * modules/gpl-2.0: Renamed from gpl.
34134
34135         * modules/gpl: Fix filename, doc/gpl.texi is now found at
34136         doc/gpl-2.0.texi.
34137
34138 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34139
34140         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
34141         #define __STDC_LIMIT_MACROS temporarily while including
34142         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
34143         Problem reported by Joel E. Denny in
34144         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
34145
34146 2007-07-01  Bruno Haible  <bruno@clisp.org>
34147
34148         * lib/unistdio.h: New file.
34149         * lib/unistdio/u-asnprintf.h: New file.
34150         * lib/unistdio/u-asprintf.h: New file.
34151         * lib/unistdio/u-printf-args.c: New file.
34152         * lib/unistdio/u-printf-args.h: New file.
34153         * lib/unistdio/u-printf-parse.h: New file.
34154         * lib/unistdio/u-snprintf.h: New file.
34155         * lib/unistdio/u-sprintf.h: New file.
34156         * lib/unistdio/u-vasprintf.h: New file.
34157         * lib/unistdio/u-vsnprintf.h: New file.
34158         * lib/unistdio/u-vsprintf.h: New file.
34159         * lib/unistdio/ulc-asnprintf.c: New file.
34160         * lib/unistdio/ulc-asprintf.c: New file.
34161         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
34162         * lib/unistdio/ulc-printf-parse.c: New file.
34163         * lib/unistdio/ulc-snprintf.c: New file.
34164         * lib/unistdio/ulc-sprintf.c: New file.
34165         * lib/unistdio/ulc-vasnprintf.c: New file.
34166         * lib/unistdio/ulc-vasprintf.c: New file.
34167         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
34168         * lib/unistdio/ulc-vsnprintf.c: New file.
34169         * lib/unistdio/ulc-vsprintf.c: New file.
34170         * lib/unistdio/u8-asnprintf.c: New file.
34171         * lib/unistdio/u8-asprintf.c: New file.
34172         * lib/unistdio/u8-printf-parse.c: New file.
34173         * lib/unistdio/u8-snprintf.c: New file.
34174         * lib/unistdio/u8-sprintf.c: New file.
34175         * lib/unistdio/u8-vasnprintf.c: New file.
34176         * lib/unistdio/u8-vasprintf.c: New file.
34177         * lib/unistdio/u8-vsnprintf.c: New file.
34178         * lib/unistdio/u8-vsprintf.c: New file.
34179         * lib/unistdio/u8-u8-asnprintf.c: New file.
34180         * lib/unistdio/u8-u8-asprintf.c: New file.
34181         * lib/unistdio/u8-u8-snprintf.c: New file.
34182         * lib/unistdio/u8-u8-sprintf.c: New file.
34183         * lib/unistdio/u8-u8-vasnprintf.c: New file.
34184         * lib/unistdio/u8-u8-vasprintf.c: New file.
34185         * lib/unistdio/u8-u8-vsnprintf.c: New file.
34186         * lib/unistdio/u8-u8-vsprintf.c: New file.
34187         * lib/unistdio/u16-asnprintf.c: New file.
34188         * lib/unistdio/u16-asprintf.c: New file.
34189         * lib/unistdio/u16-printf-parse.c: New file.
34190         * lib/unistdio/u16-snprintf.c: New file.
34191         * lib/unistdio/u16-sprintf.c: New file.
34192         * lib/unistdio/u16-vasnprintf.c: New file.
34193         * lib/unistdio/u16-vasprintf.c: New file.
34194         * lib/unistdio/u16-vsnprintf.c: New file.
34195         * lib/unistdio/u16-vsprintf.c: New file.
34196         * lib/unistdio/u16-u16-asnprintf.c: New file.
34197         * lib/unistdio/u16-u16-asprintf.c: New file.
34198         * lib/unistdio/u16-u16-snprintf.c: New file.
34199         * lib/unistdio/u16-u16-sprintf.c: New file.
34200         * lib/unistdio/u16-u16-vasnprintf.c: New file.
34201         * lib/unistdio/u16-u16-vasprintf.c: New file.
34202         * lib/unistdio/u16-u16-vsnprintf.c: New file.
34203         * lib/unistdio/u16-u16-vsprintf.c: New file.
34204         * lib/unistdio/u32-asnprintf.c: New file.
34205         * lib/unistdio/u32-asprintf.c: New file.
34206         * lib/unistdio/u32-printf-parse.c: New file.
34207         * lib/unistdio/u32-snprintf.c: New file.
34208         * lib/unistdio/u32-sprintf.c: New file.
34209         * lib/unistdio/u32-vasnprintf.c: New file.
34210         * lib/unistdio/u32-vasprintf.c: New file.
34211         * lib/unistdio/u32-vsnprintf.c: New file.
34212         * lib/unistdio/u32-vsprintf.c: New file.
34213         * lib/unistdio/u32-u32-asnprintf.c: New file.
34214         * lib/unistdio/u32-u32-asprintf.c: New file.
34215         * lib/unistdio/u32-u32-snprintf.c: New file.
34216         * lib/unistdio/u32-u32-sprintf.c: New file.
34217         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34218         * lib/unistdio/u32-u32-vasprintf.c: New file.
34219         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34220         * lib/unistdio/u32-u32-vsprintf.c: New file.
34221         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34222         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34223         * tests/unistdio/test-ulc-printf1.h: New file.
34224         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34225         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34226         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34227         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34228         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34229         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34230         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34231         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34232         * tests/unistdio/test-u8-asnprintf1.c: New file.
34233         * tests/unistdio/test-u8-asnprintf1.h: New file.
34234         * tests/unistdio/test-u8-printf1.h: New file.
34235         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34236         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34237         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34238         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34239         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34240         * tests/unistdio/test-u8-vasprintf1.c: New file.
34241         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34242         * tests/unistdio/test-u8-vsprintf1.c: New file.
34243         * tests/unistdio/test-u16-asnprintf1.c: New file.
34244         * tests/unistdio/test-u16-asnprintf1.h: New file.
34245         * tests/unistdio/test-u16-printf1.h: New file.
34246         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34247         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34248         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34249         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34250         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34251         * tests/unistdio/test-u16-vasprintf1.c: New file.
34252         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34253         * tests/unistdio/test-u16-vsprintf1.c: New file.
34254         * tests/unistdio/test-u32-asnprintf1.c: New file.
34255         * tests/unistdio/test-u32-asnprintf1.h: New file.
34256         * tests/unistdio/test-u32-printf1.h: New file.
34257         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34258         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34259         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34260         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34261         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34262         * tests/unistdio/test-u32-vasprintf1.c: New file.
34263         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34264         * tests/unistdio/test-u32-vsprintf1.c: New file.
34265         * modules/unistdio/base: New file.
34266         * modules/unistdio/u-printf-args: New file.
34267         * modules/unistdio/ulc-asnprintf: New file.
34268         * modules/unistdio/ulc-asprintf: New file.
34269         * modules/unistdio/ulc-fprintf: New file.
34270         * modules/unistdio/ulc-printf-parse: New file.
34271         * modules/unistdio/ulc-snprintf: New file.
34272         * modules/unistdio/ulc-sprintf: New file.
34273         * modules/unistdio/ulc-vasnprintf: New file.
34274         * modules/unistdio/ulc-vasprintf: New file.
34275         * modules/unistdio/ulc-vfprintf: New file.
34276         * modules/unistdio/ulc-vsnprintf: New file.
34277         * modules/unistdio/ulc-vsprintf: New file.
34278         * modules/unistdio/u8-asnprintf: New file.
34279         * modules/unistdio/u8-asprintf: New file.
34280         * modules/unistdio/u8-printf-parse: New file.
34281         * modules/unistdio/u8-snprintf: New file.
34282         * modules/unistdio/u8-sprintf: New file.
34283         * modules/unistdio/u8-vasnprintf: New file.
34284         * modules/unistdio/u8-vasprintf: New file.
34285         * modules/unistdio/u8-vsnprintf: New file.
34286         * modules/unistdio/u8-vsprintf: New file.
34287         * modules/unistdio/u8-u8-asnprintf: New file.
34288         * modules/unistdio/u8-u8-asprintf: New file.
34289         * modules/unistdio/u8-u8-snprintf: New file.
34290         * modules/unistdio/u8-u8-sprintf: New file.
34291         * modules/unistdio/u8-u8-vasnprintf: New file.
34292         * modules/unistdio/u8-u8-vasprintf: New file.
34293         * modules/unistdio/u8-u8-vsnprintf: New file.
34294         * modules/unistdio/u8-u8-vsprintf: New file.
34295         * modules/unistdio/u16-asnprintf: New file.
34296         * modules/unistdio/u16-asprintf: New file.
34297         * modules/unistdio/u16-printf-parse: New file.
34298         * modules/unistdio/u16-snprintf: New file.
34299         * modules/unistdio/u16-sprintf: New file.
34300         * modules/unistdio/u16-vasnprintf: New file.
34301         * modules/unistdio/u16-vasprintf: New file.
34302         * modules/unistdio/u16-vsnprintf: New file.
34303         * modules/unistdio/u16-vsprintf: New file.
34304         * modules/unistdio/u16-u16-asnprintf: New file.
34305         * modules/unistdio/u16-u16-asprintf: New file.
34306         * modules/unistdio/u16-u16-snprintf: New file.
34307         * modules/unistdio/u16-u16-sprintf: New file.
34308         * modules/unistdio/u16-u16-vasnprintf: New file.
34309         * modules/unistdio/u16-u16-vasprintf: New file.
34310         * modules/unistdio/u16-u16-vsnprintf: New file.
34311         * modules/unistdio/u16-u16-vsprintf: New file.
34312         * modules/unistdio/u32-asnprintf: New file.
34313         * modules/unistdio/u32-asprintf: New file.
34314         * modules/unistdio/u32-printf-parse: New file.
34315         * modules/unistdio/u32-snprintf: New file.
34316         * modules/unistdio/u32-sprintf: New file.
34317         * modules/unistdio/u32-vasnprintf: New file.
34318         * modules/unistdio/u32-vasprintf: New file.
34319         * modules/unistdio/u32-vsnprintf: New file.
34320         * modules/unistdio/u32-vsprintf: New file.
34321         * modules/unistdio/u32-u32-asnprintf: New file.
34322         * modules/unistdio/u32-u32-asprintf: New file.
34323         * modules/unistdio/u32-u32-snprintf: New file.
34324         * modules/unistdio/u32-u32-sprintf: New file.
34325         * modules/unistdio/u32-u32-vasnprintf: New file.
34326         * modules/unistdio/u32-u32-vasprintf: New file.
34327         * modules/unistdio/u32-u32-vsnprintf: New file.
34328         * modules/unistdio/u32-u32-vsprintf: New file.
34329         * modules/unistdio/ulc-asnprintf-tests: New file.
34330         * modules/unistdio/ulc-vasnprintf-tests: New file.
34331         * modules/unistdio/ulc-vasprintf-tests: New file.
34332         * modules/unistdio/ulc-vsnprintf-tests: New file.
34333         * modules/unistdio/ulc-vsprintf-tests: New file.
34334         * modules/unistdio/u8-asnprintf-tests: New file.
34335         * modules/unistdio/u8-vasnprintf-tests: New file.
34336         * modules/unistdio/u8-vasprintf-tests: New file.
34337         * modules/unistdio/u8-vsnprintf-tests: New file.
34338         * modules/unistdio/u8-vsprintf-tests: New file.
34339         * modules/unistdio/u16-asnprintf-tests: New file.
34340         * modules/unistdio/u16-vasnprintf-tests: New file.
34341         * modules/unistdio/u16-vasprintf-tests: New file.
34342         * modules/unistdio/u16-vsnprintf-tests: New file.
34343         * modules/unistdio/u16-vsprintf-tests: New file.
34344         * modules/unistdio/u32-asnprintf-tests: New file.
34345         * modules/unistdio/u32-vasnprintf-tests: New file.
34346         * modules/unistdio/u32-vasprintf-tests: New file.
34347         * modules/unistdio/u32-vsnprintf-tests: New file.
34348         * modules/unistdio/u32-vsprintf-tests: New file.
34349         * MODULES.html.sh (Unicode string functions): Add the new modules.
34350
34351 2007-07-01  Bruno Haible  <bruno@clisp.org>
34352
34353         * lib/sprintf.c (sprintf): Limit the available length estimation,
34354         to avoid address wraparound.
34355         * lib/vsprintf.c (vsprintf): Likewise.
34356         * modules/sprintf-posix (Dependencies): Add stdint.
34357         * modules/vsprintf-posix (Dependencies): Likewise.
34358
34359 2007-07-01  Bruno Haible  <bruno@clisp.org>
34360
34361         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34362         Windows PATH as well. Conservative double-quoting. Comments.
34363
34364 2007-07-01  Bruno Haible  <bruno@clisp.org>
34365             Eric Blake  <ebb9@byu.net>
34366             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34367
34368         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34369         empty components in $PATH, denoting '.'.
34370
34371 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34372
34373         * gnulib-tool: Fix indentation.
34374         (func_create_megatestdir): Likewise.
34375         Report by Bruno Haible.
34376
34377 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34378
34379         Sync from Automake.
34380         * build-aux/gnupload: Fix shell portability issues with for loops.
34381         Report by Karl Berry.
34382
34383 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34384
34385         * build-aux/maint.mk (POURL): Use translationproject.org.
34386
34387 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34388             Bruno Haible  <bruno@clisp.org>
34389
34390         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34391         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34392         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34393         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34394         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34395
34396 2007-06-27  Bruno Haible  <bruno@clisp.org>
34397
34398         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34399         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34400
34401 2007-06-26  Karl Berry  <karl@gnu.org>
34402
34403         * MODULES.html.sh: remove xreadlink-with-size.
34404
34405 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34406
34407         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34408         method that I hope also handles the double-include problem noted
34409         by Bruno Haible in
34410         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34411
34412 2007-06-23  Bruno Haible  <bruno@clisp.org>
34413
34414         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34415         Don't let the 'mostlyclean' target fail if the last subdirectory could
34416         not be removed.
34417         Reported by Karl Berry.
34418
34419 2007-06-23  Bruno Haible  <bruno@clisp.org>
34420
34421         * gnulib-tool (echo): Add a speedier workaround for ksh.
34422         * tests/test-echo.sh: Likewise.
34423
34424 2007-06-23  Bruno Haible  <bruno@clisp.org>
34425
34426         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
34427         * tests/test-echo.sh: Likewise.
34428
34429 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34430
34431         * gnulib-tool (IFS): Initialize early, so we don't set it to
34432         empty later.
34433         (self_abspathname): Rewrite algorithm to set it, reindent.
34434         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
34435         (func_create_megatestdir): Merge some sed scripts.
34436
34437 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34438
34439         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
34440         exposed by Sun Studio 11 cc on Solaris 8.
34441
34442 2007-06-22  Bruno Haible  <bruno@clisp.org>
34443
34444         * gnulib-tool (echo): Ensure the echo primitive does not interpret
34445         backslashes.
34446         * tests/test-echo.sh: New file.
34447
34448 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34449
34450         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34451         simplify `sed_replace_build_aux' scripts, they are portable but
34452         echoing them with `echo' is not.
34453         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34454
34455 2007-06-21  Karl Berry  <karl@gnu.org>
34456
34457         * config/srclist.txt: guess we can't handle the licenses via
34458         srclist at the moment.
34459
34460 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34461
34462         * MODULES.html.sh: Add include_next.
34463         * modules/include_next: New file.
34464
34465 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34466
34467         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34468         INCLUDE_NEXT.
34469         (gl_CHECK_NEXT_HEADERS): New macro.
34470         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34471         the obsolescent gl_ABSOLUTE_HEADER.
34472         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34473         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34474         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34475         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34476         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34477         * m4/math_h.m4 (gl_MATH_H): Likewise.
34478         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34479         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34480         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34481         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34482         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34483         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34484         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34485         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34486         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34487         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34488         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34489         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34490         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34491         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34492         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34493         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34494         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34495         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34496         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34497         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34498         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34499         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34500         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34501         * lib/float_.h: Likewise.
34502         * lib/inttypes_.h: Likewise.
34503         * lib/math_.h: Likewise.
34504         * lib/search_.h: Likewise.
34505         * lib/signal_.h: Likewise.
34506         * lib/stdint_.h: Likewise.
34507         * lib/stdio_.h: Likewise.
34508         * lib/stdlib_.h: Likewise.
34509         * lib/string_.h: Likewise.
34510         * lib/sys_stat_.h: Likewise.
34511         * lib/sys_time_.h: Likewise.
34512         * lib/time_.h: Likewise.
34513         * lib/unistd_.h: Likewise.
34514         * lib/wchar_.h: Likewise.
34515         * lib/wctype_.h: Likewise.
34516         * lib/dirent_.h: Likewise.
34517         * lib/iconv_.h: Likewise.
34518         * lib/locale_.h: Likewise.
34519         * lib/netinet_in_.h: Likewise.
34520         * lib/sys_select_.h: Likewise.
34521         * lib/sys_socket_.h: Likewise.
34522         * lib/sysexits_.h: Likewise.
34523         * modules/fcntl (Depends-on): Depend on include_next, not
34524         absolute_header.
34525         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34526         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34527         * modules/fchdir: Likewise.
34528         * modules/float: Likewise.
34529         * modules/iconv_open: Likewise.
34530         * modules/inttypes: Likewise.
34531         * modules/locale: Likewise.
34532         * modules/math: Likewise.
34533         * modules/netinet_in: Likewise.
34534         * modules/search: Likewise.
34535         * modules/signal: Likewise.
34536         * modules/stdint: Likewise.
34537         * modules/stdio: Likewise.
34538         * modules/stdlib: Likewise.
34539         * modules/string: Likewise.
34540         * modules/sys_select: Likewise.
34541         * modules/sys_socket: Likewise.
34542         * modules/sys_stat: Likewise.
34543         * modules/sys_time: Likewise.
34544         * modules/sysexits: Likewise.
34545         * modules/time: Likewise.
34546         * modules/unistd: Likewise.
34547         * modules/wchar: Likewise.
34548         * modules/wctype: Likewise.
34549         * modules/sys_stat: Change maintainer to "all".
34550         * modules/unistd: Likewise.
34551
34552 2007-06-20  Karl Berry  <karl@gnu.org>
34553
34554         * config/srclist.txt: track www changes in license files.
34555
34556 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34557
34558         * build-aux/bootstrap: Remove stray dot.
34559         Make sure build_aux settings are honored when linking
34560         gnulib_extra_files.
34561
34562 2007-06-19  Eric Blake  <ebb9@byu.net>
34563
34564         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34565         Allow compilation on cygwin.
34566
34567 2007-06-19  Jim Meyering  <jim@meyering.net>
34568
34569         xreadlink-with-size: Remove module.  No longer used.
34570         Ex-callers now use xreadlink or mreadlink-with-size.
34571         * modules/xreadlink-with-size: Remove module.
34572         * lib/xreadlink-with-size.c: Remove file.
34573         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34574         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34575         just before the function definition *is* accurate.
34576
34577         Eliminate one way canonicalize_filename_mode could exit.
34578         * lib/canonicalize.c (canonicalize_filename_mode):
34579         Use mreadlink_with_size, not xreadlink_with_size.
34580
34581 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34582
34583         Detect porting problems to FreeBSD/arm, which has time_t wider than
34584         long int.  Original problem reported for GNU diff by Xin Li in
34585         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34586         * modules/getdate (Depends-on): Add intprops, verify.
34587         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34588         is an integer type no wider than long int.
34589
34590 2007-06-18  Jim Meyering  <jim@meyering.net>
34591
34592         New module: mreadlink-with-size.
34593         * MODULES.html.sh: Add mreadlink-with-size.
34594         * modules/mreadlink-with-size: New module
34595         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34596         not xreadlink-with-size.
34597         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34598
34599 2007-06-16  Bruno Haible  <bruno@clisp.org>
34600
34601         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34602         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34603         Reported by Gary V. Vaughan <gary@gnu.org>.
34604
34605 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34606
34607         Revamp lchown so that it lives in unistd.h where it belongs.
34608         * lib/lchown.h: Remove.
34609         * lib/dirchownmod.c: Don't include lib/lchown.h.
34610         * lib/fchownat.c: Likewise.
34611         * lib/openat.c: Likewise.
34612         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34613         does not follow symlinks.
34614         (EOPNOTSUPP): Define if not defined.
34615         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34616         is defined to 0.
34617         (lchown): New decl.
34618         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34619         Do not check for lchown decl.
34620         Set REPLACE_LCHOWN.
34621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34622         REPLACE_LCHOWN.
34623         * modules/chown: Make it clear it follows symlinks.
34624         * modules/lchown: Make it clear it doesn't follow symlinks.
34625         (Files): Remove lib/lchown.h
34626         (Depends-on): Add unistd.
34627         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34628         (Include): Include <unistd.h>, not "lchown.h".
34629         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34630         REPLACE_LCHOWN.
34631
34632 2007-06-15  Jim Meyering  <jim@meyering.net>
34633
34634         Change license (GPL to LGPL) of fsusage and dependents.
34635         * modules/fsusage (License): Change to LGPL.
34636         * modules/full-read (License): Likewise.
34637         * modules/full-write (License): Likewise.
34638         * modules/safe-read (License): Likewise.
34639         * modules/safe-write (License): Likewise.
34640
34641 2007-06-14  Ben Pfaff  <blp@gnu.org>
34642
34643         Missing part of allocsa -> malloca transition.
34644         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34645         gl_MALLOCA.
34646
34647 2007-06-12  Bruno Haible  <bruno@clisp.org>
34648
34649         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34650         to ia64, x86_64, i386.
34651         Reported by Eric Blake.
34652
34653 2007-06-12  Bruno Haible  <bruno@clisp.org>
34654
34655         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34656         cross-compiling to x86_64.
34657
34658 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34659
34660         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34661         glitch reported by Ralf Wildenhues in
34662         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34663
34664         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34665         Vin Shelton.
34666
34667 2007-06-11  Bruno Haible  <bruno@clisp.org>
34668
34669         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34670         replacement string.
34671         Reported by Eric Blake.
34672
34673 2007-06-10  Bruno Haible  <bruno@clisp.org>
34674
34675         Prepare vasnprintf code for use with Unicode strings.
34676         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34677         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34678         TYPE_U32_STRING.
34679         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34680         a_u32_string variants.
34681         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34682         * lib/printf-args.c: Don't include config.h and the specification
34683         header if PRINTF_FETCHARGS is already defined.
34684         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34685         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34686         TYPE_U16_STRING, TYPE_U32_STRING.
34687         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34688         u16_directive, u16_directives, u32_directive, u32_directives): New
34689         types.
34690         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34691         New declarations.
34692         * lib/printf-parse.c: Don't include config.h and the specification
34693         header if PRINTF_PARSE is already defined. Eliminate the set of
34694         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34695         them now. Include c-ctype.h.
34696         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34697         directive and CHAR_T_ONLY_ASCII.
34698         * lib/vasnprintf.c: Don't include config.h and the specification header
34699         if VASNPRINTF is already defined.
34700         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34701         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34702         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34703         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34704         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34705         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34706         code accordingly.
34707         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34708         pad_ourselves also in this case, with the 'c' and 's' directives, and
34709         with a different notion of "width".
34710         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34711
34712 2007-06-10  Bruno Haible  <bruno@clisp.org>
34713
34714         * modules/unistr/u32-mbsnlen: New file.
34715         * lib/unistr/u32-mbsnlen.c: New file.
34716
34717         * modules/unistr/u16-mbsnlen: New file.
34718         * lib/unistr/u16-mbsnlen.c: New file.
34719
34720         * modules/unistr/u8-mbsnlen: New file.
34721         * lib/unistr/u8-mbsnlen.c: New file.
34722
34723         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34724         declarations.
34725
34726 2007-06-10  Bruno Haible  <bruno@clisp.org>
34727
34728         * lib/string_.h (mbsnlen): New declaration.
34729         * lib/mbsnlen.c: New file.
34730         * m4/mbsnlen.m4: New file.
34731         * modules/mbsnlen: New file.
34732         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34733         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34734         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34735
34736 2007-06-10  Bruno Haible  <bruno@clisp.org>
34737
34738         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34739
34740 2007-06-10  Bruno Haible  <bruno@clisp.org>
34741
34742         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34743         * lib/mbuiter.h: Likewise.
34744
34745 2007-06-10  Bruno Haible  <bruno@clisp.org>
34746
34747         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34748         declaration.
34749
34750 2007-06-10  Karl Berry  <karl@gnu.org>
34751
34752         * config/srclist.txt: remove gettext entries, Bruno prefers
34753         to update individually.
34754
34755 2007-06-10  Bruno Haible  <bruno@clisp.org>
34756
34757         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34758         'maxlen'. Ensure only length + width bytes are allocated, not
34759         length + 1 + width.
34760
34761 2007-06-09  Bruno Haible  <bruno@clisp.org>
34762
34763         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34764         (CHAR_T): Remove macro.
34765         (VASNPRINTF): Update.
34766
34767 2007-06-09  Bruno Haible  <bruno@clisp.org>
34768
34769         * MODULES.html.sh (Unicode string functions): Add the new modules.
34770
34771         * modules/uniconv/u32-conv-to-enc: New file.
34772         * lib/uniconv/u32-conv-to-enc.c: New file.
34773         * modules/uniconv/u32-conv-to-enc-tests: New file.
34774         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34775
34776         * modules/uniconv/u16-conv-to-enc: New file.
34777         * lib/uniconv/u16-conv-to-enc.c: New file.
34778         * lib/uniconv/u-conv-to-enc.h: New file.
34779         * modules/uniconv/u16-conv-to-enc-tests: New file.
34780         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34781
34782         * modules/uniconv/u8-conv-to-enc: New file.
34783         * lib/uniconv/u8-conv-to-enc.c: New file.
34784         * modules/uniconv/u8-conv-to-enc-tests: New file.
34785         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34786
34787         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34788         u32_conv_to_encoding): New declarations.
34789
34790 2007-06-09  Bruno Haible  <bruno@clisp.org>
34791
34792         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34793
34794 2007-06-09  Bruno Haible  <bruno@clisp.org>
34795
34796         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34797         * modules/malloca: Renamed from modules/allocsa, updated.
34798         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34799         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34800         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34801         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34802         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34803         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34804         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34805         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34806         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34807         * modules/c-strcasestr (Depends-on): Update.
34808         * lib/c-strcasestr.c: Update.
34809         * modules/c-strstr (Depends-on): Update.
34810         * lib/c-strstr.c: Update.
34811         * modules/canonicalize-lgpl (Depends-on): Update.
34812         * lib/canonicalize-lgpl.c: Update.
34813         * modules/clean-temp (Depends-on): Update.
34814         * lib/clean-temp.c: Update.
34815         * modules/csharpcomp (Depends-on): Update.
34816         * lib/csharpcomp.c: Update.
34817         * modules/csharpexec (Depends-on): Update.
34818         * lib/csharpexec.c: Update.
34819         * modules/javacomp (Depends-on): Update.
34820         * lib/javacomp.c: Update.
34821         * modules/javaexec (Depends-on): Update.
34822         * lib/javaexec.c: Update.
34823         * modules/mbscasestr (Depends-on): Update.
34824         * lib/mbscasestr.c: Update.
34825         * modules/mbsstr (Depends-on): Update.
34826         * lib/mbsstr.c: Update.
34827         * modules/setenv (Depends-on): Update.
34828         * lib/setenv.c: Update.
34829         * modules/strcasestr (Depends-on): Update.
34830         * lib/strcasestr.c: Update.
34831         * modules/striconveha (Depends-on): Update.
34832         * lib/striconveha.c: Update.
34833         * modules/relocatable-prog-wrapper (Files): Update.
34834         * lib/relocwrapper.c: Update.
34835         * build-aux/install-reloc: Update.
34836         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34837
34838 2007-06-08  Bruno Haible  <bruno@clisp.org>
34839
34840         Port to uClibc.
34841         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34842         * lib/fpurge.c (fpurge): Likewise.
34843         * lib/freading.c (freading): Likewise.
34844         * lib/fseeko.c (rpl_fseeko): Likewise.
34845         * lib/fseterr.c (fseterr): Likewise.
34846         * lib/fwriting.c (fwriting): Likewise.
34847         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34848
34849 2007-06-08  Bruno Haible  <bruno@clisp.org>
34850
34851         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34852         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34853         * modules/gettext (Files): Add m4/intlmacosx.m4.
34854
34855 2007-06-07  Bruno Haible  <bruno@clisp.org>
34856
34857         * modules/localename-tests: New file.
34858         * tests/test-localename.c: New file.
34859
34860         New module 'localename'.
34861         * lib/localename.h: New file.
34862         * lib/localename.c: New file, from GNU gettext.
34863         * m4/localename.m4: New file.
34864         * modules/localename: New file.
34865
34866 2007-06-07  Bruno Haible  <bruno@clisp.org>
34867
34868         Work around the lack of <wchar.h> on some builds of uClibc.
34869         * doc/headers/wchar.texi: Update.
34870         * lib/wchar_.h: Include <wchar.h> only if it exists.
34871         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34872         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34873         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34874         doesn't exist.
34875         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34876         * modules/mbfile (Depends-on): Add wchar.
34877         * modules/mbiter (Depends-on): Likewise.
34878         * modules/mbuiter (Depends-on): Likewise.
34879         Reported by Simon Josefsson.
34880
34881 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34882
34883         Work around problem reported by Steven M. Schweda in
34884         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34885         Tru64 5.1B with the Compaq compiler environment installed declares
34886         an 'isblank' function but does not define it in the C library.
34887         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34888         * lib/regex_internal.h (isblank): Likewise.
34889         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34890         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34891
34892 2007-06-05  Bruno Haible  <bruno@clisp.org>
34893
34894         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34895         ia64.
34896         * modules/printf-safe: New file.
34897         * modules/fprintf-posix (Depends-on): Add printf-safe.
34898         * modules/printf-posix (Depends-on): Likewise.
34899         * modules/snprintf-posix (Depends-on): Likewise.
34900         * modules/sprintf-posix (Depends-on): Likewise.
34901         * modules/vasnprintf-posix (Depends-on): Likewise.
34902         * modules/vasprintf-posix (Depends-on): Likewise.
34903         * modules/vfprintf-posix (Depends-on): Likewise.
34904         * modules/vprintf-posix (Depends-on): Likewise.
34905         * modules/vsnprintf-posix (Depends-on): Likewise.
34906         * modules/vsprintf-posix (Depends-on): Likewise.
34907         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
34908         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
34909         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
34910         "no" on i386, x86_64, ia64.
34911         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
34912         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34913         on i386, x86_64, ia64.
34914         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
34915         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34916         on i386, x86_64, ia64.
34917         * tests/test-vasnprintf-posix.c: Include float.h.
34918         (LDBL80_WORDS): New macro.
34919         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34920         on i386, x86_64, ia64.
34921         * tests/test-vasprintf-posix.c: Include float.h.
34922         (LDBL80_WORDS): New macro.
34923         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34924         on i386, x86_64, ia64.
34925         * tests/test-snprintf-posix.c: Include float.h.
34926         * tests/test-sprintf-posix.c: Likewise.
34927         * tests/test-vsnprintf-posix.c: Likewise.
34928         * tests/test-vsprintf-posix.c: Likewise.
34929
34930 2007-06-05  Bruno Haible  <bruno@clisp.org>
34931
34932         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
34933         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
34934         non-IEEE numbers on i386, x86_64, ia64.
34935         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
34936         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
34937         * tests/test-isnanl.h: Include float.h.
34938         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
34939
34940 2007-06-05  Bruno Haible  <bruno@clisp.org>
34941
34942         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
34943         also the %a / %A. Handle the %a / %A code before this extra handling.
34944
34945 2007-06-05  Bruno Haible  <bruno@clisp.org>
34946
34947         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
34948         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
34949
34950 2007-06-05  Bruno Haible  <bruno@clisp.org>
34951
34952         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
34953         typo in variable name.
34954
34955 2007-06-05  Eric Blake  <ebb9@byu.net>
34956
34957         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
34958         Reported by Simon Josefsson.
34959
34960 2007-06-04  Bruno Haible  <bruno@clisp.org>
34961
34962         Avoid test failures on some PowerPC platforms.
34963         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
34964         Define differently for PowerPC.
34965         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
34966         Reported by Gary V. Vaughan <gary@gnu.org>.
34967
34968 2007-06-02  Bruno Haible  <bruno@clisp.org>
34969
34970         Fix test-stdint failure on FreeBSD/ia64.
34971         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
34972         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
34973         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
34974         * doc/headers/stdint.texi: Update.
34975
34976 2007-06-01  Bruno Haible  <bruno@clisp.org>
34977
34978         * tests/test-binary-io.c (main): Pass a third argument to open().
34979         Reported by Gary V. Vaughan <gary@gnu.org>.
34980
34981 2007-06-01  Bruno Haible  <bruno@clisp.org>
34982
34983         * doc/functions/frexpl.texi: Update for mingw.
34984
34985 2007-06-01  Bruno Haible  <bruno@clisp.org>
34986
34987         * tests/test-lseek.c (main): Disable test of errno for invalid third
34988         argument.
34989         * doc/functions/lseek.texi: Update.
34990         Reported by Gary V. Vaughan <gary@gnu.org>.
34991
34992 2007-05-28  Bruno Haible  <bruno@clisp.org>
34993
34994         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
34995
34996 2007-05-31  Eric Blake  <ebb9@byu.net>
34997
34998         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
34999         cross compiling.
35000
35001 2007-05-30  Eric Blake  <ebb9@byu.net>
35002         and Bruno Haible  <bruno@clisp.org>
35003
35004         Work around mingw test failures exposed by m4-1.4.9b.
35005         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
35006         * tests/test-unistd.c: Disable uid_t and git_t tests for the
35007         moment.
35008
35009 2007-05-30  Bruno Haible  <bruno@clisp.org>
35010
35011         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
35012         assuming that they are closed. Needed on HP-UX 11.
35013
35014 2007-05-29  Bruno Haible  <bruno@clisp.org>
35015
35016         Fix a problem with #include_next.
35017         * lib/dirent_.h: Split the double-inclusion guard.
35018         * lib/fcntl_.h: Likewise.
35019         * lib/float_.h: Likewise.
35020         * lib/iconv_.h: Likewise.
35021         * lib/inttypes_.h: Likewise.
35022         * lib/locale_.h: Likewise.
35023         * lib/math_.h: Likewise.
35024         * lib/netinet_in_.h: Likewise.
35025         * lib/search_.h: Likewise.
35026         * lib/signal_.h: Likewise.
35027         * lib/stdint_.h: Likewise.
35028         * lib/stdio_.h: Likewise.
35029         * lib/stdlib_.h: Likewise.
35030         * lib/string_.h: Likewise.
35031         * lib/sys_select_.h: Likewise.
35032         * lib/sys_socket_.h: Likewise.
35033         * lib/sys_stat_.h: Likewise.
35034         * lib/sys_time_.h: Likewise.
35035         * lib/sysexits_.h: Likewise.
35036         * lib/time_.h: Likewise.
35037         * lib/unistd_.h: Likewise.
35038         * lib/wchar_.h: Likewise.
35039         * lib/wctype_.h: Likewise.
35040
35041 2007-05-29  Bruno Haible  <bruno@clisp.org>
35042
35043         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
35044         for the moment.
35045
35046 2007-05-29  Bruno Haible  <bruno@clisp.org>
35047
35048         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
35049         invocation.
35050         Reported by Eric Blake.
35051
35052 2007-05-29  Bruno Haible  <bruno@clisp.org>
35053
35054         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
35055         compiling case.
35056
35057 2007-05-29  Eric Blake  <ebb9@byu.net>
35058             Bruno Haible  <bruno@clisp.org>
35059
35060         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
35061         cross compiles.
35062
35063 2007-05-28  Eric Blake  <ebb9@byu.net>
35064
35065         * modules/closein-tests (test_closein_LDADD): Support test on
35066         cygwin with libtool.
35067
35068 2007-05-28  Bruno Haible  <bruno@clisp.org>
35069
35070         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
35071         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35072         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35073         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35074         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35075         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35076         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35077         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35078         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35079
35080 2007-05-28  Eric Blake  <ebb9@byu.net>
35081
35082         Unconditionally include <config.h> in unit tests.
35083         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
35084         * tests/test-allocsa.c, tests/test-arcfour.c,
35085         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
35086         tests/test-array_list.c, tests/test-array_oset.c,
35087         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
35088         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
35089         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
35090         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
35091         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
35092         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
35093         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
35094         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
35095         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
35096         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
35097         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
35098         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
35099         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
35100         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
35101         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
35102         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
35103         test-md5.c, test-memmem.c, test-printf-posix.c,
35104         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
35105         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
35106         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
35107         test-strcasestr.c, test-striconv.c, test-striconveh.c,
35108         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
35109         test-vasnprintf-posix2.c, test-vasnprintf.c,
35110         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
35111         test-vfprintf-posix.c, test-vprintf-posix.c,
35112         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
35113         test-xvasprintf.c: Likewise.
35114
35115 2007-05-28  Bruno Haible  <bruno@clisp.org>
35116
35117         * gnulib-tool (func_import): Remember the --with-tests command-line
35118         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
35119         Reported by Eric Blake.
35120
35121 2007-05-28  Bruno Haible  <bruno@clisp.org>
35122
35123         * modules/ftell-tests: New file.
35124         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
35125         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
35126
35127         * lib/ftell.c: New file.
35128         * modules/ftell: New file.
35129         * m4/ftell.m4: New file.
35130         * doc/functions/ftell.texi: Update.
35131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
35132         REPLACE_FTELL.
35133         * lib/stdio_.h (rpl_ftell): New declaration.
35134         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
35135         REPLACE_FTELL.
35136
35137 2007-05-28  Eric Blake  <ebb9@byu.net>
35138
35139         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
35140
35141 2007-05-28  Bruno Haible  <bruno@clisp.org>
35142
35143         * modules/fseek-tests: New file.
35144         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
35145         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
35146
35147         * lib/fseek.c: New file.
35148         * modules/fseek: New file.
35149         * m4/fseek.m4: New file.
35150         * doc/functions/fseek.texi: Update.
35151         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
35152         REPLACE_FSEEK.
35153         * lib/stdio_.h (rpl_fseek): New declaration.
35154         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
35155         REPLACE_FSEEK.
35156
35157 2007-05-28  Bruno Haible  <bruno@clisp.org>
35158
35159         * lib/stdio_.h (fflush): More comments.
35160
35161 2007-05-28  Bruno Haible  <bruno@clisp.org>
35162
35163         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
35164         runtime test.
35165
35166 2007-05-28  Eric Blake  <ebb9@byu.net>
35167
35168         Improve lseek module.
35169         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
35170         * lib/unistd_.h (lseek): Scale back link warning message.
35171         * tests/test-lseek.c: Beef up test.
35172         * tests/test-lseek.sh: Exercise more facets of lseek.
35173         Reported by Bruno Haible.
35174
35175 2007-05-28  Bruno Haible  <bruno@clisp.org>
35176
35177         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
35178         to define.
35179
35180 2007-05-27  Bruno Haible  <bruno@clisp.org>
35181
35182         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
35183
35184 2007-05-27  Bruno Haible  <bruno@clisp.org>
35185
35186         * modules/openmp: New file.
35187         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
35188         Noah Misch.
35189
35190 2007-05-26  Bruno Haible  <bruno@clisp.org>
35191
35192         * modules/chdir-long (Depends-on): Add fchdir.
35193         * modules/chdir-safer (Depends-on): Likewise.
35194         * modules/fts (Depends-on): Likewise.
35195         * modules/fts-lgpl (Depends-on): Likewise.
35196         * modules/openat (Depends-on): Likewise.
35197         * modules/savewd (Depends-on): Likewise.
35198
35199 2007-05-24  Eric Blake  <ebb9@byu.net>
35200
35201         Fix lseek on mingw.
35202         * modules/lseek: New module.
35203         * m4/lseek.m4: New file.
35204         * lib/lseek.c: New file.
35205         * modules/lseek-tests: New file.
35206         * tests/test-lseek.c: New file.
35207         * tests/test-lseek.sh: New file.
35208         * MODULES.html.sh: Document lseek module.
35209         * modules/fflush (Depends-on): Add lseek, fseeko.
35210         * modules/fseeko (Depends-on): Likewise.
35211         * modules/ftello (Depends-on): Likewise.
35212         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35213         broken.
35214         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35215         broken.
35216         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35217         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35218         * lib/ftello.c (rpl_ftello): Likewise.
35219         * tests/test-fseeko.c (main): Test this.
35220         * tests/test-fseeko.sh: Likewise.
35221         * tests/test-ftello.c (main): Likewise.
35222         * tests/test-ftello.sh: Likewise.
35223         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35224         implies replacing fseek.
35225         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35226         HAVE_FTELLO.
35227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35228         * modules/unistd (Makefile.am): Likewise.
35229         * lib/unistd_.h (lseek): Declare a replacement.
35230         * doc/functions/lseek.texi (lseek): Document this fix.
35231         * doc/functions/fseek.texi (fseek): Likewise.
35232         * doc/functions/ftell.texi (ftell): Likewise.
35233
35234 2007-05-24  Bruno Haible  <bruno@clisp.org>
35235
35236         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35237         in the printed representation of a NaN.
35238         * tests/test-vasprintf-posix.c (test_function): Likewise.
35239         * tests/test-snprintf-posix.h (test_function): Likewise.
35240         * tests/test-sprintf-posix.h (test_function): Likewise.
35241         Reported by Eric Blake.
35242
35243 2007-05-23  Eric Blake  <ebb9@byu.net>
35244
35245         Fix fseeko/ftello on cygwin 1.5.24.
35246         * doc/functions/fseeko.texi (fseeko): Document the fix.
35247         * doc/functions/ftello.texi (ftello): Document the fix.
35248         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35249         * doc/functions/stdout.text (stdout): New file.
35250         * doc/functions/stderr.text (stderr): New file.
35251         * doc/gnulib.texi (Function Substitutes): Use new files.
35252         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35253         prior to 1.7.0.
35254         * tests/test-ftello.c (main): Likewise for ftello.
35255         * tests/test-fseeko.sh: New file.
35256         * tests/test-ftello.sh: New file.
35257         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35258         with seekable stdin.
35259         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35260         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35261         (gl_REPLACE_FSEEKO): New macro.
35262         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35263         * modules/fseeko (Files): Distribute fseeko.c.
35264         * modules/ftello (Files): Distribute ftello.c.
35265         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35266         mode.
35267         * lib/ftello.c (rpl_ftello): New file.
35268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35269         fseeko, ftello.
35270         (gl_STDIN_LARGE_OFFSET): New macro.
35271         * modules/stdio (Makefile.am): Perform the replacement.
35272         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35273
35274 2007-05-23  Bruno Haible  <bruno@clisp.org>
35275
35276         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35277         GNULIB_POSIXCHECK is defined.
35278
35279 2007-05-21  Bruno Haible  <bruno@clisp.org>
35280
35281         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35282         Check also the output for NaN arguments. When cross-compiling, guess
35283         no on IRIX.
35284         * lib/vasnprintf.c: Update comments.
35285         * tests/test-vasnprintf-posix.c (strisnan): New function.
35286         (test_function): Use it.
35287         * tests/test-vasprintf-posix.c (strisnan): New function.
35288         (test_function): Use it.
35289         * tests/test-snprintf-posix.h (strisnan): New function.
35290         (test_function): Use it.
35291         * tests/test-sprintf-posix.h (strisnan): New function.
35292         (test_function): Use it.
35293         Reported by Eric Blake.
35294
35295 2007-05-20  Bruno Haible  <bruno@clisp.org>
35296
35297         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35298         numbers that fails on BeOS.
35299         * doc/functions/frexpl.texi: Update.
35300
35301 2007-05-20  Jim Meyering  <jim@meyering.net>
35302
35303         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35304         forced upon us by glibc-2.6.
35305
35306 2007-05-20  Bruno Haible  <bruno@clisp.org>
35307
35308         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35309         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35310         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35311         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35312         NEED_PRINTF_INFINITE.
35313         (is_infinitel): New function.
35314         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35316         gl_PREREQ_VASNPRINTF_INFINITE.
35317         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35318         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35319         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35320         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35321         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35322         gl_PREREQ_VASNPRINTF_INFINITE.
35323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35324         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35325         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35326         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35327         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35329         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35330         * doc/functions/fprintf.texi: Update.
35331         * doc/functions/printf.texi: Update.
35332         * doc/functions/snprintf.texi: Update.
35333         * doc/functions/sprintf.texi: Update.
35334         * doc/functions/vfprintf.texi: Update.
35335         * doc/functions/vprintf.texi: Update.
35336         * doc/functions/vsnprintf.texi: Update.
35337         * doc/functions/vsprintf.texi: Update.
35338
35339 2007-05-20  Bruno Haible  <bruno@clisp.org>
35340
35341         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35342         was not found in libc.
35343         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35344
35345 2007-05-20  Bruno Haible  <bruno@clisp.org>
35346
35347         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35348         printed as "-nan" instead of "nan".
35349         * tests/test-vasprintf-posix.c (test_function): Likewise.
35350         * tests/test-snprintf-posix.h (test_function): Likewise.
35351         * tests/test-sprintf-posix.h (test_function): Likewise.
35352         Needed for HP-UX 11.
35353
35354 2007-05-20  Jim Meyering  <jim@meyering.net>
35355
35356         Fix buggy test for the fchownat-deref bug.
35357         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35358         symlink required for the run-test.  Without it, this test would
35359         always declare that fchownat doesn't work, and client code would
35360         unnecessarily use the replacement function with fixed libc.
35361         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35362         Reported by Greg Schafer.
35363
35364 2007-05-19  Bruno Haible  <bruno@clisp.org>
35365
35366         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35367         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35368         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35369         Needed for IRIX 6.5 and Solaris 2.5.1.
35370
35371 2007-05-19  Bruno Haible  <bruno@clisp.org>
35372
35373         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35374         (test_function): Skip tests involving -0.0 on platforms where
35375         -0.0 = 0.0.
35376         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35377         (test_function): Skip tests involving -0.0 on platforms where
35378         -0.0 = 0.0.
35379         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35380         (test_function): Skip tests involving -0.0 on platforms where
35381         -0.0 = 0.0.
35382         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35383         (test_function): Skip tests involving -0.0 on platforms where
35384         -0.0 = 0.0.
35385         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35386         tests.
35387         * tests/test-printf-posix.h (test_function): Likewise.
35388         * tests/test-printf-posix.output: Remove all -0.0 related results.
35389         Needed for IRIX 6.5.
35390
35391 2007-05-19  Bruno Haible  <bruno@clisp.org>
35392
35393         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35394         printed as "nan0x7fffffff" instead of "nan".
35395         * tests/test-vasprintf-posix.c (test_function): Likewise.
35396         * tests/test-snprintf-posix.h (test_function): Likewise.
35397         * tests/test-sprintf-posix.h (test_function): Likewise.
35398         * tests/test-fprintf-posix.h (NaN): Remove macro.
35399         (test_function): Remove all NaN related tests.
35400         * tests/test-printf-posix.h (NaN): Remove macro.
35401         (test_function): Remove all NaN related tests.
35402         * tests/test-printf-posix.output: Remove all NaN related results.
35403         Needed for IRIX 6.5.
35404
35405 2007-05-19  Bruno Haible  <bruno@clisp.org>
35406
35407         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35408         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35409
35410 2007-05-19  Bruno Haible  <bruno@clisp.org>
35411
35412         * lib/float_.h: New file.
35413         * m4/float_h.m4: New file.
35414         * modules/float: New file.
35415         * modules/isnanl (Dependencies): Add float.
35416         * modules/isnanl-nolibm (Dependencies): Likewise.
35417         * modules/mathl (Dependencies): Likewise.
35418         * modules/printf-frexpl (Dependencies): Likewise.
35419         * modules/signbit (Dependencies): Likewise.
35420         * modules/vasnprintf (Dependencies): Likewise.
35421         * doc/headers/float.texi: Update.
35422
35423 2007-05-19  Jim Meyering  <jim@meyering.net>
35424
35425         * lib/utimens.c (gl_futimens): Rename from futimens,
35426         now that glibc-2.6 declares futimens.
35427         * lib/utimens.h: Likewise.
35428
35429 2007-05-19  Bruno Haible  <bruno@clisp.org>
35430
35431         Avoid test failures on mingw.
35432         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
35433         * tests/test-printf-posix.sh: Likewise.
35434         * tests/test-vfprintf-posix.sh: Likewise.
35435         * tests/test-vprintf-posix.sh: Likewise.
35436
35437 2007-05-19  Bruno Haible  <bruno@clisp.org>
35438
35439         Fix *printf result for NaN, Inf, -0.0 on mingw.
35440         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
35441         * lib/vasnprintf.c: Include math.h and isnan.h.
35442         (is_infinite_or_zero): New function.
35443         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
35444         values in the %f, %F, %e, %E, %g, %G directives.
35445         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
35446         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35447         gl_PRINTF_INFINITE and test its result. Invoke
35448         gl_PREREQ_VASNPRINTF_INFINITE.
35449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35450         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35451         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35452         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35453         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35454         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35455         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35456         * doc/functions/fprintf.texi: Update.
35457         * doc/functions/printf.texi: Update.
35458         * doc/functions/snprintf.texi: Update.
35459         * doc/functions/sprintf.texi: Update.
35460         * doc/functions/vfprintf.texi: Update.
35461         * doc/functions/vprintf.texi: Update.
35462         * doc/functions/vsnprintf.texi: Update.
35463         * doc/functions/vsprintf.texi: Update.
35464
35465 2007-05-19  Bruno Haible  <bruno@clisp.org>
35466
35467         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35468         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35469         Instead of multiplying with 10^k, set extra_zeroes to k.
35470         (scale10_round_long_double): Remove function.
35471
35472 2007-05-18  Bruno Haible  <bruno@clisp.org>
35473
35474         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35475         introduced on 2007-05-06.
35476
35477 2007-05-18  Bruno Haible  <bruno@clisp.org>
35478
35479         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35480         %g directives.
35481         * tests/test-vasprintf-posix.c (test_function): Likewise.
35482         * tests/test-snprintf-posix.h (test_function): Likewise.
35483         * tests/test-sprintf-posix.h (test_function): Likewise.
35484
35485 2007-05-18  Bruno Haible  <bruno@clisp.org>
35486
35487         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35488         (strmatch): New function.
35489         (test_function): Test the %f directive on numbers of various exponents.
35490         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35491         (strmatch): New function.
35492         (test_function): Test the %f directive on numbers of various exponents.
35493         * tests/test-snprintf-posix.h (strmatch): New function.
35494         (test_function): Test the %f directive on numbers of various exponents.
35495         * tests/test-sprintf-posix.h (strmatch): New function.
35496         (test_function): Test the %f directive on numbers of various exponents.
35497         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35498         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35499         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35500         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35501
35502 2007-05-18  Bruno Haible  <bruno@clisp.org>
35503
35504         Add support for 'long double' number output.
35505         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35506         * lib/vasnprintf.c: Include math.h and float+.h.
35507         (mp_limb_t): New type.
35508         (GMP_LIMB_BITS): New macro.
35509         (mp_twolimb_t): New type.
35510         (GMP_TWOLIMB_BITS): New macro.
35511         (mpn_t): New type.
35512         (multiply, divide, convert_to_decimal, decode_long_double,
35513         scale10_round_long_double, scale10_round_decimal_long_double,
35514         floorlog10l): New functions.
35515         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35516         for the %f, %F, %e, %E, %g, %G directives.
35517         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35518         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35519         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35520         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35521         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35522         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35523         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35524         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35525         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35526         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35527         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35528         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35529         * modules/snprintf-posix (Depends-on): Likewise.
35530         * modules/sprintf-posix (Depends-on): Likewise.
35531         * modules/vasnprintf-posix (Depends-on): Likewise.
35532         * modules/vasprintf-posix (Depends-on): Likewise.
35533         * modules/vfprintf-posix (Depends-on): Likewise.
35534         * modules/vsnprintf-posix (Depends-on): Likewise.
35535         * modules/vsprintf-posix (Depends-on): Likewise.
35536         * modules/vasnprintf (Files): Add lib/float+.h.
35537         * doc/functions/fprintf.texi: Update.
35538         * doc/functions/printf.texi: Update.
35539         * doc/functions/snprintf.texi: Update.
35540         * doc/functions/sprintf.texi: Update.
35541         * doc/functions/vfprintf.texi: Update.
35542         * doc/functions/vprintf.texi: Update.
35543         * doc/functions/vsnprintf.texi: Update.
35544         * doc/functions/vsprintf.texi: Update.
35545
35546 2007-05-18  Bruno Haible  <bruno@clisp.org>
35547
35548         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35549
35550 2007-05-18  Bruno Haible  <bruno@clisp.org>
35551
35552         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35553         for printing 64-bit integers. Needed for mingw.
35554
35555 2007-05-18  Bruno Haible  <bruno@clisp.org>
35556
35557         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35558         gl_FUNC_FREXPL_WORKS.
35559         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35560
35561 2007-05-18  Bruno Haible  <bruno@clisp.org>
35562
35563         * modules/frexpl-nolibm-tests: New file.
35564
35565         * modules/frexpl-nolibm: New file.
35566         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35567
35568 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35569
35570         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35571         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35572         GCC 4.2, which otherwise issues a lot of warnings.
35573         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35574         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35575         Likewise.
35576         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35577         * modules/iconv_open (iconv.h): Likewise.
35578         * modules/locale (locale.h): Likewise.
35579         * modules/netinet_in (netinet/in.h): Likewise.
35580         * modules/sys_select (sys_select.h): Likewise.
35581         * modules/sys_socket (sys/socket.h): Likewise.
35582         * modules/sys_stat (sys/stat.h): Likewise.
35583         * modules/sysexits (sysexits.h): Likewise.
35584         * modules/unistd (unistd.h): Likewise.
35585
35586 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35587
35588         * modules/closein-tests (Makefile.am): Distribute
35589         `test-closein.sh'.
35590
35591 2007-05-17  Bruno Haible  <bruno@clisp.org>
35592
35593         * tests/test-printf-posix.output: Renamed from
35594         tests/test-fprintf-posix.out.
35595         * modules/fprintf-posix-tests: Update.
35596         * modules/printf-posix-tests: Update.
35597         * modules/vfprintf-posix-tests: Update.
35598         * modules/vprintf-posix-tests: Update.
35599         * tests/test-fprintf-posix.sh: Update.
35600         * tests/test-printf-posix.sh: Update.
35601         * tests/test-vfprintf-posix.sh: Update.
35602         * tests/test-vprintf-posix.sh: Update.
35603         Reported by Ralf Wildenhues.
35604
35605 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35606
35607         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35608         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35609         GCC 4.2, which otherwise issues a lot of warnings.
35610         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35611         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35612         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35613         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35614         it should no longer be needed.
35615         * lib/string_.h: Likewise.
35616         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35617         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35618         * modules/inttypes (inttypes.h): Likewise.
35619         * modules/math (math.h): Likewise.
35620         * modules/search (search.h): Likewise.
35621         * modules/signal (signal.h): Likewise.
35622         * modules/stdint (stdint.h): Likewise.
35623         * modules/stdio (stdio.h): Likewise.
35624         * modules/stdlib (stdlib.h): Likewise.
35625         * modules/string (string.h): Likewise.
35626         * modules/sys_time (sys/time.h): Likewise.
35627         * modules/time (time.h): Likewise.
35628         * modules/wchar (wchar.h): Likewise.
35629         * modules/wctype (wtype.h): Likewise.
35630
35631 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35632
35633         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35634
35635 2007-05-13  Bruno Haible  <bruno@clisp.org>
35636
35637         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35638         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35639         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35640         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35641         (gl_PREREQ_STRTOK_R): Don't require it here.
35642
35643 2007-05-13  Bruno Haible  <bruno@clisp.org>
35644
35645         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35646         when used in C++ mode.
35647
35648 2007-05-12  Bruno Haible  <bruno@clisp.org>
35649
35650         * lib/linebuffer.h: Tweak doc.
35651         * lib/linebuffer.c: Likewise.
35652
35653 2007-05-12  James Youngman  <jay@gnu.org>
35654
35655         * lib/linebuffer.c (readlinebuffer_delim): New function,
35656         like readlinebuffer, but use a caller-specified delimiter.
35657         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35658         as the delimiter.
35659         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35660
35661 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35662
35663         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35664         * modules/openat (Files): Remove openat-die.c.
35665         (Depends-on): Add openat-die.
35666         * modules/openat-die: New module.
35667
35668 2007-05-06  Bruno Haible  <bruno@clisp.org>
35669
35670         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35671         Update with info about Cygwin.
35672         * doc/functions/fprintf.texi: Update.
35673         * doc/functions/printf.texi: Update.
35674         * doc/functions/snprintf.texi: Update.
35675         * doc/functions/sprintf.texi: Update.
35676         * doc/functions/vfprintf.texi: Update.
35677         * doc/functions/vprintf.texi: Update.
35678         * doc/functions/vsnprintf.texi: Update.
35679         * doc/functions/vsprintf.texi: Update.
35680         Reported by Eric Blake.
35681
35682 2007-05-06  Bruno Haible  <bruno@clisp.org>
35683
35684         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35685         padding ourselves for the floating-point directives.
35686         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35687         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35688         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35689         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35690         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35692         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35695         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35696         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35697         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35698         * tests/test-snprintf-posix.h (test_function): Also check the width
35699         and some flags in the %f directive.
35700         * tests/test-sprintf-posix.h (test_function): Likewise.
35701         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35702         * tests/test-vasprintf-posix.c (test_function): Likewise.
35703         * doc/functions/fprintf.texi: Update.
35704         * doc/functions/printf.texi: Update.
35705         * doc/functions/snprintf.texi: Update.
35706         * doc/functions/sprintf.texi: Update.
35707         * doc/functions/vfprintf.texi: Update.
35708         * doc/functions/vprintf.texi: Update.
35709         * doc/functions/vsnprintf.texi: Update.
35710         * doc/functions/vsprintf.texi: Update.
35711
35712 2007-05-06  Bruno Haible  <bruno@clisp.org>
35713
35714         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35715         pass the ' flag character to sprintf or snprintf.
35716         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35717         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35718         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35719         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35720         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35721         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35722         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35723         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35724         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35725         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35726         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35727         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35728         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35729         flag.
35730         * tests/test-sprintf-posix.h (test_function): Likewise.
35731         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35732         * tests/test-vasprintf-posix.c (test_function): Likewise.
35733         * doc/functions/fprintf.texi: Update.
35734         * doc/functions/printf.texi: Update.
35735         * doc/functions/snprintf.texi: Update.
35736         * doc/functions/sprintf.texi: Update.
35737         * doc/functions/vfprintf.texi: Update.
35738         * doc/functions/vprintf.texi: Update.
35739         * doc/functions/vsnprintf.texi: Update.
35740         * doc/functions/vsprintf.texi: Update.
35741
35742 2007-05-01  Bruno Haible  <bruno@clisp.org>
35743
35744         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35745
35746 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35747
35748         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35749         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35750
35751 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35752
35753         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35754         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35755         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35756
35757 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35758
35759         * lib/argp-help.c (struct hol_entry): New member `ord'.
35760         (HOL_ENTRY_PTRCMP): Use ord for comparison
35761         (hol_sort): Initialize ord.
35762
35763 2007-05-01  Bruno Haible  <bruno@clisp.org>
35764
35765         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35766         Reported by Eric Blake.
35767         * doc/gnulib.texi (Function Substitutes): Update.
35768
35769 2007-05-01  Bruno Haible  <bruno@clisp.org>
35770
35771         * doc/functions.texi: Remove file, now redundant through
35772         doc/functions/*.texi.
35773
35774 2007-05-01  Bruno Haible  <bruno@clisp.org>
35775
35776         * modules/argp (Depends-on): Add sleep.
35777
35778 2007-05-01  Bruno Haible  <bruno@clisp.org>
35779
35780         * modules/sleep-tests: New file.
35781         * tests/test-sleep.c: New file.
35782
35783         * modules/sleep: New file.
35784         * lib/sleep.c: New file.
35785         * m4/sleep.m4: New file.
35786         * lib/unistd_.h (sleep): New declaration.
35787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35788         HAVE_SLEEP.
35789         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35790         * doc/functions/sleep.texi: Document the sleep module.
35791
35792 2007-05-01  Bruno Haible  <bruno@clisp.org>
35793
35794         * lib/sigprocmask.h: Remove file.
35795         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35796         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35797         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35798         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35799         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35800         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35801         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35802         HAVE_SIGSET_T as a shell variable.
35803         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35804         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35805         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35806         (Depends-on): Add signal. Remove verify.
35807         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35808         (Include): Mention <signal.h> instead of sigprocmask.h.
35809         * NEWS: Mention the change.
35810         * lib/fatal-signal.c: Don't include sigprocmask.h.
35811
35812 2007-05-01  Bruno Haible  <bruno@clisp.org>
35813
35814         * modules/signal: New file.
35815         * lib/signal_.h: New file.
35816         * m4/signal_h.m4: New file.
35817
35818 2007-05-01  Bruno Haible  <bruno@clisp.org>
35819
35820         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35821         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35822         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35823         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35824
35825 2007-05-01  Bruno Haible  <bruno@clisp.org>
35826
35827         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35828         configure time.
35829         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35830         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35831         * modules/sys_stat (Makefile.am): Substitute their values into
35832         sys/stat.h.
35833
35834 2007-05-01  Bruno Haible  <bruno@clisp.org>
35835
35836         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35837         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35838         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35839
35840 2007-05-01  Bruno Haible  <bruno@clisp.org>
35841
35842         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35843         'assert' module here.
35844
35845 2007-05-01  Bruno Haible  <bruno@clisp.org>
35846
35847         * doc/functions/*.texi: New files.
35848         * doc/functions/google-ranking.txt: New file.
35849         * doc/gnulib.texi (Function Substitutes): New chapter.
35850         (ctime, inet_ntoa): Remove sections.
35851         * doc/ctime.texi: Remove file.
35852         * doc/inet_ntoa.texi: Remove file.
35853         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35854         dependencies.
35855         (%.info): New rule, specifying a --reference-limit.
35856
35857 2007-05-01  Bruno Haible  <bruno@clisp.org>
35858
35859         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35860
35861 2007-05-01  Bruno Haible  <bruno@clisp.org>
35862
35863         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35864         the portability of 'mkdir' to mingw systems.
35865
35866 2007-05-01  Bruno Haible  <bruno@clisp.org>
35867
35868         * doc/headers/google-ranking.txt: New file.
35869
35870 2007-04-30  Eric Blake  <ebb9@byu.net>
35871
35872         Prefer fseeko to fseek.
35873         * modules/getpass (Depends-on): Add fseeko.
35874         * lib/getpass.c (getpass): Use fseeko, not fseek.
35875
35876 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35877
35878         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35879         assumes the sorting is stable, while most qsort implementations
35880         are not.  Use argument addresses to ensure they never compare as
35881         equal.
35882
35883         * tests/test-argp-2.sh (usage-indent test): Fix output
35884         (func_compare): Restore diff options
35885         * tests/test-argp.c: Restore #include "progname.h"
35886
35887 2007-04-29  Bruno Haible  <bruno@clisp.org>
35888
35889         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35890         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35891         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35892         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35893         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35894         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35895         (TESTS, check_PROGRAMS): Add test-snprintf.
35896         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35897         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35898         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35899         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
35900         assertions that fail on HP-UX, OSF/1, or IRIX.
35901         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
35902
35903 2007-04-29  Bruno Haible  <bruno@clisp.org>
35904
35905         * MODULES.html.sh (posix_functions): Remove 'contents'.
35906
35907 2007-04-29  Karl Berry  <karl@gnu.org>
35908
35909         * config/srclist.txt (gendocs_template_min): new entry.
35910
35911 2007-04-29  Bruno Haible  <bruno@clisp.org>
35912
35913         Work around fpurge bug on BSD systems.
35914         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
35915         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
35916         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
35917         fpurge to rpl_fpurge if the system already has this function.
35918         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
35919         the case where the system already has this function. Correct invariants
35920         on BSD systems.
35921         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
35922         BSD systems.
35923
35924 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35925
35926         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
35927         proposed by Sven Verdoolaege.
35928
35929         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
35930         options.
35931         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
35932         (usage and help tests): Update
35933
35934 2007-04-29  Bruno Haible  <bruno@clisp.org>
35935
35936         * tests/test-fflush.c (main): Use a file of size 17, not 10.
35937         Print more information in case of failure. Disable a test on BeOS.
35938
35939 2007-04-29  Bruno Haible  <bruno@clisp.org>
35940
35941         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
35942         This helps debugging on systems on which no gdb is available.
35943
35944 2007-04-29  Bruno Haible  <bruno@clisp.org>
35945
35946         * lib/freading.h: Improve comments.
35947         * lib/fwriting.h: Likewise.
35948         * tests/test-freading.c (main): Don't check freading immediately after
35949         repositioning. Needed for glibc.
35950
35951 2007-04-29  Bruno Haible  <bruno@clisp.org>
35952
35953         * lib/freading.c (freading): Trivial simplification.
35954
35955 2007-04-28  Bruno Haible  <bruno@clisp.org>
35956
35957         * tests/test-fwriting.c (main): Also test the interaction between
35958         fflush and fwriting.
35959         * modules/fwriting-tests (Depends-on): Add fflush.
35960
35961         * tests/test-freading.c (main): Also test the interaction between
35962         fflush and freading.
35963         * modules/freading-tests (Depends-on): Add fflush.
35964
35965 2007-04-28  Bruno Haible  <bruno@clisp.org>
35966
35967         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
35968         fseeko and ftello.
35969         Suggested by Eric Blake.
35970
35971 2007-04-28  Jim Meyering  <jim@meyering.net>
35972
35973         Avoid false-negative in gl_STDINT_H's C99 conformance test.
35974         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
35975         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
35976
35977 2007-04-27  Eric Blake  <ebb9@byu.net>
35978
35979         * doc/headers/assert.texi (assert.h): Document assert module use.
35980
35981 2007-04-27  Bruno Haible  <bruno@clisp.org>
35982
35983         * doc/headers/*.texi: New files.
35984         * doc/gnulib.texi (Header File Substitutes): New chapter.
35985         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
35986         dependencies.
35987         (standards.info ,standards.html, standards.dvi): Update dependencies.
35988         (mostlyclean, clean): New targets.
35989
35990 2007-04-27  Bruno Haible  <bruno@clisp.org>
35991
35992         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
35993         * modules/sysexits (Files, Makefile.am): Update.
35994
35995         * lib/sys_socket_.h: Renamed from lib/socket_.h.
35996         * modules/sys_socket (Files, Makefile.am): Update.
35997
35998         * lib/sys_stat_.h: Renamed from lib/stat_.h.
35999         * modules/sys_stat (Files, Makefile.am): Update.
36000
36001 2007-04-27  Eric Blake  <ebb9@byu.net>
36002
36003         * lib/freading.h: Improve comments.
36004         * lib/fwriting.h: Likewise.
36005         * lib/fflush.c: Likewise.
36006
36007         Fix closein for mingw.
36008         * modules/closein-tests: Add tests for closein.
36009         * tests/test-closein.c: New file.
36010         * tests/test-closein.sh: Likewise.
36011         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
36012         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
36013
36014 2007-04-27  Bruno Haible  <bruno@clisp.org>
36015
36016         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
36017         version is < 6.
36018         * lib/math_.h [__DECC]: Likewise.
36019         * lib/stdio_.h [__DECC]: Likewise.
36020         * lib/stdlib_.h [__DECC]: Likewise.
36021         * lib/string_.h [__DECC]: Likewise.
36022         * lib/time_.h [__DECC]: Likewise.
36023         * lib/wchar_.h [__DECC]: Likewise.
36024         * lib/wctype_.h [__DECC]: Likewise.
36025
36026 2007-04-27  Bruno Haible  <bruno@clisp.org>
36027
36028         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
36029
36030 2007-04-27  Bruno Haible  <bruno@clisp.org>
36031
36032         * lib/fflush.c: Add comments.
36033         * modules/fpurge-tests (Depends-on): Add fflush.
36034         * modules/freadable-tests (Depends-on): Likewise.
36035         * modules/fwritable-tests (Depends-on): Likewise.
36036
36037 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
36038
36039         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
36040         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
36041         Report by Bruno Haible <bruno@clisp.org>.
36042
36043 2007-04-26  Eric Blake  <ebb9@byu.net>
36044
36045         Fix fflush on mingw.
36046         * modules/fflush (Depends-on): Add freading.
36047         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
36048         but unread data.
36049
36050 2007-04-26  Eric Blake  <ebb9@byu.net>
36051         and Bruno Haible  <bruno@clisp.org>
36052
36053         Implement freading and fwriting.
36054         * lib/freading.c: New file.
36055         * lib/freading.h: Likewise.
36056         * m4/freading.m4: Likewise.
36057         * modules/freading: Likewise.
36058         * modules/freading-tests: Likewise.
36059         * tests/test-freading.c: Likewise.
36060         * lib/fwriting.c: New file.
36061         * lib/fwriting.h: Likewise.
36062         * m4/fwriting.m4: Likewise.
36063         * modules/fwriting: Likewise.
36064         * modules/fwriting-tests: Likewise.
36065         * tests/test-fwriting.c: Likewise.
36066         * MODULES.html.sh (File stream based Input/Output): Mention them.
36067
36068 2007-04-26  Bruno Haible  <bruno@clisp.org>
36069
36070         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
36071         'long' when we assume it.
36072         Suggested by Eric Blake.
36073
36074 2007-04-26  Bruno Haible  <bruno@clisp.org>
36075
36076         Ensure fseeko, ftello are declared on glibc systems.
36077         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
36078         * modules/fseeko (configure.ac-early): Likewise.
36079         * modules/ftello (configure.ac-early): Likewise.
36080         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
36081         AC_FUNC_FSEEKO for this.
36082         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
36083         (gl_CHECK_FSEEKO): Remove macro.
36084
36085 2007-04-26  Bruno Haible  <bruno@clisp.org>
36086
36087         * tests/test-fflush.c (main): Also check the ftell result after
36088         fflush and fseek/fseeko.
36089         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
36090         file descriptor position cache in the stream.
36091         * lib/fseeko.c (rpl_fseeko): Likewise.
36092
36093 2007-04-26  Bruno Haible  <bruno@clisp.org>
36094
36095         * modules/fflush-tests (Depends-on): Add fseeko.
36096
36097 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
36098             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36099
36100         * lib/argz_.h: ensure error_t definition is obtained in same
36101         mechanism system argz.h would have.
36102         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
36103         argz facilities are known bad.  Err on the side of caution if
36104         cross-compiling.
36105
36106 2007-04-25  Eric Blake  <ebb9@byu.net>
36107
36108         * lib/fpurge.c (includes): Use stdlib.h for free.
36109         * tests/test-fflush.c (main): Also test fflush-fseeko.
36110
36111 2007-04-25  Bruno Haible  <bruno@clisp.org>
36112
36113         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
36114         * lib/fseeko.c: New file.
36115         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
36116         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
36117         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
36118         gl_FUNC_FSEEKO.
36119         (gl_FUNC_FSEEKO): Invoke it.
36120         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
36121         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
36122         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
36123
36124 2007-04-25  Bruno Haible  <bruno@clisp.org>
36125
36126         * modules/fflush (Depends-on): Add ftello.
36127
36128 2007-04-25  Bruno Haible  <bruno@clisp.org>
36129
36130         * modules/ftello-tests: New file.
36131         * tests/test-ftello.c: New file.
36132
36133         * modules/ftello: New file.
36134         * m4/ftello.m4: New file.
36135         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
36136         HAVE_FTELLO.
36137         * lib/stdio_.h (ftello): New declaration.
36138         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
36139         HAVE_FTELLO.
36140
36141 2007-04-25  Bruno Haible  <bruno@clisp.org>
36142
36143         * modules/fseeko-tests: New file.
36144         * tests/test-fseeko.c: New file.
36145
36146         * modules/fseeko: New file.
36147         * m4/fseeko.m4: New file.
36148         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
36149         HAVE_FSEEKO.
36150         * lib/stdio_.h (fseeko): New declaration.
36151         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
36152         HAVE_FSEEKO.
36153
36154 2007-04-25  Bruno Haible  <bruno@clisp.org>
36155
36156         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
36157
36158 2007-04-25  Bruno Haible  <bruno@clisp.org>
36159
36160         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
36161         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
36162         * tests/test-unistd.c: Likewise.
36163         * tests/test-fcntl.c: Likewise.
36164
36165 2007-04-23  Eric Blake  <ebb9@byu.net>
36166
36167         * lib/fflush.c: Fix missing include.
36168         Reported by Bruno Haible.
36169
36170 2007-04-23  Bruno Haible  <bruno@clisp.org>
36171
36172         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
36173         Reported by Eric Blake.
36174
36175 2007-04-23  Bruno Haible  <bruno@clisp.org>
36176
36177         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
36178
36179 2007-04-23  Bruno Haible  <bruno@clisp.org>
36180
36181         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
36182
36183 2007-04-23  Bruno Haible  <bruno@clisp.org>
36184
36185         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
36186         Needed on HP-UX 11.
36187
36188 2007-04-16  Eric Blake  <ebb9@byu.net>
36189
36190         Make fflush rely on fpurge.
36191         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
36192         open coding all variants.
36193         * modules/fflush (Depends-on): Add fpurge and unistd.
36194         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
36195         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
36196
36197         Fix --with-tests compilation on cygwin.
36198         * modules/argmatch-tests (Makefile.am): List gnulib library first
36199         in LDADD.
36200         * modules/argp-tests (Makefile.am): Likewise.
36201         * modules/array-list-tests (Makefile.am): Likewise.
36202         * modules/array-oset-tests (Makefile.am): Likewise.
36203         * modules/avltree-list-tests (Makefile.am): Likewise.
36204         * modules/avltree-oset-tests (Makefile.am): Likewise.
36205         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36206         * modules/carray-list-tests (Makefile.am): Likewise.
36207         * modules/dirname-tests (Makefile.am): Likewise.
36208         * modules/frexp-tests (Makefile.am): Likewise.
36209         * modules/isnanl-tests (Makefile.am): Likewise.
36210         * modules/linked-list-tests (Makefile.am): Likewise.
36211         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36212         * modules/lock-tests (Makefile.am): Likewise.
36213         * modules/rbtree-list-tests (Makefile.am): Likewise.
36214         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36215         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36216         * modules/tls-tests (Makefile.am): Likewise.
36217         * modules/tsearch-tests (Makefile.am): Likewise.
36218         * modules/xvasprintf-tests (Makefile.am): Likewise.
36219
36220         Fix fpurge for cygwin.
36221         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36222         value.
36223         * modules/fpurge-tests (Depends-on): Clean up trash.
36224
36225 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36226
36227         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36228
36229         * m4/autobuild.m4: Re-indent.
36230
36231 2007-04-13  Bruno Haible  <bruno@clisp.org>
36232
36233         * modules/fpurge-tests: New file.
36234         * tests/test-fpurge.c: New file.
36235
36236         * modules/fpurge: New file.
36237         * lib/fpurge.h: New file.
36238         * lib/fpurge.c: New file.
36239         * m4/fpurge.m4: New file.
36240
36241 2007-04-13  Bruno Haible  <bruno@clisp.org>
36242
36243         * modules/fbufmode-tests: New file.
36244         * tests/test-fbufmode.c: New file.
36245
36246         * modules/fbufmode: New file.
36247         * lib/fbufmode.h: New file.
36248         * lib/fbufmode.c: New file.
36249         * m4/fbufmode.m4: New file.
36250
36251 2007-04-13  Bruno Haible  <bruno@clisp.org>
36252
36253         * modules/fwritable-tests: New file.
36254         * tests/test-fwritable.c: New file.
36255
36256         * modules/fwritable: New file.
36257         * lib/fwritable.h: New file.
36258         * lib/fwritable.c: New file.
36259         * m4/fwritable.m4: New file.
36260
36261 2007-04-13  Bruno Haible  <bruno@clisp.org>
36262
36263         * modules/freadable-tests: New file.
36264         * tests/test-freadable.c: New file.
36265
36266         * modules/freadable: New file.
36267         * lib/freadable.h: New file.
36268         * lib/freadable.c: New file.
36269         * m4/freadable.m4: New file.
36270
36271 2007-04-13  Bruno Haible  <bruno@clisp.org>
36272
36273         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36274         MOSTLYCLEANFILES.
36275
36276 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36277
36278         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36279         gzip bootstrap.conf to avoid dragging in i18n machinery.
36280         (gnulib_tool_option): Use it.
36281
36282 2007-04-13  Bruno Haible  <bruno@clisp.org>
36283
36284         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36285         %F directives.
36286         * tests/test-vasprintf-posix.c (test_function): Likewise.
36287         * tests/test-snprintf-posix.h (test_function): Likewise.
36288         * tests/test-sprintf-posix.h (test_function): Likewise.
36289         * tests/test-fprintf-posix.h (test_function): Likewise.
36290         * tests/test-printf-posix.h (test_function): Likewise.
36291         * tests/test-fprintf-posix.out: Likewise.
36292
36293 2007-04-13  Bruno Haible  <bruno@clisp.org>
36294
36295         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36296         * modules/tls-tests (configure.ac): Likewise.
36297         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36298
36299 2007-04-13  Bruno Haible  <bruno@clisp.org>
36300
36301         * lib/tls.c (glthread_tls_get): Fix return type.
36302         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36303
36304 2007-04-12  Eric Blake  <ebb9@byu.net>
36305
36306         * modules/gettime (Depends-on): Remove gettime.
36307         Reported by Dmitry V. Levin.
36308
36309 2007-04-12  Bruno Haible  <bruno@clisp.org>
36310
36311         * modules/fflush (Include): Mention <stdio.h>.
36312         * modules/strtoimax (Include): Mention <inttypes.h>.
36313         * modules/strtoumax (Include): Likewise.
36314
36315 2007-04-12  Eric Blake  <ebb9@byu.net>
36316
36317         * .cvsignore: New file.
36318         * .gitignore: Likewise.
36319
36320 2007-04-12  Bruno Haible  <bruno@clisp.org>
36321
36322         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36323         not before, since $(LDADD) often contains libgnu.a.
36324         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36325         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36326         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36327         Needed on Cygwin.
36328
36329 2007-04-12  Eric Blake  <ebb9@byu.net>
36330
36331         Work around glibc's failure to flush stdin on fclose.
36332         * lib/closein.c (close_stdin): Flush stdin before closing.
36333
36334         Work around glibc's failure to reset seekable stdin on exit.
36335         * modules/closein: New module.
36336         * lib/closein.c: New file.
36337         * lib/closein.h: Likewise.
36338         * m4/closein.m4: Likewise.
36339         * MODULES.html.sh (File stream based Input/Output): Document it.
36340
36341 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36342
36343         * gnulib-tool: Rename generated 'autobuild' script to
36344         'do-autobuild' in --create-megatestdir output.
36345
36346         * doc/gnulib.texi (Build robot for gnulib): Fix.
36347
36348 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36349
36350         * modules/sysexits (Depends-on): Add absolute-header.
36351
36352 2007-04-12  Eric Blake  <ebb9@byu.net>
36353
36354         No need to preserve errno on success.
36355         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36356         Reported by Bruno Haible.
36357
36358 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36359
36360         * MODULES.html.sh (Support for maintaining and releasing
36361         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36362
36363 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36364
36365         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36366
36367 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36368
36369         * modules/autobuild: New module.
36370
36371         * m4/autobuild.m4: New file.
36372
36373 2007-04-11  Bruno Haible  <bruno@clisp.org>
36374
36375         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36376         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36377         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36379         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36380         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36381         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36382         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36383         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36384         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36385         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36386         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36387         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36388         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36389         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36390         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36391         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36392         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36393         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36394         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36395         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36396         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36397         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36398         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36399         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36400         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36401         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36402         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36403         Reported by Eric Blake.
36404
36405 2007-04-11  Bruno Haible  <bruno@clisp.org>
36406
36407         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36408
36409 2007-04-10  Bruno Haible  <bruno@clisp.org>
36410
36411         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36412         for NaN and Infinity. Needed on FreeBSD 6.1.
36413         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36414         regarding results for "%010a" of Infinity and NaN.
36415         * tests/test-vasprintf-posix.c (test_function): Likewise.
36416         * tests/test-snprintf-posix.h (test_function): Likewise.
36417         * tests/test-sprintf-posix.h (test_function): Likewise.
36418         * tests/test-fprintf-posix.h (test_function): Likewise.
36419         * tests/test-printf-posix.h (test_function): Likewise.
36420         * tests/test-fprintf-posix.out: Likewise.
36421
36422 2007-04-10  Bruno Haible  <bruno@clisp.org>
36423
36424         * modules/locale-tests: New file.
36425         * tests/test-locale.c: New file.
36426
36427         * modules/locale: New file.
36428         * lib/locale_.h: New file.
36429         * m4/locale_h.m4: New file.
36430
36431 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
36432             Bruno Haible  <bruno@clisp.org>
36433
36434         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
36435         be determined, test for availability of the copysignf, copysign,
36436         copysignl functions.
36437         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
36438         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
36439         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
36440
36441 2007-04-09  Eric Blake  <ebb9@byu.net>
36442
36443         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
36444         * modules/stdio (Makefile.am): Support fflush.
36445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36446         * modules/fflush: New file.
36447         * lib/fflush.c: Likewise.
36448         * m4/fflush.m4: Likewise.
36449         * modules/fflush-tests: New test.
36450         * tests/test-fflush.c: Likewise.
36451         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36452
36453 2007-04-06  Bruno Haible  <bruno@clisp.org>
36454
36455         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36456         (VASNPRINTF): Use signbit for faster determination whether to print a
36457         minus sign.
36458         * modules/vasnprintf (Files): Remove lib/float+.h.
36459         * modules/fprintf-posix (Depends-on): Add signbit.
36460         * modules/snprintf-posix (Depends-on): Likewise.
36461         * modules/sprintf-posix (Depends-on): Likewise.
36462         * modules/vasnprintf-posix (Depends-on): Likewise.
36463         * modules/vasprintf-posix (Depends-on): Likewise.
36464         * modules/vfprintf-posix (Depends-on): Likewise.
36465         * modules/vsnprintf-posix (Depends-on): Likewise.
36466         * modules/vsprintf-posix (Depends-on): Likewise.
36467
36468 2007-04-06  Bruno Haible  <bruno@clisp.org>
36469
36470         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36471         * tests/test-frexpl.c (main): Likewise.
36472         * tests/test-ldexpl.c (main): Likewise.
36473         * modules/frexp-tests (Depends-on): Add signbit.
36474         * modules/frexpl-tests (Depdends-on): Likewise.
36475         * modules/ldexpl-tests (Depdends-on): Likewise.
36476
36477 2007-04-06  Bruno Haible  <bruno@clisp.org>
36478
36479         * modules/signbit-tests: New file.
36480         * tests/test-signbit.c: New file.
36481
36482         * modules/signbit: New file.
36483         * lib/signbitf.c: New file.
36484         * lib/signbitd.c: New file.
36485         * lib/signbitl.c: New file.
36486         * m4/signbit.m4: New file.
36487         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36488         (signbit): New macro.
36489         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36490         REPLACE_SIGNBIT.
36491         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36492         REPLACE_FREXPL into math.h.
36493
36494 2007-04-06  Bruno Haible  <bruno@clisp.org>
36495
36496         * modules/isnanf-nolibm-tests: New file.
36497         * tests/test-isnanf.c: New file.
36498
36499         * modules/isnanf-nolibm: New file.
36500         * lib/isnanf.h: New file.
36501         * lib/isnanf.c: New file.
36502         * lib/isnan.c: Consider the USE_FLOAT macro.
36503         * m4/isnanf.m4: New file.
36504
36505 2007-04-06  Bruno Haible  <bruno@clisp.org>
36506
36507         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36508         (Link): New section.
36509
36510         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36511
36512 2007-04-06  Bruno Haible  <bruno@clisp.org>
36513
36514         Assume the 'long double' type.
36515         * m4/longdouble.m4: Remove file.
36516         * config/srclist.txt: Don't mention longdouble.m4.
36517         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36518         * lib/float+.h: Likewise.
36519         * lib/frexp.c: Likewise.
36520         * lib/printf-args.h: Likewise.
36521         * lib/printf-args.c: Likewise.
36522         * lib/printf-frexp.c: Likewise.
36523         * lib/printf-parse.c: Likewise.
36524         * lib/vasnprintf.c: Likewise.
36525         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36526         * m4/intl.m4: Likewise.
36527         * m4/isnanl.m4: Likewise.
36528         * m4/printf.m4: Likewise.
36529         * m4/printf-frexpl.m4: Likewise.
36530         * m4/vasnprintf.m4: Likewise.
36531         * modules/allocsa (Files): Remove m4/longdouble.m4.
36532         * modules/gettext (Files): Likewise.
36533         * modules/relocatable-prog-wrapper (Files): Likewise.
36534         * modules/vasnprintf (Files): Likewise.
36535         * modules/isnanl (Files): Likewise.
36536         (Include): Simplify.
36537         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36538         (Include): Simplify.
36539         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36540         (Include): Simplify.
36541         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36542         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36543         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36544         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36545         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36546         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36547         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36548         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36549         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36550         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36551         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36552         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36553         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36554         * tests/test-isnanl.c: Likewise.
36555         * tests/test-snprintf-posix.h: Likewise.
36556         * tests/test-sprintf-posix.h: Likewise.
36557         * tests/test-vasnprintf-posix.c: Likewise.
36558         * tests/test-vasnprintf-posix2.c: Likewise.
36559         * tests/test-vasprintf-posix.c: Likewise.
36560
36561 2007-04-06  Bruno Haible  <bruno@clisp.org>
36562
36563         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36564         * lib/math_.h [__DECC]: Include the overridden include file through
36565         #include_next, outside the double-inclusion guard.
36566         * lib/stdio_.h [__DECC]: Likewise.
36567         * lib/stdlib_.h [__DECC]: Likewise.
36568         * lib/string_.h [__DECC]: Likewise.
36569         * lib/time_.h [__DECC]: Likewise.
36570         * lib/wchar_.h [__DECC]: Likewise.
36571         * lib/wctype_.h [__DECC]: Likewise.
36572         * lib/inttypes_.h [__DECC]: Likewise.
36573         Reported by Albert Chin <china@thewrittenword.com> in
36574         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36575
36576 2007-04-04  Eric Blake  <ebb9@byu.net>
36577
36578         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36579         1.5.x.
36580
36581 2007-04-04  Bruno Haible  <bruno@clisp.org>
36582
36583         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36584         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36585
36586 2007-04-04  Bruno Haible  <bruno@clisp.org>
36587
36588         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36589         results for "%010a" of Infinity and NaN.
36590         * tests/test-vasprintf-posix.c (test_function): Likewise.
36591         * tests/test-snprintf-posix.h (test_function): Likewise.
36592         * tests/test-sprintf-posix.h (test_function): Likewise.
36593         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36594         * tests/test-printf-posix.h (test_function): Likewise.
36595         * tests/test-fprintf-posix.out: Update.
36596         Needed for FreeBSD 6.1.
36597
36598 2007-04-04  Bruno Haible  <bruno@clisp.org>
36599
36600         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36601         directly used by the gnulib modules nor by gnulib-tool.
36602
36603 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36604
36605         * DEPENDENCIES: Give overall description of version dependency
36606         desirability.  Use more-typical names for apps.
36607         Add shell, coreutils, diffutils, grep, tar, gzip.
36608
36609 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36610
36611         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36612
36613 2007-04-04  Karl Berry  <karl@gnu.org>
36614
36615         * MODULES.html.sh (func_module): missing '.
36616
36617 2007-04-03  Bruno Haible  <bruno@clisp.org>
36618
36619         * modules/argmatch-tests (Makefile.am): New variable
36620         test_argmatch_LDADD.
36621         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36622         * modules/array-list-tests (Makefile.am): New variable
36623         test_array_list_LDADD.
36624         * modules/array-oset-tests (Makefile.am): New variable
36625         test_array_oset_LDADD.
36626         * modules/avltree-list-tests (Makefile.am): New variable
36627         test_avltree_list_LDADD.
36628         * modules/avltree-oset-tests (Makefile.am): New variable
36629         test_avltree_oset_LDADD.
36630         * modules/avltreehash-list-tests (Makefile.am): New variable
36631         test_avltreehash_list_LDADD.
36632         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36633         test_canonicalize_lgpl_LDADD.
36634         * modules/carray-list-tests (Makefile.am): New variable
36635         test_carray_list_LDADD.
36636         * modules/dirname-tests (Makefile.am): New variable
36637         test_dirname_LDADD.
36638         * modules/linked-list-tests (Makefile.am): New variable
36639         test_linked_list_LDADD.
36640         * modules/linkedhash-list-tests (Makefile.am): New variable
36641         test_linkedhash_list_LDADD.
36642         * modules/rbtree-list-tests (Makefile.am): New variable
36643         test_rbtree_list_LDADD.
36644         * modules/rbtree-oset-tests (Makefile.am): New variable
36645         test_rbtree_oset_LDADD.
36646         * modules/rbtreehash-list-tests (Makefile.am): New variable
36647         test_rbtreehash_list_LDADD.
36648         * modules/xvasprintf-tests (Makefile.am): New variable
36649         test_xvasprintf_LDADD.
36650         Reported by Eric Blake.
36651
36652 2007-04-03  Eric Blake  <ebb9@byu.net>
36653
36654         * DEPENDENCIES: Weaken m4 requirements.
36655
36656 2007-04-03  Bruno Haible  <bruno@clisp.org>
36657
36658         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36659         * modules/isnanl-tests (configure.ac): Likewise.
36660
36661 2007-04-03  Ben Pfaff  <blp@gnu.org>
36662
36663         * modules/iconv_open: Add $(srcdir)/ to source directory
36664         references in Makefile fragments that call gperf, to fix VPATH
36665         builds.
36666
36667 2007-04-03  Bruno Haible  <bruno@clisp.org>
36668
36669         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36670         * lib/ldexpl.c: Undo last change.
36671
36672 2007-04-03  Bruno Haible  <bruno@clisp.org>
36673
36674         * modules/printf-frexpl (Depends-on): Undo last change.
36675         (Files): Add m4/ldexpl.m4.
36676
36677 2007-04-03  Bruno Haible  <bruno@clisp.org>
36678
36679         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36680         * modules/isnanl (Link): New section.
36681
36682         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36683         * modules/frexp (Link): New section.
36684
36685         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36686         * modules/frexpl (Link): New section.
36687
36688         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36689         * modules/ldexpl (Link): New section.
36690
36691 2007-04-03  Bruno Haible  <bruno@clisp.org>
36692
36693         * modules/TEMPLATE-EXTENDED: New file.
36694         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36695
36696 2007-04-03  Bruno Haible  <bruno@clisp.org>
36697
36698         * DEPENDENCIES: New file.
36699         Suggested by Simon Josefsson.
36700
36701 2007-04-03  Bruno Haible  <bruno@clisp.org>
36702
36703         * doc/gnulib.texi: Escape @.
36704
36705 2007-04-03  James Youngman  <jay@gnu.org>
36706         and Paul Eggert  <eggert@cs.ucla.edu>
36707
36708         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36709         birthtime on all systems that have birthtime, not just those which
36710         use st_birthtimensec rather than st_birthtim.  Putting zero in
36711         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36712         that the birth time is not available for files on an NFS mount.
36713
36714 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36715
36716         * modules/memxor: Move back from crypto/, suggested by Bruno.
36717         * modules/crypto/hmac-sha1: Fix memxor dependency.
36718
36719         * modules/crypto/gc: Moved from ../.
36720
36721 2007-04-02  Eric Blake  <ebb9@byu.net>
36722
36723         * lib/ldexpl.c (includes): Avoid libm.
36724
36725         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36726
36727 2007-04-02  Bruno Haible  <bruno@clisp.org>
36728
36729         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36730         on IRIX.
36731
36732 2007-04-02  Bruno Haible  <bruno@clisp.org>
36733
36734         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36735         x86 or x86_64 platforms running MacOS X.
36736         Reported by Ryan Schmidt <@ryandesign.com>.
36737
36738 2007-04-02  Bruno Haible  <bruno@clisp.org>
36739
36740         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36741         i386.
36742
36743 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36744
36745         * modules/crypto/arcfour: Moved from ../.
36746         * modules/crypto/arcfour-tests: Moved from ../.
36747         * modules/crypto/arctwo: Moved from ../.
36748         * modules/crypto/arctwo-tests: Moved from ../.
36749         * modules/crypto/des: Moved from ../.
36750         * modules/crypto/des-tests: Moved from ../.
36751         * modules/crypto/gc-arcfour: Moved from ../.
36752         * modules/crypto/gc-arcfour-tests: Moved from ../.
36753         * modules/crypto/gc-arctwo: Moved from ../.
36754         * modules/crypto/gc-arctwo-tests: Moved from ../.
36755         * modules/crypto/gc-des: Moved from ../.
36756         * modules/crypto/gc-des-tests: Moved from ../.
36757         * modules/crypto/gc-hmac-md5: Moved from ../.
36758         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36759         * modules/crypto/gc-hmac-sha1: Moved from ../.
36760         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36761         * modules/crypto/gc-md2: Moved from ../.
36762         * modules/crypto/gc-md2-tests: Moved from ../.
36763         * modules/crypto/gc-md4: Moved from ../.
36764         * modules/crypto/gc-md4-tests: Moved from ../.
36765         * modules/crypto/gc-md5: Moved from ../.
36766         * modules/crypto/gc-md5-tests: Moved from ../.
36767         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36768         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36769         * modules/crypto/gc-random: Moved from ../.
36770         * modules/crypto/gc-rijndael: Moved from ../.
36771         * modules/crypto/gc-rijndael-tests: Moved from ../.
36772         * modules/crypto/gc-sha1: Moved from ../.
36773         * modules/crypto/gc-sha1-tests: Moved from ../.
36774         * modules/crypto/gc-tests: Moved from ../.
36775         * modules/crypto/hmac-md5: Moved from ../.
36776         * modules/crypto/hmac-md5-tests: Moved from ../.
36777         * modules/crypto/hmac-sha1: Moved from ../.
36778         * modules/crypto/hmac-sha1-tests: Moved from ../.
36779         * modules/crypto/md2: Moved from ../.
36780         * modules/crypto/md2-tests: Moved from ../.
36781         * modules/crypto/md4: Moved from ../.
36782         * modules/crypto/md4-tests: Moved from ../.
36783         * modules/crypto/md5: Moved from ../.
36784         * modules/crypto/md5-tests: Moved from ../.
36785         * modules/crypto/memxor: Moved from ../.
36786         * modules/crypto/rijndael: Moved from ../.
36787         * modules/crypto/rijndael-tests: Moved from ../.
36788         * modules/crypto/sha1: Moved from ../.
36789
36790 2007-03-30  James Youngman  <jay@gnu.org>
36791
36792         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36793         rename() to change the ctime of a file (because ctime is unaffected
36794         by rename on jfs2 on AIX 5.1).
36795         (main): Start by doing cleanup, in case a previous run failed leaving
36796         test files behind.
36797
36798 2007-03-31  Bruno Haible  <bruno@clisp.org>
36799
36800         Support old proprietary implementations of iconv.
36801         * modules/iconv_open: New file.
36802         * lib/iconv_.h: New file.
36803         * m4/iconv_h.m4: New file.
36804         * lib/iconv_open.c: New file.
36805         * lib/iconv_open-aix.gperf: New file.
36806         * lib/iconv_open-hpux.gperf: New file.
36807         * lib/iconv_open-irix.gperf: New file.
36808         * lib/iconv_open-osf.gperf: New file.
36809         * m4/iconv_open.m4: New file.
36810         * modules/linebreak (Depends-on): Add iconv_open.
36811         * modules/striconv (Depends-on): Likewise.
36812         * modules/striconveh (Depends-on): Likewise.
36813         * modules/unicodeio (Depends-on): Likewise.
36814         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36815         (iconv_t)(-1).
36816         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36817         conversion if cd is (iconv_t)(-1).
36818         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36819         is not possible.
36820
36821 2007-03-31  Bruno Haible  <bruno@clisp.org>
36822
36823         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36824         work on Solaris either. Protect also second use of "autodetect_jp".
36825
36826 2007-03-31  Bruno Haible  <bruno@clisp.org>
36827
36828         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36829         the function is not present.
36830
36831 2007-03-31  Bruno Haible  <bruno@clisp.org>
36832
36833         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36834         the function is not present.
36835
36836 2007-03-31  Bruno Haible  <bruno@clisp.org>
36837
36838         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36839         a bug in HP-UX iconv_open().
36840
36841 2007-03-31  Bruno Haible  <bruno@clisp.org>
36842
36843         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36844         (Mathematics <math.h>): New section, add fpieee.
36845         (Input/output <stdio.h>): Add fseterr.
36846         (Mathematics <math.h>): New section, add printf-frexp.
36847         (Container data structures): Add sublist.
36848         (Core language properties): Add fpucw, inline.
36849         (Functions for greatest-width integer types <inttypes.h>): Add
36850         imaxabs, imaxdiv, inttypes.
36851         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36852         isnanl-nolibm, ldexp.
36853         (Mathematics <math.h>): New section, add printf-frexpl.
36854         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36855         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36856         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36857         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36858         (Unicode string functions): Add unistr/u*-mbtoucr.
36859         (Java): Add javacomp-script, javaexec-script.
36860         (C#): Add csharpcomp-script, csharpexec-script.
36861         (Support for building libraries and executables): Add havelib,
36862         relocatable-*.
36863         (Support for maintaining and releasing projects): Renamed from
36864         'Support for maintaining and release projects'. Add announce-gen.
36865
36866 2007-03-31  Bruno Haible  <bruno@clisp.org>
36867
36868         * README: Talk primarily about git.
36869         (git and CVS): Renamed from CVS.
36870         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36871         gnulib is available through git.
36872         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36873
36874 2007-03-30  Bruno Haible  <bruno@clisp.org>
36875
36876         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36877         * lib/poll_.h: Likewise.
36878         * lib/stat_.h: Likewise.
36879         * lib/sys_time_.h: Likewise.
36880         * lib/sysexit_.h: Likewise.
36881         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36882         * lib/stdbool_.h: Likewise.
36883         * lib/byteswap_.h: Add double-inclusion guard.
36884
36885 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36886
36887         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36888
36889 2007-03-30  Karl Berry  <karl@gnu.org>
36890
36891         * config/srclist-update: double space after USA in the license
36892         substitution, since that's how it's usually (?) written.
36893
36894 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36895
36896         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36897         reported by Bruno Haible.
36898
36899 2007-03-29  Bruno Haible  <bruno@clisp.org>
36900
36901         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
36902         a bug in AIX iconv().
36903
36904 2007-03-29  Bruno Haible  <bruno@clisp.org>
36905
36906         * modules/ldexpl-tests: New file.
36907         * tests/test-ldexpl.c: New file.
36908
36909 2007-03-29  Bruno Haible  <bruno@clisp.org>
36910
36911         * lib/ldexpl.c: Include fpucw.h.
36912         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
36913         multiplication.
36914         * modules/ldexpl (Depends-on): Add fpucw.
36915
36916 2007-03-29  Bruno Haible  <bruno@clisp.org>
36917
36918         * modules/ldexpl: New file.
36919         * m4/ldexpl.m4: New file.
36920         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
36921         set.
36922         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
36923         REPLACE_LDEXPL.
36924         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
36925         REPLACE_LDEXPL.
36926         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36927         gl_FUNC_LDEXPL_WORKS.
36928         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
36929         * modules/mathl (Files): Remove lib/ldexpl.c.
36930         (Depends-on): Add ldexpl.
36931
36932 2007-03-29  Bruno Haible  <bruno@clisp.org>
36933
36934         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
36935
36936 2007-03-29  Bruno Haible  <bruno@clisp.org>
36937
36938         * tests/test-striconveh.c (main): Don't assume that a direct conversion
36939         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
36940         and possibly also HP-UX.
36941         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36942         work on AIX, IRIX, HP-UX, OSF/1.
36943         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36944         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36945         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36946         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36947         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
36948         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36949
36950 2007-03-29  Bruno Haible  <bruno@clisp.org>
36951
36952         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
36953
36954 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36955
36956         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
36957         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
36958
36959 2007-03-29  Eric Blake  <ebb9@byu.net>
36960
36961         * lib/acl-internal.h: Remove redundant include.
36962         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
36963         Cygwin when a file is locked.
36964
36965 2007-03-29  Bruno Haible  <bruno@clisp.org>
36966
36967         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
36968         file.
36969         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
36970
36971 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36972
36973         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
36974         try to remove a parent directory if the child couldn't be removed
36975         (except for the first rmdir, which could fail because the child
36976         doesn't exist).  Problem reported by Jeff Blaine in
36977         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
36978
36979 2007-03-28  Bruno Haible  <bruno@clisp.org>
36980
36981         * lib/striconveh.c (utf8conv_carefully): New function.
36982         (mem_cd_iconveh_internal): Invoke it.
36983
36984 2007-03-28  Bruno Haible  <bruno@clisp.org>
36985
36986         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
36987         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
36988         input.
36989         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
36990         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
36991         unistr/u8-uctomb.
36992
36993 2007-03-28  Bruno Haible  <bruno@clisp.org>
36994
36995         * modules/unistr/u8-mbtoucr: New file.
36996         * lib/unistr/u8-mbtoucr.c: New file.
36997         * modules/unistr/u16-mbtoucr: New file.
36998         * lib/unistr/u16-mbtoucr.c: New file.
36999         * modules/unistr/u16-mbtoucr: New file.
37000         * lib/unistr/u16-mbtoucr.c: New file.
37001         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
37002
37003 2007-03-27  Simon Josefsson  <simon@josefsson.org>
37004             Bruno Haible  <bruno@clisp.org>
37005
37006         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
37007         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
37008         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
37009
37010         * m4/stdio_h.m4: Add stubs for vasprintf too.
37011
37012         * modules/stdio: Support vasprintf in sed command.
37013
37014         * modules/vasprintf: Depend on stdio for prototypes.  Remove
37015         vasprintf.h.  Add stdio module indicator.
37016
37017         * lib/stdio_.h: Declare asprintf and vasprintf, based on
37018         vasprintf.h.
37019
37020         * lib/vasprintf.h: File removed.
37021
37022         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
37023         * lib/vasprintf.c: Ditto.
37024         * lib/xvasprintf.c: Ditto.
37025         * tests/test-vasprintf-posix.c: Ditto.
37026         * tests/test-vasprintf.c: Ditto.
37027
37028 2007-03-27  Bruno Haible  <bruno@clisp.org>
37029
37030         Make vasnprintf multithread-safe.
37031         * lib/vasnprintf.c (decimal_point_char): New function.
37032         (VASNPRINTF): Use it.
37033         Suggested by Simon Josefsson.
37034
37035 2007-03-27  Eric Blake  <ebb9@byu.net>
37036
37037         Support sub-second birthtime on cygwin.
37038         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
37039         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
37040         (get_stat_birthtime): Also work with st_birthtim.
37041
37042 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
37043
37044         * lib/stat-time.h (USE_BIRTHTIME): Remove.
37045         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
37046         (get_stat_birthtime_ns): Do not try to use "spare" fields.
37047         (get_stat_birthtime_ns): Simplify compile-time tests.
37048         (get_stat_birthtime): Change the API to look like
37049         get_stat_mtime etc., except return a negative tv_nsec on error.
37050         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37051         Don't check for "spare" fields.
37052         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
37053         or for struct stat.st_birthtime, as these tests aren't used.
37054         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
37055
37056 2007-03-27  Bruno Haible  <bruno@clisp.org>
37057
37058         * lib/stat-time.h: Include <sys/stat.h>.
37059
37060 2007-03-27  James Youngman  <jay@gnu.org>
37061
37062         * lib/stat-time.h (get_stat_birthtime): New function for
37063           retrieving st_birthtime as provided by UFS2 (hence *BSD).
37064         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
37065           and its variants.
37066         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
37067         * modules/stat-time-test: New file.
37068         * tests/test-stat-time.c: New test, devised by Bruno Haible.
37069
37070 2007-03-26  Bruno Haible  <bruno@clisp.org>
37071
37072         Better support of signalling NaNs.
37073         * lib/atanl.c: Include isnanl.h.
37074         (atanl): Perform test for NaN at the beginning of the function and
37075         through a call to isnanl.
37076         * lib/cosl.c: Include isnanl.h.
37077         (cosl): Perform test for NaN at the beginning of the function and
37078         through a call to isnanl.
37079         * lib/ldexpl.c: Include isnanl.h.
37080         (ldexpl): Perform test for NaN through a call to isnanl.
37081         * lib/logl.c: Include isnanl.h.
37082         (logl): Perform test for NaN at the beginning of the function and
37083         through a call to isnanl.
37084         * lib/sinl.c: Include isnanl.h.
37085         (sinl): Perform test for NaN at the beginning of the function and
37086         through a call to isnanl.
37087         * lib/sqrtl.c: Include isnanl.h.
37088         (sqrtl): Perform test for NaN at the beginning of the function and
37089         through a call to isnanl.
37090         * lib/tanl.c: Include isnanl.h.
37091         (tanl): Perform test for NaN at the beginning of the function and
37092         through a call to isnanl.
37093         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
37094         * modules/mathl (Depends-on): Add isnanl.
37095
37096 2007-03-26  Eric Blake  <ebb9@byu.net>
37097
37098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
37099         regression in logic sense of previous patch.
37100
37101 2007-03-26  Bruno Haible  <bruno@clisp.org>
37102
37103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
37104         unportable shell command "if ! ...".
37105         Reported by Ralf Wildenhues.
37106
37107 2007-03-25  Bruno Haible  <bruno@clisp.org>
37108
37109         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
37110         <sysexits.h> file, and only add EX_CONFIG.
37111         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
37112         absolute file name and whether it is sufficient. Substitute also
37113         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
37114         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
37115         ABSOLUTE_SYSEXITS_H into sysexits.h.
37116
37117 2007-03-25  Bruno Haible  <bruno@clisp.org>
37118
37119         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
37120         hints is NULL.
37121
37122 2007-03-25  Bruno Haible  <bruno@clisp.org>
37123
37124         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
37125         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
37126
37127 2007-03-25  Bruno Haible  <bruno@clisp.org>
37128
37129         * lib/vasnprintf.c: Include langinfo.h.
37130         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
37131         multithread-safe.
37132         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
37133         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
37134         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37135         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37136         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37137         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37138         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37139         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
37140         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37141         Reported by Simon Josefsson.
37142
37143 2007-03-25  Bruno Haible  <bruno@clisp.org>
37144
37145         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
37146         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
37147         * modules/vasnprintf (Depends-on): Add stdint.
37148
37149 2007-03-25  Bruno Haible  <bruno@clisp.org>
37150
37151         * modules/fpieee: New file.
37152         * m4/fpieee.m4: New file.
37153         * modules/isnan-nolibm (Depends-on): Add fpieee.
37154         * modules/isnanl-nolibm (Depends-on): Add fpieee.
37155         * modules/isnanl (Depends-on): Add fpieee.
37156
37157 2007-03-25  Bruno Haible  <bruno@clisp.org>
37158
37159         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
37160
37161 2007-03-25  Bruno Haible  <bruno@clisp.org>
37162
37163         Avoid test failures on IRIX 6.5.
37164         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
37165         (main): Use it.
37166         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
37167         macros.
37168         (main): Use them.
37169
37170 2007-03-25  Bruno Haible  <bruno@clisp.org>
37171
37172         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
37173         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
37174         exists but doesn't work.
37175         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
37176         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
37177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
37178         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
37179
37180 2007-03-25  Bruno Haible  <bruno@clisp.org>
37181
37182         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
37183         returns inf. Needed on IRIX 6.5.
37184
37185 2007-03-25  Bruno Haible  <bruno@clisp.org>
37186
37187         * tests/test-frexpl.c: Include isnanl-nolibm.h.
37188         (main): Use isnanl instead of x != x idiom.
37189         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
37190
37191         * tests/test-frexp.c: Include isnan.h.
37192         (main): Use isnan instead of x != x idiom.
37193         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
37194
37195 2007-03-25  Bruno Haible  <bruno@clisp.org>
37196
37197         * tests/test-frexp.c (NaN): New function/macro.
37198         (main): Use it instead of 0.0 / 0.0.
37199         * tests/test-isnan.c (NaN): New function/macro.
37200         (main): Use it instead of 0.0 / 0.0.
37201         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
37202         (test_function): Use it instead of 0.0 / 0.0.
37203         * tests/test-vasprintf-posix.c (NaN): New function/macro.
37204         (test_function): Use it instead of 0.0 / 0.0.
37205         * tests/test-snprintf-posix.h (NaN): New function/macro.
37206         (test_function): Use it instead of 0.0 / 0.0.
37207         * tests/test-sprintf-posix.h (NaN): New function/macro.
37208         (test_function): Use it instead of 0.0 / 0.0.
37209         * tests/test-fprintf-posix.h (NaN): New function/macro.
37210         (test_function): Use it instead of 0.0 / 0.0.
37211         * tests/test-printf-posix.h (NaN): New function/macro.
37212         (test_function): Use it instead of 0.0 / 0.0.
37213
37214         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37215
37216 2007-03-25  Bruno Haible  <bruno@clisp.org>
37217
37218         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37219
37220 2007-03-25  Bruno Haible  <bruno@clisp.org>
37221
37222         * lib/regexec.c (merge_state_with_log): Make static.
37223
37224 2007-03-25  Bruno Haible  <bruno@clisp.org>
37225
37226         * lib/trigl.c (kernel_rem_pio2): Make static.
37227
37228 2007-03-25  Bruno Haible  <bruno@clisp.org>
37229
37230         * lib/sincosl.c (sincosl_table): Make static.
37231
37232 2007-03-25  Bruno Haible  <bruno@clisp.org>
37233
37234         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37235         if the compiler does not support C99.
37236
37237 2007-03-25  Bruno Haible  <bruno@clisp.org>
37238
37239         * modules/time (Makefile.am): Ensure all rule action lines start with a
37240         tab.
37241
37242 2007-03-24  Bruno Haible  <bruno@clisp.org>
37243
37244         * modules/tsearch-tests: New file.
37245         * tests/test-tsearch.sh: New file.
37246         * tests/test-tsearch.c: New file, mostly copied from glibc.
37247
37248         * modules/search-tests: New file.
37249         * tests/test-search.c: New file.
37250
37251         * modules/search: New file.
37252         * lib/search_.h: New file, incorporating lib/tsearch.h.
37253         * m4/search_h.m4: New file.
37254         * lib/tsearch.h: Remove file.
37255         * lib/tsearch.c: Include search.h instead of tsearch.h.
37256         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37257         HAVE_TSEARCH.
37258         * modules/tsearch (Files): Remove lib/tsearch.h.
37259         (Depends-on): Add search.
37260         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37261         (Include): Change tsearch.h into search.h.
37262
37263 2007-03-24  Bruno Haible  <bruno@clisp.org>
37264
37265         * modules/fpucw: New file.
37266         * lib/fpucw.h: New file.
37267         * lib/frexp.c: Include fpucw.h.
37268         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37269         (FUNC): Use them.
37270         * lib/printf-frexp.c: Include fpucw.h.
37271         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37272         (FUNC): Use them.
37273         * lib/vasnprintf.c: Include fpucw.h.
37274         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37275         'long double' calculations.
37276         * tests/test-frexpl.c: Include fpucw.h.
37277         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37278         * tests/test-printf-frexpl.c: Include fpucw.h.
37279         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37280         * modules/frexpl (Depends-on): Add fpucw.
37281         * modules/printf-frexpl (Depends-on): Likewise.
37282         * modules/fprintf-posix (Depends-on): Likewise.
37283         * modules/snprintf-posix (Depends-on): Likewise.
37284         * modules/sprintf-posix (Depends-on): Likewise.
37285         * modules/vasnprintf-posix (Depends-on): Likewise.
37286         * modules/vasprintf-posix (Depends-on): Likewise.
37287         * modules/vfprintf-posix (Depends-on): Likewise.
37288         * modules/vsnprintf-posix (Depends-on): Likewise.
37289         * modules/vsprintf-posix (Depends-on): Likewise.
37290         * modules/frexpl-tests (Depends-on): Likewise.
37291         * modules/printf-frexpl-tests (Depends-on): Likewise.
37292
37293 2007-03-24  Bruno Haible  <bruno@clisp.org>
37294
37295         * lib/float+.h: New file.
37296         * lib/isnan.c: Include float+.h.
37297         (SIZE): New macro.
37298         (FUNC): Compare only SIZE bytes of the value.
37299         * lib/vasnprintf.c: Include float+.h.
37300         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37301         SIZEOF_LDBL or SIZEOF_DBL bytes.
37302         * modules/isnan-nolibm (Files): Add lib/float+.h.
37303         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37304         * modules/isnanl (Files): Add lib/float+.h.
37305         * modules/vasnprintf (Files): Add lib/float+.h.
37306
37307 2007-03-24  Bruno Haible  <bruno@clisp.org>
37308
37309         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37310         include isnanl-nolibm.h.
37311
37312 2007-03-24  Bruno Haible  <bruno@clisp.org>
37313
37314         * tests/test-read-file.c (main): Don't produce spurious output for
37315         expected situations. Make the test fail if it encountered unexpected
37316         results.
37317
37318 2007-03-24  Bruno Haible  <bruno@clisp.org>
37319
37320         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37321         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37322
37323 2007-03-24  Bruno Haible  <bruno@clisp.org>
37324
37325         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37326
37327 2007-03-24  Bruno Haible  <bruno@clisp.org>
37328
37329         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37330         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37331
37332         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37333         * modules/utf8-ucs4: Turn into a symbolic link to module
37334         unistr/u8-mbtouc.
37335
37336         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37337         utf8-ucs4-unsafe.
37338         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37339         unistr/u8-mbtouc-unsafe.
37340
37341         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37342         * modules/utf16-ucs4: Turn into a symbolic link to module
37343         unistr/u16-mbtouc.
37344
37345         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37346         utf16-ucs4-unsafe.
37347         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37348         unistr/u16-mbtouc-unsafe.
37349
37350         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37351         * modules/ucs4-utf8: Turn into a symbolic link to module
37352         unistr/u8-ubtomb.
37353
37354         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37355         * modules/ucs4-utf16: Turn into a symbolic link to module
37356         unistr/u16-ubtomb.
37357
37358 2007-03-24  Bruno Haible  <bruno@clisp.org>
37359
37360         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37361         Enable the function only if HAVE_INLINE.
37362         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37363         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37364         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37365         Enable the function only if HAVE_INLINE.
37366         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37367         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37368         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37369         Enable the function only if HAVE_INLINE.
37370         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37371         Enable the function only if HAVE_INLINE.
37372         * modules/utf8-ucs4: Update.
37373         * modules/utf8-ucs4-unsafe: Update.
37374         * modules/utf16-ucs4: Update.
37375         * modules/utf16-ucs4-unsafe: Update.
37376         * modules/ucs4-utf8: Update.
37377         * modules/ucs4-utf16: Update.
37378
37379 2007-03-24  Bruno Haible  <bruno@clisp.org>
37380
37381         * lib/utf8-ucs4.h: Remove file.
37382         * lib/utf8-ucs4-unsafe.h: Remove file.
37383         * lib/utf16-ucs4.h: Remove file.
37384         * lib/utf16-ucs4-unsafe.h: Remove file.
37385         * lib/ucs4-utf8.h: Remove file.
37386         * lib/ucs4-utf16.h: Remove file.
37387         * lib/unistr.h: Include their previous contents.
37388         * m4/utf-ucs4.m4: Remove file.
37389         * m4/ucs4-utf.m4: Remove file.
37390         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37391         (Depends-on): Add unistr/base.
37392         (configure.ac): Remove gl_UTF_UCS4.
37393         (Makefile.am): Update.
37394         (Include): Change to unistr.h.
37395         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37396         (Depends-on): Add unistr/base.
37397         (configure.ac): Remove gl_UTF_UCS4.
37398         (Makefile.am): Update.
37399         (Include): Change to unistr.h.
37400         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37401         (Depends-on): Add unistr/base.
37402         (configure.ac): Remove gl_UTF_UCS4.
37403         (Makefile.am): Update.
37404         (Include): Change to unistr.h.
37405         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37406         (Depends-on): Add unistr/base.
37407         (configure.ac): Remove gl_UTF_UCS4.
37408         (Makefile.am): Update.
37409         (Include): Change to unistr.h.
37410         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37411         (Depends-on): Add unistr/base.
37412         (configure.ac): Remove gl_UCS4_UTF.
37413         (Makefile.am): Update.
37414         (Include): Change to unistr.h.
37415         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37416         (Depends-on): Add unistr/base.
37417         (configure.ac): Remove gl_UCS4_UTF.
37418         (Makefile.am): Update.
37419         (Include): Change to unistr.h.
37420         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
37421         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
37422         utf8-ucs4-unsafe.h.
37423         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
37424         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
37425         utf16-ucs4-unsafe.h.
37426         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
37427         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
37428         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
37429         * lib/unistr/u8-strchr.c: Likewise.
37430         * lib/unistr/u8-strrchr.c: Likewise.
37431         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
37432         * lib/unistr/u16-strchr.c: Likewise.
37433         * lib/unistr/u16-strrchr.c: Likewise.
37434         * lib/striconveh.c: Update.
37435         * lib/linebreak.c: Update.
37436
37437 2007-03-24  Bruno Haible  <bruno@clisp.org>
37438
37439         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
37440         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
37441
37442 2007-03-22  Bruno Haible  <bruno@clisp.org>
37443
37444         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
37445
37446 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
37447
37448         * MODULES.html.sh (File system functions): New module write-any-file.
37449         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37450         * m4/write-any-file.m4: New files.
37451
37452 2007-03-23  Eric Blake  <ebb9@byu.net>
37453
37454         * gnulib-tool: Rearrange space-tab sequences, since some editors
37455         like to eat them.
37456
37457 2007-03-23  Eric Blake  <ebb9@byu.net>
37458
37459         * lib/version-etc.c (version_etc_va): Update license wording to
37460         be more concise.  Recommended by Richard Stallman.
37461
37462 2007-03-22  Bruno Haible  <bruno@clisp.org>
37463
37464         * lib/poll.c (MSG_PEEK): New fallback definition.
37465
37466 2007-03-22  Bruno Haible  <bruno@clisp.org>
37467
37468         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37469         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37470         (main): Update.
37471         Fixes a compilation error on BeOS.
37472
37473 2007-03-22  Bruno Haible  <bruno@clisp.org>
37474
37475         * modules/frexpl-tests: New file.
37476         * tests/test-frexpl.c: New file.
37477
37478         * modules/frexpl: New file.
37479         * m4/frexpl.m4: New file.
37480         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37481         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37483         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37484         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37485         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37486
37487 2007-03-22  Bruno Haible  <bruno@clisp.org>
37488
37489         * lib/frexpl.c: Share code with lib/frexp.c.
37490         * modules/mathl (Files): Add lib/frexp.c.
37491         (Depends-on): Add isnanl-nolibm.
37492
37493 2007-03-22  Bruno Haible  <bruno@clisp.org>
37494
37495         * modules/printf-frexp (Files): Add m4/frexp.m4.
37496         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37497         only if the found frexp function actually works.
37498
37499 2007-03-22  Bruno Haible  <bruno@clisp.org>
37500
37501         * lib/frexp.c: Remove older implementation that uses divisions.
37502
37503 2007-03-21  Bruno Haible  <bruno@clisp.org>
37504
37505         * modules/frexp-tests: New file.
37506         * tests/test-frexp.c: New file.
37507
37508         * modules/frexp: New file.
37509         * lib/frexp.c: New file.
37510         * m4/frexp.m4: New file.
37511         * lib/math_.h (frexp): New declaration.
37512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37513         REPLACE_FREXP.
37514         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37515
37516 2007-03-21  Bruno Haible  <bruno@clisp.org>
37517
37518         * modules/isnanl-tests: New file.
37519         * tests/test-isnanl.c: New file.
37520
37521         * modules/isnanl: New file.
37522         * lib/isnanl.h: New file.
37523         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37524         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37525         gl_FUNC_ISNANL_WORKS.
37526         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37527         New macros.
37528
37529 2007-03-21  Bruno Haible  <bruno@clisp.org>
37530
37531         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37532         lib/isnanl.h.
37533         (Include): Update.
37534         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37535         * lib/vasnprintf.c: Update.
37536         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37537         tests/test-isnanl.h, remove tests/test-isnanl.c.
37538         (Makefile.am): Update.
37539         * tests/test-isnanl-nolibm.c: New file.
37540         * tests/test-isnanl.h: New file.
37541         * tests/test-isnanl.c: Remove file.
37542
37543 2007-03-21  Jim Meyering  <jim@meyering.net>
37544
37545         When trying to open ".", treat ESTALE like EACCES.
37546         * lib/savewd.c (savewd_save): Resort to forking not just upon
37547         failure with EACCES, but also when errno is ESTALE.
37548
37549 2007-03-20  Bruno Haible  <bruno@clisp.org>
37550
37551         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37552         Needed on AIX 5.1. Reported by Matthew Woehlke.
37553
37554 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37555
37556         Suggestions by Bruno Haible:
37557         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37558         our own.
37559         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37560         * modules/acl (Depends-on): Add gettext.
37561
37562 2007-03-19  Bruno Haible  <bruno@clisp.org>
37563
37564         * modules/iconvme: Remove file.
37565         * lib/iconvme.h: Remove file.
37566         * lib/iconvme.c: Remove file.
37567         * m4/iconvme.m4: Remove file.
37568
37569 2007-03-19  Bruno Haible  <bruno@clisp.org>
37570
37571         * doc/relocatable-maint.texi: Break long shell script line.
37572         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37573
37574 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37575
37576         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37577         handle file_has_acl.
37578         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37579         * lib/acl.c: Move header inclusions and related macro defns into
37580         lib/acl-internal.h.
37581         (S_ISLNK): Remove defn, since that's now done for us.
37582         (file_has_acl): Move to lib/file-has-acl.c.
37583         Call acl_trivial if available.  This is the crucial part of the fix.
37584         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37585         shared within the library.  Rewrite a bit, partly to make it compatible
37586         with the GNU coding style.
37587         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37588         Remove unnecessary double-quotes.
37589         Don't test for acl_to_text; the build will catch that.
37590         Replace acl_entries if it doesn't exist and it is needed.
37591         Check for -lsec and acl_trivial (as used on Solaris 10).
37592         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37593         lib/file-has-acl.c.
37594         (Depends-on): Add sys_stat, for S_ISLNK.
37595
37596 2007-03-19  Ben Pfaff  <blp@gnu.org>
37597
37598         * doc/gnulib.texi: Fix typos.
37599         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37600
37601 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37602
37603         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37604         If size is zero here, buf must be zero.
37605
37606 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37607
37608         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37609         <bruno@clisp.org>.
37610
37611 2007-03-18  Bruno Haible  <bruno@clisp.org>
37612
37613         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37614         Suggested by Eric Blake.
37615
37616 2007-03-18  Ben Pfaff  <blp@gnu.org>
37617
37618         * doc/relocatable.texi: Recommend using as prefix a directory
37619         that does not exist and will never be created.  Based on
37620         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37621         and others.
37622
37623 2007-03-17  Bruno Haible  <bruno@clisp.org>
37624
37625         * lib/fchownat.c: Include lchown.h.
37626
37627 2007-03-17  Bruno Haible  <bruno@clisp.org>
37628
37629         Fix endless loop when the given allocated size was > INT_MAX.
37630         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37631         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37632         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37633         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37634         * lib/sprintf.c (sprintf): Likewise.
37635
37636 2007-03-17  Bruno Haible  <bruno@clisp.org>
37637
37638         * tests/test-argp-2.sh (func_compare): Output a context diff.
37639
37640 2007-03-17  Bruno Haible  <bruno@clisp.org>
37641
37642         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37643         locale's decimal-point character.
37644
37645 2007-03-17  Bruno Haible  <bruno@clisp.org>
37646
37647         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37648         before comparing it. Needed because on some platforms (e.g. x86) a
37649         'long double' occupies less bytes than sizeof (long double).
37650
37651 2007-03-17  Bruno Haible  <bruno@clisp.org>
37652
37653         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37654         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37655         * tests/test-getaddrinfo.c (simple): Likewise.
37656         * tests/test-read-file.c (main): Likewise.
37657
37658 2007-03-17  Bruno Haible  <bruno@clisp.org>
37659
37660         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37661
37662 2007-03-17  Bruno Haible  <bruno@clisp.org>
37663
37664         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37665         unused variable.
37666
37667 2007-03-17  Bruno Haible  <bruno@clisp.org>
37668
37669         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37670         * tests/test-c-strncasecmp.c: Likewise.
37671
37672 2007-03-17  Bruno Haible  <bruno@clisp.org>
37673
37674         * modules/stdlib (Depends-on): Add unistd.
37675         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37676         Needed for MacOS X 10.3.
37677
37678 2007-03-17  Bruno Haible  <bruno@clisp.org>
37679
37680         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37681
37682 2007-03-17  Bruno Haible  <bruno@clisp.org>
37683
37684         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37685
37686 2007-03-17  Bruno Haible  <bruno@clisp.org>
37687
37688         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37689         to reflect files copied from gnulib (with or without modifications).
37690         Suggested by Jim Meyering.
37691
37692 2007-03-17  Eric Blake  <ebb9@byu.net>
37693
37694         * NEWS: Document stdlib change from 2007-02-18.
37695
37696 2007-03-17  Jim Meyering  <jim@meyering.net>
37697
37698         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37699         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37700         someone uses a name containing shell meta-characters.
37701         Reported by Alfred M. Szmidt.
37702
37703         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37704
37705 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37706
37707         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37708         and copy gettext configuration files only if configure.ac contains
37709         a use of AM_GNU_GETTEXT_VERSION.
37710
37711 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37712
37713         * build-aux/bootstrap (gnulib_name): New variable.
37714         (gnulib_tool_options): Use it.
37715
37716 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37717
37718         * tests/test-des.c: Use new namespace.
37719
37720 2007-03-15  Bruno Haible  <bruno@clisp.org>
37721
37722         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37723         Reported by James Youngman <jay@gnu.org>.
37724
37725 2007-03-15  Bruno Haible  <bruno@clisp.org>
37726
37727         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37728         declared prototype. Needed with cc on OSF/1 5.1.
37729
37730 2007-03-15  Bruno Haible  <bruno@clisp.org>
37731
37732         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37733         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37734         (struct gl_list_implementation): Add dispose_fn argument to the
37735         'create_empty', 'create' methods.
37736         (struct gl_list_impl_base): Add field 'dispose_fn'.
37737         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37738         argument.
37739         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37740         dispose_fn argument.
37741         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37742         dispose_fn on the dropped values.
37743         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37744         dispose_fn argument.
37745         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37746         dropped values.
37747         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37748         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37749         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37750         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37751         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37752         argument.
37753         (gl_tree_list_free): Call dispose_fn on the dropped values.
37754         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37755         the dropped values.
37756         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37757         Add dispose_fn argument.
37758         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37759         Call dispose_fn on the dropped values.
37760         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37761         Add dispose_fn argument.
37762         (gl_sublist_create): Initialize the 'dispose_fn' field.
37763         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37764         * tests/test-array_list.c (main): Update.
37765         * tests/test-carray_list.c (main): Update.
37766         * tests/test-avltree_list.c (main): Update.
37767         * tests/test-rbtree_list.c (main): Update.
37768         * tests/test-avltreehash_list.c (main): Update.
37769         * tests/test-rbtreehash_list.c (main): Update.
37770         * tests/test-linked_list.c (main): Update.
37771         * tests/test-linkedhash_list.c (main): Update.
37772         * tests/test-array_oset.c (main): Update.
37773
37774 2007-03-15  Bruno Haible  <bruno@clisp.org>
37775
37776         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37777         (gl_oset_create_empty): Add dispose_fn argument.
37778         (struct gl_oset_implementation): Add dispose_fn argument to
37779         'create_empty' method.
37780         (struct gl_oset_impl_base): Add dispose_fn field.
37781         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37782         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37783         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37784         values.
37785         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37786         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37787         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37788         dropped value.
37789         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37790         dropped value.
37791         * tests/test-array_oset.c (main): Update.
37792         * tests/test-avltree_oset.c (main): Update.
37793         * tests/test-rbtree_oset.c (main): Update.
37794         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37795
37796 2007-03-13  Bruno Haible  <bruno@clisp.org>
37797
37798         * tests/test-stdbool.c (i): Update after last patch.
37799
37800 2007-03-12  Bruno Haible  <bruno@clisp.org>
37801
37802         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37803         the iswprint macro. Needed on Solaris 2.5.1.
37804
37805 2007-03-12  Bruno Haible  <bruno@clisp.org>
37806
37807         * tests/test-printf-frexp.c (main): Declare x as volatile.
37808
37809 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37810
37811         * doc/gnulib.texi (Build robot for gnulib): New section.
37812
37813 2007-03-12  Jim Meyering  <jim@meyering.net>
37814
37815         * build-aux/bootstrap: New file.
37816         * build-aux/bootstrap.conf: New file, from coreutils.
37817
37818 2007-03-11  Bruno Haible  <bruno@clisp.org>
37819
37820         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37821
37822 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37823
37824         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37825         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37826         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37827
37828 2007-03-11  Bruno Haible  <bruno@clisp.org>
37829
37830         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37831         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37832
37833 2007-03-11  Bruno Haible  <bruno@clisp.org>
37834
37835         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37836         formula. Needed for SunPRO C 5.0.
37837
37838 2007-03-11  Bruno Haible  <bruno@clisp.org>
37839
37840         * modules/long-options (Depends-on): Add getopt.
37841
37842 2007-03-11  Bruno Haible  <bruno@clisp.org>
37843
37844         * modules/modechange (Depends-on): Add stdbool.
37845
37846 2007-03-11  Bruno Haible  <bruno@clisp.org>
37847
37848         * modules/i-ring (Depends-on): Add stdbool.
37849
37850 2007-03-11  Bruno Haible  <bruno@clisp.org>
37851
37852         * modules/gc-des (Depends-on): Add stdbool.
37853
37854 2007-03-11  Bruno Haible  <bruno@clisp.org>
37855
37856         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37857
37858 2007-03-11  Bruno Haible  <bruno@clisp.org>
37859
37860         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37861
37862 2007-03-11  Bruno Haible  <bruno@clisp.org>
37863
37864         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37865
37866 2007-03-11  Bruno Haible  <bruno@clisp.org>
37867
37868         * lib/vasnprintf.c (sprintf): Undefine.
37869
37870 2007-03-11  Bruno Haible  <bruno@clisp.org>
37871
37872         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37873         initializers in SunPRO C and Compaq C compilers.
37874
37875 2007-03-11  Bruno Haible  <bruno@clisp.org>
37876
37877         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37878         decrementing code ANSI C compliant.
37879
37880 2007-03-11  Bruno Haible  <bruno@clisp.org>
37881
37882         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37883         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37884
37885 2007-03-11  Bruno Haible  <bruno@clisp.org>
37886
37887         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37888         <stdbool.h> substitute doesn't pass.
37889
37890 2007-03-11  Bruno Haible  <bruno@clisp.org>
37891
37892         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37893
37894 2007-03-11  Bruno Haible  <bruno@clisp.org>
37895
37896         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37897         script, for submission to autobuild.josefsson.org.
37898
37899 2007-03-10  Bruno Haible  <bruno@clisp.org>
37900
37901         * modules/canonicalize-lgpl-tests: New file.
37902         * tests/test-canonicalize-lgpl.sh: New file.
37903         * tests/test-canonicalize-lgpl.c: New file.
37904
37905         * modules/c-strcase-tests: New file.
37906         * tests/test-c-strcase.sh: New file.
37907         * tests/test-c-strcasecmp.c: New file.
37908         * tests/test-c-strncasecmp.c: New file.
37909
37910         * modules/atexit-tests: New file.
37911         * tests/test-atexit.sh: New file.
37912         * tests/test-atexit.c: New file.
37913
37914 2007-03-10  Bruno Haible  <bruno@clisp.org>
37915
37916         * tests/test-binary-io.sh: Use temporary filenames that are not so
37917         likely to clash with those of other tests (in a parallel make).
37918         * tests/test-binary-io.c: Likewise.
37919
37920 2007-03-10  Bruno Haible  <bruno@clisp.org>
37921
37922         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
37923         fallback; use #error instead.
37924         Suggested by Simon Josefsson.
37925
37926 2007-03-10  Bruno Haible  <bruno@clisp.org>
37927
37928         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
37929         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
37930         first and the last.
37931
37932 2007-03-10  Bruno Haible  <bruno@clisp.org>
37933
37934         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
37935
37936 2007-03-10  Bruno Haible  <bruno@clisp.org>
37937
37938         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
37939         "make distcheck".
37940         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
37941         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
37942         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
37943
37944 2007-03-10  Bruno Haible  <bruno@clisp.org>
37945
37946         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
37947         variable.
37948         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
37949         variable.
37950
37951 2007-03-09  Eric Blake  <ebb9@byu.net>
37952         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
37953
37954         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
37955         types are not being provided by gnulib.
37956         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
37957         types are supported.
37958
37959 2007-03-10  Bruno Haible  <bruno@clisp.org>
37960
37961         * lib/stdio_.h (__attribute__): New macro.
37962         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
37963         vsprintf): Specify __attribute__ __format__ for GCC.
37964         Suggested by Eric Blake.
37965
37966 2007-03-09  Bruno Haible  <bruno@clisp.org>
37967
37968         * modules/printf-posix-tests: New file.
37969         * tests/test-printf-posix.sh: New file.
37970         * tests/test-printf-posix.c: New file.
37971
37972         * modules/printf-posix: New file.
37973         * lib/printf.c: New file.
37974         * m4/printf-posix-rpl.m4: New file.
37975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
37976         REPLACE_PRINTF.
37977         * lib/stdio_.h (printf): New declaration.
37978         (format, __format__, ____printf____, ____scanf____, ____strftime____,
37979         ____strfmon____): New macros.
37980         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
37981         REPLACE_PRINTF.
37982
37983 2007-03-09  Bruno Haible  <bruno@clisp.org>
37984
37985         * tests/test-vasnprintf-posix2.sh: New file.
37986         * tests/test-vasnprintf-posix2.c: New file.
37987         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
37988         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37989         (Makefile.am): Activate test-vasnprintf-posix2.sh.
37990
37991         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
37992         a locale dependent decimal point, rather than always '.'.
37993
37994 2007-03-09  Eric Blake  <ebb9@byu.net>
37995
37996         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
37997         spite of platforms like Tandem/NSK that define it to -1.
37998
37999 2007-03-08  Bruno Haible  <bruno@clisp.org>
38000
38001         * modules/vprintf-posix-tests: New file.
38002         * tests/test-vprintf-posix.sh: New file.
38003         * tests/test-vprintf-posix.c: New file.
38004         * tests/test-printf-posix.h: New file.
38005
38006         * modules/vprintf-posix: New file.
38007         * lib/vprintf.c: New file.
38008         * m4/vprintf-posix.m4: New file.
38009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
38010         REPLACE_VPRINTF.
38011         * lib/stdio_.h (vprintf): New declaration.
38012         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
38013         REPLACE_VPRINTF.
38014
38015 2007-03-08  Bruno Haible  <bruno@clisp.org>
38016
38017         * modules/fprintf-posix-tests: New file.
38018         * tests/test-fprintf-posix.sh: New file.
38019         * tests/test-fprintf-posix.c: New file.
38020
38021         * modules/fprintf-posix: New file.
38022         * lib/fprintf.c: New file.
38023         * m4/fprintf-posix.m4: New file.
38024         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
38025         REPLACE_FPRINTF.
38026         * lib/stdio_.h (fprintf): New declaration.
38027         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
38028         REPLACE_FPRINTF.
38029
38030 2007-03-08  Bruno Haible  <bruno@clisp.org>
38031
38032         * modules/vfprintf-posix-tests: New file.
38033         * tests/test-vfprintf-posix.sh: New file.
38034         * tests/test-vfprintf-posix.c: New file.
38035         * tests/test-fprintf-posix.h: New file.
38036         * tests/test-fprintf-posix.out: New file.
38037
38038         * modules/vfprintf-posix: New file.
38039         * lib/vfprintf.c: New file.
38040         * m4/vfprintf-posix.m4: New file.
38041         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
38042         REPLACE_VFPRINTF.
38043         * lib/stdio_.h (vfprintf): New declaration.
38044         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
38045         REPLACE_VFPRINTF.
38046
38047 2007-03-08  Bruno Haible  <bruno@clisp.org>
38048
38049         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
38050
38051 2007-03-08  Bruno Haible  <bruno@clisp.org>
38052
38053         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
38054         instead of 'expr' invocations.
38055         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38056         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38057         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38060         Suggested by Paul Eggert.
38061
38062 2007-03-08  Bruno Haible  <bruno@clisp.org>
38063
38064         * modules/fseterr-tests: New file.
38065         * tests/test-fseterr.c: New file.
38066
38067         * modules/fseterr: New file.
38068         * lib/fseterr.h: New file.
38069         * lib/fseterr.c: New file.
38070
38071 2007-03-08  Bruno Haible  <bruno@clisp.org>
38072
38073         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
38074         * lib/getopt_.h: Likewise.
38075         * lib/mbswidth.h: Likewise.
38076         * lib/setenv.h: Likewise.
38077         * lib/vasnprintf.h: Likewise.
38078         * lib/vasprintf.h: Likewise.
38079         * lib/verror.h: Likewise.
38080         * lib/xsetenv.h: Likewise.
38081         * lib/xvasprintf.h: Likewise.
38082
38083 2007-03-08  Jim Meyering  <jim@meyering.net>
38084
38085         * users.txt: Add parted.
38086
38087         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38088
38089 2007-03-07  Bruno Haible  <bruno@clisp.org>
38090
38091         * m4/printf.m4: Make the shell script snippets copy&pastable.
38092
38093 2007-03-02  Bruno Haible  <bruno@clisp.org>
38094
38095         * lib/netinet_in_.h: New file.
38096         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
38097         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
38098         * modules/netinet_in (Files): Add lib/netinet_in_.h.
38099         (Depends-on): Add absolute-header.
38100         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
38101         into netinet/in.h.
38102
38103 2007-03-03  Bruno Haible  <bruno@clisp.org>
38104
38105         * lib/sys_select_.h: New file.
38106         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
38107         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
38108         * modules/sys_select (Files): Add lib/sys_select_.h.
38109         (Depends-on): Add absolute-header.
38110         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
38111         into sys/select.h.
38112
38113 2007-03-02  Bruno Haible  <bruno@clisp.org>
38114
38115         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
38116         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
38117         values.
38118         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
38119         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
38120         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
38121         * modules/sys_socket (Depends-on): Add absolute-header.
38122         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
38123         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
38124         (Include): Remove requirement of inclusion of <sys/types.h>.
38125
38126 2007-03-02  Bruno Haible  <bruno@clisp.org>
38127
38128         * lib/byteswap_.h (bswap_32): Fix formula.
38129
38130 2007-03-06  Bruno Haible  <bruno@clisp.org>
38131
38132         * modules/sprintf-posix-tests: New file.
38133         * tests/test-sprintf-posix.c: New file.
38134
38135         * modules/sprintf-posix: New file.
38136         * lib/sprintf.c: New file.
38137         * m4/sprintf-posix.m4: New file.
38138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
38139         REPLACE_SPRINTF.
38140         * lib/stdio_.h (sprintf): New declaration.
38141         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
38142         REPLACE_SPRINTF.
38143
38144 2007-03-06  Bruno Haible  <bruno@clisp.org>
38145
38146         * modules/vsprintf-posix-tests: New file.
38147         * tests/test-vsprintf-posix.c: New file.
38148         * tests/test-sprintf-posix.h: New file.
38149
38150         * modules/vsprintf-posix: New file.
38151         * lib/vsprintf.c: New file.
38152         * m4/vsprintf-posix.m4: New file.
38153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
38154         REPLACE_VSPRINTF.
38155         * lib/stdio_.h (vsprintf): New declaration.
38156         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
38157         REPLACE_VSPRINTF.
38158
38159 2007-03-06  Bruno Haible  <bruno@clisp.org>
38160
38161         * modules/vsnprintf (Depend-on): Remove minmax.
38162
38163 2007-03-06  Bruno Haible  <bruno@clisp.org>
38164
38165         * modules/snprintf-posix-tests: New file.
38166         * tests/test-snprintf-posix.c: New file.
38167
38168         * modules/snprintf-posix: New file.
38169         * m4/snprintf-posix.m4: New file.
38170         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
38171         gl_FUNC_SNPRINTF.
38172         (gl_FUNC_SNPRINTF): Invoke it.
38173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
38174         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
38175         is set.
38176         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
38177
38178 2007-03-06  Bruno Haible  <bruno@clisp.org>
38179
38180         * modules/vsnprintf-posix-tests: New file.
38181         * tests/test-vsnprintf-posix.c: New file.
38182         * tests/test-snprintf-posix.h: New file.
38183
38184         * modules/vsnprintf-posix: New file.
38185         * m4/vsnprintf-posix.m4: New file.
38186         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
38187         gl_FUNC_VSNPRINTF.
38188         (gl_FUNC_VSNPRINTF): Invoke it.
38189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
38190         * lib/stdio_.h (vsnprintf): Define as a replacement if
38191         REPLACE_VSNPRINTF is set.
38192         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
38193
38194 2007-03-06  Bruno Haible  <bruno@clisp.org>
38195
38196         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
38197         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
38198
38199 2007-03-06  Bruno Haible  <bruno@clisp.org>
38200
38201         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
38202         (asinl): Declare also if HAVE_DECL_ASINL is set.
38203         (atanl): Declare also if HAVE_DECL_ATANL is set.
38204         (ceill): Declare also if HAVE_DECL_CEILL is set.
38205         (cosl): Declare also if HAVE_DECL_COSL is set.
38206         (expl): Declare also if HAVE_DECL_EXPL is set.
38207         (floorl): Declare also if HAVE_DECL_FLOORL is set.
38208         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38209         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38210         (logl): Declare also if HAVE_DECL_LOGL is set.
38211         (sinl): Declare also if HAVE_DECL_SINL is set.
38212         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38213         (tanl): Declare also if HAVE_DECL_TANL is set.
38214         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38216         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38217         declaration of frexpl, ldexpl.
38218         * modules/printf-frexpl (Depends-on): Add math.
38219         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38220
38221 2007-03-05  Bruno Haible  <bruno@clisp.org>
38222
38223         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38224         frexpl and ldexpl are declared.
38225         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38226
38227 2007-03-05  Bruno Haible  <bruno@clisp.org>
38228
38229         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38230         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38231
38232 2007-03-05  Bruno Haible  <bruno@clisp.org>
38233
38234         * lib/stdio_.h: Include <stddef.h>.
38235
38236 2007-03-05  Bruno Haible  <bruno@clisp.org>
38237
38238         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38239
38240 2007-03-05  Bruno Haible  <bruno@clisp.org>
38241
38242         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38243         NetBSD 4, from Ralf Wildenhues.
38244
38245 2007-03-04  Bruno Haible  <bruno@clisp.org>
38246
38247         * lib/vasprintf.h: Update #if logic for the case when the functions
38248         exist but are overridden.
38249
38250 2007-03-04  Bruno Haible  <bruno@clisp.org>
38251
38252         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38253         implementations: glibc-2.4 and MacOS X 10.3.
38254         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38255         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38256         * tests/test-vasprintf-posix.c (test_function): Likewise.
38257
38258 2007-03-04  Bruno Haible  <bruno@clisp.org>
38259
38260         * modules/vasprintf-posix-tests: New file.
38261         * tests/test-vasprintf-posix.c: New file.
38262
38263         * modules/vasprintf-posix: New file.
38264         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38265         defined.
38266         * m4/vasprintf-posix.m4: New file.
38267         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38268         gl_FUNC_VASPRINTF.
38269         (gl_FUNC_VASPRINTF): Invoke it.
38270         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38271         here.
38272         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38273
38274 2007-03-04  Bruno Haible  <bruno@clisp.org>
38275
38276         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38277         REPLACE_GETTIMEOFDAY.
38278         * modules/sys_time (Makefile.am): Likewise.
38279         * m4/sys_time_h.m4: Likewise.
38280         * m4/gettimeofday.m4: Likewise.
38281
38282 2007-03-04  Bruno Haible  <bruno@clisp.org>
38283
38284         * modules/vasnprintf-posix-tests: New file.
38285         * tests/test-vasnprintf-posix.c: New file.
38286
38287         * modules/vasnprintf-posix: New file.
38288         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38289         printf-frexpl.h.
38290         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38291         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38292         REPLACE_VASNPRINTF is defined.
38293         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38294         gl_FUNC_VASNPRINTF.
38295         (gl_FUNC_VASNPRINTF): Invoke it.
38296         * m4/vasnprintf-posix.m4: New file.
38297         * m4/printf.m4: New file.
38298
38299 2007-03-04  Bruno Haible  <bruno@clisp.org>
38300
38301         Compile progreloc.c only if --enable-relocatable is specified.
38302         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38303         if --enable-relocatable was specified.
38304         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38305         lib_SOURCES.
38306
38307 2007-03-04  Jim Meyering  <jim@meyering.net>
38308
38309         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38310         Use it consistently, rather than enumerating errno constants.
38311
38312 2007-03-04  Bruno Haible  <bruno@clisp.org>
38313
38314         * modules/xvasprintf-tests: New file.
38315         * tests/test-xvasprintf.c: New file.
38316
38317         * modules/vasprintf-tests: New file.
38318         * tests/test-vasprintf.c: New file.
38319
38320         * modules/vasnprintf-tests: New file.
38321         * tests/test-vasnprintf.c: New file.
38322
38323         * modules/vsnprintf-tests: New file.
38324         * tests/test-vsnprintf.c: New file.
38325
38326         * modules/snprintf-tests: New file.
38327         * tests/test-snprintf.c: New file.
38328
38329 2007-03-04  Bruno Haible  <bruno@clisp.org>
38330
38331         Compile relocatable.c only if --enable-relocatable is specified.
38332         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38333         gl_RELOCATABLE_LIBRARY.
38334         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38335         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38336         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38337         gl_RELOCATABLE_LIBRARY.
38338         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38339         (Makefile.am): Remove lib_SOURCES.
38340         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38341         gl_RELOCATABLE_LIBRARY.
38342         (Makefile.am): Remove lib_SOURCES.
38343         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38344         always.
38345         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38346         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38347
38348 2007-03-04  Bruno Haible  <bruno@clisp.org>
38349
38350         * modules/argmatch-tests: New file.
38351         * tests/test-argmatch.c: New file.
38352
38353         * tests/test-allocsa.c (main): Halve the number of loop runs.
38354
38355         * modules/alloca-opt-tests: New file.
38356         * tests/test-alloca-opt.c: New file.
38357
38358 2007-03-04  Jim Meyering  <jim@meyering.net>
38359
38360         Work around difference between Linux ACLs and Solaris 10 ZFS.
38361         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38362         for EINVAL.
38363
38364 2007-03-03  Bruno Haible  <bruno@clisp.org>
38365
38366         * modules/relocatable-prog (Depends-on): Add back progreloc's
38367         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38368
38369 2007-03-03  Bruno Haible  <bruno@clisp.org>
38370
38371         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38372         * modules/relocatable-lib: New file.
38373
38374 2007-03-03  Bruno Haible  <bruno@clisp.org>
38375
38376         * modules/relocatable-prog: Renamed from modules/relocatable.
38377         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38378
38379 2007-03-03  Bruno Haible  <bruno@clisp.org>
38380
38381         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38382         m4/relocatable-lib.m4.
38383         (Depends-on): Remove 'relocatable'.
38384         (configure.ac): Add gl_RELOCATABLE_NOP.
38385
38386 2007-03-03  Bruno Haible  <bruno@clisp.org>
38387
38388         * modules/relocatable-prog-wrapper: New file.
38389         * modules/relocatable (Depends-on): Add it. Remove all other
38390         dependencies except progname.
38391         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38392
38393         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38394         (gl_FUNC_STRERROR): Nop.
38395         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38396
38397         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38398         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38399
38400         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38401         (gl_FUNC_READLINK): Update.
38402
38403         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38404
38405 2007-03-03  Bruno Haible  <bruno@clisp.org>
38406
38407         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38408         * modules/xreadlink (Depends-on): Add unistd.
38409         * modules/xreadlink-with-size (Depends-on): Likewise.
38410
38411 2007-03-03  Bruno Haible  <bruno@clisp.org>
38412
38413         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38414         extracted from gt_FUNC_SETENV.
38415         (gt_FUNC_SETENV): Remove macro.
38416         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38417         remove gt_FUNC_SETENV.
38418
38419 2007-03-03  Bruno Haible  <bruno@clisp.org>
38420
38421         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
38422         ENABLE_RELOCATABLE here.
38423         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
38424
38425 2007-03-03  Bruno Haible  <bruno@clisp.org>
38426
38427         * modules/rbtreehash-list-tests (Depends-on): Add progname.
38428         * tests/test-rbtreehash_list.c: Include progname.h.
38429         (main): Call set_program_name.
38430
38431         * modules/rbtree-oset-tests (Depends-on): Add progname.
38432         * tests/test-rbtree_oset.c: Include progname.h.
38433         (main): Call set_program_name.
38434
38435         * modules/rbtree-list-tests (Depends-on): Add progname.
38436         * tests/test-rbtree_list.c: Include progname.h.
38437         (main): Call set_program_name.
38438
38439         * modules/linked-list-tests (Depends-on): Add progname.
38440         * tests/test-linked_list.c: Include progname.h.
38441         (main): Call set_program_name.
38442
38443 2007-03-03  Bruno Haible  <bruno@clisp.org>
38444
38445         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
38446         All uses of __restrict changed to _Restrict_.
38447         * lib/glob_.h (__restrict): Remove macro.
38448
38449 2007-03-02  Bruno Haible  <bruno@clisp.org>
38450
38451         * modules/gettext (configure.ac): Require gettext infrastructure
38452         from version 0.16.1.
38453
38454 2007-03-02  Bruno Haible  <bruno@clisp.org>
38455
38456         * modules/linkedhash-list-tests (Depends-on): Add progname.
38457         * tests/test-linkedhash_list.c: Include progname.h.
38458         (main): Call set_program_name.
38459
38460         * modules/carray-list-tests (Depends-on): Add progname.
38461         * tests/test-carray_list.c: Include progname.h.
38462         (main): Call set_program_name.
38463
38464         * modules/avltreehash-list-tests (Depends-on): Add progname.
38465         * tests/test-avltreehash_list.c: Include progname.h.
38466         (main): Call set_program_name.
38467
38468         * modules/avltree-oset-tests (Depends-on): Add progname.
38469         * tests/test-avltree_oset.c: Include progname.h.
38470         (main): Call set_program_name.
38471
38472         * modules/avltree-list-tests (Depends-on): Add progname.
38473         * tests/test-avltree_list.c: Include progname.h.
38474         (main): Call set_program_name.
38475
38476         * modules/array-oset-tests (Depends-on): Add progname.
38477         * tests/test-array_oset.c: Include progname.h.
38478         (main): Call set_program_name.
38479
38480         * modules/array-list-tests (Depends-on): Add progname.
38481         * tests/test-array_list.c: Include progname.h.
38482         (main): Call set_program_name.
38483
38484         * modules/argp-tests (Depends-on): Add progname.
38485         * tests/test-argp.c: Include argp.h first. Include progname.h.
38486         (main): Call set_program_name.
38487
38488 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38489
38490         * doc/gnulib-tool.texi (Initial import): Reword description of
38491         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38492         limited effect even if defined after the first system include.
38493
38494 2007-03-01  Bruno Haible  <bruno@clisp.org>
38495
38496         * build-aux/config.libpath: Update to libtool-1.5.22.
38497         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38498
38499 2007-03-01  Bruno Haible  <bruno@clisp.org>
38500
38501         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38502         foo_CFLAGS.
38503         Reported by Ralf Wildenhues.
38504
38505 2007-03-01  Bruno Haible  <bruno@clisp.org>
38506
38507         * build-aux/install-reloc: Remove object files left over by some
38508         compilers.
38509         Reported by Ralf Wildenhues.
38510
38511 2007-03-01  Bruno Haible  <bruno@clisp.org>
38512
38513         * build-aux/install-reloc: Break long lines.
38514
38515 2007-03-01  Bruno Haible  <bruno@clisp.org>
38516
38517         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38518         Reported by Ralf Wildenhues.
38519
38520 2007-03-01  Bruno Haible  <bruno@clisp.org>
38521
38522         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38523         include ordering constraints.
38524
38525 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38526
38527         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38528         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38529         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38530         as another example.
38531         * lib/time_.h: Fix misspelling.
38532         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38533         Require gl_HEADER_TIME_H_DEFAULTS.
38534         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38535         * m4/time_r.m4 (gl_TIME_R): Likewise.
38536         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38537
38538 2007-03-01  Bruno Haible  <bruno@clisp.org>
38539
38540         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38541         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38542
38543 2007-03-01  Jim Meyering  <jim@meyering.net>
38544
38545         * modules/xreadlink (Maintainer): Add my name.
38546         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38547
38548 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38549             Bruno Haible  <bruno@clisp.org>
38550
38551         * build-aux/install-reloc: Compile also c-ctype.c.
38552         * build-aux/relocatable.sh.in: New file.
38553         * doc/relocatable.texi: New file.
38554         * doc/relocatable-maint.texi: New file.
38555         * doc/gnulib.texi: Include relocatable-maint.texi.
38556         * lib/progreloc.c: Include unistd.h unconditionally.
38557         * lib/relocwrapper.c: Include unistd.h unconditionally.
38558         Include c-ctype.h.
38559         (add_dotbin): Use c_tolower.
38560         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38561         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38562         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38563         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38564         to m4/relocatable-lib.m4.
38565         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38566         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38567         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38568         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38569         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38570         * modules/relocatable: New file.
38571         * modules/relocatable-lib: New file.
38572         * modules/relocatable-script: New file.
38573
38574 2007-02-28  Bruno Haible  <bruno@clisp.org>
38575
38576         Import --enable-relocatable infrastructure.
38577         * build-aux/config.libpath: New file, from GNU gettext.
38578         * build-aux/install-reloc: New file, from GNU gettext.
38579         * build-aux/reloc-ldflags: New file, from GNU gettext.
38580         * lib/relocatable.h: New file, from GNU gettext.
38581         * lib/relocatable.c: New file, from GNU gettext.
38582         * lib/relocwrapper.c: New file, from GNU gettext.
38583         * m4/relocatable.m4: New file, from GNU gettext.
38584
38585 2007-02-28  Bruno Haible  <bruno@clisp.org>
38586
38587         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38588
38589         * modules/xreadlink: New file, from GNU gettext with modifications.
38590         * lib/xreadlink.c: New file, from GNU gettext.
38591         * lib/xreadlink.h: Add comments.
38592         (xreadlink): New declaration.
38593
38594         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38595         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38596         lib/xreadlink-with-size.c.
38597         (configure.ac): Remove gl_XREADLINK invocation.
38598         (Makefile.am): Augment lib_SOURCES.
38599         * m4/xreadlink.m4: Remove file.
38600         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38601         (xreadlink_with_size): Renamed from xreadink.
38602         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38603         * modules/canonicalize (Depends-on): Replace xreadlink with
38604         xreadlink-with-size.
38605         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38606
38607 2007-02-25  Jim Meyering  <jim@meyering.net>
38608
38609         * build-aux/announce-gen: When complaining about excess arguments,
38610         list them.
38611
38612 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38613
38614         * README: Document signed integer overflow situation more
38615         accurately.
38616
38617 2007-02-25  Bruno Haible  <bruno@clisp.org>
38618
38619         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38620         'a' or 'A' conversion.
38621
38622 2007-02-25  Bruno Haible  <bruno@clisp.org>
38623
38624         * modules/filename: Renamed from modules/pathname.
38625         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38626         lib/concatpath.c with lib/concat-filename.c.
38627         (Makefile.am): Update.
38628         (Include): Replace pathname.h with filename.h.
38629         * lib/filename.h: Renamed from lib/pathname.h.
38630         (concatenated_filename): Renamed from concatenated_pathname.
38631         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38632         (concatenated_filename): Renamed from concatenated_pathname.
38633         * lib/findprog.c: Include filename.h instead of pathname.h.
38634         (find_in_path): Update.
38635         * lib/javacomp.c: Include filename.h instead of pathname.h.
38636         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38637         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38638         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38639         is_oldgcj_14_13_usable, is_javac_usable): Update.
38640         * lib/javaexec.c: Include filename.h instead of pathname.h.
38641         (execute_java_class): Update.
38642         * modules/findprog: Update.
38643         * modules/javacomp: Update.
38644         * modules/javaexec: Update.
38645         * MODULES.html.sh (File system functions): Add 'filename', remove
38646         'pathname'.
38647
38648 2007-02-25  Bruno Haible  <bruno@clisp.org>
38649
38650         * modules/printf-frexpl-tests: New file.
38651         * tests/test-printf-frexpl.c: New file.
38652
38653         * modules/printf-frexpl: New file.
38654         * lib/printf-frexpl.h: New file.
38655         * lib/printf-frexpl.c: New file.
38656         * m4/printf-frexpl.m4: New file.
38657
38658 2007-02-25  Bruno Haible  <bruno@clisp.org>
38659
38660         * modules/printf-frexp-tests: New file.
38661         * tests/test-printf-frexp.c: New file.
38662
38663         * modules/printf-frexp: New file.
38664         * lib/printf-frexp.h: New file.
38665         * lib/printf-frexp.c: New file.
38666         * m4/printf-frexp.m4: New file.
38667
38668 2007-02-25  Bruno Haible  <bruno@clisp.org>
38669
38670         Assume automake >= 1.10 for the tests.
38671         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38672         * modules/arctwo-tests: Likewise.
38673         * modules/argp-tests: Likewise.
38674         * modules/avltree-list-tests: Likewise.
38675         * modules/avltree-oset-tests: Likewise.
38676         * modules/avltreehash-list-tests: Likewise.
38677         * modules/carray-list-tests: Likewise.
38678         * modules/crc-tests: Likewise.
38679         * modules/des-tests: Likewise.
38680         * modules/gc-arcfour-tests: Likewise.
38681         * modules/gc-arctwo-tests: Likewise.
38682         * modules/gc-des-tests: Likewise.
38683         * modules/gc-hmac-md5-tests: Likewise.
38684         * modules/gc-hmac-sha1-tests: Likewise.
38685         * modules/gc-md2-tests: Likewise.
38686         * modules/gc-md4-tests: Likewise.
38687         * modules/gc-md5-tests: Likewise.
38688         * modules/gc-pbkdf2-sha1-tests: Likewise.
38689         * modules/gc-rijndael-tests: Likewise.
38690         * modules/gc-sha1-tests: Likewise.
38691         * modules/gc-tests: Likewise.
38692         * modules/getaddrinfo-tests: Likewise.
38693         * modules/hmac-md5-tests: Likewise.
38694         * modules/hmac-sha1-tests: Likewise.
38695         * modules/linked-list-tests: Likewise.
38696         * modules/linkedhash-list-tests: Likewise.
38697         * modules/lock-tests: Likewise.
38698         * modules/md2-tests: Likewise.
38699         * modules/md4-tests: Likewise.
38700         * modules/md5-tests: Likewise.
38701         * modules/rbtree-list-tests: Likewise.
38702         * modules/rbtree-oset-tests: Likewise.
38703         * modules/rbtreehash-list-tests: Likewise.
38704         * modules/read-file-tests: Likewise.
38705         * modules/rijndael-tests: Likewise.
38706         * modules/stdint-tests: Likewise.
38707         * modules/tls-tests: Likewise.
38708
38709 2007-02-24  Bruno Haible  <bruno@clisp.org>
38710
38711         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38712         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38713         function; instead check whether isnan with a double argument links.
38714         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38715         function; instead check whether isnan with a 'long double' argument
38716         links.
38717         Reported by Eric Blake <ebb9@byu.net>.
38718
38719 2007-02-24  Bruno Haible  <bruno@clisp.org>
38720
38721         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38722         defined.
38723         * lib/isnanl.c: Remove all code. Just include isnan.c.
38724         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38725
38726 2007-02-25  Jim Meyering  <jim@meyering.net>
38727
38728         Avoid conflicting types for 'unsetenv' on FreeBSD.
38729         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38730         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38731         in stdlib.h.
38732
38733 2007-02-24  Bruno Haible  <bruno@clisp.org>
38734
38735         * modules/isnanl-nolibm-tests: New file.
38736         * tests/test-isnanl.c: New file.
38737
38738         * modules/isnanl-nolibm: New file.
38739         * lib/isnanl.h: New file.
38740         * lib/isnanl.c: New file.
38741         * m4/isnanl.m4: New file.
38742
38743 2007-02-24  Bruno Haible  <bruno@clisp.org>
38744
38745         * modules/isnan-nolibm-tests: New file.
38746         * tests/test-isnan.c: New file.
38747
38748         * modules/isnan-nolibm: New file.
38749         * lib/isnan.h: New file.
38750         * lib/isnan.c: New file.
38751         * m4/isnan.m4: New file.
38752
38753 2007-02-24  Bruno Haible  <bruno@clisp.org>
38754
38755         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38756         assume that an exponent fits in 20 bits.
38757
38758 2007-02-24  Jim Meyering  <jim@meyering.net>
38759
38760         * m4/regex.m4: Update the description of the configure-time option,
38761         --without-included-regex, to state accurately what the defaults are,
38762         and perhaps to give people an idea why using this option is risky.
38763
38764 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38765
38766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38767         loops on small arguments.  This attempts to avoid the problem
38768         Bruno Haible reported for AIX 4.3.2 in
38769         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38770
38771 2007-02-23  Bruno Haible  <bruno@clisp.org>
38772
38773         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38774         Needed for help2man.
38775
38776 2007-02-23  Karl Berry  <karl@gnu.org>
38777
38778         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38779         exists, foo.h should be cvs-ignored, not committed.
38780
38781 2007-02-23  Eric Blake  <ebb9@byu.net>
38782
38783         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38784         * lib/stat-time.h (includes): Likewise.
38785         * lib/utimecmp.c (includes): Likewise.
38786         * lib/utimens.h (includes): Likewise.
38787         * lib/getdate.y (includes): Also include "timespec.h" for use
38788         internal to the module.
38789         * modules/utimens (Depends-on): Revert yesterday's patch.
38790         * modules/nanosleep (Depends-on): Add missing dependency.
38791
38792 2007-02-22  Bruno Haible  <bruno@clisp.org>
38793
38794         * lib/glob.c: Don't include getlogin_r.h.
38795
38796 2007-02-22  Jim Meyering  <jim@meyering.net>
38797
38798         * modules/utimens (Depends-on): Add timespec, required for
38799         utimens.h's inclusion of timespec.h.
38800
38801 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38802
38803         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38804         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38805         Schwab in
38806         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38807         I'll try to think of a better way to fix the Solaris problem.
38808
38809         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38810         like glibc; on Solaris 10, it fails with errno == EINVAL.
38811         POSIX says the behavior is unspecified if the first argument is NULL,
38812         so play it safe and never pass NULL to the system getcwd.
38813
38814 2007-02-21  Jim Meyering  <jim@meyering.net>
38815
38816         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38817         of gettimeofday.  It would conflict with the one now always
38818         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38819         an IRIX 6.5 build failure.
38820
38821 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38822
38823         Minor fixups to port to Solaris 10 with Sun C 5.8.
38824         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38825         * modules/getcwd (Depends-on): Add dirfd.
38826         * lib/putenv.c (putenv): #undef it.
38827         (rpl_putenv): New decl.
38828         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38829
38830 2007-02-20  Bruno Haible  <bruno@clisp.org>
38831
38832         * modules/stdio-tests: New file.
38833         * tests/test-stdio.c: New file.
38834
38835         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38836         (Depends-on): Add stdio.
38837         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38838         (Include): Use <stdio.h> instead of vsnprintf.h.
38839         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38840         HAVE_DECL_VSNPRINTF.
38841         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38842
38843         * modules/snprintf (Files): Remove lib/snprintf.h.
38844         (Depends-on): Add stdio.
38845         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38846         (Include): Use <stdio.h> instead of snprintf.h.
38847         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38848         HAVE_DECL_SNPRINTF.
38849         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38850         * lib/getaddrinfo.c: Likewise.
38851
38852         * modules/stdio: New file.
38853         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38854         * lib/snprintf.h: Remove file.
38855         * lib/vsnprintf.h: Remove file.
38856         * lib/.cppi-disable: Remove snprintf.h.
38857         * m4/stdio_h.m4: New file.
38858         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38859
38860 2007-02-20  Jim Meyering  <jim@meyering.net>
38861
38862         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38863         used by e.g., mingw.  From Bruno Haible.
38864
38865 2007-02-19  Bruno Haible  <bruno@clisp.org>
38866
38867         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38868         warnings.
38869         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38870
38871 2007-02-19  Bruno Haible  <bruno@clisp.org>
38872
38873         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38874         from mingw users.
38875
38876 2007-02-19  Bruno Haible  <bruno@clisp.org>
38877
38878         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38879         warnings.
38880         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38881
38882 2007-02-19  Jim Meyering  <jim@meyering.net>
38883
38884         Don't use FD after a successful "fdopendir (fd)".
38885         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38886         Reset it by calling dirfd on the just-obtained DIR*.
38887
38888         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38889         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38890
38891 2007-02-18  Bruno Haible  <bruno@clisp.org>
38892
38893         * lib/readlink.c: Include <unistd.h>.
38894         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38895         HAVE_READLINK.
38896         * modules/readlink (Depends-on): Add unistd.
38897         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38898         (Include): Add <unistd.h>.
38899
38900         * lib/getlogin_r.h: Remove file.
38901         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
38902         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
38903         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
38904         HAVE_DECL_GETLOGIN_R.
38905         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
38906         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38907         (Include): Use <unistd.h> instead of getlogin_r.h.
38908
38909         * lib/getcwd.h: Remove file.
38910         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
38911         * lib/xgetcwd.c: Likewise.
38912         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
38913         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
38914         * modules/getcwd (Files): Remove lib/getcwd.h.
38915         (Depends-on): Add unistd.
38916         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38917         (Include): Use <unistd.h> instad of getcwd.h.
38918
38919         * lib/ftruncate.c: Include <unistd.h> first.
38920         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
38921         Set HAVE_FTRUNCATE.
38922         * modules/ftruncate (Depends-on): Add unistd.
38923         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38924
38925         * lib/fchdir.c: Include <unistd.h> first.
38926         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
38927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
38928         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
38929         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38930         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
38931
38932         * lib/dup2.c: Include <unistd.h> first.
38933         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
38934         HAVE_DUP2.
38935         * modules/dup2 (Depends-on): Add unistd.
38936         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38937
38938         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
38939         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
38940         REPLACE_CHOWN. Don't define chown as a macro here.
38941         * modules/chown (Depends-on): Add unistd.
38942         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38943
38944         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
38945         Add definition for GL_LINK_WARNING.
38946         (chown, dup2): New declarations.
38947         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
38948         link warning.
38949         (ftruncate): New declaration.
38950         (getcwd): New declaration, taken from old getcwd.h.
38951         (getlogin_r): New declaration, taken from old getlogin_r.h.
38952         (readlink): New declaration.
38953         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
38954         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
38955         (gl_PREREQ_UNISTD): Remove macro.
38956         (gl_UNISTD_MODULE_INDICATOR): New macro.
38957         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
38958         many new variables. Don't set UNISTD_H.
38959         * modules/unistd (Description): Change.
38960         (Depends-on): Add link-warning.
38961         (configure.ac): Update.
38962         (Makefile.am): Create unistd.h always. Substitute many new variables
38963         into it.
38964
38965 2007-02-18  Bruno Haible  <bruno@clisp.org>
38966
38967         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
38968         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
38969         HAVE_GETSUBOPT.
38970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
38971         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
38972         * lib/getsubopt.h: Remove file.
38973         * modules/getsubopt (Files): Remove lib/getsubopt.h.
38974         (Depends-on): Add stdlib.
38975         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38976         (Includes): Use <stdlib.h> instead of getsubopt.h.
38977         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
38978         Set HAVE_GETSUBOPT.
38979         * lib/getsubopt.c: Don't include getsubopt.h.
38980
38981 2007-02-18  Bruno Haible  <bruno@clisp.org>
38982
38983         * modules/fchdir (Depends-on): Add dup2.
38984
38985 2007-02-18  Bruno Haible  <bruno@clisp.org>
38986
38987         * lib/stdlib_.h: Handle glibc's special invocation convention
38988         specially.
38989
38990 2007-02-18  Bruno Haible  <bruno@clisp.org>
38991
38992         * modules/stdlib-tests: New file.
38993         * tests/test-stdlib.c: New file.
38994
38995         * modules/mkstemp (Files): Remove lib/mkstemp.h.
38996         (Depends-on): Add stdlib.
38997         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38998         (Includes): Use <stdlib.h> instead of mkstemp.h.
38999         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39000         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
39001         * lib/mkstemp.c: Don't include mkstemp.h.
39002         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
39003         * lib/stdlib--.h: Don't include mkstemp.h.
39004
39005         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
39006         (Depends-on): Add stdlib.
39007         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39008         (Includes): Use <stdlib.h> instead of mkdtemp.h.
39009         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39010         HAVE_MKDTEMP.
39011         * lib/mkdtemp.c: Don't include mkdtemp.h.
39012         * lib/clean-temp.c: Don't include mkdtemp.h.
39013
39014         * modules/exit (Files): Remove lib/exit.h.
39015         (Depends-on): Add stdlib.
39016         (Makefile.am): Remove lib_SOURCES.
39017         (Include): Use <stdlib.h> instead of exit.h.
39018         * lib/argmatch.c: Don't include exit.h.
39019         * lib/execute.c: Likewise.
39020         * lib/pagealign_alloc.c: Likewise.
39021         * lib/pipe.c: Likewise.
39022         * lib/wait-process.c: Likewise.
39023         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
39024         * lib/exitfail.c: Likewise.
39025         * lib/savewd.c: Likewise.
39026         * lib/xsetenv.c: Likewise.
39027
39028         * modules/stdlib: New file.
39029         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
39030         and extra comments about mkstemp().
39031         * lib/exit.h: Remove file.
39032         * lib/mkdtemp.h: Remove file.
39033         * lib/mkstemp.h: Remove file.
39034         * m4/stdlib_h.m4: New file.
39035         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
39036
39037 2007-02-18  Bruno Haible  <bruno@clisp.org>
39038
39039         * modules/math-tests: New file.
39040         * tests/test-math.c: New file.
39041
39042         * modules/math: New file.
39043         * modules/mathl (Files): Remove lib/mathl.h.
39044         (Depends-on): Add math.
39045         (Makefile.am): Don't mention mathl.h.
39046         (Include): Use <math.h> instead of mathl.h.
39047         * lib/math_.h: New file.
39048         * lib/mathl.h: Remove file.
39049         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
39050         mathl.h.
39051         * lib/asinl.c: Likewise.
39052         * lib/atanl.c: Likewise.
39053         * lib/ceill.c: Likewise.
39054         * lib/cosl.c: Likewise.
39055         * lib/expl.c: Likewise.
39056         * lib/floorl.c: Likewise.
39057         * lib/frexpl.c: Likewise.
39058         * lib/ldexpl.c: Likewise.
39059         * lib/logl.c: Likewise.
39060         * lib/sincosl.c: Likewise.
39061         * lib/sinl.c: Likewise.
39062         * lib/sqrtl.c: Likewise.
39063         * lib/tanl.c: Likewise.
39064         * lib/trigl.c: Likewise.
39065         * m4/math_h.m4: New file.
39066         * MODULES.html.sh (Mathematics): Add math.
39067
39068 2007-02-17  Bruno Haible  <bruno@clisp.org>
39069
39070         * modules/wctype-tests: New file.
39071         * tests/test-wctype.c: New file.
39072
39073         * modules/wchar-tests: New file.
39074         * tests/test-wchar.c: New file.
39075
39076         * modules/unistd-tests: New file.
39077         * tests/test-unistd.c: New file.
39078
39079         * modules/time-tests: New file.
39080         * tests/test-time.c: New file.
39081
39082         * modules/sysexits-tests: New file.
39083         * tests/test-sysexits.c: New file.
39084
39085         * modules/sys_time-tests: New file.
39086         * tests/test-sys_time.c: New file.
39087
39088         * modules/sys_stat-tests: New file.
39089         * tests/test-sys_stat.c: New file.
39090
39091         * modules/sys_socket-tests: New file.
39092         * tests/test-sys_socket.c: New file.
39093
39094         * modules/sys_select-tests: New file.
39095         * tests/test-sys_select.c: New file.
39096
39097         * modules/string-tests: New file.
39098         * tests/test-string.c: New file.
39099
39100         * modules/stdbool-tests: New file.
39101         * tests/test-stdbool.c: New file.
39102
39103         * modules/netinet_in-tests: New file.
39104         * tests/test-netinet_in.c: New file.
39105
39106         * modules/inttypes-tests: New file.
39107         * tests/test-inttypes.c: New file.
39108
39109         * modules/fcntl-tests: New file.
39110         * tests/test-fcntl.c: New file.
39111
39112         * modules/byteswap-tests: New file.
39113         * tests/test-byteswap.c: New file.
39114
39115         * modules/arpa_inet-tests: New file.
39116         * tests/test-arpa_inet.c: New file.
39117
39118 2007-02-17  Bruno Haible  <bruno@clisp.org>
39119
39120         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
39121         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
39122         if the corresponding module is not enabled. Emit link warnings if
39123         the function is used nevertheless.
39124         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
39125         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
39126         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
39127         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
39128         * modules/inttypes (Depends-on): Add link-warning.
39129         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39130         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
39131         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
39132         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
39133         * modules/imaxdiv (configure.ac): Likewise.
39134         * modules/strtoimax (configure.ac): Likewise.
39135         * modules/strtoumax (configure.ac): Likewise.
39136
39137 2007-02-17  Bruno Haible  <bruno@clisp.org>
39138
39139         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
39140         gl_STRING_MODULE_INDICATOR_DEFAULTS.
39141         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
39142         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
39143
39144 2007-02-17  Bruno Haible  <bruno@clisp.org>
39145
39146         * modules/link-warning: New file.
39147         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
39148         * lib/string_.h (GL_LINK_WARNING): Remove definition.
39149         * modules/string (Depends-on): Add link-warning.
39150         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39151         string.h.
39152         * MODULES.html.sh (Support for building libraries and executables): Add
39153         link-warning.
39154
39155 2007-02-17  Bruno Haible  <bruno@clisp.org>
39156
39157         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
39158         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
39159         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
39160         long lines.
39161
39162 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
39163             Bruno Haible  <bruno@clisp.org>
39164
39165         * modules/tmpfile: New file.
39166         * lib/tmpfile.c: New file.
39167         * m4/tmpfile.m4: New file.
39168         * MODULES.html.sh (func_all_modules): New section "Input/output".
39169
39170 2007-02-15  Bruno Haible  <bruno@clisp.org>
39171
39172         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
39173         (supports_delete_on_close): New function.
39174         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
39175
39176 2007-02-14  Bruno Haible  <bruno@clisp.org>
39177
39178         * modules/mbspcasecmp-tests: New file.
39179         * tests/test-mbspcasecmp.sh: New file.
39180         * tests/test-mbspcasecmp.c: New file.
39181
39182         New module mbspcasecmp.
39183         * modules/mbspcasecmp: New file.
39184         * lib/mbspcasecmp.c: New file.
39185         * lib/string_.h (strncasecmp): Change warning message.
39186         (mbspcasecmp): New declaration.
39187         * m4/mbspcasecmp.m4: New file.
39188         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39189         GNULIB_MBSPCASECMP.
39190         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
39191         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
39192
39193 2007-02-14  Bruno Haible  <bruno@clisp.org>
39194
39195         * modules/mbsncasecmp-tests: New file.
39196         * tests/test-mbsncasecmp.sh: New file.
39197         * tests/test-mbsncasecmp.c: New file.
39198
39199         New module mbsncasecmp.
39200         * modules/mbsncasecmp: New file.
39201         * lib/mbsncasecmp.c: New file.
39202         * lib/string_.h (mbsncasecmp): New declaration.
39203         * m4/mbsncasecmp.m4: New file.
39204         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39205         GNULIB_MBSNCASECMP.
39206         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
39207         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
39208
39209 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39210
39211         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39212         Verify that it doesn't overlap with our flags.
39213         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39214         do not have the desired effect in multibyte locales; instead, use
39215         mbscasecmp.
39216         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39217         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39218         we don't require GNU fnmatch ourselves (if our users require it, they
39219         should do so explicitly).
39220
39221         Fix regex code so it doesn't rely on strcasecmp.
39222         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39223         Otherwise, include gnulib's langinfo.h.
39224         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39225         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39226         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39227         * modules/regex (FILES): Remove m4/codeset.m4.
39228         (Depends-on): Add localcharset.  Remove strcase.
39229
39230 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39231
39232         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39233         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39234
39235 2007-02-13  Bruno Haible  <bruno@clisp.org>
39236
39237         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39238         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39239
39240 2007-02-12  Bruno Haible  <bruno@clisp.org>
39241
39242         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39243         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39244         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39245         time warning rather than a link error.
39246
39247 2007-02-12  Bruno Haible  <bruno@clisp.org>
39248
39249         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39250         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39251         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39252
39253 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39254
39255         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39256         args, not 2.
39257
39258 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39259
39260         New module 'time', so that apps can include <time.h> as per
39261         POSIX and GNU instead of separate include files like time_r.h
39262         and timegm.h.  This implementation tries out a simpler approach
39263         for replacing decls in standard include files (as compared to
39264         the string module), somewhat as an experiment.
39265
39266         * config/srclist.txt: Comment out mktime.c for now.
39267         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39268         since it doesn't apply any more.  Use generic wording instead.
39269         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39270         'time'.
39271         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39272         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39273         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39274         Don't include <sys/types.h>; no longer needed since we assume C89.
39275         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39276         * lib/strftime.c: Likewise.
39277         * lib/time_r.c: Likewise.
39278         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39279         * lib/nanosleep.c: Include <time.h> first, to check interface.
39280         * lib/strptime.c: Likewise.
39281         * lib/time_r.c: Likewise.
39282         * lib/timegm.c: Likewise.
39283         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39284         needed.
39285         * lib/timegm.c: Don't include timegm.h; no longer needed.
39286         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39287         time.h now handles any problems in that area.
39288         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39289         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39290         that time.h defines struct timespec.
39291         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39292         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39293         handles that.
39294         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39295         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39296         needed.  Set REPLACE_LOCALTIME.
39297         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39298         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39299         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39300         nanosleep; time_h.m4 now does that.  Don't require
39301         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39302         module handles this now.
39303         * modules/getdate (Depends-on): Remove timespec.  Add time.
39304         * modules/nanosleep (Depends-on): Likewise.
39305         * modules/stat-time (Depends-on): Likewise.
39306         * modules/nanosleep (Include): Include time.h, not timespec.h.
39307         * modules/strptime (Files): Remove lib/strptime.h.
39308         (Depends-on): Add extensions, time.
39309         (Include): Include time.h, not strptime.h.
39310         * modules/time_r (Files): Remove lib/time_r.h.
39311         (Depends-on): Add time.
39312         (Include): Include time.h, not time_r.h.
39313         * modules/timegm: Likewise.
39314         * modules/timespec (Description): Now does timespec-related decls
39315         of our own, instead of struct timespec itself.
39316         (Depends-on): Add time; remove extensions.
39317         (Maintainer): Add self.
39318         * modules/utimecmp (Depends-on): Add time; remove timespec.
39319         * modules/utimens (Depends-on): Likewise.
39320         * modules/xnanosleep (Depends-on): Likewise.
39321
39322 2007-02-11  Bruno Haible  <bruno@clisp.org>
39323
39324         * lib/c-strstr.c: Include allocsa.h.
39325         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39326         * lib/c-strcasestr.c: Include allocsa.h.
39327         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39328         * lib/strcasestr.c: Include allocsa.h.
39329         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39330         * lib/mbsstr.c: Include allocsa.h.
39331         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39332         allocsa/freesa instead of malloc/free.
39333         * lib/mbscasestr.c: Include allocsa.h.
39334         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39335         allocsa/freesa instead of malloc/free.
39336         * modules/c-strstr (Depends-on): Add allocsa.
39337         * modules/c-strcasestr (Depends-on): Likewise.
39338         * modules/strcasestr (Depends-on): Likewise.
39339         * modules/mbsstr (Depends-on): Likewise.
39340         * modules/mbscasestr (Depends-on): Likewise.
39341
39342 2007-02-11  Bruno Haible  <bruno@clisp.org>
39343
39344         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39345
39346         * modules/mbsspn-tests: New file.
39347         * tests/test-mbsspn.sh: New file.
39348         * tests/test-mbsspn.c: New file.
39349
39350 2007-02-11  Bruno Haible  <bruno@clisp.org>
39351
39352         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39353
39354         * modules/mbspbrk-tests: New file.
39355         * tests/test-mbspbrk.sh: New file.
39356         * tests/test-mbspbrk.c: New file.
39357
39358 2007-02-11  Bruno Haible  <bruno@clisp.org>
39359
39360         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39361         unneeded cast.
39362
39363         * modules/mbscspn-tests: New file.
39364         * tests/test-mbscspn.sh: New file.
39365         * tests/test-mbscspn.c: New file.
39366
39367 2007-02-11  Bruno Haible  <bruno@clisp.org>
39368
39369         * modules/mbscasecmp-tests: New file.
39370         * tests/test-mbscasecmp.sh: New file.
39371         * tests/test-mbscasecmp.c: New file.
39372
39373 2007-02-11  Bruno Haible  <bruno@clisp.org>
39374
39375         Ensure O(n) worst-case complexity of mbscasestr.
39376         * lib/mbscasestr.c: Include stdbool.h.
39377         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39378         functions.
39379         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39380         the bookkeeping indicates that it's worth it.
39381         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39382
39383         * modules/mbscasestr-tests: New file.
39384         * tests/test-mbscasestr1.c: New file.
39385         * tests/test-mbscasestr2.sh: New file.
39386         * tests/test-mbscasestr2.c: New file.
39387         * tests/test-mbscasestr3.sh: New file.
39388         * tests/test-mbscasestr3.c: New file.
39389         * tests/test-mbscasestr4.sh: New file.
39390         * tests/test-mbscasestr4.c: New file.
39391         * m4/locale-tr.m4: New file.
39392
39393 2007-02-11  Bruno Haible  <bruno@clisp.org>
39394
39395         Ensure O(n) worst-case complexity of mbsstr.
39396         * lib/mbsstr.c: Include stdbool.h.
39397         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39398         functions.
39399         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39400         bookkeeping indicates that it's worth it.
39401         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39402
39403         * modules/mbsstr-tests: New file.
39404         * tests/test-mbsstr1.c: New file.
39405         * tests/test-mbsstr2.sh: New file.
39406         * tests/test-mbsstr2.c: New file.
39407         * tests/test-mbsstr3.sh: New file.
39408         * tests/test-mbsstr3.c: New file.
39409         * m4/locale-fr.m4: New file.
39410
39411 2007-02-11  Bruno Haible  <bruno@clisp.org>
39412
39413         * lib/mbsrchr.c (mbsrchr): Fix bug.
39414
39415         * modules/mbsrchr-tests: New file.
39416         * tests/test-mbsrchr.sh: New file.
39417         * tests/test-mbsrchr.c: New file.
39418
39419 2007-02-11  Bruno Haible  <bruno@clisp.org>
39420
39421         * lib/mbschr.c (mbschr): Fix bug.
39422
39423         * modules/mbschr-tests: New file.
39424         * tests/test-mbschr.sh: New file.
39425         * tests/test-mbschr.c: New file.
39426         * m4/locale-zh.m4: New file.
39427
39428 2007-02-11  Bruno Haible  <bruno@clisp.org>
39429
39430         Support for copying multibyte string iterators.
39431         * lib/mbiter.h: Include <string.h>.
39432         (mbiter_multi_copy): New function.
39433         (mbi_copy): New macro.
39434         * lib/mbuiter.h: Include <string.h>.
39435         (mbuiter_multi_copy): New function.
39436         (mbui_copy): New macro.
39437
39438 2007-02-11  Bruno Haible  <bruno@clisp.org>
39439
39440         New module mbslen.
39441         * modules/mbslen: New file.
39442         * lib/mbslen.c: New file.
39443         * lib/string_.h (mbslen): New declaration.
39444         * m4/mbslen.m4: New file.
39445         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39446         GNULIB_MBSLEN.
39447         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39448         * MODULES.html.sh (Internationalization functions): Add mbslen.
39449
39450 2007-02-11  Bruno Haible  <bruno@clisp.org>
39451
39452         Ensure O(n) worst-case complexity of strcasestr substitute.
39453         * lib/strcasestr.c: Include stdbool.h.
39454         (knuth_morris_pratt): New function.
39455         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39456         bookkeeping indicates that it's worth it.
39457         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39458
39459         * modules/strcasestr-tests: New file.
39460         * tests/test-strcasestr.c: New file.
39461
39462 2007-02-11  Bruno Haible  <bruno@clisp.org>
39463
39464         Ensure O(n) worst-case complexity of c_strcasestr.
39465         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39466         (knuth_morris_pratt): New function.
39467         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39468         the bookkeeping indicates that it's worth it.
39469         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39470
39471         * modules/c-strcasestr-tests: New file.
39472         * tests/test-c-strcasestr.c: New file.
39473
39474 2007-02-11  Bruno Haible  <bruno@clisp.org>
39475
39476         Ensure O(n) worst-case complexity of c_strstr.
39477         * lib/c-strstr.c: Include stdbool.h, string.h.
39478         (knuth_morris_pratt): New function.
39479         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39480         bookkeeping indicates that it's worth it.
39481         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39482
39483         * lib/c-strstr.c: Complete rewrite for maintainability.
39484
39485         * modules/c-strstr-tests: New file.
39486         * tests/test-c-strstr.c: New file.
39487
39488 2007-02-11  Bruno Haible  <bruno@clisp.org>
39489
39490         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39491         5.2.1 and earlier, whereby \055 was treated just like the range
39492         delimiter '-'.
39493         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39494
39495 2007-02-08  Bruno Haible  <bruno@clisp.org>
39496
39497         * modules/regex (Depends-on): Add stdbool.
39498         Reported by Dalibor Topic <robilad@kaffe.org>.
39499
39500 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39501
39502         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39503         Prefer returning from main to exiting from it.
39504         Remove unnecessary parens after sizeof.
39505
39506 2007-02-05  Bruno Haible  <bruno@clisp.org>
39507
39508         New module mbssep.
39509         * modules/mbssep: New file.
39510         * lib/mbssep.c: New file.
39511         * lib/string_.h (strsep): Add a conditional link warning.
39512         (mbssep): New declaration.
39513         * m4/mbssep.m4: New file.
39514         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39515         GNULIB_MBSSEP.
39516         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39517         * MODULES.html.sh (Internationalization functions): Add mbssep.
39518
39519 2007-02-05  Bruno Haible  <bruno@clisp.org>
39520
39521         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39522         Optimize search in case of 1 delimiter.
39523
39524 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39525
39526         * lib/acl.h: Include sys/types.h before sys/acl.h.
39527
39528 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39529
39530         Merge upstream fix for glibc bugzilla #3957:
39531
39532         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39533
39534         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39535         bit for RE_HAT_LISTS_NOT_NEWLINE.
39536         (build_charclass_op): Remove bogus comment.
39537
39538 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39539
39540         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39541
39542 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39543
39544         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39545         * lib/memmem.c [!defined _LIBC]: Include config.h.
39546
39547 2007-02-04  Bruno Haible  <bruno@clisp.org>
39548
39549         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39550         warning message.
39551
39552 2007-02-04  Bruno Haible  <bruno@clisp.org>
39553
39554         New module mbstok_r.
39555         * modules/mbstok_r: New file.
39556         * lib/mbstok_r.c: New file.
39557         * lib/string_.h (strtok_r): Change argument names to match the
39558         comments. Add a conditional link warning.
39559         (mbstok_r): New declaration.
39560         * m4/mbstok_r.m4: New file.
39561         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39562         GNULIB_MBSTOK_R.
39563         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39564         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39565
39566 2007-02-04  Bruno Haible  <bruno@clisp.org>
39567
39568         New module mbsspn.
39569         * modules/mbsspn: New file.
39570         * lib/mbsspn.c: New file.
39571         * lib/string_.h (strspn): Add a conditional link warning.
39572         (mbsspn): New declaration.
39573         * m4/mbsspn.m4: New file.
39574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39575         GNULIB_MBSSPN.
39576         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39577         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39578
39579 2007-02-04  Bruno Haible  <bruno@clisp.org>
39580
39581         New module mbspbrk.
39582         * modules/mbspbrk: New file.
39583         * lib/mbspbrk.c: New file.
39584         * lib/string_.h (strpbrk): Add a conditional link warning.
39585         (mbspbrk): New declaration.
39586         * m4/mbspbrk.m4: New file.
39587         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39588         GNULIB_MBSPBRK.
39589         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39590         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39591
39592 2007-02-04  Bruno Haible  <bruno@clisp.org>
39593
39594         New module mbscspn.
39595         * modules/mbscspn: New file.
39596         * lib/mbscspn.c: New file.
39597         * lib/string_.h (strcspn): Add a conditional link warning.
39598         (mbscspn): New declaration.
39599         * m4/mbscspn.m4: New file.
39600         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39601         GNULIB_MBSCSPN.
39602         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39603         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39604
39605 2007-02-04  Bruno Haible  <bruno@clisp.org>
39606
39607         New module mbscasestr, reduced goal of strcasestr.
39608         * modules/mbscasestr: New file.
39609         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39610         (mbscasestr): Renamed from strcasestr.
39611         * lib/strcasestr.c: Don't include mbuiter.h.
39612         (strcasestr): Remove support for multibyte locales.
39613         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39614         Change the conditional link warning.
39615         (mbscasestr): New declaration.
39616         * m4/mbscasestr.m4: New file.
39617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39618         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39619         REPLACE_STRCASESTR.
39620         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39621         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39622         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39623         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39624         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39625         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39626         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39627         (Depends-on): Remove mbuiter.
39628         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39629
39630 2007-02-04  Bruno Haible  <bruno@clisp.org>
39631
39632         Simplify handling of strncasecmp.
39633         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39634         the conditional link warning.
39635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39636         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39637         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39638         * modules/strcase (configure.ac): Don't invoke
39639         gl_STRING_MODULE_INDICATOR.
39640         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39641
39642 2007-02-04  Bruno Haible  <bruno@clisp.org>
39643
39644         New module mbscasecmp, reduced goal of strcasecmp.
39645         * modules/mbscasecmp: New file.
39646         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39647         (mbscasecmp): Renamed from strcasecmp.
39648         * lib/strcasecmp.c: Don't include mbuiter.h.
39649         (strcasecmp): Remove support for multibyte locales.
39650         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39651         Change the conditional link warning.
39652         (mbscasecmp): New declaration.
39653         * m4/mbscasecmp.m4: New file.
39654         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39655         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39656         REPLACE_STRCASECMP.
39657         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39658         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39659         GNULIB_MBSCASECMP.
39660         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39661         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39662         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39663         (Depends-on): Remove mbuiter.
39664         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39665
39666 2007-02-04  Bruno Haible  <bruno@clisp.org>
39667
39668         New module mbsstr. Remove module strstr.
39669         * modules/mbsstr: New file.
39670         * modules/strstr: Remove file.
39671         * lib/mbsstr.c: Renamed from lib/strstr.c.
39672         (mbsstr): Renamed from strstr.
39673         * lib/string_.h (strstr): Remove declaration. Change the conditional
39674         link warning.
39675         (mbsstr): New declaration.
39676         * m4/mbsstr.m4: New file.
39677         * m4/strstr.m4: Remove file.
39678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39679         REPLACE_STRSTR.
39680         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39681         Don't initialize GNULIB_STRSTR.
39682         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39683         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39684         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39685         (Support for systems lacking ANSI C 89): Remove strstr.
39686
39687 2007-02-04  Bruno Haible  <bruno@clisp.org>
39688
39689         New module mbsrchr.
39690         * modules/mbsrchr: New file.
39691         * lib/mbsrchr.c: New file.
39692         * lib/string_.h (strrchr): Add a conditional link warning.
39693         (mbsrchr): New declaration.
39694         * m4/mbsrchr.m4: New file.
39695         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39696         GNULIB_MBSRCHR.
39697         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39698         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39699
39700 2007-02-04  Bruno Haible  <bruno@clisp.org>
39701
39702         New module mbschr.
39703         * modules/mbschr: New file.
39704         * lib/mbschr.c: New file.
39705         * lib/string_.h (strchr): Add a conditional link warning.
39706         (mbschr): New declaration.
39707         * m4/mbschr.m4: New file.
39708         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39709         GNULIB_MBSCHR.
39710         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39711         * MODULES.html.sh (Internationalization functions): Add mbschr.
39712
39713 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39714
39715         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39716
39717         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39718
39719 2007-02-04  Bruno Haible  <bruno@clisp.org>
39720
39721         New module description section 'configure.ac-early'.
39722         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39723         (func_get_autoconf_early_snippet): New function.
39724         (func_import, func_create_testdir): Use it. Remove special cases for
39725         modules 'extensions' and 'lock'.
39726         * modules/extensions (configure.ac-early): Require
39727         gl_USE_SYSTEM_EXTENSIONS.
39728         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39729
39730 2007-02-04  Bruno Haible  <bruno@clisp.org>
39731
39732         Make use of gcj-4.3's -fsource and -ftarget option.
39733         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39734         and if so try the options -fsource and -ftarget.
39735         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39736         source_version, ftarget_option, target_version arguments.
39737         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39738         (is_envjavac_oldgcj_14_14_usable): Renamed from
39739         is_envjavac_gcj_14_14_usable.
39740         (is_envjavac_oldgcj_14_13_usable): Renamed from
39741         is_envjavac_gcj_14_13_usable.
39742         (is_gcj_present): Update.
39743         (is_gcj_43, is_gcj43_usable): New functions.
39744         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39745         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39746         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39747         try the options -fsource and -ftarget.
39748
39749 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39750
39751         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39752         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39753         larger value.
39754
39755 2007-02-03  Jim Meyering  <jim@meyering.net>
39756
39757         Give tools a better chance to allocate space for very large buffers.
39758         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39759
39760         Make pwd and readlink work also when run with an unreadable parent dir
39761         on systems with openat support.
39762         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39763         provided getcwd function, even when we have openat support.
39764         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39765
39766 2007-02-02  Bruno Haible  <bruno@clisp.org>
39767
39768         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39769         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39770         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39771         portability problems if one of these functions is only used on specific
39772         platforms.
39773         Reported by Paul Eggert.
39774
39775 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39776
39777         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39778         is causing more trouble than it's curing.
39779         * lib/regex_internal.h (__mempcpy): Remove.
39780         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39781         (and make the code a tad smaller to boot).
39782         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39783
39784 2007-02-02  Jim Meyering  <jim@meyering.net>
39785
39786         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39787         section, not in the Makefile.am: one.
39788
39789 2007-02-02  Eric Blake  <ebb9@byu.net>
39790
39791         * lib/strchrnul.c: Always include config.h first.
39792
39793         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39794         gnulib strstr is not necessary here.
39795
39796 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39797
39798         * m4/socklen.m4: Fix typo.
39799
39800 2007-02-02  Eric Blake  <ebb9@byu.net>
39801
39802         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39803         * modules/netinet_in (Makefile.am): Likewise.
39804
39805 2007-02-01  Bruno Haible  <bruno@clisp.org>
39806
39807         * lib/string_.h (GL_LINK_WARNING): New macro.
39808         (strcasecmp, strstr, strcasestr): If provided by the system,
39809         conditionally define as a macro that leads to a warning instead of to
39810         an error.
39811         (strncasecmp): Conditionally define as a macro that leads to a warning.
39812
39813 2007-02-01  Karl Berry  <karl@gnu.org>
39814
39815         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39816
39817 2007-02-01  Bruno Haible  <bruno@clisp.org>
39818
39819         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39820         renamings.
39821
39822 2007-02-01  Eric Blake  <ebb9@byu.net>
39823
39824         * modules/regex (Depends-on): Revert dependence on mempcpy.
39825         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39826         module's definition of mempcpy.
39827         Reported by Paul Eggert.
39828
39829 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39830
39831         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39832         the symbol XYZ before redefining it.  This fixes a problem with
39833         programs that don't use XYZ, when compiled on systems that define
39834         XYZ to something else.
39835
39836 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39837
39838         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39839         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39840         writeable to group or other and (2) is intended to have a special
39841         mode bit that is set or cleared.  In such a case, the directory
39842         should be neither group- nor other-writeable until the special
39843         mode bits are right.
39844
39845 2007-01-31  Eric Blake  <ebb9@byu.net>
39846
39847         * modules/mountlist (Depends-on): Add strstr.
39848
39849         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39850         bug.
39851         * modules/string (Makefile.am): Remove redundant replacement.
39852         * modules/regex (Depends-on): Add mempcpy.
39853
39854 2007-01-31  Bruno Haible  <bruno@clisp.org>
39855
39856         New module description field 'Link'.
39857         * gnulib-tool (func_usage): Document --extract-link-directive.
39858         (sed_extract_prog): Recognize 'Link' directive.
39859         (func_get_link_directive): New function.
39860         (func_import): Show summary of link directives.
39861         Handle --extract-link-directive option.
39862         * modules/acl (Link): New section.
39863         * modules/clock-time (Link): New section.
39864         * modules/euidaccess (Link): New section.
39865         * modules/gettext (Link): New section.
39866         * modules/iconv (Link): New section.
39867         * modules/lock (Link): New section.
39868         * modules/nanosleep (Link): New section.
39869         * modules/readline (Link): New section.
39870
39871 2007-01-27  Bruno Haible  <bruno@clisp.org>
39872
39873         Enforce the use of gnulib modules for unportable <string.h> functions.
39874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39875         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39876         (gl_HEADER_STRING_H_BODY): Require it.
39877         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39878         the symbol XYZ to one that gives a link error.
39879         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39880         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39881         * modules/mempcpy (configure.ac): Likewise.
39882         * modules/memrchr (configure.ac): Likewise.
39883         * modules/stpcpy (configure.ac): Likewise.
39884         * modules/stpncpy (configure.ac): Likewise.
39885         * modules/strcase (configure.ac): Likewise.
39886         * modules/strcasestr (configure.ac): Likewise.
39887         * modules/strchrnul (configure.ac): Likewise.
39888         * modules/strdup (configure.ac): Likewise.
39889         * modules/strndup (configure.ac): Likewise.
39890         * modules/strnlen (configure.ac): Likewise.
39891         * modules/strpbrk (configure.ac): Likewise.
39892         * modules/strsep (configure.ac): Likewise.
39893         * modules/strstr (configure.ac): Likewise.
39894         * modules/strtok_r (configure.ac): Likewise.
39895
39896 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39897
39898         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39899
39900 2007-01-30  Jim Meyering  <jim@meyering.net>
39901
39902         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
39903
39904 2007-01-29  Bruno Haible  <bruno@clisp.org>
39905
39906         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
39907         * lib/execute.c: Likewise.
39908         * lib/pipe.c: Likewise.
39909         * lib/printf-args.h: Likewise.
39910         * lib/printf-args.c: Likewise.
39911         * lib/printf-parse.c: Likewise.
39912         * lib/vasnprintf.c: Likewise.
39913
39914 2007-01-29  Eric Blake  <ebb9@byu.net>
39915
39916         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
39917         declaration.
39918
39919 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
39920
39921         * lib/strptime.h (strptime): Use 'restrict' for args where
39922         POSIX requires this.
39923         * lib/strptime.c (strptime): Likewise.
39924         Change license notice from LGPL to GPL, since gnulib-tool will
39925         change this as needed.
39926         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
39927         defined.
39928         Include "strptime.h" first, to check interface.
39929         Do not #undef _LIBC and _NL_CURRENT.
39930         Do not include <stdlib.h>; no longer needed.
39931         Include "time_r.h" and declare ptime_locale_status
39932         only if _LIBC is not defined.
39933         (__P): Remove unused macro.
39934         (match_string): Bring back glibc version, but use it only if _LIBC
39935         is defined.
39936         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
39937         Remove unnecessary assertion and abort() call.
39938         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
39939         * m4/strptime.m4: Fix serial number comment.
39940         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
39941         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
39942         (Depends-on): Add time_r.
39943
39944 2007-01-29  Bruno Haible  <bruno@clisp.org>
39945
39946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39947         strptime.
39948         * modules/strptime (Depends-on): Add stdbool.
39949         * lib/strptime.h: Include <time.h> always. Add comments.
39950
39951 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39952
39953         * modules/strptime: New file.
39954         * lib/strptime.h: New file.
39955         * lib/strptime.c: New file.
39956         * m4/strptime.m4: New file.
39957
39958 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39959
39960         * MODULES.html.sh: New module mpsort.
39961         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
39962
39963         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
39964         a circularity problem with HP-UX ia64 reported by Bob Proulx in
39965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
39966         All uses changed.
39967         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
39968         All uses changed.
39969         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
39970         to _Restrict_.
39971         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
39972         the parameter matches the prototype.
39973
39974 2007-01-28  Jim Meyering  <jim@meyering.net>
39975
39976         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
39977         sys/time.h here, reverting that part of the previous patch:
39978         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
39979
39980 2007-01-28  Bruno Haible  <bruno@clisp.org>
39981
39982         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
39983         value of $(SYS_TIME_H).
39984         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
39985         remove it conditionally, too. [added by Jim Meyering]
39986         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
39987         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
39988         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
39989         GETTIMEOFDAY_REPLACEMENT to 1.
39990
39991 2007-01-28  Bruno Haible  <bruno@clisp.org>
39992
39993         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
39994         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
39995         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
39996         Set UNISTD_H instead of UNISTD_H2.
39997         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
39998
39999 2007-01-28  Bruno Haible  <bruno@clisp.org>
40000
40001         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
40002         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
40003
40004 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40005
40006         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
40007         (func_create_testdir): Ensure C locale for `grep' and `tr'
40008         character ranges.
40009         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
40010         ACLOCAL_AMFLAGS parsing state machine.
40011
40012 2007-01-27  Bruno Haible  <bruno@clisp.org>
40013
40014         * modules/unistr/base: Update.
40015
40016 2007-01-27  Bruno Haible  <bruno@clisp.org>
40017
40018         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
40019         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
40020         * modules/unistr/u32-mbtouc-unsafe: Renamed from
40021         modules/unistr/u32-mbtouc.
40022         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
40023         * lib/unistr.h: Update.
40024         * lib/linebreak.c: Update.
40025         * modules/unistr/u32-mbtouc: Renamed from
40026         modules/unistr/u32-mbtouc-safe.
40027         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
40028         * lib/unistr.h: Update.
40029         * lib/unistr/u32-to-u8.c: Update.
40030         * lib/unistr/u32-to-u16.c: Update.
40031
40032 2007-01-27  Bruno Haible  <bruno@clisp.org>
40033
40034         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
40035         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
40036         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
40037         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
40038         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
40039         * modules/unistr/u16-mbtouc-unsafe: Renamed from
40040         modules/unistr/u16-mbtouc.
40041         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
40042         * lib/unistr.h: Update.
40043         * lib/linebreak.c: Update.
40044         * modules/linebreak: Update.
40045         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
40046         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
40047         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
40048         * modules/unistr/u16-mbtouc: Renamed from
40049         modules/unistr/u16-mbtouc-safe.
40050         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
40051         * lib/unistr.h: Update.
40052         * lib/unistr/u16-to-u8.c: Update.
40053         * modules/unistr/u16-to-u8: Update.
40054         * lib/unistr/u16-to-u32.c: Update.
40055         * modules/unistr/u16-to-u32: Update.
40056
40057 2007-01-27  Bruno Haible  <bruno@clisp.org>
40058
40059         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
40060         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
40061         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
40062         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
40063         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
40064         * modules/unistr/u8-mbtouc-unsafe: Renamed from
40065         modules/unistr/u8-mbtouc.
40066         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
40067         * lib/unistr.h: Update.
40068         * lib/striconveh.c: Update.
40069         * modules/striconveh: Update.
40070         * lib/linebreak.c: Update.
40071         * modules/linebreak: Update.
40072         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
40073         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
40074         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
40075         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
40076         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
40077         * lib/unistr.h: Update.
40078         * lib/striconveh.c: Update.
40079         * modules/striconveh: Update.
40080         * lib/unistr/u8-to-u16.c: Update.
40081         * modules/unistr/u8-to-u16: Update.
40082         * lib/unistr/u8-to-u32.c: Update.
40083         * modules/unistr/u8-to-u32: Update.
40084
40085 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40086
40087         Sync from Libtool.
40088         * lib/argz.c: Do not include strings.h nor memory.h, include
40089         string.h unconditionally.  Patch by Simon Josefsson.
40090
40091 2007-01-27  Bruno Haible  <bruno@clisp.org>
40092
40093         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
40094         from gl_HEADER_STRING_H_BODY.
40095         (gl_HEADER_STRING_H_BODY): Require it.
40096         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
40097         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40098         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40099         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40100         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40101         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
40102         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40103         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40104         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
40105         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40106         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40107         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
40108         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40109         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40110         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40111
40112 2007-01-27  Bruno Haible  <bruno@clisp.org>
40113
40114         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
40115         check_PROGRAMS into noinst_PROGRAMS.
40116         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
40117         check_PROGRAMS in this case.
40118         (func_import): Set for_test to false.
40119         (func_create_testdir): Set for_test to true.
40120
40121 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40122             Bruno Haible  <bruno@clisp.org>
40123
40124         * modules/strcasestr (Files): Remove lib/strcasestr.h.
40125         (Depends-on): Add string.
40126         (Includes): Use <string.h> instead of strcasestr.h.
40127         * modules/string (Makefile.am): Also substitute the value of
40128         REPLACE_STRCASESTR.
40129         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
40130         assume strcasestr is declared in <string.h> not <strings.h>. Also
40131         set REPLACE_STRCASESTR.
40132         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
40133         REPLACE_STRCASESTR.
40134         * lib/strcasestr.h: Remove file.
40135         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
40136         * lib/string_.h (strcasestr): New declaration.
40137
40138 2007-01-27  Bruno Haible  <bruno@clisp.org>
40139
40140         * lib/string_.h: Use 'extern'.
40141
40142 2007-01-27  Jim Meyering  <jim@meyering.net>
40143
40144         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
40145         of set-but-not-used local, "q".
40146
40147         * lib/mempcpy.c: Include <config.h> before <string.h>.
40148         This fixes a compilation error on HP-UX, due to the system's
40149         "restrict"-using mempcpy prototype.
40150
40151 2007-01-26  Bruno Haible  <bruno@clisp.org>
40152
40153         Small optimization.
40154         * lib/javacomp.c: Include c-strstr.h.
40155          (is_envjavac_gcj): Use c_strstr instead of strstr.
40156         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
40157
40158 2007-01-26  Bruno Haible  <bruno@clisp.org>
40159
40160         * MODULES.html.sh (Unicode string functions): Add the new modules.
40161
40162         * modules/uniconv/u32-strconv-to-locale: New file.
40163         * lib/uniconv/u32-strconv-to-locale.c: New file.
40164
40165         * modules/uniconv/u16-strconv-to-locale: New file.
40166         * lib/uniconv/u16-strconv-to-locale.c: New file.
40167
40168         * modules/uniconv/u8-strconv-to-locale: New file.
40169         * lib/uniconv/u8-strconv-to-locale.c: New file.
40170
40171         * modules/uniconv/u32-strconv-from-locale: New file.
40172         * lib/uniconv/u32-strconv-from-locale.c: New file.
40173
40174         * modules/uniconv/u16-strconv-from-locale: New file.
40175         * lib/uniconv/u16-strconv-from-locale.c: New file.
40176
40177         * modules/uniconv/u8-strconv-from-locale: New file.
40178         * lib/uniconv/u8-strconv-from-locale.c: New file.
40179
40180         * modules/uniconv/u32-strconv-to-enc: New file.
40181         * lib/uniconv/u32-strconv-to-enc.c: New file.
40182         * modules/uniconv/u32-strconv-to-enc-tests: New file.
40183         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
40184
40185         * modules/uniconv/u16-strconv-to-enc: New file.
40186         * lib/uniconv/u16-strconv-to-enc.c: New file.
40187         * lib/uniconv/u-strconv-to-enc.h: New file.
40188         * modules/uniconv/u16-strconv-to-enc-tests: New file.
40189         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
40190
40191         * modules/uniconv/u8-strconv-to-enc: New file.
40192         * lib/uniconv/u8-strconv-to-enc.c: New file.
40193         * modules/uniconv/u8-strconv-to-enc-tests: New file.
40194         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
40195
40196         * modules/uniconv/u32-strconv-from-enc: New file.
40197         * lib/uniconv/u32-strconv-from-enc.c: New file.
40198         * modules/uniconv/u32-strconv-from-enc-tests: New file.
40199         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
40200
40201         * modules/uniconv/u16-strconv-from-enc: New file.
40202         * lib/uniconv/u16-strconv-from-enc.c: New file.
40203         * modules/uniconv/u16-strconv-from-enc-tests: New file.
40204         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
40205
40206         * modules/uniconv/u8-strconv-from-enc: New file.
40207         * lib/uniconv/u8-strconv-from-enc.c: New file.
40208         * lib/uniconv/u-strconv-from-enc.h: New file.
40209         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40210         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40211
40212         * modules/uniconv/u32-conv-from-enc: New file.
40213         * lib/uniconv/u32-conv-from-enc.c: New file.
40214         * modules/uniconv/u32-conv-from-enc-tests: New file.
40215         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40216
40217         * modules/uniconv/u16-conv-from-enc: New file.
40218         * lib/uniconv/u16-conv-from-enc.c: New file.
40219         * lib/uniconv/u-conv-from-enc.h: New file.
40220         * modules/uniconv/u16-conv-from-enc-tests: New file.
40221         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40222
40223         * modules/uniconv/u8-conv-from-enc: New file.
40224         * lib/uniconv/u8-conv-from-enc.c: New file.
40225         * modules/uniconv/u8-conv-from-enc-tests: New file.
40226         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40227
40228         * modules/uniconv/base: New file.
40229         * lib/uniconv.h: New file.
40230
40231 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40232
40233         * doc/gnulib-tool.texi (Initial import): Update to match current
40234         behavior with strdup module.
40235         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40236         * lib/memmem.h: Remove; all uses removed.  This is now done
40237         by <string.h>.
40238         * lib/mempcpy.h: Likewise.
40239         * lib/memrchr.h: Likewise.
40240         * lib/stpcpy.h: Likewise.
40241         * lib/stpncpy.h: Likewise.
40242         * lib/strcase.h: Likewise.
40243         * lib/strchrnul.h: Likewise.
40244         * lib/strdup.h: Likewise.
40245         * lib/strndup.h: Likewise.
40246         * lib/strnlen.h: Likewise.
40247         * lib/strpbrk.h: Likewise.
40248         * lib/strsep.h: Likewise.
40249         * lib/strstr.h: Likewise.
40250         * lib/strtok_r.h: Likewise.
40251         * lib/string_.h: New file.
40252         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40253         Rely on <string.h> instead.
40254         * lib/canon-host.c: Likewise.
40255         * lib/chdir-long.c: Likewise.
40256         * lib/concatpath.c: Likewise.
40257         * lib/exclude.c: Likewise.
40258         * lib/fchdir.c: Likewise.
40259         * lib/getaddrinfo.c: Likewise.
40260         * lib/getcwd.c: Likewise.
40261         * lib/getsubopt.c: Likewise.
40262         * lib/glob.c: Likewise.
40263         * lib/hard-locale.c: Likewise.
40264         * lib/iconvme.c: Likewise.
40265         * lib/javacomp.c: Likewise.
40266         * lib/mempcpy.c: Likewise.
40267         * lib/memrchr.c: Likewise.
40268         * lib/regex_internal.h: Likewise.
40269         * lib/stpncpy.c: Likewise.
40270         * lib/strcasecmp.c: Likewise.
40271         * lib/strchrnul.c: Likewise.
40272         * lib/strdup.c: Likewise.
40273         * lib/striconv.c: Likewise.
40274         * lib/striconveh.c: Likewise.
40275         * lib/striconveha.c: Likewise.
40276         * lib/strncasecmp.c: Likewise.
40277         * lib/strndup.c: Likewise.
40278         * lib/strnlen.c: Likewise.
40279         * lib/strsep.c: Likewise.
40280         * lib/strstr.c: Likewise.
40281         * lib/strtok_r.c: Likewise.
40282         * lib/userspec.c: Likewise.
40283         * lib/w32spawn.h: Likewise.
40284         * lib/xstrndup.c: Likewise.
40285         * lib/mountlist.c (strstr): Remove decl.
40286         * m4/string_h.m4: New file.
40287         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40288         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40289         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40290         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40291         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40292         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40293         Set REPLACE_STRCASECMP if necessary.
40294         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40295         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40296         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40297         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40298         HAVE_DECL_STRDUP if necessary.
40299         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40300         since gl_FUNC_STRNDUP does that now.
40301         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40302         Check for decl here...
40303         (gl_PREREQ_STRNLEN): ... not here.
40304         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40305         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40306         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40307         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40308         necessary.
40309         * modules/string: New file.
40310         * modules/memmem (Files): Remove special-purpose include file.
40311         (Depends-on): Add string.
40312         (Include): Include <string.h>, not the removed file.
40313         * modules/mempcpy: Likewise.
40314         * modules/memrchr: Likewise.
40315         * modules/stpcpy: Likewise.
40316         * modules/stpncpy: Likewise.
40317         * modules/strcase: Likewise.
40318         * modules/strchrnul: Likewise.
40319         * modules/strdup: Likewise.
40320         * modules/strndup: Likewise.
40321         * modules/strnlen: Likewise.
40322         * modules/strpbrk: Likewise.
40323         * modules/strsep: Likewise.
40324         * modules/strstr: Likewise.
40325         * modules/strtok_r: Likewise.
40326         * tests/test-dirname.c: Don't include "strdup.h", since
40327         <string.h> now suffices.
40328         * tests/test-memmem.c: Don't include "memmem.h", since
40329         <string.h> now suffices.
40330
40331 2007-01-25  Bruno Haible  <bruno@clisp.org>
40332
40333         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40334         *resultp is 0.
40335
40336         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40337         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40338         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40339         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40340
40341         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40342         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40343         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40344         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40345         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40346         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40347
40348 2007-01-24  Bruno Haible  <bruno@clisp.org>
40349
40350         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40351         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40352         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40353         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40354         gl_FUNC_FTS_CORE.
40355         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40356         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40357         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40358         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40359         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40360         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40361         gl_FUNC_FCHOWNAT.
40362         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40363         gl_FUNC_STRFTIME.
40364         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40365         Reported by Ralf Wildenhues.
40366
40367 2007-01-24  Bruno Haible  <bruno@clisp.org>
40368
40369         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40370         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40371         gl_GETADDRINFO.
40372         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40373         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40374         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40375
40376 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40377
40378         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40379         Don't use 'exit'; just return from 'main'.
40380         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40381
40382         * lib/fnmatch_.h: Readjust white space and comments to match
40383         glibc, to avoid spurious diffs.
40384
40385 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40386
40387         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40388         2004-12-01 change by Jakub Jelinek, since this code won't compile
40389         if !LIBC.  Problem reported by Bob Proulx.
40390
40391 2007-01-23  Bruno Haible  <bruno@clisp.org>
40392
40393         * lib/striconveh.c: Include c-strcaseeq.h.
40394         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40395         * modules/striconveh (Depends-on): Add c-strcaseeq.
40396
40397 2007-01-23  Bruno Haible  <bruno@clisp.org>
40398
40399         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40400
40401         * modules/c-strcaseeq: New file.
40402         * lib/c-strcaseeq.h: New file.
40403
40404         * modules/streq: New file.
40405         * lib/streq.h: New file.
40406
40407 2007-01-23  Bruno Haible  <bruno@clisp.org>
40408
40409         * modules/striconveha-tests: New file.
40410         * tests/test-striconveha.c: New file.
40411
40412         * lib/striconveha.h: Include <stdbool.h>.
40413         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40414         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40415         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40416         (mem_iconveha): New function.
40417         (str_iconveha_notranslit): Renamed from str_iconveha.
40418         (str_iconveha): New function.
40419         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
40420         c-strcase.
40421
40422 2007-01-23  Bruno Haible  <bruno@clisp.org>
40423
40424         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
40425         encodings without forgiving before trying any encoding with handler.
40426         (str_iconveha): Try all encodings without forgiving before trying any
40427         encoding with handler.
40428
40429 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40430
40431         Import the following changes from libc.
40432
40433         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
40434
40435         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
40436
40437         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
40438
40439         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
40440         normal_bracket label.
40441
40442         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
40443
40444         [BZ #361]
40445         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40446         to normal_bracket after fetching the next character.
40447
40448 2007-01-22  Bruno Haible  <bruno@clisp.org>
40449
40450         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40451         argument.
40452         * lib/striconveh.c (iconv_carefully_1): New function.
40453         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40454         argument.
40455         (str_cd_iconveh): Update.
40456         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40457         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40458         * tests/test-striconveh.c (MAGIC): New macro.
40459         (new_offsets): New function.
40460         (main): Test call with and without offsets.
40461
40462 2007-01-22  Bruno Haible  <bruno@clisp.org>
40463
40464         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40465         * modules/sys_select (Makefile.am): Likewise.
40466         * modules/sys_socket (Makefile.am): Likewise.
40467         * modules/sys_time (Makefile.am): Likewise.
40468
40469 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40470
40471         * modules/gettimeofday (License): Change from GPL to LGPL, since
40472         gettimeofday is a library function.
40473
40474 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40475
40476         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40477
40478 2007-01-21  Bruno Haible  <bruno@clisp.org>
40479
40480         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40481
40482 2007-01-21  Bruno Haible  <bruno@clisp.org>
40483
40484         * modules/striconveha: New file.
40485         * lib/striconveha.h: New file.
40486         * lib/striconveha.c: New file.
40487         * MODULES.html.sh (Internationalization functions): Add striconveha.
40488         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40489         string.
40490         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40491
40492 2007-01-21  Bruno Haible  <bruno@clisp.org>
40493
40494         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40495         * lib/striconveh.c (str_iconveh): Likewise.
40496
40497 2007-01-21  Bruno Haible  <bruno@clisp.org>
40498
40499         * lib/striconveh.h (mem_iconveh): New declaration.
40500         * lib/striconveh.c (mem_iconveh): New function.
40501         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40502
40503 2007-01-21  Bruno Haible  <bruno@clisp.org>
40504
40505         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40506
40507         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40508         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40509         original result buffer.
40510         (str_cd_iconveh): Update.
40511         * tests/test-striconveh.c (main): Update.
40512
40513         * lib/striconv.h (mem_cd_iconv): Change specification.
40514         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40515         result buffer.
40516         (str_cd_iconv): Update.
40517         * tests/test-striconv.c (main): Update.
40518
40519 2007-01-21  Bruno Haible  <bruno@clisp.org>
40520
40521         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40522
40523 2007-01-20  Jim Meyering  <jim@meyering.net>
40524
40525         * lib/userspec.c (parse_with_separator): If a user or group string
40526         starts with "+", skip the corresponding name-to-ID look-up, since
40527         such a look-up must fail: user and group names may not include "+".
40528
40529 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40530
40531         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40532         since we now assume the sys_time module.
40533         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40534         check for sys/time.h; no longer needed.
40535         * modules/poll (Depends-on): Depend on sys_time.
40536
40537 2007-01-18  Bruno Haible  <bruno@clisp.org>
40538
40539         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40540         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40541
40542         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40543         gettimeofday.
40544
40545         * tests/test-gettimeofday.c: Include <time.h>.
40546         (dummy): Remove variable.
40547
40548         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40549         gl_HEADER_SYS_TIME_H.
40550         (gl_HEADER_SYS_TIME_H): New macro.
40551
40552         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40553         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40554         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40555         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40556         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40557         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40558         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40559         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40560         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40561         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40562         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40563
40564         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40565         last change; it caused a compilation error when cross-compiling to
40566         Cygwin.
40567
40568 2007-01-18  Jim Meyering  <jim@meyering.net>
40569
40570         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40571         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40572         than the race-prone "test -d sys || mkdir sys".
40573         (configure.ac): Use AC_PROG_MKDIR_P.
40574         * modules/sys_select: Likewise.
40575         * modules/sys_socket: Likewise.
40576         * modules/sys_time: Likewise.
40577
40578 2007-01-18  Eric Blake  <ebb9@byu.net>
40579
40580         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40581         replace gettimeofday.
40582         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40583         name, to avoid infinite recursion.
40584
40585 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40586
40587         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40588         module sys_time.
40589         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40590         assume timespec.h defines struct timeval.
40591         * lib/settime.c: Likewise.
40592         * lib/utimens.c: Likewise.
40593         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40594         since we now assume the gettimeofday module.
40595         * lib/tempname.c (__gen_tempname): Likewise.
40596         * lib/gettimeofday.h: Remove.
40597         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40598         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40599         Include <time.h>, for 'time()'.
40600         (localtime_buffer_addr): Also use this workaround if
40601         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40602         to simplify the uses.  All uses changed.
40603         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40604         that #undef is inside {}, and 'const' follows type name consistently.
40605         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40606         (gettimeofday): Do not use the maximum possible value for
40607         tv->tv_usec, since that might break usages other than ls.c.
40608         Instead, we'll leave ls.c alone.  This undoes today's patch
40609         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40610         we've never observed the problem but might as well keep the
40611         canary.
40612         * lib/nanosleep.c: Include timespec.h first, for interface check.
40613         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40614         now assume the sys_time module.
40615         * lib/tempname.c: Likewise.
40616         * lib/timespec.h: Likewise.
40617         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40618         needed.
40619         * lib/strftime.c: Likewise.
40620         * lib/timespec.h: Likewise.
40621         * lib/posixtm.c: Include posixtm.h first, for interface check.
40622         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40623         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40624         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40625         * lib/sys_time_.h: New file.
40626         * lib/timespec.h (struct timespec): Use long int, not long.
40627         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40628         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40629         Remove obsolescent call to AC_HEADER_TIME.
40630         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40631         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40632         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40633         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40634         Likewise.
40635         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40636         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40637         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40638         into the sys_time module.  Check for gettimeofday just once.
40639         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40640         for gettimeofday signature to just check the signature.  Merely
40641         compile it, since linking doesn't test signature.  Improve test for
40642         whether gettimeofday.o is actually needed.
40643         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40644         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40645         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40646         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40647         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40648         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40649         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40650         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40651         than worrying about sys/time.h.
40652         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40653         Don't bother worrying about TIME_WITH_SYS_TIME.
40654         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40655         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40656         * m4/sys_time_h.m4: New file.
40657         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40658         Don't include sys/time.h.  Return from main rather than exiting.
40659         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40660         all uses changed.
40661         * modules/gethrxtime (Depends-on): Add sys_time.
40662         * modules/gettime (Depends-on): Likewise.
40663         * modules/gettimeofday (Depends-on): Likewise.
40664         * modules/nanosleep (Depends-on): Likewise.
40665         * modules/settime (Depends-on): Likewise.
40666         * modules/tempname (Depends-on): Likewise.
40667         * modules/utimens (Depends-on): Likewise.
40668         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40669         (Include:) Change back to <sys/time.h>.
40670         (Maintainer:) Add self.
40671         * modules/sys_time: New file.
40672         * modules/tempname (Depends-on): Add gettimeofday.
40673         * tests/test-gettimeofday.c: Include <sys/time.h>
40674         rather than gettimeofday.h.
40675
40676 2007-01-17  Bruno Haible  <bruno@clisp.org>
40677
40678         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40679         the license default to GPL.
40680         (func_create_testdir): Don't complain if a module is LGPL and its
40681         tests module depends on GPLed modules.
40682
40683 2007-01-17  Bruno Haible  <bruno@clisp.org>
40684
40685         * lib/gettimeofday.c (gettimeofday): Add code for the case
40686         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40687         maximum possible value for tv->tv_usec, rather than the minimum one.
40688
40689 2005-10-08  Martin Lambers  <marlam@marlam.de>
40690 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40691 2007-01-16  Bruno Haible  <bruno@clisp.org>
40692
40693         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40694         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40695         gl_FUNC_GETTIMEOFDAY.
40696         (Include): Add gettimeofday.h.
40697         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40698         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40699         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40700         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40701         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40702         * lib/gettimeofday.h: New file.
40703         * lib/gettimeofday.c: Include <sys/timeb.h>.
40704         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40705         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40706         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40707         fall back on time().
40708
40709         * tests/test-gettimeofday.c: New file.
40710         * modules/gettimeofday-tests: New file.
40711
40712 2007-01-16  Eric Blake  <ebb9@byu.net>
40713
40714         * modules/fnmatch (Depends-on): Depend on wchar.
40715         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40716         * m4/fnmatch.m4: Likewise.
40717         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40718         * m4/mbchar.m4: Likewise.
40719         * modules/mbswidth (Depends-on): Depend on wchar.
40720         * lib/mbswidth.c: Assume <wchar.h>.
40721         * m4/mbswidth.m4: Likewise.
40722         * modules/quotearg (Depends-on): Depend on wchar.
40723         * lib/quotearg.c: Assume <wchar.h>.
40724         * m4/quotearg.m4: Likewise.
40725         * modules/regex (Depends-on): Depend on wchar.
40726         * lib/regex_internal.h: Assume <wchar.h>.
40727         * m4/regex.m4: Likewise.
40728         * modules/stdint (Depends-on): Depend on wchar.
40729         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40730         * m4/stdint.m4: Likewise.
40731         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40732         * modules/strftime (Depends-on): Depend on wchar.
40733         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40734         * modules/strtol (Depends-on): Depend on wchar.
40735         * lib/strtol.c: Assume <wchar.h>.
40736         * modules/wcwidth (Depends-on): Depend on wchar.
40737         * lib/wcwidth.h: Assume <wchar.h>.
40738         * m4/wcwidth.m4: Likewise.
40739
40740 2007-01-16  Bruno Haible  <bruno@clisp.org>
40741
40742         * modules/csharpexec-script: New, created from...
40743         * modules/csharpexec: ... this.
40744
40745 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40746
40747         * modules/javaexec-script: New, created from...
40748         * modules/javaexec: ... this.
40749
40750 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40751
40752         * modules/poll (Dependencies): Add sys_select.
40753
40754 2007-01-15  Jim Meyering  <jim@meyering.net>
40755
40756         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40757         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40758         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40759         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40760
40761 2007-01-15  Bruno Haible  <bruno@clisp.org>
40762
40763         * modules/striconveh: New file.
40764         * lib/striconveh.h: New file.
40765         * lib/striconveh.c: New file.
40766         * MODULES.html.sh (Internationalization functions): Add striconveh.
40767
40768         * modules/striconveh-tests: New file.
40769         * tests/test-striconveh.c: New file.
40770
40771 2007-01-15  Bruno Haible  <bruno@clisp.org>
40772
40773         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40774         not from GNU libiconv or GNU libc.
40775
40776 2007-01-15  Bruno Haible  <bruno@clisp.org>
40777
40778         * doc/gnulib-intro.texi (Copyright): Explain the different license
40779         terms for module descriptions, autoconf macros, tests, documentation.
40780
40781 2007-01-14  Bruno Haible  <bruno@clisp.org>
40782
40783         * modules/striconv-tests: New file.
40784         * tests/test-striconv.c: New file.
40785
40786 2007-01-14  Bruno Haible  <bruno@clisp.org>
40787
40788         * modules/iconv-tests: New file.
40789         * tests/test-iconv.c: New file.
40790
40791 2007-01-14  Bruno Haible  <bruno@clisp.org>
40792
40793         * gnulib-tool (func_get_license): For test modules, use the license of
40794         the main module.
40795
40796 2007-01-14  Bruno Haible  <bruno@clisp.org>
40797
40798         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40799         if iconv is found to exist.
40800
40801 2007-01-14  Bruno Haible  <bruno@clisp.org>
40802
40803         * modules/c-ctype-tests: New file.
40804         * tests/test-c-ctype.c: New file.
40805
40806 2007-01-14  Bruno Haible  <bruno@clisp.org>
40807
40808         * modules/binary-io-tests: New file.
40809         * tests/test-binary-io.sh: New file.
40810         * tests/test-binary-io.c: New file.
40811
40812 2007-01-14  Bruno Haible  <bruno@clisp.org>
40813
40814         * modules/array-oset-tests: New file.
40815         * tests/test-array_oset.c: New file.
40816
40817 2007-01-14  Bruno Haible  <bruno@clisp.org>
40818
40819         * modules/array-list-tests: New file.
40820         * tests/test-array_list.c: New file.
40821
40822 2007-01-14  Bruno Haible  <bruno@clisp.org>
40823
40824         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40825         and make.
40826         Reported by Simon Josefsson in
40827         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40828
40829 2007-01-14  Bruno Haible  <bruno@clisp.org>
40830
40831         * modules/allocsa-tests: New file.
40832         * tests/test-allocsa.c: New file.
40833
40834 2007-01-14  Bruno Haible  <bruno@clisp.org>
40835
40836         * modules/fchdir (Depends-on): Add absolute-header.
40837         * modules/unistd (Depends-on): Likewise.
40838
40839 2006-12-30  Bruno Haible  <bruno@clisp.org>
40840
40841         * modules/fchdir: New file.
40842         * modules/unistd (Files): Add lib/unistd_.h.
40843         (Makefile.am): Generate unistd.h from unistd_.h.
40844         * lib/fchdir.c: New file.
40845         * lib/dirent_.h: New file.
40846         * lib/unistd_.h: New file.
40847         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40848         * m4/fchdir.m4: New file.
40849         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40850         (gl_HEADER_UNISTD): Invoke it.
40851         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40852         function.
40853         * lib/backupfile.c (opendir, closedir): Undefine.
40854         * lib/chown.c (open, close): Undefine.
40855         * lib/clean-temp.c (open, close): Undefine.
40856         * lib/copy-file.c (open, close): Undefine.
40857         * lib/execute.c (open, close): Undefine.
40858         * lib/fsusage.c (open, close): Undefine.
40859         * lib/gc-gnulib.c (open, close): Undefine.
40860         * lib/getcwd.c (opendir, closedir): Undefine.
40861         * lib/glob.c (opendir, closedir): Undefine.
40862         * lib/javacomp.c (open, close): Undefine.
40863         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40864         * lib/openat-proc.c (open, close): Undefine.
40865         * lib/pagealign_alloc.c (open, close): Undefine.
40866         * lib/pipe.c (open, close): Undefine.
40867         * lib/progreloc.c (open, close): Undefine.
40868         * lib/savedir.c (opendir, closedir): Undefine.
40869         * lib/utime.c (open, close): Undefine.
40870         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40871
40872 2007-01-10  Bruno Haible  <bruno@clisp.org>
40873
40874         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40875
40876 2007-01-12  Eric Blake  <ebb9@byu.net>
40877
40878         Provide a robust <wchar.h>.  Further simplifications are now
40879         possible in other modules, but not included here.
40880         * modules/wchar: New module.
40881         * m4/wchar.m4: New file.
40882         * lib/wchar_.h: Likewise.
40883         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40884         of the new module.
40885         * MODULES.html.sh (Extended multibyte and wide character utilities):
40886         New section.
40887
40888 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40889
40890         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40891         to a reasonable default for memory allocation.
40892         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40893         file system that reports garbage st_size values for symlinks.
40894         Problem reported by Liyang Hu.
40895
40896 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40897
40898         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40899         Emacs .#* auto-save files).
40900
40901 2007-01-11  Bruno Haible  <bruno@clisp.org>
40902
40903         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
40904         directory.
40905
40906 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40907
40908         Use @...@ consistently in lib/wctype_.h.
40909         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
40910         on it being set to 1 or 0.
40911         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
40912         go back to AC_SUBSTing it.
40913         * modules/wctype (Makefile.am): Undo previous change.
40914
40915 2007-01-10  Eric Blake  <ebb9@byu.net>
40916
40917         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
40918         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
40919         * modules/wctype (Makefile.am): Likewise.
40920         Reported by Chris McGuire.
40921
40922 2007-01-10  Jim Meyering  <jim@meyering.net>
40923
40924         fts.c: a small readability/maintainability improvement
40925         * lib/fts.c (fts_read): Make this code slightly more readable and
40926         maintainable by hoisting the "sp->fts_cur = p" assignments to
40927         immediately follow the statements that set P.  Derived from
40928         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
40929
40930 2007-01-10  Eric Blake  <ebb9@byu.net>
40931
40932         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
40933         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
40934         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40935         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40936         Reported by Chris McGuire.
40937
40938 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40939
40940         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
40941         in sed script.
40942
40943 2007-01-09  Bruno Haible  <bruno@clisp.org>
40944
40945         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
40946         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
40947         variables.
40948         (func_module): Use them.
40949
40950 2007-01-09  Bruno Haible  <bruno@clisp.org>
40951
40952         * modules/unistr/base: New file.
40953         * lib/unistr.h: New file.
40954
40955         * modules/unistr/u8-to-u16: New file.
40956         * lib/unistr/u8-to-u16.c: New file.
40957
40958         * modules/unistr/u8-to-u32: New file.
40959         * lib/unistr/u8-to-u32.c: New file.
40960
40961         * modules/unistr/u16-to-u8: New file.
40962         * lib/unistr/u16-to-u8.c: New file.
40963
40964         * modules/unistr/u16-to-u32: New file.
40965         * lib/unistr/u16-to-u32.c: New file.
40966
40967         * modules/unistr/u32-to-u8: New file.
40968         * lib/unistr/u32-to-u8.c: New file.
40969
40970         * modules/unistr/u32-to-u16: New file.
40971         * lib/unistr/u32-to-u16.c: New file.
40972
40973         * modules/unistr/u8-check: New file.
40974         * modules/unistr/u16-check: New file.
40975         * modules/unistr/u32-check: New file.
40976         * lib/unistr/u8-check.c: New file.
40977         * lib/unistr/u16-check.c: New file.
40978         * lib/unistr/u32-check.c: New file.
40979
40980         * modules/unistr/u8-chr: New file.
40981         * modules/unistr/u16-chr: New file.
40982         * modules/unistr/u32-chr: New file.
40983         * lib/unistr/u8-chr.c: New file.
40984         * lib/unistr/u16-chr.c: New file.
40985         * lib/unistr/u32-chr.c: New file.
40986
40987         * modules/unistr/u8-cmp: New file.
40988         * modules/unistr/u16-cmp: New file.
40989         * modules/unistr/u32-cmp: New file.
40990         * lib/unistr/u8-cmp.c: New file.
40991         * lib/unistr/u16-cmp.c: New file.
40992         * lib/unistr/u32-cmp.c: New file.
40993
40994         * modules/unistr/u8-cpy: New file.
40995         * modules/unistr/u16-cpy: New file.
40996         * modules/unistr/u32-cpy: New file.
40997         * lib/unistr/u8-cpy.c: New file.
40998         * lib/unistr/u16-cpy.c: New file.
40999         * lib/unistr/u32-cpy.c: New file.
41000         * lib/unistr/u-cpy.h: New file.
41001
41002         * modules/unistr/u8-cpy-alloc: New file.
41003         * modules/unistr/u16-cpy-alloc: New file.
41004         * modules/unistr/u32-cpy-alloc: New file.
41005         * lib/unistr/u8-cpy-alloc.c: New file.
41006         * lib/unistr/u16-cpy-alloc.c: New file.
41007         * lib/unistr/u32-cpy-alloc.c: New file.
41008         * lib/unistr/u-cpy-alloc.h: New file.
41009
41010         * modules/unistr/u8-endswith: New file.
41011         * modules/unistr/u16-endswith: New file.
41012         * modules/unistr/u32-endswith: New file.
41013         * lib/unistr/u8-endswith.c: New file.
41014         * lib/unistr/u16-endswith.c: New file.
41015         * lib/unistr/u32-endswith.c: New file.
41016         * lib/unistr/u-endswith.h: New file.
41017
41018         * modules/unistr/u8-mblen: New file.
41019         * modules/unistr/u16-mblen: New file.
41020         * modules/unistr/u32-mblen: New file.
41021         * lib/unistr/u8-mblen.c: New file.
41022         * lib/unistr/u16-mblen.c: New file.
41023         * lib/unistr/u32-mblen.c: New file.
41024
41025         * modules/unistr/u8-mbtouc: New file.
41026         * modules/unistr/u16-mbtouc: New file.
41027         * modules/unistr/u32-mbtouc: New file.
41028         * lib/unistr/u8-mbtouc.c: New file.
41029         * lib/unistr/u16-mbtouc.c: New file.
41030         * lib/unistr/u32-mbtouc.c: New file.
41031
41032         * modules/unistr/u8-mbtouc-safe: New file.
41033         * modules/unistr/u16-mbtouc-safe: New file.
41034         * modules/unistr/u32-mbtouc-safe: New file.
41035         * lib/unistr/u8-mbtouc-safe.c: New file.
41036         * lib/unistr/u16-mbtouc-safe.c: New file.
41037         * lib/unistr/u32-mbtouc-safe.c: New file.
41038
41039         * modules/unistr/u8-move: New file.
41040         * modules/unistr/u16-move: New file.
41041         * modules/unistr/u32-move: New file.
41042         * lib/unistr/u8-move.c: New file.
41043         * lib/unistr/u16-move.c: New file.
41044         * lib/unistr/u32-move.c: New file.
41045         * lib/unistr/u-move.h: New file.
41046
41047         * modules/unistr/u8-next: New file.
41048         * modules/unistr/u16-next: New file.
41049         * modules/unistr/u32-next: New file.
41050         * lib/unistr/u8-next.c: New file.
41051         * lib/unistr/u16-next.c: New file.
41052         * lib/unistr/u32-next.c: New file.
41053
41054         * modules/unistr/u8-prev: New file.
41055         * modules/unistr/u16-prev: New file.
41056         * modules/unistr/u32-prev: New file.
41057         * lib/unistr/u8-prev.c: New file.
41058         * lib/unistr/u16-prev.c: New file.
41059         * lib/unistr/u32-prev.c: New file.
41060
41061         * modules/unistr/u8-set: New file.
41062         * modules/unistr/u16-set: New file.
41063         * modules/unistr/u32-set: New file.
41064         * lib/unistr/u8-set.c: New file.
41065         * lib/unistr/u16-set.c: New file.
41066         * lib/unistr/u32-set.c: New file.
41067         * lib/unistr/u-set.h: New file.
41068
41069         * modules/unistr/u8-startswith: New file.
41070         * modules/unistr/u16-startswith: New file.
41071         * modules/unistr/u32-startswith: New file.
41072         * lib/unistr/u8-startswith.c: New file.
41073         * lib/unistr/u16-startswith.c: New file.
41074         * lib/unistr/u32-startswith.c: New file.
41075         * lib/unistr/u-startswith.h: New file.
41076
41077         * modules/unistr/u8-stpcpy: New file.
41078         * modules/unistr/u16-stpcpy: New file.
41079         * modules/unistr/u32-stpcpy: New file.
41080         * lib/unistr/u8-stpcpy.c: New file.
41081         * lib/unistr/u16-stpcpy.c: New file.
41082         * lib/unistr/u32-stpcpy.c: New file.
41083         * lib/unistr/u-stpcpy.h: New file.
41084
41085         * modules/unistr/u8-stpncpy: New file.
41086         * modules/unistr/u16-stpncpy: New file.
41087         * modules/unistr/u32-stpncpy: New file.
41088         * lib/unistr/u8-stpncpy.c: New file.
41089         * lib/unistr/u16-stpncpy.c: New file.
41090         * lib/unistr/u32-stpncpy.c: New file.
41091         * lib/unistr/u-stpncpy.h: New file.
41092
41093         * modules/unistr/u8-strcat: New file.
41094         * modules/unistr/u16-strcat: New file.
41095         * modules/unistr/u32-strcat: New file.
41096         * lib/unistr/u8-strcat.c: New file.
41097         * lib/unistr/u16-strcat.c: New file.
41098         * lib/unistr/u32-strcat.c: New file.
41099         * lib/unistr/u-strcat.h: New file.
41100
41101         * modules/unistr/u8-strchr: New file.
41102         * modules/unistr/u16-strchr: New file.
41103         * modules/unistr/u32-strchr: New file.
41104         * lib/unistr/u8-strchr.c: New file.
41105         * lib/unistr/u16-strchr.c: New file.
41106         * lib/unistr/u32-strchr.c: New file.
41107
41108         * modules/unistr/u8-strcmp: New file.
41109         * modules/unistr/u16-strcmp: New file.
41110         * modules/unistr/u32-strcmp: New file.
41111         * lib/unistr/u8-strcmp.c: New file.
41112         * lib/unistr/u16-strcmp.c: New file.
41113         * lib/unistr/u32-strcmp.c: New file.
41114
41115         * modules/unistr/u8-strcpy: New file.
41116         * modules/unistr/u16-strcpy: New file.
41117         * modules/unistr/u32-strcpy: New file.
41118         * lib/unistr/u8-strcpy.c: New file.
41119         * lib/unistr/u16-strcpy.c: New file.
41120         * lib/unistr/u32-strcpy.c: New file.
41121         * lib/unistr/u-strcpy.h: New file.
41122
41123         * modules/unistr/u8-strcspn: New file.
41124         * modules/unistr/u16-strcspn: New file.
41125         * modules/unistr/u32-strcspn: New file.
41126         * lib/unistr/u8-strcspn.c: New file.
41127         * lib/unistr/u16-strcspn.c: New file.
41128         * lib/unistr/u32-strcspn.c: New file.
41129         * lib/unistr/u-strcspn.h: New file.
41130
41131         * modules/unistr/u8-strdup: New file.
41132         * modules/unistr/u16-strdup: New file.
41133         * modules/unistr/u32-strdup: New file.
41134         * lib/unistr/u8-strdup.c: New file.
41135         * lib/unistr/u16-strdup.c: New file.
41136         * lib/unistr/u32-strdup.c: New file.
41137         * lib/unistr/u-strdup.h: New file.
41138
41139         * modules/unistr/u8-strlen: New file.
41140         * modules/unistr/u16-strlen: New file.
41141         * modules/unistr/u32-strlen: New file.
41142         * lib/unistr/u8-strlen.c: New file.
41143         * lib/unistr/u16-strlen.c: New file.
41144         * lib/unistr/u32-strlen.c: New file.
41145         * lib/unistr/u-strlen.h: New file.
41146
41147         * modules/unistr/u8-strmblen: New file.
41148         * modules/unistr/u16-strmblen: New file.
41149         * modules/unistr/u32-strmblen: New file.
41150         * lib/unistr/u8-strmblen.c: New file.
41151         * lib/unistr/u16-strmblen.c: New file.
41152         * lib/unistr/u32-strmblen.c: New file.
41153
41154         * modules/unistr/u8-strmbtouc: New file.
41155         * modules/unistr/u16-strmbtouc: New file.
41156         * modules/unistr/u32-strmbtouc: New file.
41157         * lib/unistr/u8-strmbtouc.c: New file.
41158         * lib/unistr/u16-strmbtouc.c: New file.
41159         * lib/unistr/u32-strmbtouc.c: New file.
41160
41161         * modules/unistr/u8-strncat: New file.
41162         * modules/unistr/u16-strncat: New file.
41163         * modules/unistr/u32-strncat: New file.
41164         * lib/unistr/u8-strncat.c: New file.
41165         * lib/unistr/u16-strncat.c: New file.
41166         * lib/unistr/u32-strncat.c: New file.
41167         * lib/unistr/u-strncat.h: New file.
41168
41169         * modules/unistr/u8-strncmp: New file.
41170         * modules/unistr/u16-strncmp: New file.
41171         * modules/unistr/u32-strncmp: New file.
41172         * lib/unistr/u8-strncmp.c: New file.
41173         * lib/unistr/u16-strncmp.c: New file.
41174         * lib/unistr/u32-strncmp.c: New file.
41175
41176         * modules/unistr/u8-strncpy: New file.
41177         * modules/unistr/u16-strncpy: New file.
41178         * modules/unistr/u32-strncpy: New file.
41179         * lib/unistr/u8-strncpy.c: New file.
41180         * lib/unistr/u16-strncpy.c: New file.
41181         * lib/unistr/u32-strncpy.c: New file.
41182         * lib/unistr/u-strncpy.h: New file.
41183
41184         * modules/unistr/u8-strnlen: New file.
41185         * modules/unistr/u16-strnlen: New file.
41186         * modules/unistr/u32-strnlen: New file.
41187         * lib/unistr/u8-strnlen.c: New file.
41188         * lib/unistr/u16-strnlen.c: New file.
41189         * lib/unistr/u32-strnlen.c: New file.
41190         * lib/unistr/u-strnlen.h: New file.
41191
41192         * modules/unistr/u8-strpbrk: New file.
41193         * modules/unistr/u16-strpbrk: New file.
41194         * modules/unistr/u32-strpbrk: New file.
41195         * lib/unistr/u8-strpbrk.c: New file.
41196         * lib/unistr/u16-strpbrk.c: New file.
41197         * lib/unistr/u32-strpbrk.c: New file.
41198         * lib/unistr/u-strpbrk.h: New file.
41199
41200         * modules/unistr/u8-strrchr: New file.
41201         * modules/unistr/u16-strrchr: New file.
41202         * modules/unistr/u32-strrchr: New file.
41203         * lib/unistr/u8-strrchr.c: New file.
41204         * lib/unistr/u16-strrchr.c: New file.
41205         * lib/unistr/u32-strrchr.c: New file.
41206
41207         * modules/unistr/u8-strspn: New file.
41208         * modules/unistr/u16-strspn: New file.
41209         * modules/unistr/u32-strspn: New file.
41210         * lib/unistr/u8-strspn.c: New file.
41211         * lib/unistr/u16-strspn.c: New file.
41212         * lib/unistr/u32-strspn.c: New file.
41213         * lib/unistr/u-strspn.h: New file.
41214
41215         * modules/unistr/u8-strstr: New file.
41216         * modules/unistr/u16-strstr: New file.
41217         * modules/unistr/u32-strstr: New file.
41218         * lib/unistr/u8-strstr.c: New file.
41219         * lib/unistr/u16-strstr.c: New file.
41220         * lib/unistr/u32-strstr.c: New file.
41221         * lib/unistr/u-strstr.h: New file.
41222
41223         * modules/unistr/u8-strtok: New file.
41224         * modules/unistr/u16-strtok: New file.
41225         * modules/unistr/u32-strtok: New file.
41226         * lib/unistr/u8-strtok.c: New file.
41227         * lib/unistr/u16-strtok.c: New file.
41228         * lib/unistr/u32-strtok.c: New file.
41229         * lib/unistr/u-strtok.h: New file.
41230
41231         * modules/unistr/u8-uctomb: New file.
41232         * modules/unistr/u16-uctomb: New file.
41233         * modules/unistr/u32-uctomb: New file.
41234         * lib/unistr/u8-uctomb.c: New file.
41235         * lib/unistr/u16-uctomb.c: New file.
41236         * lib/unistr/u32-uctomb.c: New file.
41237
41238         * MODULES.html.sh (Unicode string functions): Add the new modules.
41239
41240 2007-01-08  Bruno Haible  <bruno@clisp.org>
41241
41242         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41243         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41244         subdirectories.
41245
41246 2007-01-08  Karl Berry  <karl@gnu.org>
41247
41248         * doc/error.texi: mention that main() fns must set program_name
41249         when progname is used.
41250
41251 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41252
41253         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41254         WCTYPE_H is empty, for the benefit of builds from non-distclean
41255         directories.  Problem reported by Eric Blake in
41256         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41257
41258 2007-01-08  Bruno Haible  <bruno@clisp.org>
41259
41260         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41261         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41262         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41263         PROVIDE_CANONICALIZE_FILENAME_MODE.
41264         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41265
41266 2007-01-08  Bruno Haible  <bruno@clisp.org>
41267
41268         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41269         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41270         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41271         * lib/fts.c: Likewise.
41272         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41273
41274 2006-12-25  Bruno Haible  <bruno@clisp.org>
41275
41276         * modules/utf8-ucs4-safe: New file.
41277         * lib/utf8-ucs4-safe.h: New file.
41278         * lib/unistr/utf8-ucs4-safe.c: New file.
41279
41280         * modules/utf16-ucs4-safe: New file.
41281         * lib/utf16-ucs4-safe.h: New file.
41282         * lib/unistr/utf16-ucs4-safe.c: New file.
41283
41284         * MODULES.html.sh (Unicode string functions): Add the new modules.
41285
41286 2007-01-08  Bruno Haible  <bruno@clisp.org>
41287
41288         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41289         (Depends-on): Add unitypes.
41290         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41291         (u8_mbtouc_aux): Move out to separate file.
41292         (u8_mbtouc): Use ucs4_t, uint8_t types.
41293         * lib/unistr/utf8-ucs4.c: New file.
41294
41295         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41296         (Depends-on): Add unitypes.
41297         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41298         (u16_mbtouc_aux): Move out to separate file.
41299         (u16_mbtouc): Use ucs4_t, uint16_t types.
41300         * lib/unistr/utf16-ucs4.c: New file.
41301
41302         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41303         (Depends-on): Add unitypes.
41304         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41305         (u8_uctomb_aux): Move out to separate file.
41306         (u8_uctomb): Use ucs4_t, uint8_t types.
41307         * lib/unistr/ucs4-utf8.c: New file.
41308
41309         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41310         (Depends-on): Add unitypes.
41311         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41312         (u16_uctomb_aux): Move out to separate file.
41313         (u16_uctomb): Use ucs4_t, uint16_t types.
41314         * lib/unistr/ucs4-utf16.c: New file.
41315
41316 2006-12-25  Bruno Haible  <bruno@clisp.org>
41317
41318         * modules/unitypes: New file.
41319         * lib/unitypes.h: New file.
41320         * MODULES.html.sh (func_all_modules): New section "Unicode string
41321         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41322         this section. Add unitypes.
41323
41324 2007-01-08  Bruno Haible  <bruno@clisp.org>
41325
41326         Avoid variable names that conflict with those from libtool.
41327         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41328         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41329         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41330         library_names_spec to acl_library_names_spec, hardcode_* to
41331         acl_hardcode_*.
41332         Reported by Ralf Wildenhues.
41333
41334 2007-01-08  Bruno Haible  <bruno@clisp.org>
41335
41336         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41337         definition.
41338         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41339         definition.
41340         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41341         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41342         definition.
41343         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41344         definition.
41345         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41346         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41347         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41348         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41349         definition.
41350         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41351         definition.
41352         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41353         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41354         GC_USE_<algorithm>.
41355         * lib/gc-libgcrypt.c: Likewise.
41356         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41357         * modules/gc-arctwo (configure.ac): Likewise.
41358         * modules/gc-des (configure.ac): Likewise.
41359         * modules/gc-hmac-md5 (configure.ac): Likewise.
41360         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41361         * modules/gc-md2 (configure.ac): Likewise.
41362         * modules/gc-md4 (configure.ac): Likewise.
41363         * modules/gc-md5 (configure.ac): Likewise.
41364         * modules/gc-random (configure.ac): Likewise.
41365         * modules/gc-rijndael (configure.ac): Likewise.
41366         * modules/gc-sha1 (configure.ac): Likewise.
41367
41368 2007-01-08  Bruno Haible  <bruno@clisp.org>
41369
41370         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41371         macro definition.
41372         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41373         definition.
41374         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41375         definition.
41376         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41377         * modules/fcntl-safer (configure.ac): Likewise.
41378         * modules/fopen-safer (configure.ac): Likewise.
41379         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41380         GNULIB_FWRITEERROR macro definition.
41381
41382 2007-01-08  Bruno Haible  <bruno@clisp.org>
41383
41384         * m4/gnulib-common.m4: New file.
41385         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41386         (func_get_filelist): Add m4/gnulib-common.m4.
41387
41388 2007-01-08  Bruno Haible  <bruno@clisp.org>
41389
41390         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41391         command.
41392
41393 2007-01-08  Jim Meyering  <jim@meyering.net>
41394
41395         Use a more robust test for a "can't happen" condition.
41396         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41397         narrowed the st_size value.  Presuming the "can't happen" condition
41398         is true, that narrowing could conceivably convert an invalid st_size
41399         value into a valid one.  Instead, use a change based on Matthew
41400         Woehlke's original patch.
41401
41402         Slight readability improvement: use an assert-like macro
41403         in place of literal "abort ()" uses.
41404         * lib/fts.c (fts_assert): Define.
41405         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41406         Use this macro instead of a bare 'abort'.
41407
41408 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41409
41410         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41411         simply work around them.
41412         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41413         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41414         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41415         declaring.
41416         Don't bother to define as macros, since the standard doesn't require it.
41417         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
41418         longer worry about IRIX 5.3.
41419         (HAVE_WCTYPE_CTMP_BUG): Remove.
41420
41421 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41422
41423         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
41424         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
41425         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41426         Problems reported by Georg Schwarz for IRIX 5.3.
41427
41428         * gnulib-tool (autoconf_minversion): Take the maximum version number
41429         found, not the minimum.  Problem reported by James Youngman.
41430
41431 2007-01-03  Karl Berry  <karl@gnu.org>
41432
41433         * doc/error.texi: new file, explaining interaction with progname.
41434         * doc/gnulib.texi: include it.  Update copyright.
41435
41436 2007-01-03  Simon Josefsson  <simon@josefsson.org>
41437
41438         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
41439         AC_CANONICAL_HOST, to improve autobuild outputs.
41440
41441 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
41442             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41443
41444         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
41445         sockets, server sockets, and other file descriptors.  Count errors
41446         to compute the return value.  Reorder the code a bit to be easier
41447         to follow.  Don't set event bits that were not requested (except
41448         POLLERR and POLLHUP).
41449
41450 2007-01-01  Bruno Haible  <bruno@clisp.org>
41451
41452         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41453
41454 2007-01-03  Jim Meyering  <jim@meyering.net>
41455
41456         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41457
41458 2007-01-02  Bruno Haible  <bruno@clisp.org>
41459
41460         * modules/settime (Include): Require timespec.h.
41461         * modules/nanosleep (Include): Likewise.
41462
41463 2007-01-01  Bruno Haible  <bruno@clisp.org>
41464
41465         * gnulib-tool (func_emit_copyright_notice): Bump year.
41466         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41467
41468 2007-01-01  Bruno Haible  <bruno@clisp.org>
41469
41470         Improve support for OpenBSD.
41471         * build-aux/config.rpath (libname_spec): Export.
41472         (library_names_spec): New variable. Export.
41473         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41474         library_names_spec from the config.rpath output. Locate shared library
41475         through the name pattern in library_names_spec.
41476
41477 2007-01-01  Eric Blake  <ebb9@byu.net>
41478
41479         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41480
41481 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41482
41483         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41484         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41485         assume the C locale, and avoid an "eval" that could cause trouble.
41486         Problem with SORT reported by Bob Proulx.
41487
41488         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41489         Define.  Trivial patch from Henning Nielsen Lund, originally
41490         sent to bug-grep@gnu.org today.
41491
41492 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41493
41494         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41495         struct stat.  Problem reported by Henning Nielsen Lund.
41496         * lib/acl.c: Include acl.h first, to check interface.  Don't
41497         bother to include sys/types.h and sys/stat.h again.
41498
41499 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41500
41501         Import the following change from libc; problem reported by
41502         Sven Verdoolaege.
41503
41504         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41505
41506         [BZ #1373]
41507         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41508
41509 2006-12-28  Jim Meyering  <jim@meyering.net>
41510
41511         * build-aux/announce-gen: Do not assume that the package
41512         builds any of tar.gz, tar.bz2, and .xdelta files.
41513         Suggestion from Simon Josefsson.
41514
41515 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41516
41517         * modules/announce-gen: New file.
41518
41519 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41520
41521         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41522         handles its gotchas now.
41523         * lib/mbswidth.c: Likewise.
41524         * lib/wcwidth.h: Likewise.
41525         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41526         and iswcntrl; the wctype module does this stuff now.
41527         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41528         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41529         * modules/mbchar (Depends-on): Add wctype.
41530         * modules/mbswidth (Depends-on): Likewise.
41531         * modules/wcwidth (Depends-on): Likewise.
41532
41533 2006-12-27  Eric Blake  <ebb9@byu.net>
41534
41535         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41536         module uses more than what <wctype.h> is required to provide.
41537
41538 2006-12-26  Eric Blake  <ebb9@byu.net>
41539
41540         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41541
41542 2006-12-26  Eric Blake  <ebb9@byu.net>
41543
41544         * modules/absolute-header: New module.
41545         * modules/fcntl (Depends-on): Depend on it.
41546         * modules/inttypes (Depends-on): Likewise.
41547         * modules/stdint (Depends-on): Likewise.
41548         * modules/sys_stat (Depends-on): Likewise.
41549         * modules/wctype (Depends-on): Likewise.
41550         * MODULES.html.sh (Support for building libraries and
41551         executables): Document it.
41552
41553 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41554
41555         * gnulib-tool (SED): Remove, undoing previous change.
41556         The problem was that it broke coreutils on Solaris, because
41557         "sed --posix" leaked into a makefile.
41558         (sed): New alias, if 'alias' and GNU sed.
41559
41560 2006-12-24  Jim Meyering  <jim@meyering.net>
41561
41562         Work around an fchownat bug in glibc-2.4:
41563         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41564         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41565         in spite of the -P option.
41566         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41567         New macros.
41568         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41569         * modules/openat (Files): Add lib/fchownat.c.
41570         * lib/openat.c (fchownat): Don't define here.  Move to...
41571         * lib/fchownat.c: ...this new file.
41572
41573 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41574
41575         Fix bug reported by Bruno Haible in
41576         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41577         where quotearg.c didn't compile on Mac OS X 10.2 because it
41578         lacks <wchar.h> and wint_t.
41579         * lib/wctype_.h (__wctype_wint_t): New type.
41580         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41581         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41582         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41583         Arg is now of type __wctype_wint_t, not wint_t.
41584         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41585         substitute HAVE_WINT_T.
41586         * modules/wctype (Files): Add m4/wint_t.m4.
41587         (wctype.h): Substitute HAVE_WINT_T.
41588
41589 2006-12-23  Bruno Haible  <bruno@clisp.org>
41590
41591         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41592
41593 2006-12-23  Bruno Haible  <bruno@clisp.org>
41594
41595         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41596         S_ISLNK.
41597         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41598         mingw.
41599
41600 2006-12-22  Bruno Haible  <bruno@clisp.org>
41601
41602         * lib/copy-file.c: Include acl.h.
41603         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41604         Close the file descriptors only after being done with copy_acl.
41605         * modules/copy-file (Depends-on): Add acl.
41606
41607 2006-12-22  Bruno Haible  <bruno@clisp.org>
41608
41609         * gnulib-tool (SED): New variable.
41610         Use $SED instead of sed everywhere.
41611
41612 2006-12-22  Bruno Haible  <bruno@clisp.org>
41613
41614         * modules/no-c++: New file.
41615         * m4/no-c++.m4: New file.
41616         * MODULES.html.sh (Support for building libraries and executables):
41617         Add no-c++.
41618
41619 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41620
41621         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41622         Include <limits.h>, and use its INT_MAX to rewrite the
41623         j loop so that it does not overflow 'int'.  Problem reported by
41624         Ralf Wildenhues in
41625         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41626         Play it safe by shifting left by 1 rather than multiplying by 2,
41627         as GCC is less likely to optimize this away when the value
41628         is signed (when it assumes overflow leads to undefined behavior).
41629         Also, don't assume time_t uses two's complement.
41630
41631 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41632
41633         * MODULES.html.sh: New module wctype.
41634         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41635         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41636         <wctype.h>, since the new wctype module should fix this.
41637         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41638         the wctype module should arrange for it.
41639         * lib/regex_internal.h: Likewise.
41640         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41641         since the wctype module should handle this now.
41642         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41643         * modules/fnmatch (Depends-on): Add wctype.
41644         * modules/quotearg (Depends-on): Likewise.
41645         * modules/regex (Depends-on): Likewise.
41646
41647 2006-12-19  Bruno Haible  <bruno@clisp.org>
41648
41649         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41650         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41651
41652 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41653
41654         * modules/savewd (Depends-on): Fix dependency on fcntl.
41655
41656 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41657
41658         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41659         conforms to C99, rather than relying on the user's environment
41660         setting of STDINT_H.
41661
41662 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41663         and Eric Blake  <ebb9@byu.net>
41664
41665         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41666         This is more consistent with the other defines here.
41667         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41668         Port to z/OS.  Problem reported by Paul Gilmartin.
41669         Change local vars to use gl_ prefix rather than ac_.
41670         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41671         with other defines.
41672         * modules/double-slash-root: New module.
41673         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41674         (Depends-on): Add double-slash-root.
41675         * MODULES.html.sh (File system functions): Mention new module.
41676
41677 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41678
41679         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41680         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41681         This is for the benefit of gzip, which doesn't do i18n.
41682
41683 2006-12-12  Jim Meyering  <jim@meyering.net>
41684
41685         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41686         Reported by Andreas Schwab <schwab@suse.de>.
41687
41688 2006-12-12  Bruno Haible  <bruno@clisp.org>
41689
41690         Merge these changes.
41691         2006-09-05  Bruno Haible  <bruno@clisp.org>
41692         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41693         iconv_alloc succeeded.
41694         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41695         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41696         test for " && dest " at the end - dest is always != NULL there. Call
41697         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41698         with 2xNULL arguments, also to flush the state storage. Handle the
41699         IRIX iconv behaviour. Realloc the final result, to throw away unused
41700         memory.
41701
41702 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41703
41704         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41705         and fchmodat unconditionally, since glibc 2.4 has them.
41706         Problem reported by Arkadiusz Miskiewicz.
41707
41708 2006-12-10  Bruno Haible  <bruno@clisp.org>
41709
41710         * gnulib-tool (func_import): Show the include files only for those
41711         modules that are copied and specified.
41712         Reported by Karl Berry.
41713
41714 2006-12-08  Jim Meyering  <jim@meyering.net>
41715
41716         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41717         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41718
41719         * build-aux/announce-gen: Add two new options, both optional:
41720         --bootstrap-tools=TOOL_LIST
41721               a comma-separated list of tools, e.g.,
41722               autoconf,automake,bison,gnulib
41723         --gnulib-snapshot-date=DATE
41724               if gnulib is in the bootstrap tool list,
41725               then report this as the snapshot date.
41726               If not specified, use the current date/time.
41727               If you specify a date here, be sure it's UTC.
41728
41729 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41730
41731         * tests/test-argp-2.sh: Fix test to match actual output.
41732         (func_compare): Fix sed script to be portable.
41733
41734 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41735
41736         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41737         workaround for this case.  It is not autoconfigured now; offhand
41738         it's hard to see how to autoconfigure it.
41739
41740 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41741
41742         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41743         a directory that is about to be chowned.  Such a directory's
41744         initial file permissions should permit the owner only and this
41745         should not be changed until after the chown, since the group and
41746         other bits would be incorrect if they granted permission before
41747         the chown.
41748
41749         Fix porting problem for iswctype reported by Georg Schwarz in:
41750         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41751         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41752         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41753         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41754         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41755
41756 2006-12-03  Jim Meyering  <jim@meyering.net>
41757
41758         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41759         p->fts_statp may not yet be defined.
41760         (fts_read): Instead, set it in the caller, once p->fts_statp is
41761         sure to be defined, and corresponds to a top-level directory.
41762         This bug made du -x fail.  Here's the coreutils test case:
41763         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41764         Reported by Mike Frysinger.
41765
41766 2006-12-01  Jim Meyering  <jim@meyering.net>
41767
41768         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41769         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41770         Reported by Simon Josefsson.
41771
41772 2006-11-30  Jim Meyering  <jim@meyering.net>
41773
41774         * m4/warning.m4: Use the all-permissive copyright notice
41775         recommended by RMS (rather than LGPL).
41776         * m4/vararrays.m4: Likewise.
41777         * m4/flexmember.m4: Likewise.
41778
41779 2006-11-29  Bruno Haible  <bruno@clisp.org>
41780
41781         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41782         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41783         using +=.
41784         Reported by Simon Josefsson <simon@josefsson.org>.
41785
41786 2006-11-28  James Youngman <jay@gnu.org>
41787
41788         * README: Advise users that they might find the bug-gnulib@gnu.org
41789         and autotools-announce@gnu.org mailing lists useful.
41790
41791 2006-11-28  Bruno Haible  <bruno@clisp.org>
41792
41793         * m4/ptrdiff_max.m4: Remove file.
41794
41795 2006-11-21  Bruno Haible  <bruno@clisp.org>
41796
41797         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41798         _AC_COMPUTE_INT.
41799         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41800         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41801         _AC_COMPUTE_INT.
41802         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41803         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41804         _AC_COMPUTE_INT.
41805         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41806
41807 2006-11-28  Jim Meyering  <jim@meyering.net>
41808
41809         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41810         warning from "gcc -Wshadow" about shadowing the builtin.
41811
41812 2006-11-27  Bruno Haible  <bruno@clisp.org>
41813
41814         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41815         _AC_COMPUTE_INT.
41816         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41817
41818 2006-11-27  Bruno Haible  <bruno@clisp.org>
41819             Paul Eggert  <eggert@cs.ucla.edu>
41820
41821         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41822
41823 2006-11-26  Bruno Haible  <bruno@clisp.org>
41824
41825         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41826         noinst_LTLIBRARIES.
41827
41828 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41829             Bruno Haible  <bruno@clisp.org>
41830
41831         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41832         if compiling with "gcc -ansi".
41833
41834 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41835
41836         Fix some incompatibilities with gcc -ansi -pedantic.
41837         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41838         if compiling pedantically with GCC, unless it's C99 or later.
41839         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41840         it mishandles gcc -ansi -pedantic as well.
41841         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41842         if gcc -pedantic.
41843         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41844         initializers for struct if -pedantic, unless it's C99 or later.
41845
41846 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41847
41848         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41849         Don't close an fd more than once. Identical atimes indicate
41850         success, not failure.
41851
41852 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41853
41854         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41855
41856 2006-11-23  Jim Meyering  <jim@meyering.net>
41857
41858         * build-aux/announce-gen: New file.  From coreutils.
41859
41860 2006-11-22  Jim Meyering  <jim@meyering.net>
41861
41862         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41863         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41864         (fts_read): Use a temporary to narrow the overused st_size member
41865         before using it in a switch statement.  Reported by Matthew Woehlke.
41866
41867         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41868         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41869
41870 2006-11-20  Bruno Haible  <bruno@clisp.org>
41871
41872         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41873         changequote instead of pairs of brackets.
41874         Reported by Andreas Schwab <schwab@suse.de>.
41875
41876 2006-11-21  Jim Meyering  <jim@meyering.net>
41877
41878         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41879         so as to remain compatible with older compilers.
41880         Patch from Michael Deutschmann.
41881
41882 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41883
41884         * MODULES.html.sh (File system functions): Add openat.
41885
41886         * lib/openat.h (rpl_fstatat): New macro, if
41887         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41888         (fstatat): Define to rpl_fstatat under the same conditions,
41889         unless COMPILING_FSTATAT.
41890         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41891         seems to have the bug.
41892         * lib/fstatat.c: New file.
41893         * modules/openat (Files): Add it.
41894
41895 2006-11-20  Bruno Haible  <bruno@clisp.org>
41896
41897         * Makefile: New file.
41898
41899 2006-11-20  Jim Meyering  <jim@meyering.net>
41900
41901         The beginnings of syntax-related checks for gnulib.
41902         * lib/Makefile: New file.
41903         * lib/t-idcache: New script.  Ensure that the two halves of
41904         idcache.c stay in sync.
41905
41906         * lib/idcache.c: Adjust comments in user- and group- portions to
41907         be more accurate, and to be consistent with one another.
41908
41909 2006-11-20  Jim Meyering  <jim@meyering.net>
41910
41911         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
41912         continue using the flexible array member (thus, this module performs
41913         half as many malloc calls), with the addition that...
41914         (getgroup, getuser): Consistently record a non-match via an empty
41915         "name" string, and map an empty string match to a NULL return value.
41916         * modules/idcache (Depends-on): Re-add flexmember.
41917
41918         * lib/idcache.c (getuser): Remove all uses of the register keyword.
41919         (getuidbyname, getgroup, getgidbyname): Likewise.
41920
41921         Use cleaner syntax: NULL rather than 0.
41922         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
41923
41924 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41925
41926         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
41927         It mishandled the case where the group was missing.
41928         Problem reported by Greg Schafer.
41929         * modules/idcache: Likewise.
41930
41931 2006-11-18  Jim Meyering  <jim@meyering.net>
41932
41933         * check-module (%exempt_header): Add exception for some
41934         conditionally-included headers.
41935
41936         * modules/i-ring (Depends-on): Add verify.
41937         (License): Change to LGPL.
41938
41939 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41940
41941         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
41942         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
41943         and inttostr.h.  Use snprintf rather than uinttostr, so that
41944         LGPLed code doesn't depend on GPLed.
41945
41946 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41947
41948         * modules/inline (License): Change from GPL to LGPL.
41949
41950 2006-11-17  Jim Meyering  <jim@meyering.net>
41951
41952         * modules/d-type (License): Switch to LGPL.
41953
41954 2006-11-15  Bruno Haible  <bruno@clisp.org>
41955
41956         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
41957
41958 2006-11-15  Eric Blake  <ebb9@byu.net>
41959
41960         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
41961         the module dependency.
41962
41963 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41964             Bruno Haible  <bruno@clisp.org>
41965
41966         * gnulib-tool (func_create_testdir): Add license consistency check.
41967
41968 2006-11-15  Eric Blake  <ebb9@byu.net>
41969
41970         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
41971         random "(cached)" in configure output.
41972
41973 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41974
41975         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
41976         test for conforming inttypes.h is both announced and cached.
41977
41978         * MODULES.html.sh (seen_modules, seen_files): New variables.
41979         (func_module): Rewrite to use a few less gnulib-tool and sed
41980         invocations.  Avoid a couple of quadratic algorithms for ...
41981         (missed_modules, missed_files): ... these, with ...
41982         (func_append, func_tmpdir): ... these new functions, from
41983         gnulib-tool.  Analogously, install traps for cleanup.
41984
41985         * tests/test-gc.c (main): Remove unused variables.
41986         * tests/test-read-file.c: Include stdlib.h, for 'free'.
41987
41988 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
41989
41990         * modules/inttostr (License): Change to LGPL.
41991
41992 2006-11-14  Eric Blake  <ebb9@byu.net>
41993
41994         * modules/tempname (License): Change to LGPL.
41995
41996 2006-11-14  Eric Blake  <ebb9@byu.net>
41997
41998         * doc/functions.texi (Function Portability): *printf functions on
41999         Cygwin now understand all POSIX size specifiers.
42000
42001 2006-11-14  Bruno Haible  <bruno@clisp.org>
42002
42003         * modules/c-ctype (License): Change to LGPL.
42004
42005 2006-11-12  Bruno Haible  <bruno@clisp.org>
42006
42007         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42008         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
42009         for GNOME libraries, for which the include files are installed in
42010         subdirectories of $prefix/include.
42011
42012 2006-11-12  Bruno Haible  <bruno@clisp.org>
42013
42014         * m4/lib-link.m4: Require at least autoconf-2.54.
42015         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
42016         name to underscores for the --with option.
42017
42018 2006-11-13  Bruno Haible  <bruno@clisp.org>
42019
42020         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
42021         the tests directory.
42022         Reported by Ralf Wildenhues.
42023
42024 2006-11-13  Bruno Haible  <bruno@clisp.org>
42025
42026         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
42027         (func_emit_initmacro_end): Undo the override here.
42028         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
42029         Works around the famous automake error in coreutils.
42030
42031 2006-11-13  Eric Blake  <ebb9@byu.net>
42032
42033         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
42034         element, not its node.
42035
42036 2006-11-12  Bruno Haible  <bruno@clisp.org>
42037
42038         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
42039         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
42040
42041 2006-11-12  Bruno Haible  <bruno@clisp.org>
42042
42043         * gnulib-tool: New option --local-symlink.
42044         (func_usage): Document it.
42045         (lsymbolic): New variable.
42046         (func_import, func_create_testdir): If --symlink was not specified,
42047         test whether --local-symlink was specified and the file comes from
42048         the local_gnulib_dir.
42049
42050 2006-11-12  Bruno Haible  <bruno@clisp.org>
42051
42052         * gnulib-tool (func_ln): New function.
42053         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
42054
42055 2006-11-12  Bruno Haible  <bruno@clisp.org>
42056
42057         Finish support for source files in subdirectories.
42058         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
42059         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
42060         AUTOMAKE_OPTIONS.
42061         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
42062
42063 2006-11-12  Bruno Haible  <bruno@clisp.org>
42064
42065         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42066         EXTRA_lib_SOURCES augmentation.
42067         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
42068
42069 2006-11-12  Jim Meyering  <jim@meyering.net>
42070
42071         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
42072         file descriptors.  This also averts a failure on systems with
42073         native openat support when a traversed directory lacks "x" access.
42074         * lib/fts_.h: Include "i-ring.h"
42075         (struct FTS) [fts_fd_ring]: New member.
42076         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
42077         (FCHDIR): Add parentheses.
42078         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
42079         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
42080         When descending, rather than simply closing the previous
42081         fts_cwd_fd value, push that file descriptor onto the ring.
42082         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
42083         (fts_open): Initialize the new fd_ring member.
42084         (fts_close): Clear the ring.
42085         (fts_safe_changedir): When possible, use our new fd_ring to skip
42086         the diropen and fstat and dev/ino comparison that would normally
42087         accompany a virtual `chdir ("..")'.
42088
42089         * modules/fts (Depends-on): Add i-ring.
42090         * modules/i-ring: New module.
42091         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
42092         * m4/i-ring.m4: New file.
42093
42094 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42095
42096         * gnulib-tool (func_create_testdir): Fix replacement of
42097         `build-aux' in configure.ac.  Run autotools in gltests
42098         subdirectory.
42099         (func_create_testdir, func_create_megatestdir, test): There is
42100         no need for '--force' in most autotool invocations in a new
42101         tree.  Actually fail the whole test if any of the tools, or the
42102         configure or make stages fail.
42103
42104         Sync from Automake.
42105         * build-aux/gnupload: Revert last change.  Add pointer to upload
42106         instructions of the GNU Maintenance Instructions.
42107         Suggestion by Karl Berry.
42108
42109 2006-11-10  Jim Meyering  <jim@meyering.net>
42110
42111         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
42112
42113 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42114
42115         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
42116         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
42117         (bind_textdomain_codeset) [! ENABLE_NLS]:
42118         Evaluate all the arguments.  That way, callers get compatible behavior
42119         if the arguments have side effects.  Also, it avoids some GCC
42120         diagnostics in some cases; Joel E. Denny reported problems when Bison
42121         was configured with --enable-gcc-warnigs.
42122
42123 2006-11-10  Jim Meyering  <jim@meyering.net>
42124
42125         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
42126         relevant options in CFLAGS (like -O, -fno-inline) are taken into
42127         account.
42128
42129 2006-11-10  Jim Meyering  <jim@meyering.net>
42130
42131         * modules/inline: New file/module.
42132         * modules/xalloc (Files): Remove m4/inline.m4.
42133         (Depends-on): Add inline, instead.
42134         * modules/oset: Likewise.
42135         * modules/list: Likewise.
42136
42137 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42138
42139         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
42140         Problem reported by Matthew Woehlke.
42141
42142 2006-11-09  Bruno Haible  <bruno@clisp.org>
42143
42144         * lib/tempname.c (gen_tempname): Remove variant that invokes
42145         __gen_tempname.
42146         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
42147         __gen_tempname.
42148
42149 2006-11-08  Bruno Haible  <bruno@clisp.org>
42150
42151         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
42152         to 'yes' instead of 'cross-compiling'.
42153
42154 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
42155
42156         * lib/quotearg.h (quotearg_free): New decl.
42157         * lib/quotearg.c (quotearg_free): New function.
42158         (slot0, nslots, slotvec0, slotvec):
42159         Now file-scope so that quotearg_free can get at them.
42160
42161 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42162
42163         Sync from Automake.
42164         * build-aux/gnupload: Add missing 'gnu' to example URL.
42165         Report by Karl Berry.
42166
42167 2006-11-08  Bruno Haible  <bruno@clisp.org>
42168
42169         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
42170         Suggested by Paul Eggert.
42171
42172 2006-11-08  Jim Meyering  <jim@meyering.net>
42173
42174         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
42175         It's already included if !_LIBC.
42176         (fts_safe_changedir): Add a comment.
42177
42178 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42179
42180         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
42181         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
42182         Matthew Woehlke.
42183
42184         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
42185         definitions up, to avoid colliding with change below.
42186         (static_inline) [HAVE_INLINE]: New macro.
42187         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
42188         Provide extern decls when !HAVE_INLINE.  Do not define unless
42189         static_inline is defined, either by us or by xmalloc.c.  Use
42190         static_inline rather than static inline.
42191         (XCALLOC): Optimize sizeof(T) = 1 case.
42192         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
42193
42194 2006-11-07  Bruno Haible  <bruno@clisp.org>
42195
42196         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
42197         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
42198         AC_C_INLINE.
42199         * modules/xalloc (Files): Add m4/inline.m4.
42200
42201 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42202
42203         * README: Fix typo.
42204         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
42205         (Miscellanous Notes): ...from this.
42206
42207 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42208
42209         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42210         Mention that offsetof should be used instead of sizeof.
42211         From Bruno Haible.
42212
42213 2006-11-07  Bruno Haible  <bruno@clisp.org>
42214
42215         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42216
42217 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42218
42219         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42220         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42221         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42222         (gl_tree_add_before, gl_tree_add_after):
42223         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42224         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42225         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42226         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42227         (gl_linked_add_after, gl_linked_add_at): Likewise.
42228         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42229         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42230         (gl_tree_add_before, gl_tree_add_after): Likewise.
42231         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42232         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42233         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42234
42235 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42236
42237         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42238
42239 2006-11-06  Bruno Haible  <bruno@clisp.org>
42240
42241         * m4/inline.m4: New file.
42242         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42243         * modules/list (Files): Add m4/inline.m4.
42244         * modules/oset (Files): Likewise.
42245
42246 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42247
42248         * lib/idcache.c: Include <stddef.h>, for offsetof.
42249         (struct userid.name): Change from char * to a flexible array member.
42250         All uses changed.
42251         * modules/idcache (Depends-on): Add flexmember.
42252
42253         * MODULES.html.sh (Core language properties): New module flexmember.
42254         * modules/flexmember, m4/flexmember.m4: New files.
42255
42256         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42257         inline functions that are identical with the old xnmalloc_inline,
42258         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42259         that we can avoid some unnecessary integer multiplications and
42260         divisions in the common case where the element size is known at
42261         compile time.
42262         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42263         needed.
42264         (xnboundedmalloc): Remove.
42265         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42266         arguments, for consistency with rest of this header.
42267         (xcharalloc): Rewrite using XNMALLOC.
42268         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42269         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42270         versions have been moved to lib/xalloc.h and renamed to be the
42271         non-*_inline versions.
42272         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42273         and xnrealloc functions, since those functions are now inline and
42274         now call us.
42275         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42276         renaming described above.
42277         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42278         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42279         captures the dependency in AC_C_INLINE.
42280
42281         New module canonicalize-lgpl, proposed by Charles Wilson in
42282         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42283         with a few small changes afterwards.
42284         * MODULES.html.sh (File system functions): New module
42285         canonicalize-lgpl.
42286         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42287         and canonicalize_file_name.
42288         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42289         * modules/canonicalize-lgpl: New files.
42290
42291 2006-11-05  Bruno Haible  <bruno@clisp.org>
42292
42293         * gnulib-tool (func_import, func_create_testdir): Create directories
42294         also for files in subdirectories of lib/.
42295
42296 2006-11-05  Bruno Haible  <bruno@clisp.org>
42297
42298         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42299         ANSI C compliant.
42300
42301 2006-11-03  Bruno Haible  <bruno@clisp.org>
42302
42303         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42304         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42305         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42306         (xnboundedmalloc): New inline function.
42307         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42308         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42309         xmalloc.
42310         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42311         xmalloc.
42312         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42313         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42314         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42315         xmalloc.
42316         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42317         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42318         xmalloc.
42319         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42320         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42321         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42322         xmalloc.
42323         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42324         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42325         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42326         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42327         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42328         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42329         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42330
42331 2006-11-03  Bruno Haible  <bruno@clisp.org>
42332
42333         * lib/c-ctype.h [C++]: Define functions without name mangling.
42334         * lib/fwriteerror.h [C++]: Likewise.
42335         * lib/gcd.h [C++]: Likewise.
42336         * lib/linebreak.h [C++]: Likewise.
42337
42338 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42339
42340         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42341         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42342         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42343         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42344         Check for functions and headers just once.
42345         Check for declaration of canonicalize_file_name.
42346         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42347
42348 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42349
42350         * gnulib-tool (func_import): Fix typo in actioncmd.
42351
42352 2006-11-02  Bruno Haible  <bruno@clisp.org>
42353
42354         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42355         newline sequence in the Makefile.am snippet as a space, like "make"
42356         does.
42357         Reported by Roger Persson <perrog@gmail.com>.
42358
42359 2006-11-01  Bruno Haible  <bruno@clisp.org>
42360
42361         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42362         already declared in <string.h>.
42363         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42364
42365 2006-11-01  Bruno Haible  <bruno@clisp.org>
42366
42367         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42368         * lib/strcase.h: Include <string.h>.
42369         (strcasecmp): Define to rpl_strcasecmp here.
42370
42371 2006-11-01  Bruno Haible  <bruno@clisp.org>
42372
42373         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42374
42375 2006-11-01  Eric Blake  <ebb9@byu.net>
42376
42377         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42378
42379         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42380
42381 2006-10-29  Bruno Haible  <bruno@clisp.org>
42382
42383         Make it compile in C++ mode.
42384         * lib/full-write.c (full_rw): Add a cast.
42385
42386 2006-11-01  Bruno Haible  <bruno@clisp.org>
42387
42388         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42389         be POSIX compliant.
42390         Reported by Roger Persson <perrog@gmail.com>.
42391
42392 2006-11-01  Eric Blake  <ebb9@byu.net>
42393
42394         * lib/getopt_.h: Fix comments.
42395
42396 2006-10-31  Eric Blake  <ebb9@byu.net>
42397
42398         * modules/tmpdir (Depends-on): Add sys_stat.
42399         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42400         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42401         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42402         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42403         tempname.
42404
42405 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42406
42407         Avoid some C++ diagnostics reported by Bruno Haible.
42408         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42409         xmalloc.
42410         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42411         (struct slotvec): Move to top level.
42412         (quotearg_n_options): Rewrite to avoid xmalloc.
42413         * lib/xalloc.h (xcharalloc): New function.
42414         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42415         [defined __cplusplus]: Add function template that provides result
42416         type propagation.  This part of the change is from Bruno Haible.
42417
42418 2006-10-29  Bruno Haible  <bruno@clisp.org>
42419
42420         Make it compile in C++ mode.
42421         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
42422         * lib/strnlen1.c (strnlen1): Cast memchr result.
42423         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
42424         * lib/clean-temp.c (string_equals, string_hash): Add casts.
42425         (create_temp_dir): Rename local variable 'template'.
42426         (compile_csharp_using_sscli): Add cast.
42427         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
42428         * lib/findprog.c (find_in_path): Likewise.
42429         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
42430         * lib/wait-process.c (register_slave_subprocess): Likewise.
42431
42432 2006-10-22  Bruno Haible  <bruno@clisp.org>
42433
42434         * modules/tsearch: New file.
42435         * lib/tsearch.h: New file.
42436         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
42437         * m4/tsearch.m4: New file.
42438         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
42439
42440 2006-10-29  Eric Blake  <ebb9@byu.net>
42441
42442         * lib/arcfour.c: Assume config.h.
42443         * lib/arctwo.c: Likewise.
42444         * lib/base64.c: Likewise.
42445         * lib/check-version.c: Likewise.
42446         * lib/crc.c: Likewise.
42447         * lib/des.c: Likewise.
42448         * lib/gc-gnulib.c: Likewise.
42449         * lib/gc-libgcrypt.c: Likewise.
42450         * lib/gc-pbkdf2-sha1.c: Likewise.
42451         * lib/getaddrinfo.c: Likewise.
42452         * lib/getdelim.c: Likewise.
42453         * lib/getline.c: Likewise.
42454         * lib/hmac-md5.c: Likewise.
42455         * lib/hmac-sha1.c: Likewise.
42456         * lib/iconvme.c: Likewise.
42457         * lib/md2.c: Likewise.
42458         * lib/md4.c: Likewise.
42459         * lib/memxor.c: Likewise.
42460         * lib/read-file.c: Likewise.
42461         * lib/readline.c: Likewise.
42462         * lib/rijndael-alg-fst.c: Likewise.
42463         * lib/rijndael-api-fst.c: Likewise.
42464         * lib/xgetdomainname.c: Likewise.
42465
42466 2006-10-28  Eric Blake  <ebb9@byu.net>
42467
42468         * lib/xstrndup.c: Assume config.h.
42469
42470 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42471
42472         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42473         stat-macros.h is now for our own macros, whereas stat_h is for
42474         macros in the <sys/stat.h> name space.
42475         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42476         (STAT_MACROS_H): Remove.
42477         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42478         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42479         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42480         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42481         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42482         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42483         Move these macros to ...
42484         * lib/stat_.h: here.  Don't include stat-macros.h.
42485         * lib/canonicalize.c: Don't include stat-macros.h.
42486         * lib/chown.c: Likewise.
42487         * lib/euidaccess.c: Likewise.
42488         * lib/file-type.c: Likewise.
42489         * lib/filemode.c: Likewise.
42490         * lib/glob.c: Likewise.
42491         * lib/isapipe.c: Likewise.
42492         * lib/lchown.c: Likewise.
42493         * lib/lstat.c: Likewise.
42494         * lib/mkdir-p.c: Likewise.
42495         * lib/rmdir.c: Likewise.
42496         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42497         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42498         unless mkdir isn't declared, to speed up 'configure'.
42499         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42500         would define all the S_* symbols.
42501         * modules/canonicalize (Depends-on):
42502         Depend on sys_stat, not stat-macros.
42503         * modules/chown: Likewise.
42504         * modules/euidaccess: Likewise.
42505         * modules/filemode: Likewise.
42506         * modules/file-type: Likewise.
42507         * modules/glob: Likewise.
42508         * modules/isapipe: Likewise.
42509         * modules/lchown: Likewise.
42510         * modules/lstat: Likewise.
42511         * modules/mkancesdirs: Likewise.
42512         * modules/rmdir: Likewise.
42513         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42514         * modules/modechange: Likewise.
42515         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42516         (configure.ac): Remove gl_STAT_MACROS.
42517         * modules/sys_stat (Depends-on): Remove stat-macros.
42518
42519 2006-10-27  Bruno Haible  <bruno@clisp.org>
42520
42521         * m4/signed.m4: Remove file.
42522         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42523         invocation.
42524         * modules/vasnprintf (Files): Remove m4/signed.m4.
42525
42526 2006-10-27  Bruno Haible  <bruno@clisp.org>
42527
42528         Update to GNU gettext 0.16.
42529         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42530         m4/inttypes-h.m4, m4/signed.m4.
42531         * m4/gettext.m4: Update to GNU gettext 0.16.
42532         * m4/intl.m4: New file, from GNU gettext.
42533         * m4/intldir.m4: New file, from GNU gettext.
42534         * config/srclist.txt: Update
42535
42536 2006-10-27  Eric Blake  <ebb9@byu.net>
42537
42538         * MODULES.html.sh: Document tempname.
42539         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42540         dependencies.
42541         (Files): Move lib/tempname.c...
42542         * modules/tempname: ...to this new module.
42543         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42544         (gl_PREREQ_TEMPNAME): Move...
42545         * m4/tempname.m4: ...to this new file.
42546         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42547         * modules/sys_stat (Depends-on): Add stat-macros.
42548         * lib/stat_.h (includes): Pick up stat macros.
42549         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42550         if stat macros are broken.
42551         * lib/tempname.c (includes): No need to include "stat-macros.h".
42552         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42553         (direxists, __path_search) [!_LIBC]: Don't compile these in
42554         gnulib; the tmpdir module covers that.
42555         * lib/tempname.h: New file.
42556
42557 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42558
42559         * COPYING: Explain how gnulib-tool converts licence headers.
42560         Almost all wording by Eric Blake.
42561
42562 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42563
42564         * lib/mbchar.h (is_basic_table): Make read-only.
42565         * lib/mbchar.c (is_basic_table): Likewise.
42566         Reported by John Darrington.
42567
42568 2006-10-25  Bruno Haible  <bruno@clisp.org>
42569
42570         * lib/progname.h (set_program_name): Undefine before defining.
42571
42572 2006-10-25  Bruno Haible  <bruno@clisp.org>
42573
42574         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42575         false for non-gcc C++ compilers.
42576         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42577
42578 2006-10-24  Bruno Haible  <bruno@clisp.org>
42579
42580         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42581         iconv implementations like Irix iconv.
42582
42583 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42584
42585         * modules/vararrays: New file.
42586         * m4/vararrays.m4: New file, taken from diffutils.
42587         * MODULES.html.sh: New module vararrays.
42588
42589 2006-10-24  Karl Berry  <karl@gnu.org>
42590
42591         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42592         Don't call GNU Unix.
42593
42594 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42595
42596         * users.txt: Add Libtool.
42597
42598         Sync from Libtool:
42599
42600         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42601
42602         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42603         to gnulib's policy of including config.h unconditionally.
42604
42605 2006-10-24  Bruno Haible  <bruno@clisp.org>
42606
42607         * modules/wcwidth (Files): Add m4/wint_t.m4.
42608         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42609         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42610
42611 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42612
42613         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42614         to pacify GCC with some -W flags enabled.  Problem reported by
42615         Bruno Haible.
42616
42617 2006-10-24  Jim Meyering  <jim@meyering.net>
42618
42619         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42620         Reported by Karl Berry.
42621
42622 2006-10-23  Bruno Haible  <bruno@clisp.org>
42623
42624         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42625
42626 2006-10-24  Bruno Haible  <bruno@clisp.org>
42627
42628         * lib/gl_list.h: Use C comment style, not C++ comment style.
42629
42630 2006-10-23  Eric Blake  <ebb9@byu.net>
42631
42632         * lib/getaddrinfo.c (includes): Add missing include.
42633
42634 2006-10-23  Bruno Haible  <bruno@clisp.org>
42635             Paul Eggert  <eggert@cs.ucla.edu>
42636
42637         Ability to rename obstack_free.
42638         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42639         obstack_free.
42640         (obstack_free): Invoke the __obstack_free macro.
42641         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42642
42643 2006-10-23  Bruno Haible  <bruno@clisp.org>
42644             Paul Eggert  <eggert@cs.ucla.edu>
42645
42646         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42647         __argc, __argv from the declaration. (They are defined as macros on
42648         mingw.)
42649
42650 2006-10-22  Bruno Haible  <bruno@clisp.org>
42651
42652         * doc/gnulib-intro.texi: New file.
42653         * doc/gnulib.texi: Include it.
42654
42655 2006-10-21  Bruno Haible  <bruno@clisp.org>
42656
42657         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42658         "Introduction", "Miscellanous Notes", "Particular Modules".
42659
42660 2006-10-21  Bruno Haible  <bruno@clisp.org>
42661
42662         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42663         Change mostlyclean-local rule to avoid sh syntax error from bash
42664         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42665
42666 2006-10-23  Jim Meyering  <jim@meyering.net>
42667
42668         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42669         in place of snprintf.
42670
42671         * modules/inttostr (Files): Add lib/uinttostr.c.
42672         * lib/uinttostr.c (inttostr): New file/function.
42673         * lib/inttostr.h (uinttostr): Declare.
42674         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42675         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42676         Add uinttostr.
42677         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42678
42679 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42680
42681         * lib/canonicalize.c (ELOOP): Define if not already defined.
42682         Problem reported by Bruno Haible in
42683         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42684
42685 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42686
42687         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42688         Problem reported by Perry Smith and Ville Laurikari.
42689
42690         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42691         uses.
42692
42693 2006-10-19  Bruno Haible  <bruno@clisp.org>
42694
42695         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42696         for mingw.
42697
42698 2006-10-19  Bruno Haible  <bruno@clisp.org>
42699
42700         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42701         Needed for mingw.
42702
42703 2006-10-19  Bruno Haible  <bruno@clisp.org>
42704
42705         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42706
42707 2006-10-19  Bruno Haible  <bruno@clisp.org>
42708
42709         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42710         it.
42711
42712 2006-10-19  Bruno Haible  <bruno@clisp.org>
42713
42714         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42715         invocation.
42716
42717 2006-10-19  Bruno Haible  <bruno@clisp.org>
42718
42719         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42720         mountlist by default.
42721
42722 2006-10-16  Bruno Haible  <bruno@clisp.org>
42723
42724         * lib/c-strstr.c: Include c-strstr.h.
42725
42726 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42727
42728         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42729         in a slash.
42730
42731 2006-10-18  Bruno Haible  <bruno@clisp.org>
42732
42733         * lib/lock.h [C++]: Wrap definitions in extern "C".
42734
42735 2006-10-18  Bruno Haible  <bruno@clisp.org>
42736
42737         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42738         gl_LIBOBJS list.
42739
42740 2006-10-18  Bruno Haible  <bruno@clisp.org>
42741
42742         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42743
42744 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42745
42746         * lib/xstrtol.h: Include gettext.h.
42747         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42748         Problem reported by Eric Blake.
42749         * modules/xstrtol (Depends-on): Add gettext-h.
42750
42751 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42752
42753         * lib/strftime.c (advance): New macro.
42754         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42755         incomplete type, so you can't add 0 to it.  Problem and patch
42756         reported by Eelco Dolstra for dietlibc.
42757
42758 2006-10-18  Jim Meyering  <jim@meyering.net>
42759
42760         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42761         type for a local, and rename it: s/up/user_proc/.
42762
42763 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42764
42765         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42766         READ_UTMP_USER_PROCESS.
42767         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42768
42769 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42770
42771         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42772         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42773
42774 2006-10-17  Eric Blake  <ebb9@byu.net>
42775
42776         * lib/sigprocmask.c (sigprocmask): Fix typo.
42777
42778         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42779
42780         * modules/clean-temp (Makefile.am): Don't add to make output...
42781         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42782         config.h.
42783
42784 2006-10-17  Bruno Haible  <bruno@clisp.org>
42785
42786         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42787         differently if DEFAULT_TEXT_DOMAIN is set.
42788
42789 2006-10-16  Bruno Haible  <bruno@clisp.org>
42790
42791         * lib/clean-temp.c: Include fwriteerror.h.
42792
42793 2006-10-16  Bruno Haible  <bruno@clisp.org>
42794
42795         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42796
42797 2006-10-16  Bruno Haible  <bruno@clisp.org>
42798
42799         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42800         * lib/sigprocmask.h: Include <sys/types.h>.
42801         (sigset_t): Use the system's definition if present.
42802
42803 2006-10-17  Eric Blake  <ebb9@byu.net>
42804
42805         * lib/xvasprintf.c (includes): Assume config.h.
42806         * lib/xasprintf.c (includes): Likewise.
42807
42808 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42809
42810         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42811         at least as wide as intmax_t.
42812
42813 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42814
42815         (Imported from Automake.)
42816         * build-aux/gnupload: Update to version 1.1 of directive file.
42817
42818 2006-10-16  Eric Blake  <ebb9@byu.net>
42819
42820         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42821         match Automake 1.10a.
42822
42823 2006-10-14  Bruno Haible  <bruno@clisp.org>
42824
42825         * modules/sigprocmask: New file.
42826         * lib/sigprocmask.h: New file.
42827         * lib/sigprocmask.c: New file.
42828         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42829         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42830         request sigprocmask.o.
42831         (gl_PREREQ_SIGPROCMASK): New macro.
42832         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42833         (Depends-on): Add sigprocmask.
42834         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42835         gt_SIGNALBLOCKING. Test for 'raise' only once.
42836         * lib/fatal-signal.c: Include sigprocmask.h.
42837         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42838         unblock_fatal_signals): Define always.
42839         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42840         sigprocmask.
42841
42842 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42843
42844         Sync from Automake.
42845         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42846         which incorrectly sets the mode of an existing destination
42847         directory.  In some cases the unpatched install-sh could do the
42848         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42849         system.  We hope this is rare in practice, but it's clearly worth
42850         fixing.  Problem reported by Alex Unleashed in
42851         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42852         Also, don't bother to check for -m bugs unless we're using -m;
42853         suggested by Stepan Kasal.
42854
42855 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42856
42857         Sync from Automake.
42858         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42859         `-c' flag, so they appear at the same position as in %FASTDEP%
42860         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42861         which ignores unknown options only after the first non-option.
42862         Bug report against M4 by Nelson H. F. Beebe.
42863
42864 2006-10-13  Jim Meyering  <jim@meyering.net>
42865
42866         Fix a bug in yesterday's change.
42867         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42868         p->fts_statp->st_dev would be used uninitialized.
42869         Ensures that we always call fts_stat on the very first entry.
42870         Miklos Szeredi reported that find -xdev stopped working.
42871
42872 2006-10-12  Bruno Haible  <bruno@clisp.org>
42873
42874         * gnulib-tool (func_get_automake_snippet): Append an automatically
42875         computed EXTRA_DIST augmentation.
42876         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42877         * modules/alloca-opt (Makefile.am): Likewise.
42878         * modules/allocsa (Makefile.am): Likewise.
42879         * modules/arcfour (Makefile.am): Likewise.
42880         * modules/arctwo (Makefile.am): Likewise.
42881         * modules/argmatch (Makefile.am): Likewise.
42882         * modules/argz (Makefile.am): Likewise.
42883         * modules/atexit (Makefile.am): Likewise.
42884         * modules/backupfile (Makefile.am): Likewise.
42885         * modules/byteswap (Makefile.am): Likewise.
42886         * modules/c-strtod (Makefile.am): Likewise.
42887         * modules/c-strtold (Makefile.am): Likewise.
42888         * modules/calloc (Makefile.am): Likewise.
42889         * modules/canon-host (Makefile.am): Likewise.
42890         * modules/canonicalize (Makefile.am): Likewise.
42891         * modules/chdir-long (Makefile.am): Likewise.
42892         * modules/chdir-safer (Makefile.am): Likewise.
42893         * modules/check-version (Makefile.am): Likewise.
42894         * modules/chown (Makefile.am): Likewise.
42895         * modules/cloexec (Makefile.am): Likewise.
42896         * modules/close-stream (Makefile.am): Likewise.
42897         * modules/closeout (Makefile.am): Likewise.
42898         * modules/crc (Makefile.am): Likewise.
42899         * modules/csharpexec (Makefile.am): Likewise.
42900         * modules/cycle-check (Makefile.am): Likewise.
42901         * modules/des (Makefile.am): Likewise.
42902         * modules/dev-ino (Makefile.am): Likewise.
42903         * modules/dirfd (Makefile.am): Likewise.
42904         * modules/dirname (Makefile.am): Likewise.
42905         * modules/dup2 (Makefile.am): Likewise.
42906         * modules/eealloc (Makefile.am): Likewise.
42907         * modules/error (Makefile.am): Likewise.
42908         * modules/euidaccess (Makefile.am): Likewise.
42909         * modules/exclude (Makefile.am): Likewise.
42910         * modules/exitfail (Makefile.am): Likewise.
42911         * modules/fcntl-safer (Makefile.am): Likewise.
42912         * modules/fcntl (Makefile.am): Likewise.
42913         * modules/file-type (Makefile.am): Likewise.
42914         * modules/fileblocks (Makefile.am): Likewise.
42915         * modules/filemode (Makefile.am): Likewise.
42916         * modules/filenamecat (Makefile.am): Likewise.
42917         * modules/fnmatch (Makefile.am): Likewise.
42918         * modules/fopen-safer (Makefile.am): Likewise.
42919         * modules/fpending (Makefile.am): Likewise.
42920         * modules/fprintftime (Makefile.am): Likewise.
42921         * modules/free (Makefile.am): Likewise.
42922         * modules/fsusage (Makefile.am): Likewise.
42923         * modules/ftruncate (Makefile.am): Likewise.
42924         * modules/fts (Makefile.am): Likewise.
42925         * modules/gc-arcfour (Makefile.am): Likewise.
42926         * modules/gc-des (Makefile.am): Likewise.
42927         * modules/gc-hmac-md5 (Makefile.am): Likewise.
42928         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
42929         * modules/gc-md4 (Makefile.am): Likewise.
42930         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42931         * modules/gc-sha1 (Makefile.am): Likewise.
42932         * modules/gc (Makefile.am): Likewise.
42933         * modules/getaddrinfo (Makefile.am): Likewise.
42934         * modules/getcwd (Makefile.am): Likewise.
42935         * modules/getdelim (Makefile.am): Likewise.
42936         * modules/getdomainname (Makefile.am): Likewise.
42937         * modules/getgroups (Makefile.am): Likewise.
42938         * modules/gethostname (Makefile.am): Likewise.
42939         * modules/gethrxtime (Makefile.am): Likewise.
42940         * modules/getline (Makefile.am): Likewise.
42941         * modules/getloadavg (Makefile.am): Likewise.
42942         * modules/getlogin_r (Makefile.am): Likewise.
42943         * modules/getndelim2 (Makefile.am): Likewise.
42944         * modules/getopt (Makefile.am): Likewise.
42945         * modules/getpagesize (Makefile.am): Likewise.
42946         * modules/getpass-gnu (Makefile.am): Likewise.
42947         * modules/getpass (Makefile.am): Likewise.
42948         * modules/getsubopt (Makefile.am): Likewise.
42949         * modules/gettime (Makefile.am): Likewise.
42950         * modules/gettimeofday (Makefile.am): Likewise.
42951         * modules/getugroups (Makefile.am): Likewise.
42952         * modules/getusershell (Makefile.am): Likewise.
42953         * modules/glob (Makefile.am): Likewise.
42954         * modules/group-member (Makefile.am): Likewise.
42955         * modules/hard-locale (Makefile.am): Likewise.
42956         * modules/hash (Makefile.am): Likewise.
42957         * modules/hmac-md5 (Makefile.am): Likewise.
42958         * modules/hmac-sha1 (Makefile.am): Likewise.
42959         * modules/human (Makefile.am): Likewise.
42960         * modules/idcache (Makefile.am): Likewise.
42961         * modules/imaxabs (Makefile.am): Likewise.
42962         * modules/imaxdiv (Makefile.am): Likewise.
42963         * modules/inet_ntop (Makefile.am): Likewise.
42964         * modules/inet_pton (Makefile.am): Likewise.
42965         * modules/intprops (Makefile.am): Likewise.
42966         * modules/inttostr (Makefile.am): Likewise.
42967         * modules/inttypes (Makefile.am): Likewise.
42968         * modules/isapipe (Makefile.am): Likewise.
42969         * modules/javaversion (Makefile.am): Likewise.
42970         * modules/lchmod (Makefile.am): Likewise.
42971         * modules/lchown (Makefile.am): Likewise.
42972         * modules/localcharset (Makefile.am): Likewise.
42973         * modules/long-options (Makefile.am): Likewise.
42974         * modules/lstat (Makefile.am): Likewise.
42975         * modules/malloc (Makefile.am): Likewise.
42976         * modules/mathl (Makefile.am): Likewise.
42977         * modules/mbchar (Makefile.am): Likewise.
42978         * modules/md2 (Makefile.am): Likewise.
42979         * modules/md4 (Makefile.am): Likewise.
42980         * modules/md5 (Makefile.am): Likewise.
42981         * modules/memcasecmp (Makefile.am): Likewise.
42982         * modules/memchr (Makefile.am): Likewise.
42983         * modules/memcmp (Makefile.am): Likewise.
42984         * modules/memcoll (Makefile.am): Likewise.
42985         * modules/memcpy (Makefile.am): Likewise.
42986         * modules/memmem (Makefile.am): Likewise.
42987         * modules/memmove (Makefile.am): Likewise.
42988         * modules/mempcpy (Makefile.am): Likewise.
42989         * modules/memrchr (Makefile.am): Likewise.
42990         * modules/memset (Makefile.am): Likewise.
42991         * modules/memxor (Makefile.am): Likewise.
42992         * modules/mkancesdirs (Makefile.am): Likewise.
42993         * modules/mkdir-p (Makefile.am): Likewise.
42994         * modules/mkdir (Makefile.am): Likewise.
42995         * modules/mkdtemp (Makefile.am): Likewise.
42996         * modules/mkstemp (Makefile.am): Likewise.
42997         * modules/mktime (Makefile.am): Likewise.
42998         * modules/modechange (Makefile.am): Likewise.
42999         * modules/mountlist (Makefile.am): Likewise.
43000         * modules/nanosleep (Makefile.am): Likewise.
43001         * modules/obstack (Makefile.am): Likewise.
43002         * modules/openat (Makefile.am): Likewise.
43003         * modules/pagealign_alloc (Makefile.am): Likewise.
43004         * modules/pathmax (Makefile.am): Likewise.
43005         * modules/physmem (Makefile.am): Likewise.
43006         * modules/poll (Makefile.am): Likewise.
43007         * modules/posixtm (Makefile.am): Likewise.
43008         * modules/posixver (Makefile.am): Likewise.
43009         * modules/putenv (Makefile.am): Likewise.
43010         * modules/quote (Makefile.am): Likewise.
43011         * modules/quotearg (Makefile.am): Likewise.
43012         * modules/raise (Makefile.am): Likewise.
43013         * modules/read-file (Makefile.am): Likewise.
43014         * modules/readline (Makefile.am): Likewise.
43015         * modules/readlink (Makefile.am): Likewise.
43016         * modules/readtokens (Makefile.am): Likewise.
43017         * modules/readutmp (Makefile.am): Likewise.
43018         * modules/realloc (Makefile.am): Likewise.
43019         * modules/regex (Makefile.am): Likewise.
43020         * modules/rename-dest-slash (Makefile.am): Likewise.
43021         * modules/rename (Makefile.am): Likewise.
43022         * modules/rijndael (Makefile.am): Likewise.
43023         * modules/rmdir (Makefile.am): Likewise.
43024         * modules/rpmatch (Makefile.am): Likewise.
43025         * modules/safe-read (Makefile.am): Likewise.
43026         * modules/safe-write (Makefile.am): Likewise.
43027         * modules/same-inode (Makefile.am): Likewise.
43028         * modules/same (Makefile.am): Likewise.
43029         * modules/save-cwd (Makefile.am): Likewise.
43030         * modules/savedir (Makefile.am): Likewise.
43031         * modules/setenv (Makefile.am): Likewise.
43032         * modules/settime (Makefile.am): Likewise.
43033         * modules/sha1 (Makefile.am): Likewise.
43034         * modules/sig2str (Makefile.am): Likewise.
43035         * modules/snprintf (Makefile.am): Likewise.
43036         * modules/stat-macros (Makefile.am): Likewise.
43037         * modules/stat-time (Makefile.am): Likewise.
43038         * modules/stdbool (Makefile.am): Likewise.
43039         * modules/stdint (Makefile.am): Likewise.
43040         * modules/stdlib-safer (Makefile.am): Likewise.
43041         * modules/stpcpy (Makefile.am): Likewise.
43042         * modules/stpncpy (Makefile.am): Likewise.
43043         * modules/strcase (Makefile.am): Likewise.
43044         * modules/strcasestr (Makefile.am): Likewise.
43045         * modules/strchrnul (Makefile.am): Likewise.
43046         * modules/strcspn (Makefile.am): Likewise.
43047         * modules/strdup (Makefile.am): Likewise.
43048         * modules/strerror (Makefile.am): Likewise.
43049         * modules/strftime (Makefile.am): Likewise.
43050         * modules/strndup (Makefile.am): Likewise.
43051         * modules/strnlen (Makefile.am): Likewise.
43052         * modules/strpbrk (Makefile.am): Likewise.
43053         * modules/strsep (Makefile.am): Likewise.
43054         * modules/strstr (Makefile.am): Likewise.
43055         * modules/strtod (Makefile.am): Likewise.
43056         * modules/strtoimax (Makefile.am): Likewise.
43057         * modules/strtok_r (Makefile.am): Likewise.
43058         * modules/strtol (Makefile.am): Likewise.
43059         * modules/strtoll (Makefile.am): Likewise.
43060         * modules/strtoul (Makefile.am): Likewise.
43061         * modules/strtoull (Makefile.am): Likewise.
43062         * modules/strtoumax (Makefile.am): Likewise.
43063         * modules/strverscmp (Makefile.am): Likewise.
43064         * modules/sys_socket (Makefile.am): Likewise.
43065         * modules/sys_stat (Makefile.am): Likewise.
43066         * modules/sysexits (Makefile.am): Likewise.
43067         * modules/time_r (Makefile.am): Likewise.
43068         * modules/timegm (Makefile.am): Likewise.
43069         * modules/timespec (Makefile.am): Likewise.
43070         * modules/tmpfile-safer (Makefile.am): Likewise.
43071         * modules/trim (Makefile.am): Likewise.
43072         * modules/unistd-safer (Makefile.am): Likewise.
43073         * modules/unlinkdir (Makefile.am): Likewise.
43074         * modules/unlocked-io (Makefile.am): Likewise.
43075         * modules/userspec (Makefile.am): Likewise.
43076         * modules/utime (Makefile.am): Likewise.
43077         * modules/utimecmp (Makefile.am): Likewise.
43078         * modules/utimens (Makefile.am): Likewise.
43079         * modules/vasnprintf (Makefile.am): Likewise.
43080         * modules/vasprintf (Makefile.am): Likewise.
43081         * modules/vsnprintf (Makefile.am): Likewise.
43082         * modules/xalloc (Makefile.am): Likewise.
43083         * modules/xgetcwd (Makefile.am): Likewise.
43084         * modules/xnanosleep (Makefile.am): Likewise.
43085         * modules/xreadlink (Makefile.am): Likewise.
43086         * modules/xstrtod (Makefile.am): Likewise.
43087         * modules/xstrtol (Makefile.am): Likewise.
43088         * modules/xstrtold (Makefile.am): Likewise.
43089         * modules/yesno (Makefile.am): Likewise.
43090         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
43091
43092 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43093
43094         * modules/error (Makefile.am): Distribute files through
43095         EXTRA_DIST, not lib_SOURCES.
43096
43097 2006-10-12  Eric Blake  <ebb9@byu.net>
43098
43099         * modules/error (Makefile.am): Distribute files in /lib.
43100         * modules/obstack (Makefile.am): Likewise.
43101
43102 2006-10-12  Bruno Haible  <bruno@clisp.org>
43103
43104         * modules/acl (Makefile.am): Distribute all files in lib/ through
43105         EXTRA_DIST.
43106         * modules/arcfour (Makefile.am): Likewise.
43107         * modules/arctwo (Makefile.am): Likewise.
43108         * modules/argmatch (Makefile.am): Likewise.
43109         * modules/argz (Makefile.am): Likewise.
43110         * modules/atexit (Makefile.am): Likewise.
43111         * modules/backupfile (Makefile.am): Likewise.
43112         * modules/c-strtod (Makefile.am): Likewise.
43113         * modules/c-strtold (Makefile.am): Likewise.
43114         * modules/calloc (Makefile.am): Likewise.
43115         * modules/canon-host (Makefile.am): Likewise.
43116         * modules/canonicalize (Makefile.am): Likewise.
43117         * modules/chdir-long (Makefile.am): Likewise.
43118         * modules/chdir-safer (Makefile.am): Likewise.
43119         * modules/check-version (Makefile.am): Likewise.
43120         * modules/chown (Makefile.am): Likewise.
43121         * modules/cloexec (Makefile.am): Likewise.
43122         * modules/close-stream (Makefile.am): Likewise.
43123         * modules/closeout (Makefile.am): Likewise.
43124         * modules/crc (Makefile.am): Likewise.
43125         * modules/cycle-check (Makefile.am): Likewise.
43126         * modules/des (Makefile.am): Likewise.
43127         * modules/dirfd (Makefile.am): Likewise.
43128         * modules/dirname (Makefile.am): Likewise.
43129         * modules/dup2 (Makefile.am): Likewise.
43130         * modules/euidaccess (Makefile.am): Likewise.
43131         * modules/exclude (Makefile.am): Likewise.
43132         * modules/exitfail (Makefile.am): Likewise.
43133         * modules/fcntl-safer (Makefile.am): Likewise.
43134         * modules/file-type (Makefile.am): Likewise.
43135         * modules/fileblocks (Makefile.am): Likewise.
43136         * modules/filemode (Makefile.am): Likewise.
43137         * modules/filenamecat (Makefile.am): Likewise.
43138         * modules/fnmatch (Makefile.am): Likewise.
43139         * modules/fopen-safer (Makefile.am): Likewise.
43140         * modules/fpending (Makefile.am): Likewise.
43141         * modules/fprintftime (Makefile.am): Likewise.
43142         * modules/free (Makefile.am): Likewise.
43143         * modules/fsusage (Makefile.am): Likewise.
43144         * modules/ftruncate (Makefile.am): Likewise.
43145         * modules/fts (Makefile.am): Likewise.
43146         * modules/gc (Makefile.am): Likewise.
43147         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43148         * modules/getaddrinfo (Makefile.am): Likewise.
43149         * modules/getcwd (Makefile.am): Likewise.
43150         * modules/getdelim (Makefile.am): Likewise.
43151         * modules/getdomainname (Makefile.am): Likewise.
43152         * modules/getgroups (Makefile.am): Likewise.
43153         * modules/gethostname (Makefile.am): Likewise.
43154         * modules/gethrxtime (Makefile.am): Likewise.
43155         * modules/getline (Makefile.am): Likewise.
43156         * modules/getloadavg (Makefile.am): Likewise.
43157         * modules/getlogin_r (Makefile.am): Likewise.
43158         * modules/getopt (Makefile.am): Likewise.
43159         * modules/getpass (Makefile.am): Likewise.
43160         * modules/getpass-gnu (Makefile.am): Likewise.
43161         * modules/getsubopt (Makefile.am): Likewise.
43162         * modules/gettime (Makefile.am): Likewise.
43163         * modules/gettimeofday (Makefile.am): Likewise.
43164         * modules/getugroups (Makefile.am): Likewise.
43165         * modules/getusershell (Makefile.am): Likewise.
43166         * modules/glob (Makefile.am): Likewise.
43167         * modules/group-member (Makefile.am): Likewise.
43168         * modules/hard-locale (Makefile.am): Likewise.
43169         * modules/hash (Makefile.am): Likewise.
43170         * modules/hmac-md5 (Makefile.am): Likewise.
43171         * modules/hmac-sha1 (Makefile.am): Likewise.
43172         * modules/human (Makefile.am): Likewise.
43173         * modules/idcache (Makefile.am): Likewise.
43174         * modules/imaxabs (Makefile.am): Likewise.
43175         * modules/imaxdiv (Makefile.am): Likewise.
43176         * modules/inet_ntop (Makefile.am): Likewise.
43177         * modules/inet_pton (Makefile.am): Likewise.
43178         * modules/inttostr (Makefile.am): Likewise.
43179         * modules/isapipe (Makefile.am): Likewise.
43180         * modules/lchown (Makefile.am): Likewise.
43181         * modules/long-options (Makefile.am): Likewise.
43182         * modules/lstat (Makefile.am): Likewise.
43183         * modules/malloc (Makefile.am): Likewise.
43184         * modules/mathl (Makefile.am): Likewise.
43185         * modules/mbchar (Makefile.am): Likewise.
43186         * modules/md2 (Makefile.am): Likewise.
43187         * modules/md4 (Makefile.am): Likewise.
43188         * modules/md5 (Makefile.am): Likewise.
43189         * modules/memcasecmp (Makefile.am): Likewise.
43190         * modules/memchr (Makefile.am): Likewise.
43191         * modules/memcmp (Makefile.am): Likewise.
43192         * modules/memcoll (Makefile.am): Likewise.
43193         * modules/memcpy (Makefile.am): Likewise.
43194         * modules/memmem (Makefile.am): Likewise.
43195         * modules/memmove (Makefile.am): Likewise.
43196         * modules/mempcpy (Makefile.am): Likewise.
43197         * modules/memrchr (Makefile.am): Likewise.
43198         * modules/memset (Makefile.am): Likewise.
43199         * modules/memxor (Makefile.am): Likewise.
43200         * modules/mkancesdirs (Makefile.am): Likewise.
43201         * modules/mkdir (Makefile.am): Likewise.
43202         * modules/mkdir-p (Makefile.am): Likewise.
43203         * modules/mkdtemp (Makefile.am): Likewise.
43204         * modules/mkstemp (Makefile.am): Likewise.
43205         * modules/mktime (Makefile.am): Likewise.
43206         * modules/modechange (Makefile.am): Likewise.
43207         * modules/mountlist (Makefile.am): Likewise.
43208         * modules/nanosleep (Makefile.am): Likewise.
43209         * modules/openat (Makefile.am): Likewise.
43210         * modules/pagealign_alloc (Makefile.am): Likewise.
43211         * modules/physmem (Makefile.am): Likewise.
43212         * modules/poll (Makefile.am): Likewise.
43213         * modules/posixtm (Makefile.am): Likewise.
43214         * modules/posixver (Makefile.am): Likewise.
43215         * modules/putenv (Makefile.am): Likewise.
43216         * modules/quote (Makefile.am): Likewise.
43217         * modules/quotearg (Makefile.am): Likewise.
43218         * modules/raise (Makefile.am): Likewise.
43219         * modules/read-file (Makefile.am): Likewise.
43220         * modules/readline (Makefile.am): Likewise.
43221         * modules/readlink (Makefile.am): Likewise.
43222         * modules/readtokens (Makefile.am): Likewise.
43223         * modules/readutmp (Makefile.am): Likewise.
43224         * modules/realloc (Makefile.am): Likewise.
43225         * modules/regex (Makefile.am): Likewise.
43226         * modules/rename (Makefile.am): Likewise.
43227         * modules/rename-dest-slash (Makefile.am): Likewise.
43228         * modules/rijndael (Makefile.am): Likewise.
43229         * modules/rmdir (Makefile.am): Likewise.
43230         * modules/rpmatch (Makefile.am): Likewise.
43231         * modules/safe-read (Makefile.am): Likewise.
43232         * modules/safe-write (Makefile.am): Likewise.
43233         * modules/same (Makefile.am): Likewise.
43234         * modules/save-cwd (Makefile.am): Likewise.
43235         * modules/savedir (Makefile.am): Likewise.
43236         * modules/setenv (Makefile.am): Likewise.
43237         * modules/settime (Makefile.am): Likewise.
43238         * modules/sha1 (Makefile.am): Likewise.
43239         * modules/sig2str (Makefile.am): Likewise.
43240         * modules/snprintf (Makefile.am): Likewise.
43241         * modules/stdlib-safer (Makefile.am): Likewise.
43242         * modules/stpcpy (Makefile.am): Likewise.
43243         * modules/stpncpy (Makefile.am): Likewise.
43244         * modules/strcase (Makefile.am): Likewise.
43245         * modules/strcasestr (Makefile.am): Likewise.
43246         * modules/strchrnul (Makefile.am): Likewise.
43247         * modules/strcspn (Makefile.am): Likewise.
43248         * modules/strdup (Makefile.am): Likewise.
43249         * modules/strerror (Makefile.am): Likewise.
43250         * modules/strftime (Makefile.am): Likewise.
43251         * modules/strndup (Makefile.am): Likewise.
43252         * modules/strnlen (Makefile.am): Likewise.
43253         * modules/strpbrk (Makefile.am): Likewise.
43254         * modules/strsep (Makefile.am): Likewise.
43255         * modules/strstr (Makefile.am): Likewise.
43256         * modules/strtod (Makefile.am): Likewise.
43257         * modules/strtoimax (Makefile.am): Likewise.
43258         * modules/strtok_r (Makefile.am): Likewise.
43259         * modules/strtol (Makefile.am): Likewise.
43260         * modules/strtoll (Makefile.am): Likewise.
43261         * modules/strtoul (Makefile.am): Likewise.
43262         * modules/strtoull (Makefile.am): Likewise.
43263         * modules/strtoumax (Makefile.am): Likewise.
43264         * modules/strverscmp (Makefile.am): Likewise.
43265         * modules/time_r (Makefile.am): Likewise.
43266         * modules/timegm (Makefile.am): Likewise.
43267         * modules/tmpfile-safer (Makefile.am): Likewise.
43268         * modules/unistd-safer (Makefile.am): Likewise.
43269         * modules/unlinkdir (Makefile.am): Likewise.
43270         * modules/userspec (Makefile.am): Likewise.
43271         * modules/utime (Makefile.am): Likewise.
43272         * modules/utimecmp (Makefile.am): Likewise.
43273         * modules/utimens (Makefile.am): Likewise.
43274         * modules/vasnprintf (Makefile.am): Likewise.
43275         * modules/vasprintf (Makefile.am): Likewise.
43276         * modules/vsnprintf (Makefile.am): Likewise.
43277         * modules/xalloc (Makefile.am): Likewise.
43278         * modules/xgetcwd (Makefile.am): Likewise.
43279         * modules/xnanosleep (Makefile.am): Likewise.
43280         * modules/xreadlink (Makefile.am): Likewise.
43281         * modules/xstrtod (Makefile.am): Likewise.
43282         * modules/xstrtol (Makefile.am): Likewise.
43283         * modules/xstrtold (Makefile.am): Likewise.
43284         * modules/yesno (Makefile.am): Likewise.
43285
43286 2006-10-12  Jim Meyering  <jim@meyering.net>
43287
43288         * m4/getloadavg.m4: Revert the change below.
43289
43290         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43291         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43292         fail with a symlink, which is what coreutils' ./bootstrap now
43293         creates by default.
43294
43295 2006-10-12  Bruno Haible  <bruno@clisp.org>
43296
43297         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43298         mingw.
43299         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43300         MSVC and mingw explicitly.
43301
43302 2006-10-11  Simon Josefsson  <jas@extundo.com>
43303             Bruno Haible  <bruno@clisp.org>
43304
43305         Add support for multiple gnulib-tool invocations in the scope of a
43306         single configure.ac file.
43307         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43308         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43309         with the same contents as the _LIBADD variable.
43310         (func_emit_initmacro_start, func_emit_initmacro_end,
43311         func_emit_initmacro_done): New functions.
43312         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43313         gl_LIBOBJS and gl_LTLIBOBJS.
43314
43315 2006-10-11  Bruno Haible  <bruno@clisp.org>
43316
43317         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43318         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43319         autoreconf. Instead, invoke autopoint explicitly but move back the
43320         *.m4 files from gnulib.
43321
43322 2006-10-11  Bruno Haible  <bruno@clisp.org>
43323
43324         * gnulib-tool (func_usage): Make module names after --create-testdir
43325         optional.
43326         (func_create_testdir): If no module was specified, use nearly all
43327         modules.
43328
43329 2006-10-12  Jim Meyering  <jim@meyering.net>
43330
43331         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43332         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43333         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43334         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43335         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43336         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43337         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43338         (fts_set_stat_required): New function.
43339         (fts_open): Defer the calls to fts_stat, if possible or requested.
43340         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43341         into fts_stat itself.
43342         (fts_read): Perform any required (deferred) fts_stat call.
43343         (fts_build): Likewise, for the directory we're about to open and read.
43344         In the readdir loop, carefully decide whether each entry will require
43345         an eventual call to fts_stat, using dirent.d_type info if available.
43346         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43347         a command line argument into this function.  Update all callers.
43348         Map a return value of FTS_DOT to FTS_D for a command line argument.
43349         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43350         Thanks to Miklos Szeredi for his tenacity and for the initial
43351         bug report about "find" failing on a FUSE-based file system.
43352
43353         * lib/fts.c (fts_open): Use consistent indentation.
43354
43355 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43356
43357         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43358         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43359         reported by Jim Meyering.  All uses of cache variables renamed
43360         to match Autoconf's.
43361         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43362         the other one.
43363
43364         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43365         Fix misspelling in diagnostic.
43366
43367 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43368
43369         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43370         defined.  Problem reported by Matthew Woehlke.
43371
43372         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43373         Add support for Tandem NonStop R series.
43374         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43375         Use new macro.
43376
43377         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43378         (has_trailing_slash): Omit size arg; all callers changed.
43379         Omit 'inline', since it doesn't help performance and we'd
43380         need to configure it.
43381         Don't count //, ///, etc. as having a trailing slash.
43382         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43383         (rpl_rename_dest_slash): On failure, use rename's errno rather
43384         than (in some cases) an incorrect or junk errno.
43385         Simplify code by removing need to compute length; this does
43386         cause it to make two passes instead of one over the file name,
43387         but it's worth it.
43388
43389         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43390         change, since Autoconf's version may no longer be appropriate now
43391         that we are using CVS Autoconf's version.  Add support for Tandem.
43392
43393 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43394             Bruno Haible  <bruno@clisp.org>
43395
43396         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43397         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43398         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43399         gl_AC_TYPE_LONG_LONG.
43400
43401         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43402         instead of HAVE_LONG_LONG.
43403         * lib/printf-args.c (printf_fetchargs): Likewise.
43404         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43405         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43406         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43407         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43408         gl_AC_TYPE_LONG_LONG.
43409
43410 2006-10-11  Bruno Haible  <bruno@clisp.org>
43411
43412         * m4/longlong.m4: Add comments.
43413         * m4/ulonglong.m4: Likewise.
43414
43415 2006-10-10  Bruno Haible  <bruno@clisp.org>
43416
43417         Make it possible to #define stpcpy, strdup to aliases.
43418         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
43419         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
43420
43421 2006-10-10  Bruno Haible  <bruno@clisp.org>
43422
43423         Make it possible to #define gcd to an alias.
43424         * lib/gcd.c: Include config.h.
43425
43426 2006-10-10  Bruno Haible  <bruno@clisp.org>
43427
43428         Make it possible to #define c_isascii to an alias.
43429         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
43430         defined. Undefine the macros before defining them, to avoid gcc
43431         warnings.
43432         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
43433         define NO_C_CTYPE_MACROS early.
43434
43435 2006-10-10  Bruno Haible  <bruno@clisp.org>
43436
43437         Make it possible to #define set_program_name to an alias.
43438         * lib/progname.c: Don't undefine set_program_name; instead, undefine
43439         ENABLE_RELOCATABLE early.
43440
43441 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43442
43443         Port to Tandem NSK OSS, which has 64-bit signed int but at most
43444         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
43445         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
43446         More generally, don't assume that 64-bit signed int is available
43447         if unsigned int is, and vice versa.
43448         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43449         unsigned symbols, not on their signed counterparts.
43450         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43451         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43452         (UINT64_C, UINTMAX_C):
43453         Likewise.
43454         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43455         unsigned counterparts.
43456         (Have_long_long, Unsigned): New macros.
43457         (Int): Renamed from INT.
43458         (strtoimax): Use the new macros.
43459         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43460         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43461         * modules/inttypes (inttypes.h): Substitute
43462         HAVE_UNSIGNED_LONG_LONG_INT.
43463         * modules/stdint (stdint.h): Likewise.
43464         (Files): Add m4/ulonglong.m4.
43465
43466 2006-10-10  Bruno Haible  <bruno@clisp.org>
43467
43468         Fix a gcc -Wshadow warning.
43469         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43470         to 'bucket'.
43471         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43472         gl_linked_indexof_from_to): Likewise.
43473         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43474         Likewise.
43475         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43476         Likewise.
43477         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43478         Reported by Eric Blake.
43479
43480 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43481
43482         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43483         for NetBSD.  Problem reported by Bruno Haible.
43484
43485 2006-10-09  Jim Meyering  <jim@meyering.net>
43486
43487         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43488         Patch from Bruno Haible.
43489
43490 2006-10-09  Jim Meyering  <jim@meyering.net>
43491
43492         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43493         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43494         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43495
43496 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43497
43498         Don't include <config.h> twice; this doesn't work in some cases,
43499         e.g., when config.h has "#define intmax_t long long int" and
43500         we include <config.h>, <inttypes.h>, <config.h> in that order.
43501         Problem reported by Matthew Woehlke in:
43502         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43503         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43504         * lib/fts-cycle.c: Don't include config.h.
43505         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43506         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43507         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43508         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43509         inttypes.h.
43510         * lib/xstrtoumax.c: Likewise.
43511         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43512         __strtol and the like, so that this module is more like its siblings.
43513         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43514         Remove; no longer needed now that we assume gnulib inttypes.h.
43515
43516 2006-10-08  Bruno Haible  <bruno@clisp.org>
43517
43518         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43519         option.
43520
43521 2006-10-07  Jim Meyering  <jim@meyering.net>
43522
43523         * modules/inttypes (inttypes.h): Revert what seems to have been
43524         an inadvertent part of today's change: use "|", not "/" in the
43525         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43526
43527 2006-10-07  Bruno Haible  <bruno@clisp.org>
43528
43529         * modules/sublist: New file.
43530
43531 2006-10-07  Bruno Haible  <bruno@clisp.org>
43532
43533         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43534         * modules/argz (argz.h): Likewise.
43535         * modules/arpa_inet (arpa/inet.h): Likewise.
43536         * modules/byteswap (byteswap.h): Likewise.
43537         * modules/configmake (configmake.h): Likewise.
43538         * modules/fcntl (fcntl.h): Likewise.
43539         * modules/fnmatch (fnmatch.h): Likewise.
43540         * modules/getopt (getopt.h): Likewise.
43541         * modules/glob (glob.h): Likewise.
43542         * modules/inttypes (inttypes.h): Likewise.
43543         * modules/netinet_in (netinet/in.h): Likewise.
43544         * modules/poll (poll.h): Likewise.
43545         * modules/stdbool (stdbool.h): Likewise.
43546         * modules/stdint (stdint.h): Likewise.
43547         * modules/sys_select (sys/select.h): Likewise.
43548         * modules/sys_socket (sys/socket.h): Likewise.
43549         * modules/sys_stat (sys/stat.h): Likewise.
43550         * modules/sysexits (sysexits.h): Likewise.
43551         * modules/unistd (unistd.h): Likewise.
43552         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43553         Add a "DO NOT EDIT" comment to the generated file.
43554         (func_import): Likewise for gnulib-comp.m4.
43555
43556 2006-10-07  Bruno Haible  <bruno@clisp.org>
43557
43558         * lib/gl_sublist.h: New file.
43559         * lib/gl_sublist.c: New file.
43560
43561 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43562
43563         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43564         name (relative to the original working directory) and the file
43565         name component (relative to the temporary working directory).  All
43566         callers changed.
43567         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43568         * lib/mkdir-p.c (make_dir_parents): Likewise.
43569         * lib/mkdir-p.h (make_dir_parents): Likewise.
43570
43571 2006-10-06  Eric Blake  <ebb9@byu.net>
43572
43573         Define several macros for use by the clean-temp module.
43574         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43575         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43576         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43577
43578         * lib/clean-temp.h (close_stream_temp): New declaration.
43579         * lib/clean-temp.c (includes): Pull in headers according to what
43580         other modules are in use.
43581         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43582
43583 2006-10-06  Bruno Haible  <bruno@clisp.org>
43584
43585         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43586         instead of fopen, fwriteerror.
43587
43588 2006-10-06  Bruno Haible  <bruno@clisp.org>
43589
43590         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43591         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43592         int.
43593         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43594         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43595         Return an error indicator.
43596         Suggested by Eric Blake.
43597
43598 2006-10-06  Bruno Haible  <bruno@clisp.org>
43599
43600         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43601         Reported by Eric Blake.
43602
43603 2006-10-06  Bruno Haible  <bruno@clisp.org>
43604
43605         * modules/closeout (Description): Mention stderr too.
43606
43607 2006-10-06  Bruno Haible  <bruno@clisp.org>
43608         and Paul Eggert  <eggert@cs.ucla.edu>
43609
43610         * lib/closeout.c (close_stdout): Also close stderr.
43611         * lib/closeout.h: Update comment.
43612
43613 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43614
43615         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43616         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43617         * lib/dirchownmod.c: Include lchown.h.
43618         * lib/lchown.c: Don't include files that lchown.h now includes.
43619         Don't declare chown, since lchown.h now does that.
43620         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43621         (lchown): Define to rpl_chown if lchown is declared but
43622         does not exist.  Declare using a prototype if lchown is not
43623         declared.  Add a copyright notice.
43624         * lib/mkstemp.h: Include <unistd.h>.
43625         * lib/openat.c: Include lchown.h.
43626
43627         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43628         we now test for that separately.
43629         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43630         rather than O_NOFOLLOW, when testing whether it's possible to
43631         avoid a race condition reliably.
43632         * lib/savewd.c (savewd_chdir): Likewise.
43633
43634         Remove macros that are no longer needed now that stdint.h is
43635         reliable.
43636         * lib/fsusage.c (UINTMAX_MAX): Remove.
43637         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43638         * lib/utimecmp.c (SIZE_MAX): Remove.
43639
43640         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43641
43642         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43643         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43644         O_NOATIME works.
43645
43646 2006-10-05  Bruno Haible  <bruno@clisp.org>
43647
43648         * lib/gl_list.h (gl_sortedlist_search_from_to,
43649         gl_sortedlist_indexof_from_to): New declarations.
43650         (gl_list_implementation): New fields sortedlist_search_from_to,
43651         sortedlist_indexof_from_to.
43652         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43653         inline functions.
43654         * lib/gl_list.c (gl_sortedlist_search_from_to,
43655         gl_sortedlist_indexof_from_to): New functions.
43656         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43657         function.
43658         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43659         (gl_array_sortedlist_search_from_to): New function.
43660         (gl_array_list_implementation): Update.
43661         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43662         function.
43663         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43664         (gl_carray_sortedlist_search_from_to): New function.
43665         (gl_carray_list_implementation): Update.
43666         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43667         gl_linked_sortedlist_indexof_from_to): New functions.
43668         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43669         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43670         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43671         gl_tree_sortedlist_indexof_from_to): New functions.
43672         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43673         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43674         Update.
43675         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43676         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43677         Update.
43678
43679 2006-10-05  Bruno Haible  <bruno@clisp.org>
43680
43681         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43682         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43683         (struct gl_list_implementation): Add fields search_from_to,
43684         indexof_from_to. Remove fields search, indexof.
43685         (gl_list_search): Use the search_from_to method.
43686         (gl_list_search_from, gl_list_search_from_to): New functions.
43687         (gl_list_indexof): Use the indexof_from_to method.
43688         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43689         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43690         (gl_list_search_from, gl_list_search_from_to): New functions.
43691         (gl_list_indexof): Use the indexof_from_to method.
43692         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43693         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43694         gl_array_indexof. Add start_index, end_index arguments.
43695         (gl_array_search_from_to): Renamed from gl_array_search. Add
43696         start_index, end_index arguments.
43697         (gl_array_remove, gl_array_list_implementation): Update.
43698         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43699         gl_carray_indexof. Add start_index, end_index arguments.
43700         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43701         start_index, end_index arguments.
43702         (gl_carray_remove, gl_carray_list_implementation): Update.
43703         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43704         gl_linked_search. Add start_index, end_index arguments.
43705         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43706         start_index, end_index arguments.
43707         (gl_linked_remove): Update.
43708         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43709         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43710         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43711         field to 'size_t'.
43712         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43713         gl_tree_search. Add start_index, end_index arguments.
43714         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43715         start_index, end_index arguments.
43716         (gl_tree_remove): Update.
43717         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43718         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43719         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43720         function.
43721         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43722         gl_tree_search. Add start_index, end_index arguments.
43723         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43724         start_index, end_index arguments.
43725         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43726         Update.
43727         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43728
43729 2006-10-05  Bruno Haible  <bruno@clisp.org>
43730
43731         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43732
43733         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43734         fwriteerror_temp): New declarations.
43735         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43736         (descriptors): New variable.
43737         (cleanup): First, close the descriptors.
43738         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43739         fclose_temp, fwriteerror_temp): New functions.
43740
43741 2006-10-04  Jim Meyering  <jim@meyering.net>
43742
43743         * lib/fts.c (fts_open): Tiny comment change.
43744
43745 2006-10-04  Bruno Haible  <bruno@clisp.org>
43746
43747         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43748         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43749         gl_LOCK_BODY.
43750         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43751         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43752         gl_LOCK_EARLY_BODY.
43753         (gl_LOCK): Require gl_LOCK_BODY.
43754
43755 2006-10-04  Bruno Haible  <bruno@clisp.org>
43756
43757         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43758         (gl_oset_search_atleast): New declaration.
43759         (struct gl_oset_implementation): Add field 'search_atleast'.
43760         (gl_oset_search_atleast): New inline function.
43761         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43762         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43763         (gl_array_oset_implementation): Update.
43764         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43765         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43766         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43767
43768 2006-10-04  Bruno Haible  <bruno@clisp.org>
43769
43770         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43771
43772 2006-10-03  Bruno Haible  <bruno@clisp.org>
43773
43774         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43775         from gl_avltreehash_list_implementation.
43776
43777 2006-10-03  Bruno Haible  <bruno@clisp.org>
43778
43779         * lib/gl_oset.c (gl_oset_add): Fix return type.
43780
43781 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43782
43783         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43784
43785 2006-10-02  Eric Blake  <ebb9@byu.net>
43786
43787         * modules/strnlen (Depends-on): Add extensions.
43788
43789 2006-10-02  Eric Blake  <ebb9@byu.net>
43790
43791         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43792         definition in 2.60+.
43793
43794 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43795
43796         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43797         checks.
43798
43799 2006-10-02  Bruno Haible  <bruno@clisp.org>
43800
43801         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43802         to the AUTOMAKE_OPTIONS.
43803         Reported by Jim Meyering.
43804
43805 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43806
43807         Work around bug in Solaris 10 /proc file system:
43808         /proc/self/fd/NNN/.. isn't the parent directory of
43809         the directory whose file descriptor is NNN.  This needs to
43810         be worked around at run time, not compile time, since a
43811         program might be built on Solaris 8, where things work, and
43812         run on Solaris 10.
43813         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43814         to use the following interface instead:
43815         (OPENAT_BUFFER_SIZE): New macro.
43816         (openat_proc_name): New function.
43817         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43818         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43819         Likewise.
43820         * lib/openat-proc.c: New file.
43821         * modules/openat (Files): Add lib/openat-proc.c.
43822         (Depends-on): Add same-inode, stdbool.
43823         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43824
43825 2006-09-29  Bruno Haible  <bruno@clisp.org>
43826
43827         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43828         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43829         argument. Set stdout_closed before testing for ferror, not after.
43830         (fwriteerror, fwriteerror_no_ebadf): New functions.
43831
43832 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43833
43834         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43835
43836 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43837
43838         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43839         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43840
43841 2006-09-28  Jim Meyering  <jim@meyering.net>
43842
43843         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43844         Include <unistd.h>.
43845
43846 2006-09-28  Bruno Haible  <bruno@clisp.org>
43847
43848         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43849         * modules/linkedhash-list (Depends-on): Likewise.
43850         * modules/rbtreehash-list (Depends-on): Likewise.
43851
43852 2006-09-28  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/strndup.h: Simplify the redefinition of strndup.
43855         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43856         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43857
43858 2006-09-28  Bruno Haible  <bruno@clisp.org>
43859
43860         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43861         * lib/gl_linkedhash_list.c: Likewise.
43862         * lib/gl_rbtreehash_list.c: Likewise.
43863
43864 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43865
43866         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43867         getaddrinfo.
43868
43869         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43870         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43871         it causes <stdio_ext.h> to cause a compile-time error.
43872         Problem reported by Nelson H. F. Beebe.
43873         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43874         of HAVE_DECL___PENDING.
43875
43876         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43877         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43878         declaration.
43879
43880 2006-09-27  Jim Meyering  <jim@meyering.net>
43881
43882         This file could end up with a definition for a function
43883         named __strndup, rather than rpl_strndup on a system with
43884         incomplete weak_alias support.
43885         * lib/strndup.c (strndup): Rename from __strndup.
43886         Remove #defines that used to map __strndup to strndup.
43887         Don't use K&R prototypes.
43888         Remove LIBC-related code, since this file is not sync'd with glibc.
43889         * lib/strndup.h: Revamp, accordingly.
43890         * m4/strndup.m4: Modernize.
43891
43892 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43893
43894         * modules/savewd (Depends-on): Add 'raise'.
43895         * lib/savewd.c: Include <signal.h>, for 'raise'.
43896
43897 2006-09-26  Jim Meyering  <jim@meyering.net>
43898
43899         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
43900         when we detect Darwin 8.7.0's acl_get_file bug.
43901         Rearrange to perform the new (below) run-test while $LIBS
43902         contains any acl-related library.  Set USE_ACL at the end.
43903         (gl_ACL_GET_FILE): New function.
43904
43905 2006-09-26  Eric Blake  <ebb9@byu.net>
43906
43907         * lib/verror.c: Include <config.h> unconditionally.
43908
43909 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
43910
43911         * modules/clock-time (Maintainer): Add self.
43912         * modules/getlogin_r (Depends-on): Add extensions.
43913
43914 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43915
43916         * modules/clock-time: New module.
43917         * modules/nanosleep (Depends-on): Add clock-time.
43918         * modules/gethrxtime (Depends-on): Likewise.
43919         * modules/gettime (Depends-on): Likewise.
43920         * modules/settime (Depends-on): Likewise.
43921
43922         * modules/fts-lgpl: Depend on openat.
43923         * modules/mkancesdirs: Depend on savewd.
43924         * modules/mkdir-p: Likewise.
43925
43926 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43927
43928         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
43929
43930         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
43931         `gl_have_arbitrary_file_name_length_limit' to
43932         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
43933         actually works between configure runs.
43934
43935 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43936             Bruno Haible  <bruno@clisp.org>
43937
43938         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
43939
43940 2006-09-25  Jim Meyering  <jim@meyering.net>
43941
43942         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
43943         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
43944
43945 2006-09-25  Eric Blake  <ebb9@byu.net>
43946
43947         * gnulib-tool (func_import, func_create_testdir): Fix typos in
43948         exec's in 2006-09-18 patch when shuffling fds.
43949
43950 2006-09-25  Bruno Haible  <bruno@clisp.org>
43951
43952         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
43953         Reported by Jim Meyering.
43954
43955 2006-09-24  Jim Meyering  <jim@meyering.net>
43956
43957         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
43958         compare a pointer against a literal "0".  That caused failures with
43959         at least HP-UX's hpcc.
43960
43961 2006-09-22  Simon Josefsson  <jas@extundo.com>
43962
43963         * modules/gc-sha1:
43964         * modules/gc-md4:
43965         * modules/gc-hmac-sha1:
43966         * modules/gc-hmac-md5:
43967         * modules/gc-des:
43968         * modules/gc-arcfour: Distribute more files.
43969
43970 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43971
43972         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
43973         (gl_linked_iterator_from_to): Initialize struct completely.
43974         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
43975         (gl_tree_iterator_from_to): Likewise
43976         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
43977         * lib/gl_array_list.c [lint] (gl_array_iterator)
43978         (gl_array_iterator_from_to): Likewise.
43979         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
43980         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
43981         (gl_carray_iterator_from_to): Likewise.
43982
43983         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
43984         * lib/md4.c (md4_process_block): Remove unused variable.
43985         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
43986         parentheses for clarity.
43987
43988 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43989
43990         * modules/bison-i18n (Depends-on): Add gettext.
43991
43992 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43993
43994         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
43995         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43996         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
43997         also add missing comma that caused broken test.
43998         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
43999         stdlib.h, for `abort'.
44000         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
44001         variables.
44002         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
44003         include unistd.h if present, for `rmdir'.
44004         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
44005         variables.
44006         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
44007         in the process include standard headers for prototypes.
44008         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
44009         gets declared on GNU/Linux.
44010         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
44011         unistd.h, for `rmdir'.
44012         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
44013
44014         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
44015         always true.
44016         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
44017
44018         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
44019
44020 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44021
44022         * gnulib-tool (func_version): Create output all at once.  This
44023         may help avoid triggering unnecessary SIGPIPEs, and at any
44024         rate it doesn't hurt.
44025
44026 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44027             Bruno Haible  <bruno@clisp.org>
44028
44029         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
44030         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44031         * m4/signed.m4 (bh_C_SIGNED): Likewise.
44032
44033         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
44034         (gl_FUNC_VASPRINTF): Invoke it.
44035
44036 2006-09-22  Bruno Haible  <bruno@clisp.org>
44037
44038         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
44039         getloadavg.c as first argument.
44040
44041 2006-09-22  Bruno Haible  <bruno@clisp.org>
44042
44043         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
44044         at the beginning of the gl_INIT macro.
44045         * modules/getloadavg (configure.ac): Pass $gl_source_base to
44046         gl_GETLOADAVG.
44047
44048 2006-09-22  Bruno Haible  <bruno@clisp.org>
44049
44050         * gnulib-tool (func_create_megatestdir): Don't include the config-h
44051         module.
44052         Suggested by Ralf Wildenhues.
44053
44054 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44055
44056         Import this patch from libc:
44057
44058         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
44059
44060         * lib/regex_internal.c (re_string_reconstruct): Handle
44061         offset < pstr->valid_raw_len && pstr->offsets_needed case.
44062         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
44063         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
44064         re_string_context_at.
44065
44066         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
44067         now requires it.
44068         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
44069         gl_REGEX now does it for us.
44070         (gl_REGEX): Add test taken from
44071         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
44072
44073         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
44074         Check that large offsets work.  Modernize Autoconf usages.
44075         Prefer "yes" to mean a good thing rather than a bad.
44076         Don't put "#define mkstemp" in config.h, as this might interfere
44077         with standard system headers that "#define mkstemp mkstemp64".
44078
44079         * modules/mkstemp (Depends-on): Add extensions, so that
44080         mkstemp is visible on some platforms.
44081         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
44082         (Include): Change to "mkstemp.h" from <stdlib.h>.
44083         (Files): Add mkstemp.h.
44084
44085         * lib/mkstemp.h: New file, since some standard headers
44086         #define mkstemp.
44087         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
44088         Include "mkstemp.h".
44089         Make the _LIBC code resemble glibc original more,
44090         e.g., use K&R style.
44091         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
44092         (mkstemp): Remove, since mkstemp.h does this for us.
44093         * lib/stdlib--.h: Include mkstemp.h.
44094
44095         Import this patch from libc:
44096
44097         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44098
44099         * lib/tempname.c (__gen_tempname): Change attempts_min
44100         into a macro.  Use preprocessor to decide how to initialize
44101         attempts [Coverity CID 67].
44102
44103 2006-09-20  Bruno Haible  <bruno@clisp.org>
44104
44105         * lib/mkdtemp.c: Import from libc.
44106         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44107                 * sysdeps/posix/tempname.c (__gen_tempname): Change
44108                 attempts_min into a macro.  Use preprocessor to decide how to
44109                 initialize attempts [Coverity CID 67].
44110         2001-11-27  Paul Eggert  <eggert@twinsun.com>
44111                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
44112                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
44113
44114 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44115
44116         * gnulib-tool (func_exit): New function, to allow to pass the
44117         exit status portably through the trap.  Use everywhere.
44118         (--help, --version): Signal a write error.
44119         (trap): catch SIGPIPE, for write errors.
44120         Exit at the end of the trap, with the correct exit status.
44121
44122 2006-09-19  Karl Berry  <karl@gnu.org>
44123
44124         * doc/gnulib.texi: note about the license texinfo files.
44125
44126 2006-09-19  Eric Blake  <ebb9@byu.net>
44127
44128         * gnulib-tool: Avoid space-tab.
44129
44130 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44131
44132         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
44133         that prevented coreutils 6.1 from building.  Problem reported
44134         by Petter Reinholdtsen.
44135
44136 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44137
44138         * gnulib-tool (avoidlist): Fix typo that broke options like
44139         --avoid=lock that are used by coreutils bootstrap.
44140
44141 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
44142
44143         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
44144         more systematically.
44145
44146 2006-09-18  Jim Meyering  <jim@meyering.net>
44147
44148         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
44149
44150 2006-09-18  Bruno Haible  <bruno@clisp.org>
44151
44152         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
44153
44154 2006-09-18  Bruno Haible  <bruno@clisp.org>
44155
44156         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
44157         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
44158         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
44159         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
44160         * m4/gettext.m4: Require autoconf >= 2.52.
44161         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
44162         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
44163         of gl_cv_header_inttypes_h.
44164
44165 2006-09-18  Bruno Haible  <bruno@clisp.org>
44166
44167         * lib/javaversion.c: Include configmake.h.
44168
44169 2006-09-18  Bruno Haible  <bruno@clisp.org>
44170
44171         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
44172         avoid that the while loops be executed in a subshell.
44173
44174 2006-09-18  Bruno Haible  <bruno@clisp.org>
44175
44176         * MODULES.html.sh (func_module): Break long lines.
44177         Suggested by Bruce Korb <bkorb@gnu.org>.
44178
44179 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44180
44181         Speed up by a factor of 1.12.
44182         * gnulib-tool (nl): New variable.
44183         (func_import): Rewrite include directive extraction to only read each
44184         directive once.
44185
44186 2006-09-17  Bruno Haible  <bruno@clisp.org>
44187
44188         * modules/javaversion (Makefile.am): Remove DEFS setting.
44189         (Depends-on): Add configmake, for PKGDATADIR definition.
44190
44191 2006-09-17  Bruno Haible  <bruno@clisp.org>
44192
44193         * gnulib-tool (func_create_testdir): Rewrite all files at once.
44194
44195 2006-09-17  Bruno Haible  <bruno@clisp.org>
44196
44197         * gnulib-tool (func_append): New function, stolen from libtool.m4.
44198         (func_modules_transitive_closure, func_modules_add_dummy,
44199         func_modules_to_filelist, func_import, func_create_testdir,
44200         func_create_megatestdir, ...): Use it wherever possible.
44201         Suggested by Ralf Wildenhues.
44202
44203 2006-09-16  Karl Berry  <karl@gnu.org>
44204
44205         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
44206         to avoid sectioning errors.
44207         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
44208         [ifinfo]: blank line after @center-ed titles.
44209         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44210         Spell FSF address consistently with others.
44211         (These changes approved by rms.)
44212
44213 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44214
44215         Speed up by a factor of 1.61.
44216         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44217         already checked module names again.
44218
44219 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44220
44221         Speed up by a factor of 1.13.
44222         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44223         for new_files, and the input to func_add_or_update.
44224
44225 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44226
44227         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44228         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44229
44230 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44231
44232         * modules/mkancesdirs (Depends-on): Add fcntl.
44233         * modules/savewd: New file.
44234         * MODULES.html.sh (File system functions): Add savewd.
44235
44236         * modules/configmake (Makefile.am): Add support for the
44237         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44238
44239 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44240
44241         * m4/savewd.m4: New file.
44242
44243 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44244
44245         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44246         (dirchownmod): New arg FD.  All callers changed.
44247         Use FD rather than opening the directory ourself, as opening is
44248         now the caller's responsibility.
44249         * lib/dirchownmod.h: Likewise.
44250         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44251         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44252         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44253         (test_dir): Remove.
44254         (mkancesdirs): Return length of prefix of FILE that has already
44255         been made, or -2 if there is a child doing the work.  Redo
44256         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44257         ".", and treat ".." specially since it might stray back into
44258         already-created areas.  Use a subprocess if necessary.  New arg
44259         WD; all users changed.  MAKE_DIR function should now return 1
44260         if it creates a directory that is not readable.  Return -2 if
44261         a child process is spun off.
44262         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44263         Adjust signature to match code.
44264         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44265         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44266         all users changed.
44267         * lib/savewd.c, lib/savewd.h: New files.
44268
44269 2006-09-15  Jim Meyering  <jim@meyering.net>
44270
44271         * modules/rename-dest-slash: New module.
44272         * MODULES.html.sh (posix_compat): Add it here.
44273
44274         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44275
44276 2006-09-15  Jim Meyering  <jim@meyering.net>
44277
44278         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44279         file.
44280
44281         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44282
44283 2006-09-15  Jim Meyering  <jim@meyering.net>
44284
44285         * lib/rename-dest-slash.c (has_trailing_slash): Use
44286         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44287         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44288         test before testing whether SRC is a directory.
44289         Suggestions from Bruno Haible.
44290
44291         Avoid a warning about an unused variable.
44292         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44293         into the #ifdef block where it's used.
44294
44295         * lib/rename-dest-slash.c: New file.
44296
44297 2006-09-14  Bruno Haible  <bruno@clisp.org>
44298
44299         * lib/allocsa.c: Include <config.h> unconditionally.
44300         * lib/asnprintf.c: Likewise.
44301         * lib/asprintf.c: Likewise.
44302         * lib/c-strcasecmp.c: Likewise.
44303         * lib/c-strcasestr.c: Likewise.
44304         * lib/c-strncasecmp.c: Likewise.
44305         * lib/c-strstr.c: Likewise.
44306         * lib/classpath.c: Likewise.
44307         * lib/clean-temp.c: Likewise.
44308         * lib/concatpath.c: Likewise.
44309         * lib/copy-file.c: Likewise.
44310         * lib/csharpcomp.c: Likewise.
44311         * lib/csharpexec.c: Likewise.
44312         * lib/execute.c: Likewise.
44313         * lib/fatal-signal.c: Likewise.
44314         * lib/findprog.c: Likewise.
44315         * lib/fwriteerror.c: Likewise.
44316         * lib/gl_array_list.c: Likewise.
44317         * lib/gl_array_oset.c: Likewise.
44318         * lib/gl_avltree_list.c: Likewise.
44319         * lib/gl_avltree_oset.c: Likewise.
44320         * lib/gl_avltreehash_list.c: Likewise.
44321         * lib/gl_carray_list.c: Likewise.
44322         * lib/gl_linked_list.c: Likewise.
44323         * lib/gl_linkedhash_list.c: Likewise.
44324         * lib/gl_list.c: Likewise.
44325         * lib/gl_oset.c: Likewise.
44326         * lib/gl_rbtree_list.c: Likewise.
44327         * lib/gl_rbtree_oset.c: Likewise.
44328         * lib/gl_rbtreehash_list.c: Likewise.
44329         * lib/imaxabs.c: Likewise.
44330         * lib/imaxdiv.c: Likewise.
44331         * lib/javacomp.c: Likewise.
44332         * lib/javaexec.c: Likewise.
44333         * lib/javaversion.c: Likewise.
44334         * lib/linebreak.c: Likewise.
44335         * lib/localcharset.c: Likewise.
44336         * lib/lock.c: Likewise.
44337         * lib/mbchar.c: Likewise.
44338         * lib/mbswidth.c: Likewise.
44339         * lib/mkdtemp.c: Likewise.
44340         * lib/pipe.c: Likewise.
44341         * lib/printf-args.c: Likewise.
44342         * lib/printf-parse.c: Likewise.
44343         * lib/progname.c: Likewise.
44344         * lib/progreloc.c: Likewise.
44345         * lib/readlink.c: Likewise.
44346         * lib/sh-quote.c: Likewise.
44347         * lib/stpcpy.c: Likewise.
44348         * lib/stpncpy.c: Likewise.
44349         * lib/strcasecmp.c: Likewise.
44350         * lib/strcasestr.c: Likewise.
44351         * lib/strcspn.c: Likewise.
44352         * lib/striconv.c: Likewise.
44353         * lib/strncasecmp.c: Likewise.
44354         * lib/strnlen1.c: Likewise.
44355         * lib/strstr.c: Likewise.
44356         * lib/strtok_r.c: Likewise.
44357         * lib/tls.c: Likewise.
44358         * lib/tmpdir.c: Likewise.
44359         * lib/unicodeio.c: Likewise.
44360         * lib/unsetenv.c: Likewise.
44361         * lib/vasnprintf.c: Likewise.
44362         * lib/vasprintf.c: Likewise.
44363         * lib/wait-process.c: Likewise.
44364         * lib/xallocsa.c: Likewise.
44365         * lib/xsetenv.c: Likewise.
44366         * lib/xstriconv.c: Likewise.
44367
44368 2006-09-13  Simon Josefsson  <jas@extundo.com>
44369
44370         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44371         that internally, suggested by Ralf Wildenhues
44372         <Ralf.Wildenhues@gmx.de>.
44373
44374 2006-09-13  Simon Josefsson  <jas@extundo.com>
44375
44376         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44377         @LIBOBJS@.
44378         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44379
44380 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44381
44382         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44383         longer worry about uses that don't define HAVE_CONFIG_H.
44384         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44385         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44386         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44387         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44388         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44389         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44390         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44391         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44392         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44393         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44394         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44395         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44396         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44397         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44398         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44399         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44400         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44401         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44402         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44403         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44404         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44405         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44406         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44407         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44408         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44409         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44410         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44411         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44412         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44413         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44414         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44415         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44416         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44417         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
44418         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
44419         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
44420         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
44421         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
44422         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
44423         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
44424         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
44425         Likewise.
44426
44427 2006-09-13  Eric Blake  <ebb9@byu.net>
44428
44429         * lib/getopt.c: Fix typo in last commit.
44430
44431 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44432
44433         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
44434         dgettext.
44435
44436 2006-09-12  Jim Meyering  <jim@meyering.net>
44437
44438         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
44439         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
44440         Reported by Nelson H. F. Beebe.
44441
44442 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44443
44444         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
44445         program_invocation_name and program_invocation_short_name are
44446         initialized.
44447         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44448         and program_invocation_short_name to argp.h, so they are visible
44449         to user programs.
44450         * lib/argp.h: Likewise
44451
44452 2006-09-10  Bruno Haible  <bruno@clisp.org>
44453
44454         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44455         m4/inttypes_h.m4, m4/uintmax_t.m4.
44456
44457 2006-09-10  Bruno Haible  <bruno@clisp.org>
44458
44459         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44460         gl_AC_TYPE_UINTMAX_T.
44461
44462 2006-09-10  Bruno Haible  <bruno@clisp.org>
44463
44464         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44465
44466 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44467
44468         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44469         convention.  Text proposed by Bruno Haible.
44470         (struct argp_option): Document the use of N_() wrappers.
44471
44472         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44473         '\v', and translate the two parts separately, instead of feeding
44474         the whole string to gettext.  This allows to exclude
44475         '\v' from the strings visible to the translator by writing doc
44476         strings as N_("..") "\v" N_("..").
44477
44478 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44479
44480         * config/srclist.txt: Undo latest change; the bug was fixed.
44481
44482 2006-09-09  Bruno Haible  <bruno@clisp.org>
44483
44484         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44485         assignments if building a library without libtool.
44486         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44487         in func_emit_lib_Makefile_am.
44488         (func_import): When building a static library libfoo.a, arrange to
44489         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44490         (func_create_testdir): Likewise.
44491         * modules/gc (configure.ac, Makefile.am): If building statically,
44492         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44493         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44494         * modules/striconv (configure.ac, Makefile.am): Likewise.
44495         Based on a suggestion by Ralf Wildenhues.
44496
44497 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44498
44499         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44500         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44501         Also:
44502
44503         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44504         Add year_2050_test to catch glibc bug 2821
44505         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44506
44507         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44508         Prefer #ifdef to #if.
44509
44510         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44511         Return from 'main' instead of calling 'exit'.
44512
44513 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44514
44515         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44516         returned the maximum time_t value rather than (time_t) -1.
44517         Problem originally reported by William Bardwell
44518         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44519
44520         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44521         Moved to here ...
44522         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44523         ... from here.
44524
44525 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44526
44527         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44528         2821 is fixed.
44529
44530 2006-09-08  Jim Meyering  <jim@meyering.net>
44531
44532         Don't make generated files read-only.  That would bother too many
44533         people.  However, do retain the ability to work when targets are
44534         read-only: remove the destination and temporary files before writing
44535         them (when generated via sed or echo), or by using the -f option for
44536         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44537         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44538         * modules/byteswap, modules/configmake, modules/fcntl:
44539         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44540         * modules/localcharset, modules/netinet_in, modules/poll:
44541         * modules/stdbool, modules/stdint, modules/sys_select:
44542         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44543
44544 2006-09-08  Jim Meyering  <jim@meyering.net>
44545
44546         Avoid new build failure on FreeBSD 6.0.
44547         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44548         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44549         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44550
44551 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44552
44553         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44554
44555 2006-09-07  Jim Meyering  <jim@meyering.net>
44556
44557         Fix global typo in last change: use chmod u-w, not chmod u-x.
44558         Spotted by Paul Eggert and Bruce Korb.
44559         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44560         * modules/byteswap, modules/configmake, modules/fcntl:
44561         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44562         * modules/localcharset, modules/netinet_in, modules/poll:
44563         * modules/stdbool, modules/stdint, modules/sys_select:
44564         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44565
44566 2006-09-06  Jim Meyering  <jim@meyering.net>
44567
44568         Make generated files be read-only.
44569         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44570         Ensure that each generated file is now read-only.
44571         * modules/argz: Likewise.
44572         * modules/arpa_inet: Likewise.
44573         * modules/byteswap: Likewise.
44574         * modules/configmake: Likewise.
44575         * modules/fcntl: Likewise.
44576         * modules/fnmatch: Likewise.
44577         * modules/getopt: Likewise.
44578         * modules/glob: Likewise.
44579         * modules/inttypes: Likewise.
44580         * modules/netinet_in: Likewise.
44581         * modules/poll: Likewise.
44582         * modules/stdbool: Likewise.
44583         * modules/stdint: Likewise.
44584         * modules/sys_select: Likewise.
44585         * modules/sys_socket: Likewise.
44586         * modules/sys_stat: Likewise.
44587         * modules/sysexits: Likewise.
44588         * modules/localcharset: Same as above, but continue using temporary
44589         file named "t-$@" (why different?) rather than the "$@-t" used
44590         everywhere else.
44591
44592         * modules/sysexits (Makefile.am): Replace literal occurrences
44593         of "sysexit.h" more readable, and more consistent, "$@".
44594
44595 2006-09-06  Bruno Haible  <bruno@clisp.org>
44596
44597         * modules/striconv: New file.
44598         * modules/xstriconv: New file.
44599         * MODULES.html.sh (Internationalization functions): Add striconv,
44600         xstriconv.
44601
44602 2006-09-06  Bruno Haible  <bruno@clisp.org>
44603
44604         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44605         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44606         not using libtool correctly.
44607
44608 2006-09-06  Bruno Haible  <bruno@clisp.org>
44609
44610         * lib/striconv.h: New file.
44611         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44612         iconvstring.c.
44613         * lib/xstriconv.h: New file.
44614         * lib/xstriconv.c: New file.
44615
44616 2006-09-06  Bruno Haible  <bruno@clisp.org>
44617
44618         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44619         lib_..._LDFLAGS.
44620
44621 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44622
44623         * lib/argz_.h: Sync from Libtool.
44624
44625         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44626                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44627
44628         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44629
44630 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44631
44632         * modules/trim: New file.
44633
44634 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44635
44636         * lib/trim.h: New file.
44637         * lib/trim.c: New file.
44638
44639 2006-09-05  Bruno Haible  <bruno@clisp.org>
44640
44641         * MODULES.html.sh (String handling): Add trim.
44642
44643 2006-09-04  Karl Berry  <karl@gnu.org>
44644
44645         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44646         until next release.
44647
44648 2006-09-03  Bruno Haible  <bruno@clisp.org>
44649
44650         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44651         correctly.
44652
44653 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44654
44655         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44656         not gl_GETLOADAVG.  Omit unneeded semicolons.
44657         Problems reported by Ralf Wildenhues in
44658         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44659         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44660         at the end, which is the usual gnulib style.
44661
44662         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44663         of doing all the work ourselves.
44664         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44665         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44666
44667 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44668
44669         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44670         Problem reported by Ralf Wildenhues in
44671         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44672
44673         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44674         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44675
44676 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44677
44678         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44679         yesterday's patch by changing test -n to test -z.
44680
44681 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44682
44683         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44684         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44685         the former is now obsolescent.
44686
44687         * modules/chdir-long (Depends-on): Add fcntl.
44688
44689 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44690
44691         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44692         obsolescent, and programs should use gnulib instead.
44693         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44694         but with prefixes changed.
44695
44696 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44697
44698         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44699         or stdbool.h, because they might not exist while configuring.
44700
44701         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44702         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44703         does that for us.
44704         (O_DIRECTORY): Remove.
44705
44706 2006-08-31  Eric Blake  <ebb9@byu.net>
44707
44708         * gnulib-tool: Don't let emacs change spaces to TAB.
44709
44710 2006-08-31  Bruno Haible  <bruno@clisp.org>
44711
44712         * gnulib-tool: When calling func_import more than once, do it in a
44713         subshell.
44714         Reported by Eric Blake <ebb9@byu.net>.
44715
44716 2006-08-31  Bruno Haible  <bruno@clisp.org>
44717
44718         * gnulib-tool (nl): Remove variable.
44719         (sed_transform_lib_file): Use more robust test for config-h module.
44720         (func_import): Fix typo in 2006-08-25 patch.
44721
44722 2006-08-31  Bruno Haible  <bruno@clisp.org>
44723
44724         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44725         specified, augment Makefile.am variables instead of assigning them.
44726
44727 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44728
44729         Work around a bug in both the Linux and SunOS 64-bit kernels:
44730         nanosleep mishandles sleeps for longer than 2**31 seconds.
44731         Problem reported by Frank v Waveren in
44732         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44734         Check for nanosleep bug.
44735         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44736
44737 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44738
44739         Work around a bug in both the Linux and SunOS 64-bit kernels:
44740         nanosleep mishandles sleeps for longer than 2**31 seconds.
44741         Problem reported by Frank v Waveren in
44742         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44743         * lib/nanosleep.c (BILLION): New constant.
44744         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44745         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44746         implementation.
44747
44748 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44749
44750         * modules/nanosleep (Depends-on): Add gettime.
44751
44752 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44753         and Simon Josefsson  <jas@extundo.com>
44754         and Oskar Liljeblad  <oskar@osk.mine.nu>
44755
44756         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44757         * gnulib-tool (func_import): New license type 'unmodifiable license
44758         text'.
44759         * modules/fdl: Use it.  Longer description.
44760         * module/gpl, module/lgpl: New files.
44761
44762 2006-08-30  Jim Meyering  <jim@meyering.net>
44763
44764         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44765         shadowing the parameter.
44766
44767 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44768
44769         Sync from Libtool:
44770
44771         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44772
44773         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44774         sharing with gnulib.  Report by Eric Blake.
44775
44776 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44777
44778         * modules/isapipe: New file.
44779         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44780
44781 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44782
44783         * modules/configmake (Makefile.am): Add a comment, and omit
44784         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44785         by Bruno Haible.
44786
44787 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44788
44789         * m4/isapipe.m4: New file.
44790
44791 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44792
44793         * lib/isapipe.c, lib/isapipe.h: New files.
44794
44795 2006-08-29  Jim Meyering  <jim@meyering.net>
44796
44797         * modules/configmake (Makefile.am): Make configmake.h depend on
44798         Makefile.  Otherwise, a stale configmake.h could hang around.
44799
44800 2006-08-29  Eric Blake  <ebb9@byu.net>
44801
44802         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44803         resolution of upstream bug 3044.
44804
44805 2006-08-29  Bruno Haible  <bruno@clisp.org>
44806
44807         * modules/localcharset (Depends-on): Add configmake.
44808         (Makefile.am): Remove setting of LIBDIR through DEFS.
44809
44810 2006-08-29  Bruno Haible  <bruno@clisp.org>
44811
44812         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44813         defined.
44814
44815 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44816
44817         * modules/fcntl: New file.
44818         * modules/chdir-safer (Depends-on): Add fcntl.
44819         * modules/fts: Likewise.
44820         * modules/mkdir-p: Likewise.
44821
44822         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44823         This undoes the most recent change, since we're now addressing the
44824         problem in a different way.
44825
44826         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44827         into output, since the output might be called Makefile.am even
44828         if $makefile_name is something different.
44829         (func_import): Use $makefile_am rather than
44830         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44831         empty.
44832
44833         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44834
44835 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44836
44837         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44838         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44839         recent change to stdint.m4, since we're now addressing the problem in a
44840         different way.
44841
44842 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44843
44844         * m4/fcntl_h.m4: New file.
44845
44846 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44847
44848         * lib/fcntl_.h: New file.
44849         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44850         the fcntl module.
44851         * lib/dirchownmod.c: Likewise.
44852         * lib/fts.c: Likewise.
44853
44854         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44855         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44856         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44857         just before including <inttypes.h>, to avoid circular inclusion.
44858
44859 2006-08-28  Jim Meyering  <jim@meyering.net>
44860
44861         * doc/visibility.texi: Actually read and correct the grammar of the
44862         sentence affected by yesterday's change.
44863
44864 2006-08-28  Eric Blake  <ebb9@byu.net>
44865
44866         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44867         needs wrapper.
44868
44869 2006-08-28  Eric Blake  <ebb9@byu.net>
44870
44871         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44872
44873 2006-08-28  Eric Blake  <ebb9@byu.net>
44874
44875         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44876
44877 2006-08-28  Bruno Haible  <bruno@clisp.org>
44878
44879         * modules/c-strstr: New file, from GNU gettext.
44880         * MODULES.html.sh (String handling): Add c-strstr.
44881
44882 2006-08-28  Bruno Haible  <bruno@clisp.org>
44883
44884         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44885         macros.
44886         Reported by Eric Blake.
44887
44888 2006-08-28  Bruno Haible  <bruno@clisp.org>
44889
44890         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44891         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44892         * lib/vasprintf.c: Include errno.h, limits.h.
44893         (EOVERFLOW): New fallback definition.
44894         (vasprintf): Test here whether the string length is > INT_MAX.
44895         * lib/vsnprintf.c: Include errno.h, limits.h.
44896         (EOVERFLOW): New fallback definition.
44897         (vsnprintf): Fix bug when generated string was too long for the buffer.
44898         Test here whether the string length is > INT_MAX.
44899
44900 2006-08-28  Bruno Haible  <bruno@clisp.org>
44901
44902         * lib/inttypes_.h (SCNX*): Remove definitions.
44903         Reported by Eric Blake.
44904
44905 2006-08-28  Bruno Haible  <bruno@clisp.org>
44906
44907         * lib/c-strstr.h: New file, from GNU gettext.
44908         * lib/c-strstr.c: New file, from GNU gettext.
44909
44910 2006-08-28  Bruno Haible  <bruno@clisp.org>
44911
44912         * gnulib-tool: Reorder some statements.
44913
44914 2006-08-28  Bruno Haible  <bruno@clisp.org>
44915
44916         * gnulib-tool: New option --makefile-name.
44917         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
44918         $makefile_name.
44919         (func_import): Write $makefile_name to the cache file, and read it from
44920         there unless explicitly specified. Use $makefile_name as file name
44921         instead of Makefile.am. Adjust the recommendations accordingly.
44922
44923 2006-08-28  Bruno Haible  <bruno@clisp.org>
44924
44925         * gnulib-tool (func_verify_module): Check against misapplying patch.
44926
44927 2006-08-28  Bruno Haible  <bruno@clisp.org>
44928
44929         * gnulib-tool (func_relativize, func_relconcat): New functions.
44930         Give an error if --local-dir is given with --update.
44931         Remove trailing slashes from $local_gnulib_dir.
44932         (func_import): Store the relativized $local_gnulib_dir in
44933         gnulib-cache.m4, and read it from there if not specified explicitly.
44934
44935 2006-08-28  Bruno Haible  <bruno@clisp.org>
44936
44937         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
44938         is the current directory. Respect also $local_gnulib_dir.
44939
44940 2006-08-28  Bruno Haible  <bruno@clisp.org>
44941             Simon Josefsson  <jas@extundo.com>
44942
44943         BeOS portability.
44944         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
44945
44946 2006-08-27  Jim Meyering  <jim@meyering.net>
44947
44948         * doc/visibility.texi: Remove duplicate word: "pointer".
44949
44950 2006-08-26  Bruno Haible  <bruno@clisp.org>
44951
44952         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
44953         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
44954         (Makefile.am): Create inttypes.h from inttypes_.h.
44955         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
44956
44957         * modules/imaxabs: New file.
44958
44959         * modules/imaxdiv: New file.
44960
44961 2006-08-26  Bruno Haible  <bruno@clisp.org>
44962
44963         * m4/inttypes.m4: New file.
44964         * m4/_inttypes_h.m4: Remove file.
44965         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
44966         PRI_MACROS_BROKEN.
44967         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
44968
44969         * m4/imaxabs.m4: New file.
44970
44971         * m4/imaxdiv.m4: New file.
44972
44973 2006-08-26  Bruno Haible  <bruno@clisp.org>
44974
44975         * lib/inttypes_.h: New file.
44976         * lib/inttypes.h: Remove file.
44977         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
44978
44979         * lib/imaxabs.c: New file.
44980
44981         * lib/imaxdiv.c: New file.
44982
44983 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44984
44985         New config-h module, so that "make" output needn't be cluttered
44986         by -DHAVE_CONFIG_H.
44987         * MODULES.html.sh (Support for building libraries and executables):
44988         Add config-h.
44989         * modules/config-h: New file.
44990         * gnulib-tool (nl, sed_transform_lib_file): New vars.
44991         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
44992         the config-h module is used.
44993
44994         New configmake module, so that "make" output needn't be cluttered
44995         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
44996         * MODULES.html.sh (Support for building libraries and executables):
44997         Add configmake.
44998         * modules/configmake: New file.
44999
45000 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45001
45002         * m4/config-h.m4: New file.
45003
45004 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45005
45006         * config/srclist.txt: Add elisp-comp.
45007
45008 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45009
45010         * MODULES.html.sh (Support for building libraries and executables):
45011         Add elisp-comp.
45012         * build-aux/elisp-comp: New file.
45013         * modules/elisp-comp: New file.
45014
45015 2006-08-24  Bruno Haible  <bruno@clisp.org>
45016
45017         * gnulib-tool (func_create_testdir): Use non-default values of
45018         sourcebase and m4base.
45019
45020 2006-08-24  Bruno Haible  <bruno@clisp.org>
45021
45022         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
45023         HTML structure.
45024
45025 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
45026
45027         * modules/openat (Depends-on): Add lchown.
45028
45029 2006-08-23  Bruno Haible  <bruno@clisp.org>
45030
45031         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
45032         of gl_LOCK_EARLY instead of gl_LOCK.
45033
45034 2006-08-23  Bruno Haible  <bruno@clisp.org>
45035
45036         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
45037         on OSF/1 to no.
45038         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
45039
45040 2006-08-23  Bruno Haible  <bruno@clisp.org>
45041
45042         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
45043         as unusable.
45044
45045         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
45046         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
45047         (gl_LOCK): New macro.
45048
45049 2006-08-22  Simon Josefsson  <jas@extundo.com>
45050
45051         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
45052         to md5 module.
45053
45054 2006-08-22  Simon Josefsson  <jas@extundo.com>
45055
45056         * MODULES.html.sh: Add "Support for maintaining and release
45057         projects".
45058
45059         * build-aux/gnupload: New file, from coreutils.
45060
45061 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45062
45063         Avoid the need for AC_LIBSOURCES in m4 macros.
45064         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
45065         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
45066         * modules/check-version (EXTRA_DIST): Add check-version.h.
45067         * modules/crc (EXTRA_DIST): Add crc.h.
45068         * modules/des (EXTRA_DIST): Add des.h.
45069         * modules/gc (EXTRA_DIST): Add gc.h.
45070         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
45071         * modules/getline (EXTRA_DIST): Add getline.h.
45072         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
45073         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
45074         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
45075         * modules/md2 (EXTRA_DIST): Add md2.h.
45076         * modules/md4 (EXTRA_DIST): Add md4.h.
45077         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
45078         * modules/read-file (EXTRA_DIST): Add read-file.h.
45079         * modules/readline (EXTRA_DIST): Add readline.h.
45080         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
45081         rijndael-api-fst.h.
45082
45083 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45084
45085         * m4/rijndael.m4 (gl_ARCFOUR):
45086         * m4/arctwo.m4 (gl_ARCTWO):
45087         * m4/check-version.m4 (gl_CHECK_VERSION):
45088         * m4/crc.m4 (gl_CRC):
45089         * m4/des.m4 (gl_DES):
45090         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
45091         * m4/gc.m4 (gl_GC):
45092         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
45093         * m4/getline.m4 (gl_FUNC_GETLINE):
45094         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
45095         * m4/hmac-md5.m4 (gl_HMAC_MD5):
45096         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
45097         * m4/md2.m4 (gl_MD2):
45098         * m4/md4.m4 (gl_MD4):
45099         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
45100         * m4/read-file.m4 (gl_FUNC_READ_FILE):
45101         * m4/readline.m4 (gl_FUNC_READLINE):
45102         * m4/rijndael.m4 (gl_RIJNDAEL):
45103         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45104         to get the necessary .h files and whatnot.
45105
45106 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45107
45108         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
45109         gnulib rather than the other way around.
45110         * config/srclistvars.sh (COREUTILS): Remove.
45111
45112 2006-08-22  Jim Meyering  <jim@meyering.net>
45113
45114         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
45115
45116         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
45117
45118 2006-08-22  Eric Blake  <ebb9@byu.net>
45119
45120         * modules/regexprops-generic: New file.
45121         * MODULES.html.sh (Support for building documentation): List it.
45122
45123 2006-08-22  Eric Blake  <ebb9@byu.net>
45124
45125         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
45126         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45127         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
45128         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
45129
45130 2006-08-22  Bruno Haible  <bruno@clisp.org>
45131
45132         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
45133         and lib_LTLIBRARIES like the other lib_* variables.
45134
45135 2006-08-22  Bruno Haible  <bruno@clisp.org>
45136
45137         * build-aux/x-to-1.in: New file, from GNU gettext.
45138
45139 2006-08-22  Bruno Haible  <bruno@clisp.org>
45140
45141         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
45142         <utmpx.h> exists.
45143
45144 2006-08-22  Bruno Haible  <bruno@clisp.org>
45145
45146         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
45147         <utmpx.h> exists.
45148
45149 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45150
45151         BeOS portability.
45152         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
45153         exist.
45154         Problem reported by Bruno Haible.
45155
45156 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45157
45158         Avoid the need for AC_LIBSOURCES in m4 macros.
45159         * modules/acl (EXTRA_DIST): Add acl.h.
45160         * modules/argmatch (Files): Add m4/argmatch.m4.
45161         (configure.ac): Add gl_ARGMATCH.
45162         (EXTRA_DIST): Renamed from lib_SOURCES, for
45163         consistency with the other modules.  Remove argmatch.c.
45164         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
45165         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
45166         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
45167         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
45168         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
45169         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
45170         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
45171         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
45172         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
45173         * modules/closeout (EXTRA_DIST): Add closeout.h.
45174         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
45175         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
45176         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
45177         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
45178         dirname.h; remove basename.c and stripslash.c.
45179         * modules/exclude (EXTRA_DIST): Add exclude.h.
45180         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
45181         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
45182         * modules/file-type (EXTRA_DIST): Add file-type.h.
45183         * modules/filemode (EXTRA_DIST): Add filemode.h.
45184         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
45185         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45186         * modules/fpending (EXTRA_DIST): Add __fpending.h.
45187         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
45188         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
45189         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
45190         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
45191         * modules/getdate (EXTRA_DIST): Add getdate.c.
45192         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
45193         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
45194         * modules/getpass (EXTRA_DIST): Add getpass.h.
45195         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
45196         * modules/group-member (EXTRA_DIST): Add group-member.h.
45197         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
45198         * modules/hash (EXTRA_DIST): Add hash.h.
45199         * modules/human (EXTRA_DIST): Add human.h.
45200         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
45201         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
45202         * modules/lchown (EXTRA_DIST): Add lchown.h.
45203         * modules/long-options (EXTRA_DIST): Add long-options.h.
45204         * modules/lstat (EXTRA_DIST): Add lstat.h.
45205         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
45206         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
45207         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
45208         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45209         * modules/memxor (EXTRA_DIST): Add memxor.h.
45210         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45211         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45212         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45213         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45214         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45215         * modules/physmem (EXTRA_DIST): Add physmem.h.
45216         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45217         * modules/posixver (EXTRA_DIST): Add posixver.h.
45218         * modules/quote (EXTRA_DIST): Add quote.h.
45219         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45220         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45221         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45222         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45223         regex_internal.h regexec.c.
45224         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45225         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45226         * modules/same (EXTRA_DIST): Add same.h.
45227         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45228         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45229         * modules/savedir (EXTRA_DIST): Add savedir.h.
45230         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45231         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45232         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45233         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45234         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45235         * modules/strdup (EXTRA_DIST): Add strdup.h.
45236         * modules/strftime (EXTRA_DIST): Add strftime.h.
45237         * modules/strndup (EXTRA_DIST): Add strndup.h.
45238         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45239         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45240         * modules/time_r (EXTRA_DIST): Add time_r.h.
45241         * modules/timespec (EXTRA_DIST): Add timespec.h.
45242         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45243         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45244         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45245         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45246         * modules/userspec (EXTRA_DIST): Add userspec.h.
45247         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45248         * modules/utimens (EXTRA_DIST): Add utimens.h.
45249         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45250         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45251         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45252         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45253         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45254         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45255         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45256         * modules/yesno (EXTRA_DIST): Add yesno.h.
45257
45258 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45259
45260         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45261
45262         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45263         * m4/dev-ino.m4, same-inode.m4: Remove.
45264
45265         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45266         * m4/acl.m4 (AC_FUNC_ACL):
45267         * m4/backupfile.m4 (gl_BACKUPFILE):
45268         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45269         * m4/canon-host.m4 (gl_CANON_HOST):
45270         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45271         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45272         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45273         * m4/cloexec.m4 (gl_CLOEXEC):
45274         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45275         * m4/closeout.m4 (gl_CLOSEOUT):
45276         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45277         * m4/dirname.m4 (gl_DIRNAME):
45278         * m4/exclude.m4 (gl_EXCLUDE):
45279         * m4/exitfail.m4 (gl_EXITFAIL):
45280         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45281         * m4/file-type.m4 (gl_FILE_TYPE):
45282         * m4/filemode.m4 (gl_FILEMODE):
45283         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45284         * m4/fpending.m4 (gl_FUNC_FPENDING):
45285         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45286         * m4/fts.m4 (gl_FUNC_FTS):
45287         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45288         * m4/getdate.m4 (gl_GETDATE):
45289         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45290         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45291         * m4/getpass.m4 (gl_FUNC_GETPASS):
45292         * m4/gettime.m4 (gl_GETTIME):
45293         * m4/getugroups.m4 (gl_GETUGROUPS):
45294         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45295         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45296         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45297         * m4/hash.m4 (gl_HASH):
45298         * m4/idcache.m4 (gl_IDCACHE):
45299         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45300         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45301         * m4/long-options.m4 (gl_LONG_OPTIONS):
45302         * m4/lstat.m4 (gl_FUNC_LSTAT):
45303         * m4/md5.m4 (gl_MD5):
45304         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45305         * m4/memcoll.m4 (gl_MEMCOLL):
45306         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45307         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45308         * m4/memxor.m4 (gl_MEMXOR):
45309         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45310         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45311         * m4/modechange.m4 (gl_MODECHANGE):
45312         * m4/mountlist.m4 (gl_MOUNTLIST):
45313         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45314         * m4/openat.m4 (gl_FUNC_OPENAT):
45315         * m4/pathmax.m4 (gl_PATHMAX):
45316         * m4/physmem.m4 (gl_PHYSMEM):
45317         * m4/posixtm.m4 (gl_POSIXTM):
45318         * m4/posixver.m4 (gl_POSIXVER):
45319         * m4/quote.m4 (gl_QUOTE):
45320         * m4/quotearg.m4 (gl_QUOTEARG):
45321         * m4/readtokens.m4 (gl_READTOKENS):
45322         * m4/readutmp.m4 (gl_READUTMP):
45323         * m4/regex.m4 (gl_REGEX):
45324         * m4/safe-read.m4 (gl_SAFE_READ):
45325         * m4/safe-write.m4 (gl_SAFE_WRITE):
45326         * m4/same.m4 (gl_SAME):
45327         * m4/save-cwd.m4 (gl_SAVE_CWD):
45328         * m4/savedir.m4 (gl_SAVEDIR):
45329         * m4/settime.m4 (gl_SETTIME):
45330         * m4/sha1.m4 (gl_SHA1):
45331         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45332         * m4/stat-macros.m4 (gl_STAT_MACROS):
45333         * m4/stat-time.m4 (gl_STAT_TIME):
45334         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45335         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45336         * m4/strdup.m4 (gl_FUNC_STRDUP):
45337         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45338         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45339         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45340         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45341         * m4/time_r.m4 (gl_TIME_R):
45342         * m4/timespec.m4 (gl_TIMESPEC):
45343         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45344         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45345         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45346         * m4/userspec.m4 (gl_USERSPEC):
45347         * m4/utimecmp.m4 (gl_UTIMECMP):
45348         * m4/utimens.m4 (gl_UTIMENS):
45349         * m4/xalloc.m4 (gl_XALLOC):
45350         * m4/xgetcwd.m4 (gl_XGETCWD):
45351         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45352         * m4/xreadlink.m4 (gl_XREADLINK):
45353         * m4/xstrtod.m4 (gl_XSTRTOD):
45354         * m4/yesno.m4 (gl_YESNO):
45355         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45356         to get the necessary .h files and whatnot.
45357
45358 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45359             Bruno Haible  <bruno@clisp.org>
45360
45361         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45362         /bin/sh understanding of '!' conditional negation.
45363
45364 2006-08-21  Jim Meyering  <jim@meyering.net>
45365
45366         * modules/openat (Depends-on): Really alphabetize.
45367
45368         * modules/acl (Depends-on): Add error and quote.
45369
45370         * check-module (find_included_lib_files): Add at-func.c to the
45371         ok-to-include-more-than-once white list.
45372
45373         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45374
45375 2006-08-21  Bruno Haible  <bruno@clisp.org>
45376
45377         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45378         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45379         Reported by Martin Lambers <marlam@marlam.de>.
45380
45381 2006-08-21  Bruno Haible  <bruno@clisp.org>
45382
45383         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45384         specify an installation location, don't emit a noinst_LIBRARIES or
45385         noinst_LTLIBRARIES assignment.
45386
45387 2006-08-21  Bruno Haible  <bruno@clisp.org>
45388
45389         BeOS portability.
45390         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45391         BeOS has mbrtowc() but no <wctype.h>.
45392
45393 2006-08-21  Bruno Haible  <bruno@clisp.org>
45394
45395         BeOS portability.
45396         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45397         exist.
45398
45399 2006-08-21  Bruno Haible  <bruno@clisp.org>
45400
45401         BeOS portability.
45402         * lib/mbchar.h: Include <wctype.h> only if it exists.
45403
45404 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45405
45406         Remove files that are no longer needed by their respective modules.
45407         * m4/obstack.m4: Remove.
45408         * m4/strerror_r.m4: Remove.
45409         * m4/uint32_t.m4: Remove.
45410         * m4/uintptr_t.m4: Remove.
45411         * m4/ullong_max.m4: Remove.
45412         * m4/xstrtoimax.m4: Remove.
45413         * m4/xstrtoumax.m4: Remove.
45414
45415         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45416         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45417         dependencies now capture this.
45418
45419         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
45420         Do not use AC_LIBSOURCES, since gnulib modules now do this.
45421         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
45422         * m4/human.m4 (gl_HUMAN): Likewise.
45423         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
45424         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
45425
45426         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
45427
45428         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
45429         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
45430         stdint.
45431         * m4/human.m4 (gl_HUMAN): Likewise.
45432         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
45433         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
45434         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45435         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45436         * m4/xstrtol (gl_XSTRTOL): Likewise.
45437
45438         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
45439         AC_TYPE_LONG_LONG_INT.
45440         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45441         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
45442         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
45443         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45444
45445         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
45446         on stdbool.
45447
45448         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45449         (gl_PREREQ_XSTRTOUL): Remove.
45450
45451         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45452
45453         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45454         mode.
45455
45456 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45457
45458         Add and change modules to make it easier for coreutils to use
45459         gnulib-tool.
45460         * modules/backupfile (Files): Remove m4/d-ino.m4.
45461         (Depends-on): Add d-ino.
45462         * modules/cycle-check (Depends-on): Add stdint.
45463         (lib_SOURCES): Add cycle-check.h.
45464         * modules/d-ino: New module.
45465         * modules/d-type: New module.
45466         * modules/error (Files): Remove m4/strerror_r.m4.
45467         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45468         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45469         m4/inttypes_h.m4, m4/uintmax_t.m4.
45470         (Depends-on): Add stdint.
45471         (lib_SOURCES): Add fsusage.h.
45472         * modules/getcwd (Files): Remove d-ino.m4.
45473         (Depends-on): Add d-ino.
45474         * modules/getndelim2 (Depends-on): Add stdint.
45475         * modules/glob (Files): Remove m4/d-type.m4.
45476         (Depends-on): Add d-type.
45477         * modules/host-os: New module.
45478         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45479         m4/inttypes_h.m4, m4/uintmax_t.m4.
45480         * Depends-on: Add stdint.
45481         (lib_SOURCES): Add human.h.
45482         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45483         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45484         m4/uintmax_t.m4, m4/ulonglong.m4.
45485         (Depends-on): Add stdint.
45486         (EXTRA_DIST): Add inttostr.h.
45487         * modules/lchmod: New module.
45488         * modules/link-follow: New module.
45489         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45490         (Depends-on): Add lchmod.
45491         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45492         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45493         (Depends-on): Add stdint.
45494         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45495         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45496         (Depends-on): Add stdint.
45497         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45498         * modules/perl: New module.
45499         * modules/regex (Depends-on): Add stdint.
45500         * modules/rmdir-errno: New module.
45501         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45502         m4/intmax_t.m4.
45503         (Depends-on): Add stdint.
45504         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45505         m4/uintmax_t.m4.
45506         (Depends-on): Add stdint.
45507         * modules/unlink-busy: New module.
45508         * modules/utimecmp (Depends-on): Add stdint.
45509         * modules/uptime: New module.
45510         * modules/winsz-ioctl: New module.
45511         * modules/winsz-termios: New module.
45512         * modules/xnanosleep (Depends-on): Add nanosleep.
45513         * modules/ullong_max: Remove.
45514         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45515         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45516         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45517         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45518         (Depends-on): Add inttypes.
45519         (lib_SOURCES): Add xstrtol.h.
45520         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45521         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45522         * MODULES.html.sh: Move 'assert' into the assert section.
45523         Move 'dummy' into the linking section.
45524         Remove ullong_max.
45525         Add section for compatibility checks for POSIX:2001 functions,
45526         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45527         winsz-ioctl, and winsz-termios into it.
45528         Add lchmod.
45529         Add top-level Misc section and put host-os, perl, and uptime
45530         into it.
45531
45532 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45533
45534         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45535         now assume the stdint module.  Do not include inttypes.h.
45536         * lib/fsusage.h: Likewise.
45537         * lib/getndelim2.c: Likewise.
45538         * lib/human.h: Likewise.
45539         * lib/inttostr.h: Likewise.
45540         * lib/obstack.c: Likewise.
45541         * lib/regex_internal.h: Likewise.
45542         * lib/tempname.c: Likewise.
45543         * lib/utimecmp.c: Likewise.
45544         * lib/xstrtol.h: Likewise.
45545
45546         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45547
45548         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45549         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45550         * lib/xtime.h: Likewise.
45551
45552 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45553
45554         * modules/openat (Files): Add lib/fchmodat.c.
45555         Fixes problem reported by Jay Youngman.
45556
45557 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45558
45559         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45560         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45561
45562 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45563             Bruno Haible  <bruno@clisp.org>
45564
45565         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45566         and is a script that invokes bison. Tighten the code. Add comments.
45567
45568 2006-08-18  Jim Meyering  <jim@meyering.net>
45569
45570         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45571         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45572         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45573         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45574
45575 2006-08-18  Bruno Haible  <bruno@clisp.org>
45576
45577         * modules/bison-i18n: New file.
45578         * MODULES.html.sh (Internationalization functions): Add it.
45579
45580 2006-08-18  Bruno Haible  <bruno@clisp.org>
45581
45582         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45583         sys/statvfs.h. When getmntinfo was found, check its declaration and
45584         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45585
45586 2006-08-18  Bruno Haible  <bruno@clisp.org>
45587
45588         * m4/bison-i18n.m4: New file, from bison.
45589
45590 2006-08-18  Bruno Haible  <bruno@clisp.org>
45591
45592         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45593         (ME_DUMMY): Treat "kernfs" as a dummy.
45594         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45595
45596 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45597
45598         Update from coreutils.
45599
45600         2006-08-15  Jim Meyering  <jim@meyering.net>
45601
45602         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45603
45604         2006-01-17  Jim Meyering  <jim@meyering.net>
45605
45606         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45607
45608         2006-01-11  Jim Meyering  <jim@meyering.net>
45609
45610         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45611         Check for the lchmod function.
45612
45613 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45614
45615         Update from coreutils.
45616
45617         * lib/__fpending.h: Add copyright notice.
45618         * lib/fprintftime.h: Likewise.
45619         * lib/savedir.c: Use (C) in copyright notice.
45620         * lib/savedir.h: Likewise.
45621
45622         2006-08-15  Jim Meyering  <jim@meyering.net>
45623
45624         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45625         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45626         in support of the EXPECTED_ERRNO macro.
45627         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45628         definitions.  Instead, define the appropriate symbols and include
45629         "at-func.c".
45630         * lib/mkdirat.c (mkdirat): Likewise.
45631         * lib/fchmodat.c (fchmodat): Likewise.
45632         (ENOSYS): Remove definition.
45633         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45634         it.  Don't include "unistd--.h" -- it wasn't ever used.
45635
45636         2006-01-17  Jim Meyering  <jim@meyering.net>
45637
45638         Rewrite fts.c not to change the current working directory,
45639         by using openat, fstatat, fdopendir, etc..
45640
45641         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45642         (HAVE_OPENAT_SUPPORT): Define.
45643         [_LIBC] (fchdir): Don't undef or define; no longer used.
45644         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45645         Now, this `function' always succeeds, and consumes its file descriptor
45646         parameter -- so callers must not close such FDs.  Update callers.
45647         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45648         (diropen): Add parameter, SP.  Adjust all callers.
45649         Implement using diropen_fd, rather than open.
45650         (fts_open): Initialize new member, fts_cwd_fd.
45651         Remove fts_rft-setting code.
45652         (fts_close): Close fts_cwd_fd, if necessary.
45653         (__opendir2): Define in terms of opendir or opendirat,
45654         depending on whether the FST_NOCHDIR flag is set.
45655         (fts_build): Since fts_safe_changedir consumes its FD, and since
45656         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45657         and close the dup'd file descriptor upon failure.
45658         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45659         (fts_safe_changedir): Tweak semantics to reflect that this function
45660         now calls cwd_advance_fd and hence consumes its FD argument.
45661         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45662         [struct FTS] (fts_rft): Remove now-unused member.
45663         [struct FTS] (fts_cycle.state): Improve comment.
45664
45665         * lib/openat.c (openat_needs_fchdir): New function.
45666         * lib/openat.h (openat_needs_fchdir): Declare it.
45667
45668 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45669
45670         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45671         Problem and fix reported by Pádraig Brady in
45672         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45673
45674 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45675
45676         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45677
45678 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45679
45680         * lib/memcoll.c (memcoll): Optimize for the common case where the
45681         arguments are bytewise equal.
45682
45683 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45684
45685         * doc/regexprops-generic.texi: Add a copyright notice.
45686
45687 2006-08-15  Bruno Haible  <bruno@clisp.org>
45688
45689         * modules/tmpdir (License): Change to LGPL.
45690
45691 2006-08-15  Bruno Haible  <bruno@clisp.org>
45692
45693         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45694         module.
45695
45696 2006-08-14  Simon Josefsson  <jas@extundo.com>
45697
45698         * config/srclist.txt: Add gnupload.
45699
45700 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45701
45702         Change copyright notice from LGPL 2 to GPL 2, since that's the
45703         standard form used in the gnulib repository.
45704         * tests/test-lock.c: Likewise.
45705         * tests/test-stdint.c: Likewise.
45706         * tests/test-tls.c: Likewise.
45707
45708         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45709         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45710         Add copyright notice.
45711
45712         * check-module: Add copyright notice.  Output a copyright
45713         notice if "--version" is specified.
45714         * modules/COPYING: New file.
45715         * tests/test-getaddrinfo.c: Add copyright notice.
45716         * tests/test-verify.c: Likewise.
45717
45718 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45719
45720         Change copyright notice from LGPL 2 to GPL 2, since that's the
45721         standard form used in the gnulib repository.
45722         * lib/lock.c: LGPL -> GPL.
45723         * lib/lock.h: Likewise.
45724         * lib/strnlen1.c: Likewise.
45725         * lib/strnlen1.h: Likewise.
45726         * lib/tls.c: Likewise.
45727         * lib/tls.h: Likewise.
45728         * lib/tmpdir.c: Likewise.
45729
45730         * lib/TODO: Remove; this belongs only in coreutils.
45731
45732 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45733
45734         Add copyright notices to long-enough files that lack them, since
45735         otherwise the files aren't clearly free.  Use the same notice that
45736         getdate.texi already uses.
45737         * doc/alloca-opt.texi: Add copyright notice.
45738         * doc/alloca.texi: Likewise.
45739         * doc/ctime.texi: Likewise.
45740         * doc/functions.texi: Likewise.
45741         * doc/gcd.texi: Likewise.
45742         * doc/gnulib-tool.texi: Likewise.
45743         * doc/inet_ntoa.texi: Likewise.
45744         * doc/visibility.texi: Likewise.
45745
45746         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45747         * doc/quote.texi: Add copyright notice.
45748
45749         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45750         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45751         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45752         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45753         is now obsolete, and give a pointer to the Sun list.
45754         Add copyright notice.
45755
45756 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45757
45758         * config/srclistvars.sh: Add copyright notice.
45759
45760 2006-08-14  Eric Blake  <ebb9@byu.net>
45761
45762         Import the following change from libc:
45763
45764         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45765
45766         Upstream bug 2997.
45767         * lib/misc/error.c: Add space between program name and message if file
45768         name is missing.
45769
45770 2006-08-12  Karl Berry  <karl@gnu.org>
45771
45772         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45773         remove, these originate in gnulib now.
45774
45775 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45776
45777         * doc/Makefile (standards.info standards.html standards.dvi):
45778         Also depend on make-stds.texi.
45779
45780 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45781
45782         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45783         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45784
45785         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45786         in wchar_t.  Problem reported by Eric Blake.
45787
45788         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45789         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45790         Also, help the compiler to keep LEN in a register.
45791
45792 2006-08-11  Eric Blake  <ebb9@byu.net>
45793
45794         * users.txt: Sort.  Add tar.
45795
45796 2006-08-11  Bruno Haible  <bruno@clisp.org>
45797
45798         * users.txt: New file.
45799
45800 2006-08-11  Bruno Haible  <bruno@clisp.org>
45801
45802         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45803         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45804
45805 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45806
45807         * modules/snprintf (Depends-on): Remove minmax.
45808         (Maintainer): Add self and Bruno.
45809
45810 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45811
45812         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45813         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45814         (EOVERFLOW): Define if the system does not.
45815         Do not include "minmax.h"; it wasn't used.
45816         (snprintf): Don't assume size_t promotes to an unsigned type.
45817         Fix bug when generated string was too long for the buffer: the
45818         buffer's contents are supposed to be the initial prefix of the
45819         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45820         exceeds INT_MAX; do the check ourselves.
45821
45822         Import the following changes from libc:
45823
45824         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45825
45826         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45827         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45828         set wc to the byte which couldn't be converted.
45829         (re_string_reconstruct): Don't clear valid_raw_len before calling
45830         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45831         tip_context using re_string_context_at.
45832
45833         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45834
45835         * lib/posix/regex.h: g++ still cannot handled [restrict].
45836
45837         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45838
45839         * lib/posix/regex.h: Remove special handling for VMS.
45840
45841 2006-08-10  Jim Meyering  <jim@meyering.net>
45842
45843         * modules/same-inode: New module.
45844         * modules/dev-ino: New module.
45845         * modules/cycle-check: Depend on these modules, rather than simply
45846         including their .h files.
45847         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45848         required via m4/cycle-check.m4.
45849         * modules/same: Depend on new same-inode module, rather than
45850         including same-inode.h.
45851         * modules/chdir-safer: New file.
45852
45853         * modules/chown (Depends-on): Add stat-macros.
45854
45855 2006-08-10  Jim Meyering  <jim@meyering.net>
45856
45857         * m4/cycle-check.m4: New file.
45858         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45859         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45860
45861 2006-08-10  Eric Blake  <ebb9@byu.net>
45862
45863         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45864         in from original proposal.
45865
45866 2006-08-10  Eric Blake  <ebb9@byu.net>
45867         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45868
45869         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45870         namespace.
45871
45872 2006-08-10  Bruno Haible  <bruno@clisp.org>
45873
45874         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45875         as well.
45876
45877 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45878
45879         Sync from coreutils.
45880
45881         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45882
45883         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45884         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45885
45886 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45887
45888         * modules/restrict: Remove; no longer needed now that we assume
45889         Autoconf 2.59 or later.
45890         * MODULES.html.sh: Remove 'restrict'.
45891         * modules/argp (Depends-on): Remove 'restrict'.
45892         * modules/base64 (Depends-on): Likewise.
45893         * modules/gc (Depends-on): Likewise.
45894         * modules/getaddrinfo (Depends-on): Likewise.
45895         * modules/glob (Depends-on): Likewise.
45896         * modules/inet_ntop (Depends-on): Likewise.
45897         * modules/inet_pton (Depends-on): Likewise.
45898         * modules/memxor (Depends-on): Likewise.
45899         * modules/regex (Depends-on): Likewise.
45900         * modules/strtok_r (Depends-on): Likewise.
45901         * modules/time_r (Depends-on): Likewise.
45902
45903 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45904
45905         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
45906         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
45907         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45908         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
45909         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45910         * m4/memxor.m4 (gl_MEMXOR): Likewise.
45911         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
45912         gl_C_RESTRICT replaced by AC_C_RESTRICT.
45913
45914         Merge from coreutils.
45915         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
45916         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
45917         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45918         * m4/time_r.m4 (gl_TIME_R): Likewise.
45919
45920 2006-08-09  Karl Berry  <karl@gnu.org>
45921
45922         * config/srclist.txt: no more gettext-tools, per Bruno.
45923
45924 2006-08-08  Eric Blake  <ebb9@byu.net>
45925
45926         * modules/verror: New module.
45927         * MODULES.html.sh: Document it.
45928
45929 2006-08-08  Eric Blake  <ebb9@byu.net>
45930
45931         * lib/verror.h, lib/verror.c: New files.
45932
45933 2006-08-08  Eric Blake  <ebb9@byu.net>
45934
45935         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
45936         verror_at_line output complies with GNU Coding Standards even when
45937         file is NULL.
45938
45939 2006-08-07  Bruno Haible  <bruno@clisp.org>
45940
45941         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
45942         versions of AIX.
45943         Reported by Ralf Wildenhues.
45944
45945 2006-08-07  Bruno Haible  <bruno@clisp.org>
45946
45947         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
45948         in an AC_DEFUN. Needed so that the autoconf snippets can use
45949         AC_REQUIRE.
45950
45951 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45952
45953         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45954         Initialize pkgdata_DATA.
45955         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
45956         overriding it.
45957
45958 2006-08-06  Eric Blake  <ebb9@byu.net>
45959
45960         * lib/error.h: Fold in some upstream changes from glibc.
45961         * lib/error.c: Likewise.
45962
45963 2006-08-04  Bruno Haible  <bruno@clisp.org>
45964
45965         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45966         Make the mostlyclean-local rule depend on mostlyclean-generic.
45967         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
45968
45969 2006-07-31  Bruno Haible  <bruno@clisp.org>
45970
45971         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
45972         <stdlib.h>, <string.h>.
45973
45974 2006-07-30  Bruno Haible  <bruno@clisp.org>
45975
45976         * modules/readlink (License): Change to LGPL.
45977
45978 2006-07-30  Bruno Haible  <bruno@clisp.org>
45979
45980         * modules/javaversion (Makefile.am): Distribute javaversion.java and
45981         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
45982         set PKGDATADIR to point to it.
45983
45984 2006-07-30  Bruno Haible  <bruno@clisp.org>
45985
45986         * modules/csharpexec (configure.ac): Comment out macro invocation.
45987         * modules/javaexec (configure.ac): Likewise.
45988         * modules/javacomp-script (configure.ac): Likewise.
45989
45990         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
45991
45992 2006-07-30  Bruno Haible  <bruno@clisp.org>
45993
45994         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
45995         linked-list.
45996
45997 2006-07-30  Bruno Haible  <bruno@clisp.org>
45998
45999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
46000
46001 2006-07-30  Bruno Haible  <bruno@clisp.org>
46002
46003         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46004         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
46005         get removed.
46006
46007 2006-07-29  Bruno Haible  <bruno@clisp.org>
46008
46009         Make it possible for gnulib-tool to work with locally modified or
46010         augmented gnulib repositories.
46011         * gnulib-tool (func_usage): Document --local-dir option.
46012         (local_gnulib_dir): New variable.
46013         Handle --local-dir option.
46014         (func_lookup_file): New function.
46015         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
46016         (func_get_description, func_get_filelist, func_get_description,
46017         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
46018         func_get_automake_snippet, func_get_include_directive,
46019         func_get_license, func_get_maintainer): Use func_lookup_file.
46020         (func_import, func_create_testdir): Use func_lookup_file.
46021
46022 2006-07-29  Bruno Haible  <bruno@clisp.org>
46023
46024         * modules/setenv (Depends-on): Add unistd.
46025
46026 2006-07-29  Bruno Haible  <bruno@clisp.org>
46027
46028         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
46029
46030 2006-07-29  Bruno Haible  <bruno@clisp.org>
46031
46032         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
46033
46034 2006-07-29  Bruno Haible  <bruno@clisp.org>
46035
46036         * gnulib-tool (import, update): If there is no Makefile.am, look at
46037         aclocal.m4, instead of bailing out.
46038
46039 2006-07-29  Bruno Haible  <bruno@clisp.org>
46040
46041         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
46042         Categorize the options by when they are useful.
46043
46044 2006-07-29  Bruno Haible  <bruno@clisp.org>
46045
46046         * gnulib-tool (func_usage): Document option --no-libtool.
46047         Handle option --no-libtool.
46048         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
46049         for changed semantics of $libtool variable.
46050         (func_import): Likewise. If libtool is not used, show this through
46051         an option --no-libtool.
46052         (func_create_testdir): Update.
46053
46054 2006-07-29  Bruno Haible  <bruno@clisp.org>
46055
46056         * gnulib-tool (func_import): Extend error message about missing
46057         --doc-base.
46058
46059 2006-07-29  Bruno Haible  <bruno@clisp.org>
46060
46061         * gnulib-tool (func_import): Don't create the $docbase directory if
46062         there is no file to store there.
46063
46064 2006-07-29  Bruno Haible  <bruno@clisp.org>
46065
46066         * gnulib-tool (autoconf_minversion): If a --dir option is given and
46067         relevant, look for configure.ac there, not in the current directory.
46068         Also use a simple search for AC_PREREQ, not "autoconf --trace".
46069
46070 2006-07-29  Bruno Haible  <bruno@clisp.org>
46071
46072         * gnulib-tool (SORT): New variable.
46073         (func_usage): Undocument --assume-autoconf option.
46074         Remove --assume-autoconf option handling.
46075         (autoconf_minversion): Determine from the contents of configure.ac.
46076         (func_import): Remove autoconf_minversion handling.
46077         Suggested by Eric Blake.
46078
46079 2006-07-29  Bruno Haible  <bruno@clisp.org>
46080
46081         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
46082
46083 2006-07-29  Bruno Haible  <bruno@clisp.org>
46084
46085         * config/srclist.txt (*setenv.[ch]): Remove rules.
46086
46087 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46088
46089         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
46090
46091 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46092
46093         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
46094         arpa/inet.h.
46095
46096 2006-07-28  Simon Josefsson  <jas@extundo.com>
46097
46098         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
46099         * modules/inet_pton (Depends-on): Likewise.
46100
46101 2006-07-28  Simon Josefsson  <jas@extundo.com>
46102
46103         * m4/netinet_in_h.m4: New file.
46104
46105 2006-07-28  Simon Josefsson  <jas@extundo.com>
46106
46107         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
46108         #include's.
46109
46110 2006-07-28  Simon Josefsson  <jas@extundo.com>
46111
46112         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
46113         #include's.
46114
46115 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
46116
46117         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
46118         setgid on directories only if they set these bits.
46119         * lib/modechange.h: Remove obsolete comment about masks.
46120
46121 2006-07-28  Eric Blake  <ebb9@byu.net>
46122
46123         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
46124         macro expansion.
46125
46126 2006-07-28  Bruno Haible  <bruno@clisp.org>
46127
46128         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
46129
46130 2006-07-28  Bruno Haible  <bruno@clisp.org>
46131
46132         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
46133
46134 2006-07-28  Bruno Haible  <bruno@clisp.org>
46135
46136         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46137         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46138         Define fallbacks.
46139         Avoids link error on FreeBSD 4.x.
46140         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46141
46142         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
46143         encoding.
46144         * lib/mbswidth.c (iswcntrl): Likewise.
46145
46146 2006-07-27  Bruno Haible  <bruno@clisp.org>
46147
46148         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
46149         test.
46150
46151 2006-07-27  Bruno Haible  <bruno@clisp.org>
46152
46153         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
46154         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
46155         defined.
46156
46157 2006-07-26  Eric Blake  <ebb9@byu.net>
46158
46159         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
46160
46161 2006-07-26  Eric Blake  <ebb9@byu.net>
46162
46163         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
46164         like mingw that lack mkstemp.
46165         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
46166         avoid compilation warning on mingw.
46167
46168 2006-07-26  Bruno Haible  <bruno@clisp.org>
46169
46170         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
46171         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
46172         INT_FAST*_MIN, INTPTR_MIN.
46173
46174 2006-07-25  Bruno Haible  <bruno@clisp.org>
46175
46176         * modules/version-etc (Depends-on): Add stdarg.
46177
46178 2006-07-25  Bruno Haible  <bruno@clisp.org>
46179
46180         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
46181         complex commands.
46182
46183 2006-07-25  Bruno Haible  <bruno@clisp.org>
46184
46185         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
46186         defined in <stdarg.h> or config.h.
46187
46188 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46189
46190         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
46191         (gl_STDIO_SAFER): Remove.
46192
46193 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46194
46195         * MODULES.html.sh (File stream based Input/Output):
46196         Add fopen-safer, tmpfile-safer; remove stdio-safer.
46197         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
46198         * modules/fopen-safer, modules/tmpfile-safer: New files.
46199         * modules/stdio-safer: Remove.
46200
46201 2006-07-24  Bruno Haible  <bruno@clisp.org>
46202
46203         * modules/tmpdir: New file.
46204         * MODULES.html.sh (File system functions): Add it.
46205
46206 2006-07-24  Bruno Haible  <bruno@clisp.org>
46207
46208         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46209         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46210
46211 2006-07-24  Bruno Haible  <bruno@clisp.org>
46212
46213         * modules/clean-temp: New file.
46214
46215 2006-07-24  Bruno Haible  <bruno@clisp.org>
46216
46217         * m4/tmpdir.m4: New file, from GNU gettext.
46218
46219 2006-07-24  Bruno Haible  <bruno@clisp.org>
46220
46221         * lib/tmpdir.h: New file, from GNU gettext.
46222         * lib/tmpdir.c: New file, from GNU gettext.
46223
46224 2006-07-24  Bruno Haible  <bruno@clisp.org>
46225
46226         * lib/clean-temp.h: New file, from GNU gettext.
46227         * lib/clean-temp.c: New file, from GNU gettext.
46228
46229 2006-07-23  Eric Blake  <ebb9@byu.net>
46230
46231         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46232         (Depends-on): Add binary-io.
46233
46234 2006-07-23  Eric Blake  <ebb9@byu.net>
46235
46236         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46237
46238 2006-07-23  Eric Blake  <ebb9@byu.net>
46239
46240         * lib/tmpfile-safer.c: New file.
46241         * lib/stdio-safer.h (fopen_safer): Add prototype.
46242         * lib/stdio--.h (tmpfile): Make safer.
46243
46244 2006-07-23  Bruno Haible  <bruno@clisp.org>
46245
46246         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46247         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46248         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46249         gl_linked_remove_at): Use it.
46250
46251 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46252         and Simon Josefsson <jas@extundo.com>
46253
46254         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46255
46256         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46257
46258 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46259
46260         * modules/close-stream: New file.
46261         * modules/closeout (Description): Make it clear that it exits
46262         with a diagnostic on error.
46263         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46264         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46265
46266 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46267
46268         * m4/close-stream.m4: New file.
46269
46270 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46271
46272         * lib/close-stream.c, lib/close-stream.h: New files.
46273
46274 2006-07-22  Bruno Haible  <bruno@clisp.org>
46275
46276         Merge from GNU gettext 0.15.
46277
46278         2006-05-01  Bruno Haible  <bruno@clisp.org>
46279
46280                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46281
46282         2006-07-22  Bruno Haible  <bruno@clisp.org>
46283
46284                 * modules/javaversion: New file.
46285                 * MODULES.html.sh (Java): Add javaversion.
46286
46287         2006-03-12  Bruno Haible  <bruno@clisp.org>
46288
46289                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46290
46291         2005-12-04  Bruno Haible  <bruno@clisp.org>
46292
46293                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46294                 (untested).
46295
46296         2006-06-21  Bruno Haible  <bruno@clisp.org>
46297
46298                 Avoid warnings from recent versions of mcs.
46299                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46300                 -o, -L, -r any more. Use options documented since mcs-1.0
46301                 instead. Similarly for -g.
46302
46303         2005-12-04  Bruno Haible  <bruno@clisp.org>
46304
46305                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46306                 .resources, not .resource.
46307
46308         2005-07-09  Bruno Haible  <bruno@clisp.org>
46309
46310                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46311                 add a .dll suffix.
46312                 Reported by Mark Junker <mjscod@gmx.de>.
46313
46314         2006-07-22  Bruno Haible  <bruno@clisp.org>
46315
46316                 * modules/gettext: Upgrade to gettext-0.15.
46317                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46318                 m4/visibility.m4.
46319                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46320
46321 2006-07-22  Bruno Haible  <bruno@clisp.org>
46322
46323         Merge from GNU gettext 0.15.
46324
46325         2006-03-25  Bruno Haible  <bruno@clisp.org>
46326
46327                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46328
46329         2006-07-21  Bruno Haible  <bruno@clisp.org>
46330
46331                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46332                 "1.1".
46333
46334         2006-05-09  Bruno Haible  <bruno@clisp.org>
46335
46336                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46337                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46338                 for the conftestver execution.
46339
46340         2006-05-01  Bruno Haible  <bruno@clisp.org>
46341
46342                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46343                 optional target-version argument. Verify that the compiler
46344                 groks source of the specified source-version, or add -source
46345                 option as necessary. Verify that the compiler produces
46346                 bytecode in the specified target-version, or add -target and
46347                 -source options as necessary. Make the result of the test
46348                 available as variable CONF_JAVAC. Also log error output in
46349                 config.log.
46350
46351         2006-03-11  Bruno Haible  <bruno@clisp.org>
46352
46353                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46354
46355         2006-05-09  Bruno Haible  <bruno@clisp.org>
46356
46357                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46358                 CLASSPATH_SEPARATOR to a semicolon.
46359
46360         2006-03-12  Bruno Haible  <bruno@clisp.org>
46361
46362                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46363                 available as variable CONF_JAVA, for subsequent autoconf
46364                 tests. Also log error output in config.log.
46365
46366         2006-07-19  Bruno Haible  <bruno@clisp.org>
46367
46368                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46369                 that getline works on glibc2 systems. Needed to avoid trouble
46370                 in relocatable.c.
46371                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46372
46373         2005-12-04  Bruno Haible  <bruno@clisp.org>
46374
46375                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46376                 launcher (untested).
46377
46378         2005-12-04  Bruno Haible  <bruno@clisp.org>
46379
46380                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46381
46382         2006-07-22  Bruno Haible  <bruno@clisp.org>
46383
46384                 * gettext.m4: Update from GNU gettext-0.15.
46385                 * nls.m4: Likewise.
46386                 * po.m4: Likewise.
46387                 * inttypes-pri.m4: Likewise.
46388                 * inttypes-h.m4: Renamed from inttypes.m4.
46389                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46390
46391 2006-07-22  Bruno Haible  <bruno@clisp.org>
46392
46393         Merge from GNU gettext 0.15.
46394
46395         2005-07-05  Bruno Haible  <bruno@clisp.org>
46396
46397                 * printf-args.c (printf_fetchargs): Work around broken
46398                 definition of wint_t on mingw.
46399
46400         2005-02-12  Bruno Haible  <bruno@clisp.org>
46401
46402                 * xallocsa.h: Add extern "C" for C++.
46403
46404         2006-05-17  Bruno Haible  <bruno@clisp.org>
46405
46406                 Cygwin portability.
46407                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46408
46409         2006-04-30  Bruno Haible  <bruno@clisp.org>
46410
46411                 * progreloc.c: Include <mach-o/dyld.h> if available.
46412                 (find_executable): Use _NSGetExecutablePath when possible.
46413
46414         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46415
46416                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46417                 function.
46418
46419         2005-12-29  Bruno Haible  <bruno@clisp.org>
46420
46421                 * progreloc.c (set_program_name_and_installdir): Fix
46422                 compilation error.
46423
46424         2005-12-04  Bruno Haible  <bruno@clisp.org>
46425
46426                 Cygwin portability.
46427                 * progreloc.c: Include <windows.h> also on Cygwin.
46428                 (find_executable): Add support for Cygwin.
46429                 (set_program_name_and_installdir): Handle also platforms with
46430                 nonempty EXEEXT.
46431
46432         2006-07-11  Bruno Haible  <bruno@clisp.org>
46433
46434                 * javacomp.c: Fix a comment.
46435                 Reported by Jim Meyering.
46436
46437         2006-04-30  Bruno Haible  <bruno@clisp.org>
46438
46439                 * javacomp.h (compile_java_class): Add source_version,
46440                 target_version arguments.
46441                 * javacomp.c: Rewritten to choose only a compiler that
46442                 respects the specified source_version and target_version.
46443
46444         2006-06-27  Bruno Haible  <bruno@clisp.org>
46445
46446                 Assume correct S_ISDIR macro.
46447                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46448
46449         2006-07-22  Bruno Haible  <bruno@clisp.org>
46450
46451                 * javaversion.h: New file, from GNU gettext.
46452                 * javaversion.c: New file, from GNU gettext.
46453                 * javaversion.java: New file, from GNU gettext.
46454                 * javaversion.class: New file, from GNU gettext.
46455
46456         2006-05-17  Bruno Haible  <bruno@clisp.org>
46457
46458                 Cygwin portability.
46459                 * javaexec.c (execute_java_class): Test for jview program
46460                 also on Cygwin.
46461
46462         2006-04-09  Bruno Haible  <bruno@clisp.org>
46463
46464                 * fatal-signal.c: Don't include string.h.
46465                 (at_fatal_signal): Use a copying loop instead of memcpy.
46466
46467         2005-12-04  Bruno Haible  <bruno@clisp.org>
46468
46469                 * csharpexec.c: Add support for 'clix' launcher (untested).
46470                 (execute_csharp_using_sscli): New function.
46471                 (execute_csharp_program): Call it.
46472
46473         2006-06-21  Bruno Haible  <bruno@clisp.org>
46474
46475                 Avoid warnings from recent versions of mcs.
46476                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46477                 -o, -L, -r any more. Use options documented since mcs-1.0
46478                 instead. Similarly for -g.
46479
46480         2005-07-09  Bruno Haible  <bruno@clisp.org>
46481
46482                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46483                 add a .dll suffix.
46484                 Reported by Mark Junker <mjscod@gmx.de>.
46485
46486         2006-06-17  Bruno Haible  <bruno@clisp.org>
46487
46488                 * config.charset: Update for NetBSD 3.0.
46489
46490         2006-05-17  Bruno Haible  <bruno@clisp.org>
46491
46492                 Cygwin portability.
46493                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46494
46495         2006-05-16  Bruno Haible  <bruno@clisp.org>
46496
46497                 * localcharset.c [CYGWIN]: Include <windows.h>.
46498                 (get_charset_aliases): For Cygwin, return the same CPxxx
46499                 aliases list as under WIN32.
46500                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46501                 the environment variables. Fall back to GetACP().
46502
46503         2006-04-05  Bruno Haible  <bruno@clisp.org>
46504
46505                 * config.charset: Update Juan Manuel Guerrero's address.
46506
46507         2005-02-12  Bruno Haible  <bruno@clisp.org>
46508
46509                 * allocsa.h: Add extern "C" for C++.
46510
46511         2005-02-10  Bruno Haible  <bruno@clisp.org>
46512
46513                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46514                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46515
46516         2006-07-22  Bruno Haible  <bruno@clisp.org>
46517
46518                 * gettext.h: Update to GNU gettext-0.15.
46519
46520 2006-07-22  Bruno Haible  <bruno@clisp.org>
46521
46522         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46523         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46524         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46525
46526 2006-07-21  Eric Blake  <ebb9@byu.net>
46527
46528         * modules/stdlib-safer: New file.
46529         * MODULES.html.sh (File stream based Input/Output): Add
46530         stdlib-safer.
46531
46532 2006-07-21  Eric Blake  <ebb9@byu.net>
46533
46534         * lib/stdlib-safer.h: New file from coreutils, required by
46535         stdlib--.h.
46536
46537 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46538
46539         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46540
46541 2006-07-20  Bruno Haible  <bruno@clisp.org>
46542
46543         * gnulib-tool: Recognize new option --assume-autoconf.
46544         (autoconf_minversion): New variable.
46545         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46546
46547 2006-07-20  Bruno Haible  <bruno@clisp.org>
46548
46549         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46550
46551 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46552
46553         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46554         Reindent and repaginate.
46555
46556 2006-07-19  Derek Price  <derek@ximbiot.com>
46557
46558         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46559         Correct grammar.
46560
46561 2006-07-17  Bruno Haible  <bruno@clisp.org>
46562
46563         * modules/list: New file.
46564         * modules/array-list: New file.
46565         * modules/carray-list, modules/carray-list-tests: New files.
46566         * modules/linked-list, modules/linked-list-tests: New files.
46567         * modules/avltree-list, modules/avltree-list-tests: New files.
46568         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46569         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46570         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46571         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46572         * modules/oset: New file.
46573         * modules/array-oset: New file.
46574         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46575         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46576         * tests/test-carray_list.c: New file.
46577         * tests/test-linked_list.c: New file.
46578         * tests/test-avltree_list.c: New file.
46579         * tests/test-rbtree_list.c: New file.
46580         * tests/test-linkedhash_list.c: New file.
46581         * tests/test-avltreehash_list.c: New file.
46582         * tests/test-rbtreehash_list.c: New file.
46583         * tests/test-avltree_oset.c: New file.
46584         * tests/test-rbtree_oset.c: New file.
46585         * MODULES.html.sh (Container data structures): New section.
46586
46587 2006-07-17  Bruno Haible  <bruno@clisp.org>
46588
46589         * m4/gl_list.m4: New file.
46590
46591 2006-07-17  Bruno Haible  <bruno@clisp.org>
46592
46593         * lib/gl_list.h: New file.
46594         * lib/gl_list.c: New file.
46595         * lib/gl_array_list.h: New file.
46596         * lib/gl_array_list.c: New file.
46597         * lib/gl_carray_list.h: New file.
46598         * lib/gl_carray_list.c: New file.
46599         * lib/gl_linked_list.h: New file.
46600         * lib/gl_linked_list.c: New file.
46601         * lib/gl_anylinked_list1.h: New file.
46602         * lib/gl_anylinked_list2.h: New file.
46603         * lib/gl_avltree_list.h: New file.
46604         * lib/gl_avltree_list.c: New file.
46605         * lib/gl_anyavltree_list1.h: New file.
46606         * lib/gl_anyavltree_list2.h: New file.
46607         * lib/gl_rbtree_list.h: New file.
46608         * lib/gl_rbtree_list.c: New file.
46609         * lib/gl_anyrbtree_list1.h: New file.
46610         * lib/gl_anyrbtree_list2.h: New file.
46611         * lib/gl_anytree_list1.h: New file.
46612         * lib/gl_anytree_list2.h: New file.
46613         * lib/gl_linkedhash_list.h: New file.
46614         * lib/gl_linkedhash_list.c: New file.
46615         * lib/gl_anyhash_list1.h: New file.
46616         * lib/gl_anyhash_list2.h: New file.
46617         * lib/gl_avltreehash_list.h: New file.
46618         * lib/gl_avltreehash_list.c: New file.
46619         * lib/gl_rbtreehash_list.h: New file.
46620         * lib/gl_rbtreehash_list.c: New file.
46621         * lib/gl_anytreehash_list1.h: New file.
46622         * lib/gl_anytreehash_list2.h: New file.
46623
46624         * lib/gl_oset.h: New file.
46625         * lib/gl_oset.c: New file.
46626         * lib/gl_array_oset.h: New file.
46627         * lib/gl_array_oset.c: New file.
46628         * lib/gl_avltree_oset.h: New file.
46629         * lib/gl_avltree_oset.c: New file.
46630         * lib/gl_rbtree_oset.h: New file.
46631         * lib/gl_rbtree_oset.c: New file.
46632         * lib/gl_anytree_oset.h: New file.
46633
46634 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46635
46636         * m4/mkancesdirs.m4: New file.
46637         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46638         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46639         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46640         it.
46641
46642 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46643
46644         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46645         * lib/mkancesdirs.h: New files.
46646         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46647         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46648         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46649         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46650         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46651         callers changed.  Revamp internals significantly, by not
46652         attempting to create directories that are temporarily more
46653         permissive than the final results.  Do not attempt to use
46654         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46655         This removes some race conditions, fixes some bugs, and simplifies
46656         things.  Use new dirchownmod function to do owner and mode changes.
46657         * lib/mkdir-p.h: Likewise.
46658         * lib/modechange.c (octal_to_mode): New function.
46659         (struct mode_change): New member mentioned.
46660         (make_node_op_equals): New arg mentioned.  All callers changed.
46661         (mode_compile): Keep track of which mode bits the user has explicitly
46662         mentioned.
46663         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46664         New arg PMODE_BITS, to keep track of which mode bits the user
46665         mentioned; it treats S_ISUID and S_ISGID speciall.
46666         All callers changed.
46667         * lib/modechange.h: Likewise.
46668
46669 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46670
46671         * MODULES.html.sh: Add mkancestors.
46672         * modules/mkancesdirs: New module.
46673         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46674         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46675         The chdir-safer and afs files are now orphans; I'll remove them
46676         unless someone speaks up.
46677         Add lib/dirchownmod.c, lib/dirchownmod.h.
46678         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46679         Add lchown, mkancesdirs.
46680         (Maintainer): Add self.
46681
46682 2006-07-15  Karl Berry  <karl@gnu.org>
46683
46684         * gnulib-tool: help message wording/arrangement.
46685
46686 2006-07-14  Simon Josefsson  <jas@extundo.com>
46687
46688         * doc/gnulib.texi (Libtool and Windows): New section.
46689
46690 2006-07-12  Simon Josefsson  <jas@extundo.com>
46691
46692         * modules/gendocs (License): Fix license, approved by Karl.
46693
46694 2006-07-12  Eric Blake  <ebb9@byu.net>
46695
46696         * MODULES.html.sh: Add gendocs.
46697
46698 2006-07-11  Eric Blake  <ebb9@byu.net>
46699
46700         * modules/fdl: New module, to install doc/fdl.texi.
46701         * MODULES.html.sh: Add new section for documentation modules.
46702         * gnulib-tool: Avoid space-tab.
46703         (--doc-base): New option, to manage files from doc.
46704
46705 2006-07-11  Eric Blake  <ebb9@byu.net>
46706
46707         * m4/absolute-header.m4: Fix comments to match recent change.
46708
46709 2006-07-11  Eric Blake  <ebb9@byu.net>
46710
46711         * gnulib-tool: List --doc-base before --tests-base.
46712
46713 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46714
46715         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46716
46717 2006-07-11  Bruno Haible  <bruno@clisp.org>
46718
46719         * README: Mention where to put documentation.
46720
46721 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46722
46723         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46724
46725 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46726
46727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46728         to stdint.m4.
46729
46730 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46731
46732         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46733         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46734         "no/such/file/stdint.h" when there is no such file, so that
46735         the resulting C code can be parsed by dodgy compilers.
46736         Problems reported by Bob Proulx.
46737
46738 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46739
46740         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46741         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46742         macros into the GNU _D_EXACT_NAMLEN.
46743         * lib/savedir.c:  Likewise.
46744         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46745
46746 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46747         and Paul Eggert  <eggert@cs.ucla.edu>
46748
46749         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46750         * m4/savedir.m4:
46751         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46752         macros into the GNU _D_EXACT_NAMLEN.
46753
46754 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46755
46756         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46757         around the absolute name, to work around a problem with the HP-UX
46758         11.23 native C compiler, reported by Bob Proulx.
46759
46760 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46761
46762         * doc/maintain.texi, make-stds.texi: Sync from
46763         <http://savannah.gnu.org/projects/gnustandards>.
46764
46765 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46766
46767         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46768
46769 2006-07-09  Jim Meyering  <jim@meyering.net>
46770
46771         * m4/glob.m4: Remove a doubled word in a comment.
46772
46773 2006-07-09  Jim Meyering  <jim@meyering.net>
46774
46775         * lib/argp-pv.c: Remove a doubled word in a comment.
46776         * lib/check-version.c (check_version): Likewise.
46777         * lib/javacomp.c (compile_java_class): Likewise.
46778
46779 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46780
46781         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46782         for the benefit of people using Autoconf 2.60.  If you want to
46783         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46784         (or m4/onceonly.m4, if pre-2.57) manually.
46785
46786 2006-07-08  Jim Meyering  <jim@meyering.net>
46787
46788         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46789         comment.
46790         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46791         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46792         comment.
46793
46794 2006-07-08  Jim Meyering  <jim@meyering.net>
46795
46796         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46797
46798 2006-07-07  Simon Josefsson  <jas@extundo.com>
46799
46800         * tests/test-crc.c: Change expected crc value, the test vector
46801         were probably computed using the old broken crc.c?
46802
46803 2006-07-06  Simon Josefsson  <jas@extundo.com>
46804
46805         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46806         now the canonical place for the M4 file).
46807
46808         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46809         from the sys_socket dependency now.
46810
46811         * modules/inet_pton (Files): Ditto.
46812
46813         * modules/inet_ntop (Files): Ditto.
46814
46815 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46816
46817         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46818         not gl_PREREQ_GETUSERSHELL.
46819
46820 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46821
46822         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46823         with only one argument, for Autoconf 2.60.
46824         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46825         expand to nothing, so add a shell command to avoid syntax error.
46826         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46827
46828 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46829
46830         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46831
46832 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46833
46834         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46835         no longer needed.  Check for isblank decl.
46836         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46837         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46838         of existence.
46839
46840 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46841
46842         * lib/getloadavg.c: Use __VMS, not VMS.
46843         * lib/getopt.c: Likewise.
46844         * lib/getpagesize.h: Likewise.
46845         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46846         and probably does not work.
46847
46848 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46849
46850         * lib/.cppi-disable: Add wcwidth.
46851         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46852         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46853         (ISGRAPH): Remove.  All uses changed to isgraph.
46854         (FOLD) [!defined _LIBC]: Remove special case.
46855         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46856         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46857         HAVE_ISBLANK.
46858         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46859         case.
46860
46861 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46862
46863         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46864         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46865         brackets.  Other minor changes to suppress some compiler
46866         warnings.
46867
46868 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46869         and Paul Eggert  <eggert@cs.ucla.edu>
46870
46871         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46872         of invoking obsolescent AC_HEADER_DIRENT macro.
46873         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46874         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46875         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46876         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46877         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46878         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46879         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46880         * m4/readdir.m4: Remove; no longer needed.
46881
46882 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46883         and Paul Eggert  <eggert@cs.ucla.edu>
46884
46885         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46886         Don't worry about this obsolete case any more.
46887         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46888         directories.
46889         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46890         worry about this obsolete case any more.
46891         * lib/fts.c: Likewise.
46892         * lib/getcwd.c: Likewise.
46893         * lib/glob.h: Likewise.
46894         * lib/savedir.c: Likewise.
46895
46896 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46897
46898         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46899         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
46900         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
46901         needed.
46902         All uses removed.
46903         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46904         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46905         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
46906         needed.
46907         * m4/getdate.m4 (gl_GETDATE): Likewise.
46908         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46909         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46910         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46911         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46912         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46913         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46914         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
46915         needed.
46916
46917 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46918
46919         * lib/memcasecmp.c: Include <limits.h>.
46920         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
46921         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
46922         Don't assume isdigit succeeds only on '0' through '9'.
46923
46924 2006-07-05  Eric Blake  <ebb9@byu.net>
46925
46926         * modules/getaddrinfo (Depends-on): Add snprintf.
46927
46928 2006-07-05  Eric Blake  <ebb9@byu.net>
46929
46930         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
46931         to avoid 'header present but could not be compiled' on cygwin.
46932
46933 2006-07-05  Eric Blake  <ebb9@byu.net>
46934
46935         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
46936         missing from netdb.h.
46937         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
46938
46939 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46940
46941         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
46942         no longer needed.
46943         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
46944         * m4/getdate.m4 (gl_GETDATE): Likewise.
46945         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46946         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46947         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46948         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46949         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46950
46951 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46952
46953         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
46954         All uses of is_space replaced by isspace.
46955         * lib/exit.h: Don't talk about STDC_HEADERS.
46956         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
46957         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
46958         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
46959         replaced by isprint etc.
46960         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
46961         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46962         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
46963         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
46964         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
46965         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46966
46967 2006-07-05  Bruno Haible  <bruno@clisp.org>
46968
46969         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
46970         the function exists, before testing against AIX.
46971         Reported by Martin Lambers <marlam@marlam.de>.
46972
46973 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46974
46975         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
46976         From Mark D. Baushke.
46977
46978 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46979
46980         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
46981         to the absolute name, not just one, to bypass Sun C 5.8's
46982         "warning: #include of /usr/include/... may be non-portable".
46983
46984 2006-07-04  Eric Blake  <ebb9@byu.net>
46985
46986         * modules/dirname-tests: New test module.
46987         * tests/test-dirname.c: New file, replacing dirname.c
46988         TEST_DIRNAME section that was recently deleted.
46989
46990 2006-07-04  Bruno Haible  <bruno@clisp.org>
46991
46992         Assume ANSI C header files and <ctype.h> functions.
46993         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
46994         (mbsnwidth): Use isprint, iscntrl instead.
46995
46996 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46997
46998         Merge from coreutils.
46999         * MODULES.html.sh: Add xstrtold.
47000         * modules/xstrtold: New file.
47001         * modules/cycle-check (Files): Add lib/same-inode.h.
47002         * modules/dirname (Files): Add m4/double-slash-root.m4.
47003         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
47004         * modules/mkdir-p (Files): Add lib/same-inode.h.
47005         * modules/same (Files): Add lib/same-inode.h.
47006
47007 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47008
47009         * m4/absolute-header.m4: Renamed from full-header-path.m4.
47010         This is to keep the terminology clean; POSIX talks about
47011         "absolute pathnames", not "full pathnames", but the GNU
47012         Coding Standards say to use "path" for something else;
47013         so use "absolute" to keep both sides happy.
47014         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
47015         Set gl_absolute_header, not gl_full_header_path.
47016         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
47017         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
47018         All uses changed.
47019
47020         Merge from coreutils.
47021
47022         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47023
47024         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
47025         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
47026         want to require the building of c-strtod.o.
47027         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
47028         needs -lm directly.
47029         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
47030
47031         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47032
47033         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
47034         --as-needed option if available.  Problem reported by Albert Chin in
47035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
47036         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
47037         cc merely issues a bunch of annoying warnings for --as-needed
47038         (this problem was reported by Bob Proulx).  Also, try linking with
47039         -lm to detect a bug in binutils 2.16 (this problem was reported
47040         by Ralf Wildenhues).
47041
47042         2006-06-18  Jim Meyering  <jim@meyering.net>
47043
47044         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
47045         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
47046         macro.
47047         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
47048         also check for glibc-2.4's abort-inducing bug.
47049
47050         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
47051         Low-probability clean-up should be to use rmdir to get rid of
47052         the just-created directory, not unlink.
47053
47054         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
47055         configure fail, and request a bug report to inform us about it.
47056         Add a comment that, barring reports to the contrary, in 2007 we'll
47057         assume ftruncate is universally available.
47058
47059         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47060
47061         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
47062
47063         2006-03-12  Jim Meyering  <jim@meyering.net>
47064
47065         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
47066         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
47067         * m4/same.m4 (gl_SAME): Likewise.
47068         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
47069
47070         2006-03-11  Eric Blake  <ebb9@byu.net>
47071
47072         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
47073         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
47074         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
47075         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
47076
47077 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47078
47079         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
47080         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
47081         reported by Mark D. Baushke, one in
47082         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
47083
47084         Merge from coreutils.
47085
47086         * lib/.cppi-disable: Add stdint_.h.
47087         * lib/.cvsignore: Add stdint.h.
47088
47089         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47090
47091         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
47092         both double and long double versions.
47093         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
47094         * lib/xstrtold.c: New file.
47095         * lib/xstrtod.h (xstrtold): New decl.
47096
47097         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47098
47099         * lib/filemode.c (setst): Remove.
47100         (strmode): Rewrite to avoid setst.  This makes the code shorter,
47101         (arguably) clearer, and the generated code is a bit smaller on my
47102         Debian GNU/Linux stable x86 host.
47103
47104         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47105
47106         * lib/filemode.c: Include "filemode.h" first, to test the interface.
47107         Assume that filemode.h includes sys/types.h and sys/stat.h.
47108         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
47109         (ftypelet): Reorder to put common cases first, for efficiency.
47110         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
47111         to do 'M'.
47112         (strmode): Renamed from mode_string, and now stores 12 bytes instead
47113         of 10, for compatibility with FreeBSD.  All callers changed.
47114         (filemodestring): Now stores 12 bytes instead of 10, and sets file
47115         types that can't be deduced solely from st_mode.  First arg is now a
47116         const pointer.
47117         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
47118         (strmode): Renamed from mode_string.
47119         (filemodestring): New decl.
47120         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
47121         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
47122         needed.
47123         (S_ISPORT, S_ISWHT): New macros, if not already defined.
47124
47125         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47126
47127         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
47128         fsusage.h now does that.  Include fsusage.h first, to test interface.
47129         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
47130         at most one method (the old code could have generated decls that
47131         didn't conform to C89, not that this was ever exercised).
47132         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
47133
47134         2006-03-19  Jim Meyering  <jim@meyering.net>
47135
47136         Work even in a chroot where d_ino values for entries in "/"
47137         don't match the stat.st_ino values for the same names.
47138         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
47139         number, iterate through all entries again, using lstat instead.
47140         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
47141         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
47142
47143         * lib/getcwd.c (__getcwd): Clarify a comment.
47144         Use memcpy in place of a call to strcpy.
47145
47146         2006-03-12  Jim Meyering  <jim@meyering.net>
47147
47148         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
47149         matches that of the current directory (which we're about to chdir ".."
47150         out of), then save the dev-ino of the parent, instead.
47151
47152         * lib/same-inode.h (SAME_INODE): New file/macro.
47153         * lib/chdir-safer.c (SAME_INODE): Remove definition.
47154         Include "same-inode.h", instead.
47155         * lib/same.c: Likewise.
47156         * lib/cycle-check.h: Include "same-inode.h".
47157         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
47158         * lib/cycle-check.c (SAME_INODE): Remove definition.
47159         * lib/root-dev-ino.h: Include "same-inode.h".
47160
47161         2006-03-11  Eric Blake  <ebb9@byu.net>
47162
47163         * lib/same.c (same_name): s/base_name/last_component/
47164         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
47165         * lib/filenamecat.c (file_name_concat): Likewise.
47166
47167         2006-03-11  Eric Blake  <ebb9@byu.net>,
47168                     Paul Eggert  <eggert@cs.ucla.edu>
47169
47170         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
47171         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
47172         drive prefix.
47173         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
47174         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
47175         (last_component): New method.
47176         * lib/dirname.c (dir_len): Determine when drive letters need a
47177         subsequent slash.  Preserve // when it is special.
47178         (dir_name): Don't append dot when drive letter is absolute.
47179         [TEST_DIRNAME]: Move into a full-blown gnulib test.
47180         * lib/basename.c (base_name): New semantics - malloc the result.
47181         Preserve // when it is special.  Preserve relative files that look
47182         like drive letters.
47183         (base_len): Preserve // when it is special.
47184         (last_component): New method, similar to old base_name semantics.
47185         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
47186         base_name.  Strip redundant slashes from ///.
47187
47188 2006-07-03  Jim Meyering  <jim@meyering.net>
47189
47190         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
47191         macro is used before the first cycle_check call.
47192
47193 2006-07-03  Eric Blake  <ebb9@byu.net>
47194
47195         * modules/dirname (Depends-on): Add xstrndup.
47196
47197 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47198
47199         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
47200         test cases, so that config.log is a bit easier to follow.
47201
47202 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47203
47204         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
47205         both are 64 bits, since this seems to be the tradition, and this
47206         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
47207         we ever run into a host that prefers long long to long in this
47208         case, we'll need another configure-time test.  Problem reported by
47209         Jim Meyering.
47210
47211 2006-07-02  Eric Blake  <ebb9@byu.net>
47212
47213         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47214
47215 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47216
47217         * modules/inttypes (Depends-on): No longer depends on stdint.
47218         * modules/stdint (Description): Say more about assumptions.
47219         Say that the fast types might differ.  Say macros are used.
47220         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47221         (Makefile.am): Revise list of substituted symbols to match
47222         new stdint.m4.
47223         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47224         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47225         * tests/test-stdint.c (verify_same_types)
47226         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47227         the code conforms to C99/C89.
47228         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47229         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47230
47231 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47232
47233         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47234         but fix a bug, by requiring at least 64 bits.
47235         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47236         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47237         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47238         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47239
47240         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47241         changes.  Make 2.59 a prerequisite.  Check and substitute for
47242         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47243         inttypes.h.  Do not use special include files; just use the
47244         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47245         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47246         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47247         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47248         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47249         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47250         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47251         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47252         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47253         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47254         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47255         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47256         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47257         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47258         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47259         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47260         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47261         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47262         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47263         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47264         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47265         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47266         not check for things that C99 does not require, e.g., int8_t.  If
47267         a test isn't needed unless <stdint.h> isn't working, and is
47268         unlikely to be needed for any other reason, then don't do it
47269         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47270         size_t, since we assume C89 freestanding at least.  Do not check
47271         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47272         the right thing even if the types are not defined.  Instead use:
47273         (gl_STDINT_TYPE_PROPERTIES): New macro.
47274         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47275         testing whether <sys/types.h> clashes, as Autoconf does this for
47276         us now.  All uses removed.
47277         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47278         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47279         (gl_CHECK_TYPE_SAME):
47280         Remove; no longer needed.
47281         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47282         exists, since we'll return 0 anyway in that case.
47283         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47284
47285 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47286
47287         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47288         possible collision with system files.
47289         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47290         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47291         WCHAR_MIN and WCHAR_MAX in this case.
47292         (<stddef.h>): Do not include; no longer needed.
47293         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47294         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47295         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47296         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47297         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47298         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47299         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47300         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47301         !defined(__c99))]: Include in this case too, since it's harmless
47302         now.
47303         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47304         dangerous to do so.
47305         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47306         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47307         (_STDINT_MIN, _STDINT_MAX): New macros.
47308         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47309         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47310         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47311         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47312         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47313         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47314         macros, not typedefs; this simplifies things quite a bit.
47315         Use long int for all types narrower than int64_t.
47316         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47317         Define in terms of long long int or int64_t or long int,
47318         not int64_t or int32_t.  This saves some compile-time testing.
47319         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47320         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47321         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47322         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47323         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47324         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47325         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47326         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47327         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47328         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47329         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47330         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47331         undef any previous version and define our own version, for
47332         simplicity and consistency with the new macros for types.
47333         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47334         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47335         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47336         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47337         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47338         @WINT_T_SUFFIX@ to keep things simple here.
47339         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47340         Simplify by assuming typical 8/16/32/64 host, since we're
47341         already doing that elsewhere anyway.
47342         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47343         and assume long long int is 64 bits if available.  This
47344         speeds up 'configure'.
47345
47346 2006-07-01  Eric Blake  <ebb9@byu.net>
47347
47348         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47349         Reported by Andreas Buening.
47350
47351 2006-07-01  Eric Blake  <ebb9@byu.net>
47352
47353         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47354
47355 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47356
47357         * lib/getaddrinfo.c: fixed typo
47358
47359 2006-06-29  Jim Meyering  <jim@meyering.net>
47360
47361         * modules/strftime (Maintainer): Add my name, since with the
47362         FPRINTFTIME changes strftime.c has forked from glibc.
47363
47364 2006-06-29  Eric Blake  <ebb9@byu.net>
47365
47366         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47367
47368 2006-06-29  Eric Blake  <ebb9@byu.net>
47369
47370         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47371
47372 2006-06-29  Eric Blake  <ebb9@byu.net>
47373
47374         * lib/stat_.h: New file.
47375
47376 2006-06-29  Eric Blake  <ebb9@byu.net>
47377
47378         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47379         unused static function.
47380
47381 2006-06-29  Eric Blake  <ebb9@byu.net>
47382
47383         * doc/functions.texi (Function Portability): Document missing lstat
47384         on mingw.
47385
47386 2006-06-29  Eric Blake  <ebb9@byu.net>
47387
47388         * MODULES.html.sh: Add sys_stat.
47389         * modules/sys_stat: New module.
47390         * modules/mkstemp (Depends-on): Add sys_stat.
47391
47392 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47393
47394         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47395
47396 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47397
47398         * m4/c-bs-a.m4: Removed.
47399
47400 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47401
47402         * lib/strftime.c: Assume strftime() exists.
47403
47404 2006-06-29  Derek Price  <derek@ximbiot.com>
47405
47406         * modules/c-bs-a: Removed - \a is C89.
47407         * MODULES.html.sh: Remove c-bs-a.
47408
47409 2006-06-29  Bruno Haible  <bruno@clisp.org>
47410
47411         * modules/wcwidth (License): Change to LGPL.
47412
47413 2006-06-28  Simon Josefsson  <jas@extundo.com>
47414
47415         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47416         on _WIN32.
47417
47418         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
47419         getnameinfo.
47420
47421 2006-06-28  Simon Josefsson  <jas@extundo.com>
47422
47423         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
47424
47425 2006-06-28  Simon Josefsson  <jas@extundo.com>
47426
47427         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
47428         functions there.  It will succeed on Windows XP, but on Windows
47429         2000 and (presumably) earlier, it will fail, and use the internal
47430         re-implementation.
47431         (use_win32_p): New function.
47432         (getaddrinfo): Use strtoul on servname, to support numeric ports.
47433         Support AI_NUMERICSERV to disable getservbyname.
47434         (getnameinfo): New function, only supports
47435         NI_NUMERICHOST|NI_NUMERICSERV for now.
47436
47437         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
47438         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
47439         getnameinfo.
47440
47441 2006-06-28  Eric Blake  <ebb9@byu.net>
47442
47443         * modules/wcwidth: New file.
47444         * modules/mbchar (Depends-on): Add wcwidth.
47445         * modules/mbswidth (Depends-on): Add wcwidth.
47446         * MODULES.html.sh: Add wcwidth.
47447
47448 2006-06-28  Eric Blake  <ebb9@byu.net>
47449
47450         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47452
47453 2006-06-28  Eric Blake  <ebb9@byu.net>
47454
47455         * lib/xvasprintf.h: Fix comments.
47456
47457 2006-06-28  Eric Blake  <ebb9@byu.net>
47458
47459         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47460         * lib/mbswidth.c (wcwidth): Move from here...
47461         * lib/wcwidth.h: ...to this new file.
47462
47463 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47464
47465         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47466
47467         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47468         it's obsolete.
47469         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47470
47471 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47472
47473         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47474         Autoconf 2.60 says this stuff was obsolete.
47475
47476 2006-06-28  Bruno Haible  <bruno@clisp.org>
47477
47478         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47479
47480 2006-06-28  Bruno Haible  <bruno@clisp.org>
47481
47482         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47483         gt_TYPE_WCHAR_T.
47484
47485 2006-06-28  Bruno Haible  <bruno@clisp.org>
47486
47487         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47488         declaration for wcwidth.
47489         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47490
47491 2006-06-28  Bruno Haible  <bruno@clisp.org>
47492
47493         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47494         (mkdir): Define using _mkdir.
47495
47496 2006-06-28  Bruno Haible  <bruno@clisp.org>
47497
47498         * lib/getaddrinfo.h: Fix POSIX URL.
47499         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47500         _WIN32.
47501         (use_win32_p): Make static.
47502         (getaddrinfo): Reject service name if it is empty or does not consist
47503         solely of decimal digits, or if its value is > 65535.
47504         (getnameinfo): Remove useless casts.
47505
47506 2006-06-27  Simon Josefsson  <jas@extundo.com>
47507
47508         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47509         Eggert and Martin Lambers.
47510
47511 2006-06-27  Simon Josefsson  <jas@extundo.com>
47512
47513         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47514         Eggert and Martin Lambers.
47515
47516 2006-06-27  Bruno Haible  <bruno@clisp.org>
47517
47518         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47519         result to 0, not to empty.
47520         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47521
47522 2006-06-27  Bruno Haible  <bruno@clisp.org>
47523
47524         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47525
47526 2006-06-26  Simon Josefsson  <jas@extundo.com>
47527
47528         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47529         present.
47530
47531 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47532
47533         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47534         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47535         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47536
47537 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47538
47539         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47540
47541 2006-06-26  Bruno Haible  <bruno@clisp.org>
47542
47543         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47544
47545 2006-06-26  Bruno Haible  <bruno@clisp.org>
47546
47547         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47548
47549 2006-06-26  Bruno Haible  <bruno@clisp.org>
47550
47551         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47552         SGI C compiler in pre-C99 mode.
47553         Suggested by Mark D. Baushke and Larry Jones.
47554
47555 2006-06-26  Bruno Haible  <bruno@clisp.org>
47556
47557         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47558         WCHAR_MAX.
47559         Reported by Mark D. Baushke and Larry Jones.
47560
47561 2006-06-26  Bruno Haible  <bruno@clisp.org>
47562
47563         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47564         in pre-C99 mode.
47565         Suggested by Mark D. Baushke and Larry Jones.
47566
47567 2006-06-23  Simon Josefsson  <jas@extundo.com>
47568             Bruno Haible  <bruno@clisp.org>
47569
47570         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47571         Emit mostlyclean-local rule.
47572         (func_emit_tests_Makefile_am): Likewise.
47573         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47574
47575 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47576
47577         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47578
47579 2006-06-23  Bruno Haible  <bruno@clisp.org>
47580
47581         * tests/test-stdint.c: Update to match ISO C 99 Technical
47582         Corrigendum 1.
47583
47584 2006-06-23  Bruno Haible  <bruno@clisp.org>
47585
47586         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47587
47588 2006-06-23  Bruno Haible  <bruno@clisp.org>
47589
47590         * lib/stdint_.h: Treat IRIX like OpenBSD.
47591
47592 2006-06-23  Bruno Haible  <bruno@clisp.org>
47593
47594         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47595         ISO C 99 Technical Corrigendum 1.
47596
47597 2006-06-22  Simon Josefsson  <jas@extundo.com>
47598
47599         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47600         MinGW.
47601
47602 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47603
47604         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47605         needed.  Some compiler complained about some of them.  Problem reported
47606         by Larry Jones in
47607         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47608
47609 2006-06-21  Simon Josefsson  <jas@extundo.com>
47610
47611         * tests/test-getaddrinfo.c: New file.
47612
47613         * modules/getaddrinfo-tests: New file.
47614
47615         * MODULES.html.sh: Add inet_pton.
47616
47617         * modules/inet_pton: New file.
47618
47619 2006-06-21  Simon Josefsson  <jas@extundo.com>
47620
47621         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47622         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47623         of using the (limited) gnulib implementation on Windows XP.
47624
47625         * m4/inet_pton.m4: New file.
47626
47627 2006-06-21  Simon Josefsson  <jas@extundo.com>
47628
47629         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47630         variable.
47631
47632         * lib/socket_.h: Don't define WINVER.
47633
47634         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47635         slightly modified to work in gnulib.
47636
47637 2006-06-21  Simon Josefsson  <jas@extundo.com>
47638
47639         * doc/gnulib.texi (Windows sockets): Add.
47640
47641 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47642
47643         * lib/read-file.c (fread_file): Start with buffer allocation of
47644         0 bytes rather than 1 byte; this simplifies the code.
47645         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47646         code to free buffer and save/restore errno.
47647         (internal_read_file): Remove unused local.
47648
47649 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47650
47651         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47652         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47653         Problem reported by Denis Excoffier in
47654         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47655
47656 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47657
47658         * modules/sys_socket, modules/socklen: Include sys/types since
47659         FreeBSD 4.x's sys/socket.h needs it.
47660
47661 2006-06-19  Simon Josefsson  <jas@extundo.com>
47662
47663         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47664
47665 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47666
47667         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47668
47669 2006-06-19  Bruno Haible  <bruno@clisp.org>
47670
47671         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47672         and FULL_PATH_INTTYPES_H in angle brackets.
47673         Reported by Mark D. Baushke <mdb@gnu.org>.
47674
47675 2006-06-17  Eric Blake  <ebb9@byu.net>
47676
47677         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47678         errno.
47679
47680 2006-06-17  Bruno Haible  <bruno@clisp.org>
47681
47682         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47683         <sys/inttypes.h>.
47684
47685 2006-06-17  Bruno Haible  <bruno@clisp.org>
47686
47687         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47688         whether errno is declared. Assume <errno.h> declares errno.
47689
47690 2006-06-17  Bruno Haible  <bruno@clisp.org>
47691
47692         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47693
47694 2006-06-17  Bruno Haible  <bruno@clisp.org>
47695
47696         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47697         problem on Solaris 2.5.1.
47698
47699 2006-06-16  Eric Blake  <ebb9@byu.net>
47700
47701         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47702         * lib/unicodeio.c [!defined errno]: Likewise.
47703         * lib/strtol.c [!defined errno]: Likewise.
47704         * lib/strtod.c [!defined errno]: Likewise.
47705
47706 2006-06-15  Eric Blake  <ebb9@byu.net>
47707
47708         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47709
47710 2006-06-15  Eric Blake  <ebb9@byu.net>
47711
47712         * config/srclist.txt (ssize_t.m4): Lose sync.
47713
47714 2006-06-15  Bruno Haible  <bruno@clisp.org>
47715
47716         * modules/stdint (Files): Include m4/full-header-path.m4,
47717         m4/size_max.m4, m4/wchar_t.m4.
47718         (Makefile.am): Many more substitutions.
47719         * modules/stdint-tests: New file.
47720         * tests/test-stdint.c: New file.
47721
47722 2006-06-15  Bruno Haible  <bruno@clisp.org>
47723
47724         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47725         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47726         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47727         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47728         gl_CHECK_TYPE_SAME): New macros.
47729
47730 2006-06-15  Bruno Haible  <bruno@clisp.org>
47731
47732         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47733
47734 2006-06-15  Bruno Haible  <bruno@clisp.org>
47735
47736         * lib/stdint_.h: Rewritten to be fully auto-configured.
47737         Fixes bug on HP-UX/IA64.
47738
47739 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47740
47741         * lib/getdate.y (__attribute__): Don't define if already defined.
47742         Problem reported by Larry Jones.
47743         * lib/utimens.c (__attribute__): Likewise.
47744
47745 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47746
47747         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47748         reported by Andreas Schwab.
47749
47750 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47751             Bruno Haible  <bruno@clisp.org>
47752
47753         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47754         check for the declaration of strnlen and a run test that exposes the
47755         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47756         rpl_strndup.
47757
47758 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47759             Bruno Haible  <bruno@clisp.org>
47760
47761         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47762
47763 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47764
47765         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47766         compile test, for Tru64 4.0D.
47767
47768 2006-05-28  Karl Berry  <karl@gnu.org>
47769
47770         * config/srclist.txt (printf-args.c): lose sync.
47771
47772 2006-05-26  Martin Lambers  <marlam@marlam.de>
47773
47774         * lib/getpass.c: Updates the test for the native W32 API, and adds
47775         missing includes, thus fixing compilation warnings.
47776
47777 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47778
47779         * lib/exclude.c (exclude_fnmatch): New function.
47780         (excluded_file_name): Call exclude_fnmatch.
47781         * lib/exclude.h (excluded_file_name): New prototype
47782
47783 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47784
47785         * lib/tempname.c (small_open, large_open): New macros.
47786         (__open, __open64) [!_LIBC]: Remove.
47787         (__gen_tempname): Use small_open and large_open instead of __open
47788         and __open64.  This fixes a portability bug on HP-UX 11.11i
47789         reported by Simon Wing-Tang in
47790         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47791
47792 2006-05-24  Bruno Haible  <bruno@clisp.org>
47793
47794         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47795         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47796         Reported by Thorsten Maerz <torte@netztorte.de> via
47797         Aaron Stone <aaron@serendipity.cx>.
47798
47799 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47800
47801         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47802         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47803         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47804         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47805         not really conditional on the cache.
47806         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47807
47808 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47809
47810         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47811         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47812         (my_usleep): Don't mishandle maximum value.
47813
47814 2006-05-19  Jim Meyering  <jim@meyering.net>
47815
47816         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47817
47818 2006-05-17  Bruno Haible  <bruno@clisp.org>
47819
47820         Cygwin portability.
47821         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47822
47823 2006-05-17  Bruno Haible  <bruno@clisp.org>
47824
47825         * lib/stdint_.h: Fix recognition of Cygwin.
47826
47827 2006-05-15  Bruno Haible  <bruno@clisp.org>
47828
47829         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47830         on libtool patch by Ralf Wildenhues.
47831
47832 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47833
47834         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47835         test for C99 conformance; (bool) 0.5 is an integer constant
47836         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47837         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47838
47839 2006-05-11  Simon Josefsson  <jas@extundo.com>
47840
47841         * m4/xvasprintf.m4: Fix obvious typo.
47842
47843 2006-05-11  Jim Meyering  <jim@meyering.net>
47844
47845         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47846         James Lemley.
47847
47848 2006-05-10  Simon Josefsson  <jas@extundo.com>
47849
47850         * lib/md4.c: Typo fix, update copyright years.
47851         (K1, K2): Don't use L because it turn computations into 64-bit on
47852         64-bit platforms.
47853
47854 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47855
47856         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47857         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47858         unwanted sign propagation, e.g., on hosts with 64-bit int.
47859         There still are some problems with reeelly weird theoretical hosts
47860         (e.g., 33-bit int) but it's not worth worrying about now.
47861         * lib/sha1.c (rol): Likewise.
47862         (K1, K2, K3, K4): Remove unnecessary L suffix.
47863
47864 2006-05-10  Bruno Haible  <bruno@clisp.org>
47865
47866         * lib/des.c: Cast to avoid warnings.
47867
47868 2006-05-09  Bruno Haible  <bruno@clisp.org>
47869
47870         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47871         (Depends-on): Depend also on xsize, stdarg.
47872         (configure.ac): Add gl_XVASPRINTF.
47873
47874 2006-05-09  Bruno Haible  <bruno@clisp.org>
47875
47876         * m4/xvasprintf.m4: New file.
47877
47878 2006-05-09  Bruno Haible  <bruno@clisp.org>
47879
47880         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47881         (EOVERFLOW): Define fallback value.
47882         (xstrcat): New function.
47883         (xvasprintf): Recognize the special case of a string concatenation.
47884
47885 2006-05-08  Eric Blake  <ebb9@byu.net>
47886
47887         * gnulib-tool (func_version): Base copyright year on CVS date.
47888         (func_emit_copyright_notice): New function.
47889         (func_emit_lib_Makefile_am): Use it.
47890         (func_emit_tests_Makefile_am): Likewise.
47891         (func_import): Likewise.
47892
47893 2006-05-08  Bruno Haible  <bruno@clisp.org>
47894
47895         * modules/stdarg: New file.
47896         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47897
47898 2006-05-08  Bruno Haible  <bruno@clisp.org>
47899
47900         * m4/stdarg.m4: New file, from GNU gettext.
47901
47902 2006-05-08  Bruno Haible  <bruno@clisp.org>
47903
47904         * config/srclist.txt (build-aux/config.rpath): different from latest
47905         release.
47906
47907 2006-05-08  Bruno Haible  <bruno@clisp.org>
47908
47909         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
47910
47911 2006-05-05  Jim Meyering  <jim@meyering.net>
47912
47913         * m4/warning.m4: New file, derived from bison's file by the same name.
47914
47915 2006-05-03  Bruno Haible  <bruno@clisp.org>
47916
47917         * lib/stdint_.h: Shorter URL.
47918         * lib/inttypes.h: Likewise.
47919
47920 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47921
47922         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
47923
47924 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47925
47926         * lib/verify.h: Document the internals better.  Most of this change
47927         was written by Bruno Haible.
47928
47929 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47930
47931         * doc/verify.texi: New file, partly based on a proposal by
47932         Bruno Haible.
47933
47934 2006-05-02  Bruno Haible  <bruno@clisp.org>
47935
47936         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
47937         test from here...
47938         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
47939
47940 2006-04-29  Bruno Haible  <bruno@clisp.org>
47941
47942         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
47943         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
47944
47945 2006-04-29  Bruno Haible  <bruno@clisp.org>
47946
47947         * gnulib-tool: Make --update option actually work.
47948
47949 2006-04-29  Bruno Haible  <bruno@clisp.org>
47950
47951         * doc/gcd.texi: New file.
47952         * doc/gnulib.texi: Include it.
47953
47954 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47955
47956         * lib/getdate.y (get_date): When adding relative date, start with the
47957         initial time, not with the result of the first mktime call.
47958
47959 2006-04-25  Bruno Haible  <bruno@clisp.org>
47960
47961         * gnulib-tool (func_import): Output the include directives in three
47962         blocks, sorted separately.
47963         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47964
47965 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47966
47967         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
47968         to define main with arguments, for C++.  Reported by Eric Blake.
47969         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
47970         Prefer 'int main ()' to 'int main (void)', for C++.
47971         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47972         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
47973         for 'main', for C99 and C++.
47974
47975 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47976
47977         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
47978         Don't assume that exit status -1 is valid.
47979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47980         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47981         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
47982         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
47983         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
47984         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
47985         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
47986         functions can be used without declaring them, or that you can
47987         exit with status -1.
47988         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
47989
47990 2006-04-24  Karl Berry  <karl@gnu.org>
47991
47992         * config/srclist.txt (longdouble.m4): sync lost.
47993
47994 2006-04-24  Eric Blake  <ebb9@byu.net>
47995
47996         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
47997
47998 2006-04-24  Bruno Haible  <bruno@clisp.org>
47999
48000         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
48001         poll() implementation in AIX.
48002         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48003
48004 2006-04-24  Bruno Haible  <bruno@clisp.org>
48005
48006         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
48007         assigned exactly once.
48008
48009 2006-04-23  Claudio Fontana  <claudio@gnu.org>
48010             Bruno Haible  <bruno@clisp.org>
48011
48012         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
48013         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
48014         for AM_CPPFLAGS.
48015
48016 2006-04-23  Bruno Haible  <bruno@clisp.org>
48017
48018         * modules/copy-file: Depend on unistd.
48019         * modules/execute: Likewise.
48020         * modules/fatal-signal: Likewise.
48021         * modules/findprog: Likewise.
48022         * modules/mkdtemp : Likewise.
48023         * modules/pipe: Likewise.
48024         * modules/wait-process: Likewise.
48025
48026 2006-04-23  Bruno Haible  <bruno@clisp.org>
48027
48028         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
48029         condition was already detected.
48030         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48031
48032 2006-04-23  Bruno Haible  <bruno@clisp.org>
48033
48034         * lib/copy-file.c: Include <unistd.h> unconditionally.
48035         * lib/execute.c: Likewise.
48036         * lib/fatal-signal.c: Likewise.
48037         * lib/findprog.c: Likewise.
48038         * lib/mkdtemp.c: Likewise.
48039         * lib/pipe.h: Likewise.
48040         * lib/pipe.c: Likewise.
48041         * lib/wait-process.h: Likewise.
48042
48043 2006-04-23  Bruno Haible  <bruno@clisp.org>
48044
48045         * gnulib-tool (func_usage): Fix --import description. Document
48046         --update.
48047         (func_import): Create temporary file in a temporary directory, if
48048         --dry-run is specified. Silence errors from 'grep' when there are no
48049         m4 files in $m4dir.
48050         (func_create_testdir): Silence errors from 'grep' when there are no
48051         m4 files in $m4dir.
48052         Reported by Karl Berry <karl@freefriends.org>.
48053
48054 2006-04-20  Bruno Haible  <bruno@clisp.org>
48055
48056         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
48057         one argument, so that the code will be portable to Autoconf 2.60.
48058         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
48059         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48060         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
48061
48062 2006-04-19  Derek Price  <derek@ximbiot.com>
48063             Eric Blake  <ebb9@byu.net>
48064
48065         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
48066         rather than "/full/path.h".  Update comment to match.  Shorten &
48067         generalize m4_translit call via AS_TR_CPP.
48068
48069 2006-04-19  Derek Price  <derek@ximbiot.com>
48070             Eric Blake  <ebb9@byu.net>
48071
48072         * lib/inttypes.h: Correct grammar in comment.
48073
48074 2006-04-18  Derek Price  <derek@ximbiot.com>
48075             Paul Eggert  <eggert@cs.ucla.edu>
48076
48077         * modules/inttypes: New file.
48078         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
48079
48080 2006-04-18  Derek Price  <derek@ximbiot.com>
48081             Paul Eggert  <eggert@cs.ucla.edu>
48082
48083         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
48084         New files.
48085
48086 2006-04-18  Derek Price  <derek@ximbiot.com>
48087             Paul Eggert  <eggert@cs.ucla.edu>
48088
48089         * lib/inttypes.h: New file.
48090         * lib/strtoimax.c: Assume <inttypes.h>.
48091
48092 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
48093
48094         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
48095         isn't mounted.  Problem reported by Kir Kolyshkin.
48096
48097 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48098
48099         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
48100         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
48101         Derek R. Price.
48102         * lib/regex.h (RE_DUP_MAX): Update comment to match current
48103         implementation.
48104
48105 2006-04-12  Eric Blake  <ebb9@byu.net>
48106
48107         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
48108         is now done automatically by the corresponding Autoconf macro.
48109
48110 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
48111
48112         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
48113         time_r.h.
48114
48115 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48116
48117         Merge regex changes from libc, removing some of our
48118         POSIX-conformance changes that were rejected and redoing them in a
48119         less-intrusive way.
48120
48121         * lib/regcomp.c (re_compile_internal, init_dfa):
48122         Length arg is now size_t, not Idx.  All uses changed.
48123         (peek_token): Forward decl now says internal_function.
48124         (__re_error_msgid, __re_error_msgid_idx):
48125         Now static rather than extern with attribute_hidden.
48126         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
48127         For some reason libc prefers K&R style defns for external functions.
48128         (regerror) [!defined _LIBC]: Likewise.
48129         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
48130         (seek_collating_symbol_entry, lookup_collation_sequence_value):
48131         (build_range_exp, build_collating_symbol):
48132         Use K&R-style defn.
48133         (re_compile_fastmap): Use '\0' to memset, not 0.
48134         (utf8_sb_map): Make the calculations more obvious.
48135         (init_dfa, parse_bracket_exp, build_charclass_op):
48136         Call calloc and cast result, as glibc does.
48137         (init_word_char, fetch_token, peek_token, peek_token_bracket):
48138         (build_range_exp, build_collating_symbol):
48139         Now internal functions.
48140
48141         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
48142
48143         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
48144         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
48145         Don't depend on VMS; depend on __VMS instead, for POSIX
48146         namespace cleanness.
48147         (regoff_t): Define to ssize_t, not long int.
48148
48149         Remove the REG_ macros named below.  Instead, make the old names
48150         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
48151         __USE_GNU_REGEX.
48152         (REG_BACKSLASH_ESCAPE_IN_LISTS):
48153         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
48154         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
48155         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
48156         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
48157         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
48158         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
48159         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
48160         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
48161         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
48162         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
48163         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
48164         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
48165         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
48166         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
48167         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
48168         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
48169         (REG_NREGS):
48170         Remove.  All uses replaced by the old RE_* names.
48171         (RE_BACKSLASH_ESCAPE_IN_LISTS):
48172         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
48173         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
48174         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
48175         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
48176         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
48177         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
48178         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
48179         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
48180         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
48181         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
48182         Don't bother having these macros be independent of each others'
48183         values, since they no longer exist in the POSIX name space.
48184
48185         Rename the following member names back to their old names,
48186         unless !__USE_GNU_REGEX.  All uses changed back.
48187         (buffer): Renamed from re_buffer.
48188         (allocated): Renamed from re_allocated.
48189         (used): Renamed from re_used.
48190         (syntax): Renamed from re_syntax.
48191         (fastmap): Renamed from re_fastmap.
48192         (translate): Renamed from re_translate.
48193         (can_be_null): Renamed from re_can_be_null.
48194         (regs_allocated): Renamed from re_regs_allocated.
48195         (fastmap_accurate): Renamed from re_fastmap_accurate.
48196         (no_sub): Renamed from re_no_sub.
48197         (not_bol): Renamed from re_not_bol.
48198         (not_eol): Renamed from re_not_eol.
48199         (newline_anchor): Renamed from re_newline_anchor.
48200         (num_regs): Renamed from rm_num_regs.
48201         (start): Renamed from rm_start.
48202         (end): Renamed from rm_end.
48203
48204         (free_state): Move up a bit.
48205
48206         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
48207         #define to be empty.
48208         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48209         when that is what is intended.
48210         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48211         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48212         (MAX): New macro.
48213         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48214         All uses changed back to re_malloc, etc.  It's now the caller's
48215         responsibility to check for overflow; all callers changed.
48216         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48217         (re_x2nrealloc): Remove.
48218         (free_state): Remove decl.
48219
48220         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48221         (re_set_registers, re_exec):
48222         Use K&R-style defn.
48223
48224         2006-01-31  Roland McGrath  <roland@redhat.com>
48225
48226         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48227         Reported by Mike Frysinger <vapier@gentoo.org>.
48228
48229         2006-01-15  Andreas Jaeger  <aj@suse.de>
48230
48231         [BZ #1950]
48232         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48233         build_wcs_upper_buffer change.
48234         (build_wcs_upper_buffer): Change return type.
48235
48236         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48237
48238         * lib/regex_internal.h: Include <stdint.h> if available.
48239
48240         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48241
48242         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48243
48244         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48245
48246         * lib/regcomp.c: Adjust for changed secondary hash function.
48247
48248         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48249
48250         * lib/regex.h: Pretty printing.
48251         Clean up namespace a bit.
48252
48253         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48254
48255         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48256         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48257
48258         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48259                     Ulrich Drepper  <drepper@redhat.com>
48260
48261         [BZ #1302]
48262         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48263         changed.
48264         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48265
48266         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48267
48268         [BZ #281]
48269         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48270         * lib/regcomp.c: Remove unnecessary uses of
48271         unsigned RE_TRANSLATE_TYPE.
48272         * lib/regex_internal.h: Likewise.
48273         * lib/regex_internal.c: Likewise.
48274         * lib/regexec.c: Likewise.
48275         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48276
48277         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48278
48279         * lib/regexec.c (find_recover_state): Remove unnecessary
48280         initialization.
48281         (transit_state_bkref): Make DFA a const pointer.
48282         (get_subexp): Likewise.
48283         (check_arrival): Likewise.
48284         (update_cur_sifted_state): Likewise.
48285         (re_search_internal): Likewise.
48286         (prune_impossible_nodes): Likewise.
48287         (acquire_init_state_context): Likewise.
48288         (proceed_next_node): Likewise.
48289         (set_regs): Likewise.
48290         (free_fail_stack_return): Likewise.
48291         (check_arrival_expand_ecl): Mark DFA parameter as const.
48292         (check_arrival_expand_ecl_sub): Likewise.
48293         (check_subexp_limits): Likewise.
48294         (sub_epsilon_src_nodes):  Likewise.
48295         (add_epsilon_src_nodes):  Likewise.
48296         (merge_state_array): Likewise.
48297         (update_regs): Likewise.
48298         (build_trtable): Likewise.
48299         (sift_states_backward): Mark MCTX parameter as const.
48300         (build_sifted_states): Likewise.
48301         (update_cur_sifted_state): Likewise.
48302         (sift_states_mkref): Likewise.
48303         (check_arrival_expand_ecl): Mark eclosure as const.
48304         (check_dst_limits_calc_pos_1): Likewise.
48305         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48306         pointer.
48307
48308         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48309
48310         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48311         (transit_state_sb): Likewise.
48312         (transit_state_mb): Likewise.
48313         (sift_states_iter_mb): Likewise.
48314         (check_arrival_add_next_nodes): Likewise.
48315         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48316         [_LIBC] (re_search_2_stub): Use mempcpy.
48317
48318         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48319         mbrtowc for very simple UTF-8 case.
48320
48321         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48322         a pointer-to-const.
48323         (re_acquire_state_context): Likewise.
48324         * lib/regex_internal.h: Adjust prototypes.
48325
48326         * lib/regex.c: Prevent using C++ compilers.
48327
48328         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48329         (re_acquire_state_context): Likewise.
48330
48331 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48332
48333         * modules/regex (Depends-on): Add ssize_t.
48334
48335 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48336
48337         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48338         translation table.
48339
48340 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48341
48342         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48343
48344 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48345             Bruno Haible  <bruno@clisp.org>
48346
48347         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48348         <sys/types.h> and <inttypes.h>.
48349
48350 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48351
48352         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48353         `__error_t_defined', so argp.h will not typedef the former.
48354
48355 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48356
48357         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48358         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48359         glibc names.  Even if glibc is changed to conform to POSIX, the
48360         traditional names will be available anyway, since regex depends on
48361         the extensions module.  Also, fix a longstanding typo in the
48362         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48363         reported by Emanuele Giaquinta.  Also, change sense of cached
48364         variable, so that the message makes sense.
48365
48366 2006-03-24  Simon Josefsson  <jas@extundo.com>
48367
48368         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48369         including some doc fixes.
48370         (base64_encode_alloc): Fix +1 bug on allocation failures.
48371
48372 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48373
48374         * lib/base64.c (base64_encode): Do not read past end of array with
48375         unsanitized input on systems with CHAR_BIT > 8.
48376
48377 2006-03-24  Eric Blake  <ebb9@byu.net>
48378
48379         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48380
48381 2006-03-22  Karl Berry  <karl@gnu.org>
48382
48383         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48384         * config/srclistvars.sh (COREUTILS): new var.
48385
48386 2006-03-17  Jim Meyering  <jim@meyering.net>
48387
48388         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48389         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48390
48391 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48392
48393         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48394         no longer needs it.  Instead, check that regoff_t is as least
48395         as wide as ptrdiff_t.
48396
48397         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48398         so that our regex.h stays compatible with the installed regex.
48399         This is helpful for installers who configure --without-included-regex.
48400         Problem reported by Emanuele Giaquinta.
48401
48402 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48403
48404         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48405         Typedef to long int, not to off_, as POSIX will likely change
48406         in that direction.
48407
48408 2006-03-15  Eric Blake  <ebb9@byu.net>
48409
48410         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48411
48412 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48413
48414         * lib/argp-help.c (validate_uparams): Fix typo
48415         * lib/argp-parse.c (argp_default_options): Consistently begin help
48416         messages with a lowercase letter.
48417
48418 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
48419
48420         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
48421         overrun buffers and shouldn't be used (much as gets shouldn't be
48422         used).
48423         * lib/time_r.c (asctime_r, ctime_r): Likewise.
48424
48425 2006-03-08  Simon Josefsson  <jas@extundo.com>
48426
48427         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
48428         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48429
48430 2006-03-08  Simon Josefsson  <jas@extundo.com>
48431
48432         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
48433         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48434
48435 2006-03-08  Simon Josefsson  <jas@extundo.com>
48436
48437         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
48438         signal that configure disabled the device.
48439
48440 2006-03-08  Simon Josefsson  <jas@extundo.com>
48441
48442         * build-aux/maint.mk: Fix refresh-po, to handle no translated
48443         languages.
48444
48445 2006-03-07  Simon Josefsson  <jas@extundo.com>
48446
48447         * modules/getopt (Depends-on): Add unistd.
48448
48449         * modules/unistd: New file.
48450
48451 2006-03-07  Simon Josefsson  <jas@extundo.com>
48452
48453         * modules/gc-random: New file.
48454
48455 2006-03-07  Simon Josefsson  <jas@extundo.com>
48456
48457         * m4/unistd_h.m4: New file.
48458
48459 2006-03-07  Simon Josefsson  <jas@extundo.com>
48460
48461         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48462         test to be side-effect free by storing the result in the cache
48463         variable gl_cv_lib_readline, and moving the assignment of
48464         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48465         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48466
48467 2006-03-07  Simon Josefsson  <jas@extundo.com>
48468
48469         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48470         error on missing devices (the functions will return an error).
48471
48472         * m4/gc.m4: Move random stuff to gc-random.m4
48473
48474 2006-03-07  Simon Josefsson  <jas@extundo.com>
48475
48476         * lib/unistd_.h: New file.
48477
48478 2006-03-07  Simon Josefsson  <jas@extundo.com>
48479
48480         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48481
48482 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48483
48484         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48485         Problem reported by Juan Manuel Guerrero.
48486
48487 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48488
48489         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48490         the unistd module.
48491         * lib/getlogin_r.c: Likewise.
48492         * lib/getlogin_r.h: Likewise.
48493         * lib/glob.c: Likewise.
48494         * lib/pagealign_alloc.c: Likewise.
48495         * lib/unistd_.h: Remove; no longer needed.
48496
48497 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48498
48499         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48500         Add unistd.
48501         * modules/c-stack (Depends-on): Add unistd.
48502         * modules/getlogin_r: Likewise.
48503         * modules/glob: Likewise.
48504         * modules/pagealign_alloc: Likewise.
48505         * modules/unistd (Files): Remove lib/unistd_.h.
48506         (EXTRA_DIST): Remove.
48507         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48508         need unistd_.h.
48509         (MOSTLYCLEANFILES): Remove unistd.h-t.
48510
48511 2006-03-03  Simon Josefsson  <jas@extundo.com>
48512
48513         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48514
48515 2006-03-03  Simon Josefsson  <jas@extundo.com>
48516
48517         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48518         libidn and bison.
48519
48520 2006-03-03  Simon Josefsson  <jas@extundo.com>
48521
48522         * build-aux/maint.mk: Add indent target.
48523
48524 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48525
48526         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48527         our replacement poll.h in any case, to avoid a differing
48528         declaration from a system header.  Seen on AIX.
48529
48530 2006-03-01  Simon Josefsson  <jas@extundo.com>
48531
48532         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48533         <kasal@ucw.cz>.
48534
48535 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48536
48537         * modules/gettime (Depends-on): Add extensions module.
48538         * modules/nanosleep (Depends-on): Likewise.
48539         * modules/settime (Depends-on): Likewise.
48540
48541 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48542
48543         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48544         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48545         pedantically.
48546         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48547         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48548
48549         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48550         not "==".  Reported by Ralf Wildenhues.
48551
48552 2006-03-01  Karl Berry  <karl@gnu.org>
48553
48554         * doc/Copyright/request-*: new files, synced from gnuorg.
48555
48556 2006-03-01  Karl Berry  <karl@gnu.org>
48557
48558         * config/srclist.txt (Copyright/*): new entries.
48559
48560 2006-02-28  Simon Josefsson  <jas@extundo.com>
48561
48562         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48563
48564 2006-02-27  Simon Josefsson  <jas@extundo.com>
48565
48566         * lib/base64.h: Indent #define's.  From Jim Meyering
48567         <jim@meyering.net>.
48568
48569 2006-02-27  Jim Meyering  <jim@meyering.net>
48570
48571         Revert the change of 2006-02-24, so these files can continue
48572         to be sync'd from gettext.
48573         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48574         of `config.h'.
48575
48576 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48577
48578         * modules/intprops: New file.
48579         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48580         Add intprops.
48581         * modules/getloadavg (Files): Remove lib/intprops.h.
48582         (Depends-on): Add intprops.
48583         * modules/human: Likewise.
48584         * modules/inttostr: Likewise.
48585         * modules/openat: Likewise.
48586         * modules/sig2str: Likewise.
48587         * modules/userspec: Likewise.
48588         * modules/utimecmp: Likewise.
48589         * modules/xnanosleep: Likewise.
48590         * modules/xstrtol: Likewise.
48591
48592 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48593
48594         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48595         * modules/lock-tests (TESTS): Use $(EXEEXT).
48596         * modules/tls-tests: Likewise.
48597         * modules/argp-tests: Likewise.
48598         (check_PROGRAMS): New var, replacing...
48599         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48600
48601 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48602
48603         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48604         `config.h'.
48605
48606 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48607
48608         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48609
48610 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48611
48612         Sync from coreutils.
48613         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48614         gl_CHDIR_SAFER.
48615
48616 2006-02-22  Jim Meyering  <jim@meyering.net>
48617
48618         Sync from coreutils.
48619         * m4/chdir-safer.m4: New file.
48620
48621 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48622
48623         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48624         AT_FDCWD exceeds INT_MAX.
48625         * lib/openat.h (AT_FDCWD): Likewise.
48626
48627 2006-02-17  Eric Blake  <address@hidden>
48628
48629         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48630
48631 2006-02-16  Simon Josefsson  <jas@extundo.com>
48632
48633         * modules/getaddrinfo (Depends-on): Add sys_socket.
48634
48635 2006-02-15  Simon Josefsson  <jas@extundo.com>
48636
48637         * build-aux/maint.mk: Add dsyntax-check rule.
48638
48639 2006-02-15  Eric Blake  <ebb9@byu.net>
48640
48641         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48642         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48643         'present but cannot compile' warnings on cygwin.
48644         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48645         use ws2tcpip.h if sys/socket.h works.
48646         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48647         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48648
48649 2006-02-14  Simon Josefsson  <jas@extundo.com>
48650
48651         * modules/maintainer-makefile (Files): Rename.
48652
48653         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48654         and (the local) Makefile.cfg to maint-cfg.mk.
48655
48656         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48657         to the latter.
48658
48659         * modules/maintainer-makefile: New module.
48660
48661         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48662         severaly stripped to make it possible to build it up from scratch
48663         with reliable tests.
48664
48665         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48666         fixes to permit overriding the default actions when configure and
48667         makefile are not available.
48668
48669 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48670
48671         Sync from coreutils.
48672         * modules/lstat (Depends-on): Don't depend on xalloc.
48673         (License): Change from GPL to LGPL, since this is now simply a
48674         replacement for a libc function.
48675
48676 2006-02-14  Jim Meyering  <jim@meyering.net>
48677
48678         Sync from coreutils.
48679
48680         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48681         failure on deficient systems, and simplify gnulib lgpl dependencies.
48682         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48683         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48684
48685         * lib/xalloc-die.c: Remove unused definition of N_.
48686
48687 2006-02-14  Jim Meyering  <jim@meyering.net>
48688
48689         Sync from coreutils.
48690         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48691         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48692         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48693         double-quote uses of that variable, to accommodate the rare case in
48694         which getmntent is available in none of the libraries checked.  This
48695         happens at least on FreeBSD 5.0.
48696
48697 2006-02-13  Simon Josefsson  <jas@extundo.com>
48698
48699         * gnulib-tool (Usage): Fix --import, from
48700         karl@freefriends.org (Karl Berry).
48701
48702 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48703
48704         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48705
48706 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48707
48708         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48709         "autoupdate" on 2005-12-12.
48710
48711 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48712
48713         * modules/closeout (Depends-on): Remove atexit.
48714
48715 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48716
48717         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48718         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48719
48720 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48721
48722         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48723         __EXTENSIONS__ if this causes compilation to fail.  Problem
48724         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48725         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48726
48727 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48728
48729         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48730         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48731         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48732         All uses changed.
48733
48734 2006-01-26  Simon Josefsson  <jas@extundo.com>
48735
48736         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48737         prototype is visible on mingw32.
48738
48739         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48740         for mingw32.
48741
48742         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48743         mingw32).
48744
48745 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48746
48747         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48748         attempt to open for write; this always fails, at least on POSIX
48749         hosts.  This reinstates the 2006-01-09 change, which was
48750         inadvertently removed.
48751
48752 2006-01-26  Bruno Haible  <bruno@clisp.org>
48753
48754         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48755         Reported by Paul Eggert.
48756
48757 2006-01-26  Bruno Haible  <bruno@clisp.org>
48758             Paul Eggert  <eggert@cs.ucla.edu>
48759
48760         * lib/stdbool_.h (_Bool)
48761         [(! (defined __cplusplus || defined __BEOS__)
48762           && !defined __GNUC__
48763           && !(defined __HP_cc || defined __xlc__
48764                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48765                || defined __sgi))]:
48766         #define to signed char in these cases too; this simplifies
48767         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48768         etc., separately) and makes it more conservative.
48769
48770 2006-01-25  Simon Josefsson  <jas@extundo.com>
48771
48772         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48773         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48774         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48775
48776 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48777
48778         * lib/argp-namefrob.h: Bugfix. Remove stray #
48779
48780 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48781
48782         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48783         so that we test the test.
48784         Check for yet another HP-UX cc bug involving *bool |= bool.
48785
48786 2006-01-25  Karl Berry  <karl@gnu.org>
48787
48788         * config/srclist.txt (vasnprintf.c): sync lost.
48789
48790 2006-01-25  Jim Meyering  <jim@meyering.net>
48791
48792         Sync from the stable (b5) branch of coreutils:
48793
48794         * lib/fts.c (fts_children): Don't let close() clobber errno from
48795         failed fchdir().
48796
48797         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48798         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48799         a dangling symlink.  That can also happen at least for ELOOP.
48800         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48801         FYI, this bug predates the inclusion of fts.c in coreutils.
48802
48803         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48804         in their own block, so pre-c99 compilers don't object.
48805
48806         Avoid the double-free (first in fts_read, second in fts_close) that
48807         would occur when an `active' directory is made inaccessible (e.g.,
48808         via chmod a-x) during a traversal.
48809         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48810         before returning.  Reproduce this failure by
48811         mkdir -p a/b; cd a; chmod a-x . b
48812         Reported by Stavros Passas.
48813
48814 2006-01-25  Jim Meyering  <jim@meyering.net>
48815
48816         * lib/fileblocks.c: Remove more useless parentheses.
48817         * lib/readutmp.h: Likewise.
48818
48819 2006-01-25  Bruno Haible  <bruno@clisp.org>
48820
48821         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48822         warnings.
48823         Reported by Paul Eggert.
48824
48825 2006-01-25  Bruno Haible  <bruno@clisp.org>
48826
48827         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48828         rid of a trap command. For Solaris sh.
48829         Reported by Mark D. Baushke <mdb@gnu.org>.
48830
48831 2006-01-24  Simon Josefsson  <jas@extundo.com>
48832
48833         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48834         Bruno.
48835
48836 2006-01-24  Karl Berry  <karl@gnu.org>
48837
48838         * config/srclist.txt (argp-namefrob.h): sync lost.
48839
48840 2006-01-24  Jim Meyering  <jim@meyering.net>
48841
48842         * modules/openat (Files): Add lib/intprops.h.
48843         From Mark D. Baushke.
48844
48845 2006-01-24  Jim Meyering  <jim@meyering.net>
48846
48847         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48848         Reported by Mark D. Baushke.
48849
48850 2006-01-24  Jim Meyering  <jim@meyering.net>
48851
48852         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48853
48854 2006-01-24  Bruno Haible  <bruno@clisp.org>
48855
48856         * modules/strnlen (Maintainer): Change from glibc to all.
48857
48858 2006-01-24  Bruno Haible  <bruno@clisp.org>
48859
48860         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48861         Patch by Paul Eggert.
48862
48863 2006-01-24  Bruno Haible  <bruno@clisp.org>
48864
48865         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48866         already has it.
48867         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48868         2005-11-26.
48869
48870         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48871         'signed char' to avoid problems with the built-in _Bool type.
48872         Reported by Paul Eggert on 2005-11-26.
48873
48874 2006-01-24  Bruno Haible  <bruno@clisp.org>
48875
48876         * gnulib-tool (func_import): Avoid constructing complicated sed
48877         expressions inside backquote.
48878         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48879
48880 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48881
48882         These changes imported from libc.
48883         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48884         test and two separate function calls.
48885         * lib/strndup.c (__strndup): Add libc_hidden_def.
48886
48887 2006-01-23  Simon Josefsson  <jas@extundo.com>
48888
48889         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48890         Remove the test_*_SOURCES variable: automake infers it by default.
48891         * modules/tls-tests: Likewise.
48892
48893 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48894
48895         Work around porting bugs reported by Dieter in
48896         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48897         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48898         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48899         Include "getopt.h" first, to check interface.
48900         (getenv): Declare only if defined HAVE_DECL_GETENV &&
48901         !HAVE_DECL_GETENV.
48902         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
48903         (__strndup): Revert to K&R-style function dfns, the glibc style.
48904         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
48905         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
48906         Include strnlen.h first, to get prototype properly.
48907         (strnlen): Renamed from __strnlen.
48908         Remove weak alias.
48909
48910 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48911
48912         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
48913
48914 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48915
48916         * config/srclist.txt: Adjust to reflect glibc reorganization.
48917         This affects only comments.
48918
48919 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48920
48921          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
48922          Reported by Bruce Korb <bkorb@gnu.org>.
48923
48924 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48925
48926         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
48927         to pacify gcc -Wswitch-default.
48928
48929 2006-01-22  Bruno Haible  <bruno@clisp.org>
48930
48931         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
48932         temporary buffer for sprintf, take into account the precision also
48933         for 'd', 'i', 'u', 'o', 'x', 'X'.
48934
48935 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48936
48937         * modules/argp-tests: New module
48938         * tests/test-argp.c: New file
48939         * tests/test-argp-2.sh: New file
48940
48941 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48942
48943         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
48944         (__argp_base_name): Removed
48945         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
48946         typo.
48947         (__argp_base_name): Provide macro definition or extern declaration
48948         depending on the configuration
48949
48950 2006-01-20  Simon Josefsson  <jas@extundo.com>
48951
48952         * modules/inet_ntop (Depends-on): Depend on sys_socket.
48953
48954 2006-01-20  Simon Josefsson  <jas@extundo.com>
48955
48956         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
48957
48958 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48959
48960         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
48961         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
48962         Suggested by Bruno Haible.
48963
48964 2006-01-20  Karl Berry  <karl@gnu.org>
48965
48966         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
48967         until changes propagate, I guess.
48968
48969 2006-01-19  Simon Josefsson  <jas@extundo.com>
48970
48971         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
48972
48973 2006-01-19  Simon Josefsson  <jas@extundo.com>
48974
48975         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
48976
48977 2006-01-19  Simon Josefsson  <jas@extundo.com>
48978
48979         * gnulib-tool: Set check_PROGRAMS.
48980
48981         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48982         modules/des-tests, modules/gc-arcfour-tests,
48983         modules/gc-arctwo-tests, modules/gc-des-tests,
48984         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48985         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48986         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48987         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48988         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48989         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
48990         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
48991         test_*_SOURCES.
48992
48993 2006-01-18  Simon Josefsson  <jas@extundo.com>
48994
48995         * modules/socklen (Depends-on): Depend on sys_socket.
48996
48997 2006-01-18  Simon Josefsson  <jas@extundo.com>
48998
48999         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49000         modules/des-tests, modules/gc-arcfour-tests,
49001         modules/gc-arctwo-tests, modules/gc-des-tests,
49002         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49003         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49004         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49005         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49006         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49007         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
49008         $(EXEEXT) to automake TESTS variable, for mingw32.
49009
49010 2006-01-17  Simon Josefsson  <jas@extundo.com>
49011
49012         * modules/socklen (Include): Need sys/socket.h.
49013
49014 2006-01-17  Bruno Haible  <bruno@clisp.org>
49015
49016         * modules/ssize_t (Include): Add <sys/types.h>.
49017
49018 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
49019
49020         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
49021         it's not portable and it doesn't work with cross-compiles.
49022         Problem reported by Bruno Haible.  Fix missing-$ typo in
49023         'test "gl_cv_ignore_unused_libraries" ...' that prevented
49024         -zignore from being used with Sun's C compiler.
49025
49026 2006-01-12  Simon Josefsson  <jas@extundo.com>
49027
49028         * lib/base64.c: Fix warning, reported by Bruno Haible
49029         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
49030
49031 2006-01-12  Bruno Haible  <bruno@clisp.org>
49032
49033         * modules/ldd: New file.
49034         * build-aux/ldd.sh.in: New file.
49035         * MODULES.html.sh (Support for building libraries and executables): Add
49036         ldd.
49037
49038 2006-01-12  Bruno Haible  <bruno@clisp.org>
49039
49040         * m4/ldd.m4: New file.
49041
49042 2006-01-12  Bruno Haible  <bruno@clisp.org>
49043
49044         * gnulib-tool (func_import, func_create_testdir): Don't go into an
49045         endless loop while replacing $auxdir with build-aux.
49046
49047 2006-01-11  Simon Josefsson  <jas@extundo.com>
49048
49049         * lib/stdint_.h (SIZE_MAX): Add missing (.
49050
49051 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
49052
49053         Sync from coreutils.
49054         * lib/md5.c: Fix commentary typos.
49055         (alignof, UNALIGNED_P): No need for a GCC-specific version.
49056         * lib/md5.h (__attribute__): Remove; unused.
49057         * lib/sha1.c: Fix commentary to match md5 better.
49058         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
49059         so that we don't need to worry about alignment.  All uses changed.
49060         This merges the 2005-10-28 md5 change into sha1.
49061
49062 2006-01-11  Jim Meyering  <jim@meyering.net>
49063
49064         Sync from coreutils.
49065         * lib/md5.c (OP): Fix spacing.
49066
49067 2006-01-11  Bruno Haible  <bruno@clisp.org>
49068
49069         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49070         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
49071         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
49072
49073 2006-01-11  Bruno Haible  <bruno@clisp.org>
49074
49075         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49076         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
49077         the "early" section as well.
49078
49079 2006-01-11  Bruno Haible  <bruno@clisp.org>
49080
49081         Avoid "ar: no archive members specified" error on MacOS X.
49082         * gnulib-tool (func_modules_add_dummy): New function.
49083         (func_import, func_create_testdir): Invoke it.
49084
49085 2006-01-11  Bruno Haible  <bruno@clisp.org>
49086
49087         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
49088         with $auxdir in AC_CONFIG_FILES statements.
49089
49090 2006-01-11  Bruno Haible  <bruno@clisp.org>
49091
49092         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49093         Initialize also noinst_HEADERS to empty.
49094
49095 2006-01-11  Bruno Haible  <bruno@clisp.org>
49096
49097         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
49098         variables.
49099         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
49100         autoreconf.
49101
49102 2006-01-11  Bruno Haible  <bruno@clisp.org>
49103
49104         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
49105         overridable by the user.
49106         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49107
49108 2006-01-10  Simon Josefsson  <jas@extundo.com>
49109
49110         * modules/sys_socket: New file.
49111
49112 2006-01-10  Simon Josefsson  <jas@extundo.com>
49113
49114         * m4/sys_socket_h.m4: New file.
49115
49116 2006-01-10  Simon Josefsson  <jas@extundo.com>
49117
49118         * lib/socket_.h: New file.
49119
49120 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49121
49122         * modules/readutmp (Maintainer): Add myself.
49123
49124 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49125
49126         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
49127         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
49128         People who are still concerned with buggy memcmp implementations
49129         can invoke gl_FUNC_MEMCMP themselves.
49130
49131 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49132
49133         * lib/regex_internal.h (BITSET_WORD_BITS):
49134         Work around a bug in 64-bit PGC (before version 6.1-2), where the
49135         preprocessor mishandles large unsigned values as if they were signed.
49136         Problem reported by Claudio Fontana in
49137         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
49138
49139 2006-01-10  Jim Meyering  <jim@meyering.net>
49140
49141         Avoid the double-free (first in fts_read, second in fts_close) that
49142         would occur when an `active' directory is made inaccessible (e.g.,
49143         via chmod a-x) during a traversal.
49144         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49145         before returning.  Reproduce this failure by
49146         mkdir -p a/b; cd a; chmod a-x . b
49147         Reported by Stavros Passas.
49148
49149         Sync from coreutils.
49150         * lib/sha1.c: Tweak grammar in a comment.
49151
49152 2006-01-10  Jim Meyering  <jim@meyering.net>
49153
49154         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
49155         Patch by Joerg Sonnenberger.
49156
49157 2006-01-10  Bruno Haible  <bruno@clisp.org>
49158
49159         * modules/readutmp: Depend on module free.
49160         * modules/strtok_r: Depend on module restrict.
49161
49162 2006-01-10  Bruno Haible  <bruno@clisp.org>
49163
49164         * modules/gettext (configure.ac): Add an invocation of
49165         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
49166
49167 2006-01-10  Bruno Haible  <bruno@clisp.org>
49168
49169         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
49170         Reported by Werner Lemberg <wl@gnu.org>.
49171
49172 2006-01-10  Bruno Haible  <bruno@clisp.org>
49173
49174         * lib/localcharset.c: Update from GNU gettext.
49175
49176 2006-01-10  Bruno Haible  <bruno@clisp.org>
49177
49178         * lib/argp.h (__const): Remove macro. Use const instead.
49179         * lib/argp-fmtstream.h (__const): Likewise.
49180         * lib/glob_.h (__const): Remove macro.
49181         * lib/glob-libc.h: Use const instead of __const.
49182
49183 2006-01-10  Bruno Haible  <bruno@clisp.org>
49184
49185         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
49186         variable.
49187         Needed to avoid an automake error regarding the 'gettext' module.
49188
49189 2006-01-09  Simon Josefsson  <jas@extundo.com>
49190
49191         * modules/inet_ntop (Depends-on): Add restrict.
49192
49193 2006-01-09  Simon Josefsson  <jas@extundo.com>
49194
49195         * modules/gc-rijndael-tests (License): Put under LGPL.
49196
49197         * modules/gc-des-tests (License): Likewise.
49198
49199         * modules/gc-arcfour-tests (License): Likewise.
49200
49201         * modules/gc-arctwo-tests (License): Likewise.
49202
49203         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
49204
49205         * modules/gc-hmac-sha1-tests (Files): Likewise.
49206
49207         * modules/gc-hmac-md5-tests (License): Likewise.
49208
49209         * modules/gc-sha1-tests (License): Likewise.
49210
49211         * modules/gc-md5-tests (License): Likewise.
49212
49213         * modules/gc-md4-tests (License): Likewise.
49214
49215         * modules/gc-md2-tests (License): Likewise.
49216
49217         * modules/gc-tests (License): Likewise.
49218
49219         * modules/des-tests (License): Likewise.
49220
49221         * modules/md4-tests (License): Likewise.
49222
49223         * modules/md2-tests (License): Likewise.
49224
49225 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49226
49227         Sync from coreutils:
49228
49229         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49230         * modules/lib-ignore: New file.
49231         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49232         chdir-safer.m4, lchmod.m4.
49233         * modules/openat: Add mkdirat.c, openat-priv.h.
49234
49235 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49236
49237         Sync from coreutils.
49238         * m4/lib-ignore.m4: New file.
49239         * m4/lchmod.m4: New file.
49240
49241 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49242
49243         Sync from coreutils.
49244         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49245         for write access: POSIX says that must fail.
49246         * lib/fts.c (diropen): Likewise.
49247         * lib/save-cwd.c (save_cwd): Likewise.
49248         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49249         well, for minor improvements on hosts that lack O_DIRECTORY.
49250         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49251         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49252         Fall back on chown if open failed with EACCES.
49253
49254         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49255         Report an error at compile-time if only a 1-second nominal clock
49256         resolution is found.
49257
49258         * lib/lchmod.h: New file.
49259         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49260         (make_dir_parents): Use lchown rather than chown, and
49261         lchmod rather than chmod.
49262
49263         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49264         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49265         "proc" reported by n0dalus.
49266
49267         * lib/mountlist.c: Include <limits.h>.
49268         (dev_from_mount_options)
49269         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49270         New function.  It no longer assumes "dev=" has the System V meaning
49271         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49272         (read_file_system_list)
49273         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49274         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49275         dev= in that case.
49276
49277         * lib/posixtm.h (PDS_PRE_2000): New macro.
49278         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49279         allow_century.  All usages changed.  Reject dates outside the range
49280         1969-1999 if PDS_PRE_2000 is used.
49281
49282 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49283
49284         Sync from coreutils.
49285         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49286         (Time of day items): Mention the possibility of leap seconds.
49287         Problem reported by Dr. David Alan Gilbert.
49288
49289 2006-01-09  Jim Meyering  <jim@meyering.net>
49290
49291         Sync from coreutils.
49292
49293         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49294
49295         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49296
49297         * lib/modechange.c (mode_compile): Reject an invalid mode string
49298         that starts with an octal digit.  From Andreas Gruenbacher.
49299
49300         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49301         and dup to open_safer and dup_safer, respectively.
49302         (openat_permissive): Fix typo in comment.
49303
49304         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49305         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49306         (_): Remove; no longer needed.
49307         (openat): Renamed from rpl_openat; no need for rpl_openat
49308         since openat.h renames openat for us.
49309         Replace most of the body with a call to openat_permissive,
49310         to avoid duplicate code.
49311         Port to (probably hypothetical) environments were mode_t is
49312         wider than int.
49313         (openat_permissive): Require mode arg, so that we can check
49314         types better.  Put it just after flags.  Change cwd failure
49315         indicator from pointer-to-bool to pointer-to-errno-value.
49316         All callers changed.
49317         Invoke openat_save_fail and/or openat_restore_fail if
49318         cwd_errno is null, so that openat can call us.
49319         (openat_permissive, fdopendir, fstatat, unlinkat):
49320         Simplify errno handling to avoid some duplicate code,
49321         as it's OK to set errno on success.
49322         * lib/openat.h: Revamp code so that function macros depend on
49323         __OPENAT_PREFIX only, not also on AT_FDCWD.
49324         (openat_ro): Remove.  Caller changed to use openat_permissive.
49325         (openat_permissive): Now a macro, if not a function.
49326         (openat_restore_fail, openat_save_fail): Now always functions,
49327         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49328
49329         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49330         and openat.c.
49331         * lib/mkdirat.c: Include openat-priv.h.
49332         Remove definitions of macros defined therein.
49333         * lib/openat.c: Likewise.
49334
49335         * lib/mkdirat.c (mkdirat): New file and function.
49336         * lib/openat.h (mkdirat): Declare.
49337
49338         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49339
49340         * lib/openat.h (openat_permissive): Declare.
49341         (openat_ro): Define.
49342
49343         * lib/openat.c (EXPECTED_ERRNO): New macro.
49344         (openat_permissive): New function -- used in remove.c rewrite.
49345         (all functions): Set errno just before returning, only if there
49346         was an actual failure.
49347         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49348
49349         Emulate openat-family functions using Linux's procfs, if possible.
49350         Idea and some code based on Ulrich Drepper's glibc changes.
49351
49352         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49353         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49354         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49355         before falling back on save_cwd and restore_cwd.
49356         (fdopendir, fstatat, unlinkat): Likewise.
49357
49358         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49359         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49360
49361         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49362         as second argument to va_arg.  Otherwise, some versions of gcc
49363         warn that `if this code is reached, the program will abort'.
49364
49365 2006-01-09  Jim Meyering  <jim@meyering.net>
49366
49367         Sync from coreutils.
49368         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49369         Require openat-priv.h.
49370
49371 2006-01-09  Bruno Haible  <bruno@clisp.org>
49372
49373         * modules/strnlen (Include): Use strnlen.h.
49374
49375 2006-01-09  Bruno Haible  <bruno@clisp.org>
49376
49377         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49378
49379 2006-01-09  Bruno Haible  <bruno@clisp.org>
49380
49381         * lib/sysexit_.h (EX_OK): New macro.
49382         Suggested by Martin Lambers <marlam@marlam.de>.
49383
49384 2006-01-09  Bruno Haible  <bruno@clisp.org>
49385
49386         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49387         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49388
49389 2006-01-09  Bruno Haible  <bruno@clisp.org>
49390
49391         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49392         numbers.
49393
49394 2006-01-09  Bruno Haible  <bruno@clisp.org>
49395
49396         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49397         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49398         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49399         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49400
49401 2006-01-09  Bruno Haible  <bruno@clisp.org>
49402
49403         * build-aux/javacomp.sh.in: New file, moved from lib/.
49404         * modules/javacomp-script (Files): Update.
49405         (configure.ac): Add AC_CONFIG_FILES invocation.
49406         (EXTRA_DIST): Remove variable.
49407
49408         * build-aux/javaexec.sh.in: New file, moved from lib/.
49409         * modules/javaexec (Files): Update.
49410         (configure.ac): Add AC_CONFIG_FILES invocation.
49411         (EXTRA_DIST): Remove javaexec.sh.in.
49412
49413         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49414         * modules/csharpcomp-script (Files): Update.
49415         (configure.ac): Add AC_CONFIG_FILES invocation.
49416         (EXTRA_DIST): Remove variable.
49417
49418         * build-aux/csharpexec.sh.in: New file, moved from lib/.
49419         * modules/csharpexec (Files): Update.
49420         (configure.ac): Add AC_CONFIG_FILES invocation.
49421         (EXTRA_DIST): Remove csharpexec.sh.in.
49422
49423 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49424
49425         Sync from coreutils.
49426
49427         Add POSIX ACL support
49428         * lib/acl.h (copy_acl, set_acl): Add declarations.
49429         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
49430         systems other than Linux.
49431         (chmod_or_fchmod): New function: use fchmod when possible,
49432         and chmod otherwise.
49433         (file_has_acl): Add a POSIX ACL implementation, with a
49434         Linux-specific subcase.
49435         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
49436         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
49437         acls are unsupported.
49438         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
49439         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
49440         are unsupported.
49441
49442 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49443
49444         Sync from coreutils.
49445         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
49446
49447 2006-01-07  Bruno Haible  <bruno@clisp.org>
49448
49449         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49450         gl_EARLY.
49451
49452 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49453
49454         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49455         Problem reported for Mingw by Mark Junker.
49456
49457 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49458
49459         * README: Gnulib normally doesn't generate a tarball.
49460
49461 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49462
49463         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49464         long int, not int, for nanosecond counts, so that people who are
49465         used to POSIX struct timespec won't be surprised.  Reported by Jim
49466         Meyering.
49467
49468 2005-12-28  Bruno Haible  <bruno@clisp.org>
49469
49470         * build-aux/config.rpath: Update from GNU gettext.
49471
49472 2005-12-16  Jim Meyering  <jim@meyering.net>
49473
49474         * modules/fprintftime: New module.
49475         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49476
49477 2005-12-16  Jim Meyering  <jim@meyering.net>
49478
49479         * m4/fprintftime.m4: New file.
49480
49481 2005-12-16  Jim Meyering  <jim@meyering.net>
49482
49483         * lib/fprintftime.c, lib/fprintftime.h: New files.
49484
49485 2005-12-15  Simon Josefsson  <jas@extundo.com>
49486
49487         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49488         new m4/socklen.m4.
49489
49490 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49491
49492         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49493         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49494
49495 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49496
49497         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49498         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49499         struct uparams is valid. Fall back to the default values if it is
49500         not.
49501
49502 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49503
49504         * modules/argp (Files): Add argp-pin.c
49505         (Depends-on): dirname
49506         (lib_SOURCES): Add argp-pin.c
49507
49508 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49509
49510         * m4/argp.m4:  Check if program_invocation_name and
49511         program_invocation_short_name are declared and define appropriate
49512         macros if they are not.
49513
49514 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49515
49516         * lib/argp-help.c (__argp_base_name): New function
49517         (__argp_short_program_name): Rewrite using __argp_base_name
49518         * lib/argp-namefrob.h: Define program_invocation_name and
49519         program_invocation_short_name if requested
49520         (__argp_base_name): Add prototype
49521         * lib/argp-parse.c (argp_def): Use gettext wrappers
49522         (argp_default_parser): Use __argp_base_name
49523         * lib/argp-pin.c: New file. Defines program_invocation_name and
49524         program_invocation_short_name on systems that lack them.
49525
49526 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49527
49528         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49529         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49530         porting problem reported by Georg Schwarz in
49531         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49532
49533 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49534
49535         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49536         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49537         porting problem reported by Georg Schwarz in
49538         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49539
49540 2005-12-05  Bruno Haible  <bruno@clisp.org>
49541
49542         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49543         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49544         Reported by Mark Junker <mjscod@gmx.de>.
49545
49546 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49547
49548         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49549         Use implementation from Albert Chin, with some
49550         comments/corrections by Stepan Kasal and myself.
49551
49552 2005-12-02  Bruno Haible  <bruno@clisp.org>
49553
49554         * gnulib-tool (func_import): Accept GPLed build tool modules when
49555         --lgpl is given.
49556         * modules/csharpcomp-script: New file.
49557         * modules/csharpcomp: Depend on it.
49558         * modules/javacomp-script: New file.
49559         * modules/javacomp: Depend on it.
49560         Suggested by Simon Josefsson.
49561
49562 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49563
49564         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49565         statement, to work around an HP-UX 10.20 compiler bug reported by
49566         Peter O'Gorman.
49567
49568 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49569
49570         * modules/savedir (Depends-on): Add openat.
49571
49572 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49573
49574         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49575         (uintmax_t) [defined uintmax_t]: Do not declare.
49576         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49577         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49578         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49579         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49580         sake of portability to weird hosts that C allows (though we don't
49581         know of any practical examples).
49582
49583         * lib/savedir.h (fdsavedir): New decl.
49584         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49585         contains most of the former guts of savedir.
49586         (savedir): Use savedirstream.
49587         Include "openat.h".
49588
49589 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49590
49591         * modules/obstack (Files): Add m4/ulonglong.m4.
49592         Problem reported by Davide Angelocola.
49593
49594 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49595
49596         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49597         coreutils no longer futzes with rounding modes.
49598
49599 2005-11-14  Jim Meyering  <jim@meyering.net>
49600
49601         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49602         replacement of mkstemp.
49603
49604 2005-11-10  Simon Josefsson  <jas@extundo.com>
49605
49606         * lib/readline.c: Remove EOL.
49607
49608 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49609
49610         * modules/gethrxtime (Depends-on): Add gettime.
49611
49612 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49613
49614         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49615         or gettimeofday; no longer needed.
49616
49617 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49618
49619         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49620         time business.
49621         (gethrxtime) [! (HAVE_NANOUPTIME
49622         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49623         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49624         our own approximation.
49625
49626 2005-11-08  Eric Blake  <ebb9@byu.net>
49627
49628         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49629
49630 2005-11-08  Eric Blake  <ebb9@byu.net>
49631
49632         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49633
49634 2005-11-04  Bruno Haible  <bruno@clisp.org>
49635
49636         * gnulib-tool: Implement --update mode.
49637
49638 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49639
49640         Fix porting problem reported by Theodoros V. Kalamatianos.
49641         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49642         Don't assume that futimes failing means we must fail.
49643
49644 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49645
49646         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49647         variables to suggest the intended function of the PATH_MAX check.
49648
49649 2005-10-30  Kean Johnston  <jkj@sco.com>
49650
49651         Trivial changes to support SCO systems.
49652         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49653         as PATH_MAX.
49654         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49655         where __ptr is null when no I/O is pending.
49656
49657 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49658
49659         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49660         leave errno alone.  Problem reported by Dmitry V. Levin.
49661
49662 2005-10-28  Simon Josefsson  <jas@extundo.com>
49663
49664         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49665         Test more.
49666
49667         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49668
49669         * modules/md2, modules/md2-tests: New files.
49670
49671 2005-10-28  Simon Josefsson  <jas@extundo.com>
49672
49673         * m4/inet_ntop.m4: More tests.
49674
49675         * m4/gc-md2.m4, md2.m4: New file.
49676
49677 2005-10-28  Simon Josefsson  <jas@extundo.com>
49678
49679         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49680         "restrict" keywords, as per POSIX.  Protect the function
49681         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49682         Don't use K&R prototypes.  Check the sprintf return values.
49683         Re-define EAFNOSUPPORT if not present.  Indent.
49684
49685         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49686         suggested by Bruno Haible <bruno@clisp.org>.
49687
49688         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49689
49690         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49691
49692         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49693         libgcrypt).
49694
49695         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49696
49697         * lib/md2.h, lib/md2.c: New files.
49698
49699 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49700
49701         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49702         errno alone.  Problem reported by Frederic Jolliton.
49703
49704 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49705
49706         * modules/verify (License): Change from GPL to LGPL.  This is a
49707         tiny module and there are apparently near-equivalents that are
49708         under the BSD license.
49709
49710 2005-10-24  Simon Josefsson  <jas@extundo.com>
49711
49712         * modules/sha1: Relicense to LGPL.
49713
49714 2005-10-24  Simon Josefsson  <jas@extundo.com>
49715
49716         * lib/md4.h: Shrink buffer size, now that we changed the type.
49717
49718 2005-10-23  Simon Josefsson  <jas@extundo.com>
49719
49720         * gnulib-tool (func_import): Fix --tests-base.
49721
49722 2005-10-22  Simon Josefsson  <jas@extundo.com>
49723
49724         * modules/arcfour (Depends-on): Need stdint.
49725
49726 2005-10-22  Simon Josefsson  <jas@extundo.com>
49727
49728         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49729         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49730
49731 2005-10-22  Simon Josefsson  <jas@extundo.com>
49732
49733         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49734         suggested by Bruno Haible <bruno@clisp.org>.
49735
49736 2005-10-22  Simon Josefsson  <jas@extundo.com>
49737
49738         * lib/crc.h: Include stddef.h, for size_t.
49739
49740 2005-10-22  Simon Josefsson  <jas@extundo.com>
49741
49742         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49743         arcfour_context struct (simplify test vector testing in GNU
49744         Shishi).
49745
49746 2005-10-21  Simon Josefsson  <jas@extundo.com>
49747
49748         * modules/des, modules/des-tests: New files.
49749
49750         * modules/gc-des, modules/gc-des-tests: New files.
49751
49752         * tests/test-des.c, tests/test-gc-des.c: New file.
49753
49754 2005-10-21  Simon Josefsson  <jas@extundo.com>
49755
49756         * modules/arctwo, modules/arctwo-tests: New files.
49757
49758         * tests/test-arctwo.c: New file.
49759
49760         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49761
49762         * tests/test-gc-arctwo.c: New file.
49763
49764 2005-10-21  Simon Josefsson  <jas@extundo.com>
49765
49766         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49767         Bruno Haible <bruno@clisp.org>.
49768
49769         * m4/gc-des.m4: New file.
49770
49771 2005-10-21  Simon Josefsson  <jas@extundo.com>
49772
49773         * m4/arctwo.m4: New file.
49774
49775         * m4/gc-arctwo.m4: New file.
49776
49777 2005-10-21  Simon Josefsson  <jas@extundo.com>
49778
49779         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49780         block.
49781
49782 2005-10-21  Simon Josefsson  <jas@extundo.com>
49783
49784         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49785         <bruno@clisp.org>.
49786
49787         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49788
49789         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49790         Bruno Haible <bruno@clisp.org>.
49791
49792         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49793         <bruno@clisp.org>.
49794
49795 2005-10-21  Simon Josefsson  <jas@extundo.com>
49796
49797         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49798
49799 2005-10-21  Simon Josefsson  <jas@extundo.com>
49800
49801         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49802
49803 2005-10-21  Simon Josefsson  <jas@extundo.com>
49804
49805         * lib/des.h, lib/des.c: New files.
49806
49807         * lib/gc-gnulib.c: Support DES.c
49808
49809 2005-10-21  Simon Josefsson  <jas@extundo.com>
49810
49811         * lib/arctwo.h, lib/arctwo.c: New files.
49812
49813         * lib/gc-gnulib.c: Support ARCTWO.
49814
49815 2005-10-21  Simon Josefsson  <jas@extundo.com>
49816
49817         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49818         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49819
49820 2005-10-21  Simon Josefsson  <jas@extundo.com>
49821
49822         * gnulib-tool (func_import, func_create_testdir): Define automake
49823         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49824         Makefile.am snippet),
49825         suggested by Bruno Haible <bruno@clisp.org>.
49826
49827         * modules/gc (Makefile.am): Use it.
49828
49829 2005-10-21  Bruno Haible  <bruno@clisp.org>
49830
49831         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49832         patch.
49833
49834 2005-10-19  Simon Josefsson  <jas@extundo.com>
49835
49836         * tests/test-gc-rijndael.c: New file.
49837
49838         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49839
49840 2005-10-19  Simon Josefsson  <jas@extundo.com>
49841
49842         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49843         interface too.
49844
49845 2005-10-19  Simon Josefsson  <jas@extundo.com>
49846
49847         * tests/test-gc-arcfour.c: New file.
49848
49849         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49850
49851 2005-10-19  Simon Josefsson  <jas@extundo.com>
49852
49853         * modules/gc-md4, modules/gc-md4-tests: New file.
49854
49855         * tests/test-gc-md4.c: New file.
49856
49857 2005-10-19  Simon Josefsson  <jas@extundo.com>
49858
49859         * m4/gc-md4.m4: New file.
49860
49861 2005-10-19  Simon Josefsson  <jas@extundo.com>
49862
49863         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49864         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49865         <kasal@ucw.cz>.
49866
49867 2005-10-19  Simon Josefsson  <jas@extundo.com>
49868
49869         * m4/gc-arcfour.m4: New file.
49870
49871         * m4/gc-rijndael.m4: New file.
49872
49873 2005-10-19  Simon Josefsson  <jas@extundo.com>
49874
49875         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49876
49877 2005-10-19  Simon Josefsson  <jas@extundo.com>
49878
49879         * lib/gc-gnulib.c: Support ARCFOUR.
49880
49881 2005-10-19  Simon Josefsson  <jas@extundo.com>
49882
49883         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49884         support.
49885
49886         * lib/gc.h: Add ECB enum type.
49887
49888         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49889
49890 2005-10-18  Simon Josefsson  <jas@extundo.com>
49891
49892         * tests/test-md5.c: New file.
49893
49894         * modules/md5-tests: New file.
49895
49896 2005-10-18  Simon Josefsson  <jas@extundo.com>
49897
49898         * tests/test-md4.c: New file.
49899
49900         * modules/md4, modules/md4-tests: New files.
49901
49902 2005-10-18  Simon Josefsson  <jas@extundo.com>
49903
49904         * m4/md4.m4: New file.
49905
49906 2005-10-18  Simon Josefsson  <jas@extundo.com>
49907
49908         * lib/md4.h, lib/md4.c: New files, based on md5.?.
49909
49910 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
49911
49912         * gnulib-tool (func_create_testdir): Omit the second check whether
49913         BUILT_SOURCES in nonempty.
49914
49915 2005-10-17  Simon Josefsson  <jas@extundo.com>
49916
49917         * tests/test-rijndael.c: New file.
49918
49919 2005-10-17  Simon Josefsson  <jas@extundo.com>
49920
49921         * modules/sha1: Depend on stdint instead of md5.
49922
49923         * modules/md5: Depend on stdint, remove uint32_t.
49924
49925 2005-10-17  Simon Josefsson  <jas@extundo.com>
49926
49927         * modules/gc-sha1-tests: New file.
49928
49929         * tests/test-gc-sha1.c: New file.
49930
49931 2005-10-17  Simon Josefsson  <jas@extundo.com>
49932
49933         * m4/md5.m4: Remove call to uint32_t.m4.
49934
49935 2005-10-17  Simon Josefsson  <jas@extundo.com>
49936
49937         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
49938
49939         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
49940         md5.h.
49941
49942         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
49943
49944         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
49945
49946 2005-10-17  Simon Josefsson  <jas@extundo.com>
49947
49948         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
49949
49950 2005-10-17  Simon Josefsson  <jas@extundo.com>
49951
49952         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
49953
49954 2005-10-17  Simon Josefsson  <jas@extundo.com>
49955
49956         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
49957
49958         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
49959
49960 2005-10-17  Bruno Haible  <bruno@clisp.org>
49961
49962         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
49963         that it can also be used in a test.
49964
49965 2005-10-16  Bruno Haible  <bruno@clisp.org>
49966
49967         * gnulib-tool (func_emit_tests_Makefile_am): Also define
49968         TESTS_ENVIRONMENT, so that individual tests can augment it.
49969
49970         * gnulib-tool (func_create_testdir): Use an intermediate target for
49971         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
49972         macros, like $(ALLOCA_H), which cannot be passed through the command
49973         line.
49974
49975 2005-10-15  Simon Josefsson  <jas@extundo.com>
49976
49977         * modules/rijndael-tests: New file.
49978
49979         * modules/rijndael: New file.
49980
49981 2005-10-15  Simon Josefsson  <jas@extundo.com>
49982
49983         * m4/rijndael.m4: New file.
49984
49985 2005-10-15  Simon Josefsson  <jas@extundo.com>
49986
49987         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
49988
49989         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
49990
49991 2005-10-14  Simon Josefsson  <jas@extundo.com>
49992
49993         * tests/test-arcfour.c: New file.
49994
49995         * modules/arcfour, modules/arcfour-tests: New files.
49996
49997 2005-10-14  Simon Josefsson  <jas@extundo.com>
49998
49999         * m4/arcfour.m4: New file.
50000
50001 2005-10-14  Simon Josefsson  <jas@extundo.com>
50002
50003         * lib/arcfour.h, lib/arcfour.c: New files.
50004
50005 2005-10-14  Roland McGrath  <roland@redhat.com>
50006
50007         Import from libc.  [BZ #1331]
50008         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
50009         macro argument.
50010         Reported by Matej Vela <vela@debian.org>.
50011
50012 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50013
50014         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
50015         include <wchar.h>; no longer needed.
50016
50017 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50018
50019         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
50020
50021 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
50022         and  Ulrich Drepper  <drepper@redhat.com>
50023
50024         Import from libc.
50025         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
50026         instead of inline stream orientation test and two separate
50027         function calls.  Pay no attention to USE_IN_LIBIO.
50028
50029 2005-10-13  Simon Josefsson  <jas@extundo.com>
50030
50031         * modules/gc-hmac-md5-tests: New file.
50032
50033         * tests/test-gc-hmac-sha1.c: New file.
50034
50035         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
50036
50037         * modules/gc-hmac-md5-tests: New file.
50038
50039         * tests/test-gc-md5.c: New file.
50040
50041         * modules/gc-md5-tests: New file.
50042
50043 2005-10-13  Simon Josefsson  <jas@extundo.com>
50044
50045         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
50046         Move memory allocation outside of loop.
50047
50048 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50049
50050         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
50051         intermediate directory is in a read-only file system.  Problem
50052         reported by Eric Blake.
50053
50054 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
50055
50056         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
50057
50058 2005-10-12  Simon Josefsson  <jas@extundo.com>
50059
50060         * tests/test-hmac-sha1.c: New file.
50061
50062         * modules/hmac-sha1-tests: New file.
50063
50064         * modules/hmac-sha1: New file.
50065
50066 2005-10-12  Simon Josefsson  <jas@extundo.com>
50067
50068         * modules/gc-sha1: New file.
50069
50070 2005-10-12  Simon Josefsson  <jas@extundo.com>
50071
50072         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
50073
50074         * tests/test-gc-pbkdf2-sha1.c: New file.
50075
50076 2005-10-12  Simon Josefsson  <jas@extundo.com>
50077
50078         * modules/gc-md5, modules/gc-hmac-md5: New files.
50079
50080         * modules/gc (Files): Remove md5, memxor and hmac files.
50081
50082 2005-10-12  Simon Josefsson  <jas@extundo.com>
50083
50084         * m4/gc-pbkdf2-sha1.m4: New file.
50085
50086         * m4/gc-hmac-sha1.m4: New file.
50087
50088         * m4/gc-sha1: New file.
50089
50090         * m4/hmac-sha1.m4: New file.
50091
50092 2005-10-12  Simon Josefsson  <jas@extundo.com>
50093
50094         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
50095
50096         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
50097
50098 2005-10-12  Simon Josefsson  <jas@extundo.com>
50099
50100         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
50101         suggested by Bruno Haible <bruno@clisp.org>.
50102
50103 2005-10-12  Simon Josefsson  <jas@extundo.com>
50104
50105         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
50106
50107 2005-10-12  Simon Josefsson  <jas@extundo.com>
50108
50109         * lib/gc-pbkdf2-sha1.c: New file.
50110
50111         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
50112
50113 2005-10-12  Simon Josefsson  <jas@extundo.com>
50114
50115         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
50116
50117         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
50118
50119 2005-10-12  Simon Josefsson  <jas@extundo.com>
50120
50121         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
50122         GC_USE_HMAC_MD5, respectively.
50123
50124         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
50125         (gc_md5): Fix typo.
50126
50127         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
50128
50129         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
50130
50131         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
50132
50133 2005-10-12  Bruno Haible  <bruno@clisp.org>
50134
50135         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
50136         Reported by Stepan Kasal <kasal@ucw.cz>.
50137
50138 2005-10-11  Simon Josefsson  <jas@extundo.com>
50139
50140         * tests/test-crc.c: New file.
50141
50142         * modules/crc, modules/crc-tests: New files.
50143
50144 2005-10-11  Simon Josefsson  <jas@extundo.com>
50145
50146         * m4/crc.m4: New file.
50147
50148 2005-10-11  Simon Josefsson  <jas@extundo.com>
50149
50150         * lib/gc.h: Add gc_hash and gc_hash_buffer.
50151
50152         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
50153
50154         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
50155
50156 2005-10-11  Simon Josefsson  <jas@extundo.com>
50157
50158         * lib/crc.h, lib/crc.c: New files.
50159
50160         * lib/gc.h (gc_hash_buffer): Add doc.
50161
50162 2005-10-11  Bruno Haible  <bruno@clisp.org>
50163
50164         * modules/c-strcasestr: New file.
50165         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
50166
50167 2005-10-11  Bruno Haible  <bruno@clisp.org>
50168
50169         * modules/c-strcase: New file.
50170         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
50171
50172 2005-10-11  Bruno Haible  <bruno@clisp.org>
50173
50174         * lib/strcasecmp.c: Include limits.h.
50175         (strcasecmp): Avoid integer overflow on exotic platforms.
50176         * lib/strncasecmp.c: Include limits.h.
50177         (strncasecmp): Avoid integer overflow on exotic platforms.
50178         Reported by Paul Eggert.
50179
50180 2005-10-11  Bruno Haible  <bruno@clisp.org>
50181
50182         * lib/c-strcasestr.h: New file, from GNU gettext.
50183         * lib/c-strcasestr.c: New file, from GNU gettext.
50184
50185 2005-10-11  Bruno Haible  <bruno@clisp.org>
50186
50187         * lib/c-strcase.h: New file, from GNU gettext.
50188         * lib/c-strcasecmp.c: New file, from GNU gettext.
50189         * lib/c-strncasecmp.c: New file, from GNU gettext.
50190
50191 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50192
50193         * modules/mempcpy (License): GPL -> LGPL.
50194         * modules/strchrnul (License): Likewise.
50195         * modules/sysexits (License): Likewise.
50196
50197 2005-10-08  Simon Josefsson  <jas@extundo.com>
50198
50199         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
50200
50201 2005-10-07  Simon Josefsson  <jas@extundo.com>
50202
50203         * m4/memxor.m4: Remove gl_C_RESTRICT call.
50204
50205 2005-10-06  Simon Josefsson  <jas@extundo.com>
50206
50207         * tests/test-hmac-md5.c: New file.
50208
50209         * modules/hmac-md5-tests: New file.
50210
50211         * modules/hmac-md5: New file.
50212
50213 2005-10-06  Simon Josefsson  <jas@extundo.com>
50214
50215         * m4/hmac-md5.m4: New file.
50216
50217         * m4/memxor.m4: Require gl_C_RESTRICT.
50218
50219 2005-10-06  Simon Josefsson  <jas@extundo.com>
50220
50221         * lib/memxor.c (memxor): Avoid casts and warnings.
50222
50223 2005-10-06  Simon Josefsson  <jas@extundo.com>
50224
50225         * lib/hmac-md5.c: New file.
50226
50227         * lib/hmac.h: New file.
50228
50229 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50230
50231         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50232         promotes to int, not unsigned int, to catch the AIX 5.3
50233         compiler bug.
50234
50235 2005-10-05  Simon Josefsson  <jas@extundo.com>
50236
50237         * modules/memxor: New file.
50238
50239         * modules/iconv (Files): Move config.rpath to havelib, it is used
50240         there.
50241
50242         * modules/havelib (Files): Add config.rpath.
50243
50244 2005-10-05  Simon Josefsson  <jas@extundo.com>
50245
50246         * m4/memxor.m4: New file.
50247
50248 2005-10-05  Simon Josefsson  <jas@extundo.com>
50249
50250         * lib/memxor.c (memxor): Fix compiler error.
50251
50252         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50253         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50254
50255         * lib/memxor.h, lib/memxor.c: New files.
50256
50257         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50258         we assume all systems have it, suggested by Jim Meyering
50259         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50260         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50261         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50262         same reasons.
50263
50264 2005-10-05  Simon Josefsson  <jas@extundo.com>
50265
50266         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50267
50268 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50269
50270         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50271         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50272         needed, since the source code now assumes these .h files.
50273
50274 2005-10-05  Derek Price  <derek@ximbiot.com>
50275
50276         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50277
50278 2005-10-05  Bruno Haible  <bruno@clisp.org>
50279
50280         * modules/stdint (License): Change to LGPL.
50281
50282 2005-10-04  Simon Josefsson  <jas@extundo.com>
50283
50284         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50285         D. Baushke" <mdb@gnu.org>.
50286
50287 2005-10-04  Bruno Haible  <bruno@clisp.org>
50288
50289         * lib/verify.h (verify_true): Provide alternative definition for C++.
50290
50291 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50292
50293         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50294         (SSIZE_MAX): New macro, if not already defined.
50295         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50296         than 2 GiB.
50297
50298 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50299
50300         Sync from coreutils.
50301         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50302         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50303         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50304         ULLONG_MAX doesn't work with 2.7.2.1.
50305
50306 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50307
50308         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50309         From Ben Pfaff.
50310
50311         * modules/exclude (Depends-on): Depend on verify.
50312         * modules/strtoimax (Depends-on): Likewise.
50313         * modules/utimecmp (Depends-on): Likewise.
50314
50315 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50316
50317         * lib/exclude.c: Include verify.h.
50318         (verify): Remove.  All callers changed to use verify.h's version.
50319         * lib/strtoimax.c: Likewise.
50320         * lib/utimecmp.c: Likewis.e
50321
50322         Sync from coreutils.
50323         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50324         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50325         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50326         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50327         bother returning ENOSYS if settimeofday or stime fails; just let
50328         them return whatever errno they want to return.
50329         * lib/utimens.c: Include unistd.h, for dup2.
50330         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50331         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50332
50333 2005-10-02  Jim Meyering  <jim@meyering.net>
50334
50335         Sync from coreutils.
50336         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50337         from glibc-2.2.5 that fails for read-only files.
50338
50339 2005-10-02  Jim Meyering  <jim@meyering.net>
50340
50341         Sync from coreutils.
50342         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50343         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50344         `#if HAVE_CONFIG_H'.
50345         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50346         Remove AT_FDCWD test.
50347         Do not consume the fd unless successful.
50348         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50349         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50350         block, so that we don't even try to compile it if settimeofday is
50351         available.  This works around a compilation failure on OSF1 V5.1,
50352         due to stime requiring a `long int*' while tv_sec is `int'.
50353
50354 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50355
50356         Sync from coreutils.
50357         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50358         against `yes', rather than just testing for nonempty.
50359
50360 2005-10-01  Simon Josefsson  <jas@extundo.com>
50361
50362         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50363         and Darwin.
50364
50365         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50366         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50367         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50368         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50369         Check if struct addrinfo is declared.
50370
50371 2005-10-01  Simon Josefsson  <jas@extundo.com>
50372
50373         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50374         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50375         AI_* and EAI_* definitions.  Protect function declarations.
50376
50377 2005-10-01  Jim Meyering  <jim@meyering.net>
50378
50379         Sync from coreutils.
50380
50381         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50382         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50383         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50385         in the inet and nsl libraries.  Required on Solaris 5.7.
50386
50387 2005-10-01  Jim Meyering  <jim@meyering.net>
50388
50389         Sync from coreutils.
50390         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50391         in the inet and nsl libraries.  Required on Solaris 5.7.
50392
50393 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50394
50395         * lib/getdelim.c (getdelim): Remove unused variables.
50396
50397 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50398
50399         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50400         so that the code works even with ancient cpp.  Portability problem
50401         with GCC 2.7.2.1 reported by Thomas M.Ott.
50402
50403 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50404
50405         * modules/regex (Depends-on): Add strcase.
50406
50407         * modules/gethostname (Licence): Change from GPL to LGPL, since
50408         gethostname.c is a trivial implementation of a standard library
50409         function.
50410         * modules/poll (License): Change from GPL to LGPL, since it's
50411         derived from LGPL code.
50412
50413 2005-09-27  Jim Meyering  <jim@meyering.net>
50414
50415         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50416         HAVE_CONFIG_H.
50417
50418         * lib/intprops.h (signed_type_or_expr__): Define.
50419         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
50420         for unsigned types.
50421
50422 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50423
50424         * lib/verify.h (verify_expr): Remove, replacing with:
50425         (verify_true): New macro that returns true instead of void.
50426         (verify_type__): Remove.
50427         (verify): Use verify_true rather than verify_type__.
50428
50429 2005-09-26  Bruno Haible  <bruno@clisp.org>
50430
50431         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
50432         is necessary.
50433         (lib_SOURCES): Remove mbchar.c.
50434         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
50435         (Files): Add m4/mbrtowc.m4.
50436         * modules/mbiter: Likewise.
50437         * modules/mbuiter: Likewise.
50438
50439 2005-09-26  Bruno Haible  <bruno@clisp.org>
50440
50441         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
50442         compile mbchar.c if they are not both present.
50443         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
50444         * m4/mbiter.m4 (gl_MBITER): Likewise.
50445         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
50446         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
50447         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50448
50449 2005-09-25  Jim Meyering  <jim@meyering.net>
50450
50451         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50452         also uses socklen_t.
50453
50454 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50455
50456         * lib/utimens.c (ENOSYS): Define if not already defined.
50457         (futimens): Support having a null PATH if the file descriptor
50458         is nonnegative.
50459
50460         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50461         Remove.
50462         (__attribute): Define to empty unless GCC 3.1 or later.
50463         This works around a core dump on OpenBSD 3.4, which has GCC
50464         2.95.3, which dumps core when given __attribute__(()).  It also
50465         simplifies other tests, since we really don't want to bother with
50466         worrying about which ancient version of GCC supported what.
50467         Original problem reported by Yoann Vandoorselaere, with part of
50468         the fix suggested by Derek Price.
50469
50470 2005-09-24  Jim Meyering  <jim@meyering.net>
50471
50472         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50473         so we can once again use a positive bitfield width of 1 -- now we
50474         don't have to explain why we were using a bitfield width of 2.
50475
50476 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50477
50478         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50479         and similarly for the other external symbols.  Problem reported
50480         by James Gallager.
50481
50482         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50483         bug reported by Jim Meyering.
50484
50485         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50486         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50487         not needed, since socklen is a prerequisite module.
50488
50489 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50490
50491         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50492         Problem reported by Eric Blake.
50493         (getaddrinfo): Initialize se so that it's not garbage.
50494         Redo internal storage allocation so that it doesn't make unportable
50495         assumptions about alignment.
50496         Fix a memory leak.
50497
50498         * lib/utimens.c (futimens): Use futimesat if available.
50499         Prefer it to futimes since it doesn't have the futimes bug.
50500
50501         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50502         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50503         Instead, declare a function that returns a pointer to an array,
50504         and use verify_type__ to declare the size of the array.
50505         Problem and germ of a solution reported by Bruno Haible.
50506         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50507         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50508
50509 2005-09-23  Jim Meyering  <jim@meyering.net>
50510
50511         Sync from coreutils.
50512         Correct build failure (socklen_t not defined) on at least
50513         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50514         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50515
50516 2005-09-23  Jim Meyering  <jim@meyering.net>
50517
50518         * modules/getaddrinfo (Depends-on): Add socklen.
50519
50520 2005-09-23  Bruno Haible  <bruno@clisp.org>
50521
50522         * tests/test-verify.c: New file.
50523
50524 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50525
50526         Sync from coreutils.
50527
50528         * modules/argmatch (Depends-on): Add verify.
50529         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50530         unistd-safer.
50531         * modules/save-cwd (Depends-on): Likewise.
50532
50533         * modules/openat (Files): Add lib/openat-die.c.
50534         (Depends-on): Remove error, exitfail.
50535         Add dirname.
50536
50537         * modules/verify: New file.
50538         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50539         with "verify" module.
50540
50541 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50542
50543         Sync from coreutils.
50544
50545         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50546         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50547         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50548         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50549         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50550         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50551         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50552         Don't bother checking for string.h, stdlib.h, unistd.h.
50553         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50554         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50555         module's job.
50556         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50557         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50558
50559         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50560         (gl_GETDATE): Use it.
50561
50562         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50563
50564 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50565
50566         Sync from coreutils.
50567
50568         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50569         stat-time.h.
50570         * lib/argmatch.h: Include verify.h
50571         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50572         (ARGMATCH_ASSERT): Remove; unused.
50573         * lib/canonicalize.c: Assume STDC_HEADERS.
50574         * lib/exclude.c: Include "strcase.h".
50575         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50576         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50577         and stdio-safer.h.
50578         (getusershell): Call fopen, not fopen_safer.
50579         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50580         Do not include unistd-safer.h.
50581         (save_cwd): Don't call fd_safer; no longer needed
50582         now that we include fcntl--.h.
50583
50584         * lib/getdate.y (relative_time): New type.
50585         (RELATIVE_TIME_0): New constant.
50586         (parser_control): Use relative_time instead of doing it ourselves.
50587         (%union): Add new relative_time rel member.
50588         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50589         Now typeless.
50590         (relunit, relunit_snumber): Now of type rel.
50591         (zone, rel, relunit, get_date): Adjust to above changes.
50592
50593         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50594         Do not include unistd-safer.h.
50595         (getloadavg): Don't call fd_safer; no longer needed
50596         now that we include fcntl--.h.
50597
50598         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50599         (make_dir_parents): Treat ENOSYS like EEXIST.
50600
50601         Improve quality of diagnostics on restore_cwd failure.
50602         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50603         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50604         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50605         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50606         each time through the loop.  Do not diagnose restore_cwd failure;
50607         that is the caller's job (and perhaps the caller does not care).
50608
50609         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50610         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50611         If the file already exists but is not a directory, don't bother
50612         to try to make its parents.
50613         Close potential file descriptor leak if we can't chdir("/") (!).
50614         Don't always return true if chdir($PWD) fails; return true only
50615         if the requested action was done successfully (except for the
50616         chdir($PWD)).
50617         Don't log final directory unless we actually made it.
50618         Refactor to avoid duplicate code to fix up permissions.
50619         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50620
50621         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50622         to make it a bit faster and (I hope) clearer.
50623         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50624         Fix bug in formats like %2N.
50625
50626         * lib/verify.h: New file.
50627
50628 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50629
50630         Sync from coreutils.
50631         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50632
50633 2005-09-22  Jim Meyering  <jim@meyering.net>
50634
50635         Sync from coreutils.
50636
50637         * m4/lstat.m4 (gl_FUNC_LSTAT):
50638         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50639         Remove obsolete comment.
50640         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50641         * m4/xstrtod.m4: Likewise.
50642
50643         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50644
50645 2005-09-22  Jim Meyering  <jim@meyering.net>
50646
50647         Sync from coreutils.
50648
50649         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50650
50651         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50652         the .tm_year member, since otherwise gcc-4.0 would now warn about
50653         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50654
50655         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50656         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50657
50658         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50659         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50660         when run in a time zone for which daylight savings time is in effect
50661         for the starting date.
50662
50663         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50664         stop us from restricting permissions of just-created absolute-named
50665         directories.
50666         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50667         to restore initial working directory.
50668         * lib/mkdir-p.c (make_dir_parents): New parameter:
50669         different_working_dir, to tell caller if/when we change the working
50670         directory and are unable to return to the initial one.
50671         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50672         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50673         `return false'.  This fixes a bug introduced on 2004-07-30.
50674
50675         * lib/openat.c (fdopendir): Be sure to close the supplied
50676         file descriptor before returning.  This makes our replacement
50677         implementation a little closer to Solaris's, where fdopendir
50678         ties the file descriptor to the returned DIR* pointer.
50679         * lib/openat.c (unlinkat): New function.
50680         * lib/openat.h (unlinkat): Add prototype.
50681         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50682         (openat_restore_fail): Rename from openat_restore_die.
50683         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50684
50685         Provide an alternative to exiting immediately upon save_cwd or
50686         restore_cwd failure.  Now, an application can arrange e.g.,
50687         to perform a longjump in that case.
50688         * lib/openat.c: Include dirname.h.
50689         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50690         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50691         and openat_restore_die rather than calling error directly.
50692         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50693
50694         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50695         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50696         define.
50697
50698         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50699         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50700                             int utc, int nanoseconds);
50701         Background:
50702         date should not have to allocate a megabyte of virtual memory to
50703         handle a format argument like +%1048575T.  When implemented with
50704         strftime, it must allocate such a buffer, use strftime to fill it
50705         in, print it, then free it.
50706         With fprintftime, it simply prints everything and exits.
50707         With no need for memory allocation, that's one fewer way to fail.
50708         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50709         optional field width, not before, so we accept %9:z, not %:9z.
50710         (my_strftime): Be sure to use L_('x') for literals.
50711
50712         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50713         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50714         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50715         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50716         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50717         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50718         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50719         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50720         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50721         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50722         * lib/xgethostname.c, lib/xreadlink.c:
50723         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50724
50725         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50726         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50727         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50728         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50729         and don't include <sys/file.h>).
50730
50731 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50732
50733         Sync from coreutils.
50734
50735         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50736         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50737         [!LDAV_DONE]: Avoid unused variable warning.
50738
50739 2005-09-21  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/unicodeio.h (unicode_to_mb): New declaration.
50742
50743 2005-09-20  Derek Price  <derek@ximbiot.com>
50744
50745         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50746         getaddrinfo.h.
50747
50748 2005-09-20  Bruno Haible  <bruno@clisp.org>
50749
50750         * gnulib-tool: Remove trailing slashes from the values specified for
50751         --source-base, --m4-base, --tests-base, --aux-dir.
50752         Suggested by Simon Josefsson <jas@extundo.com>.
50753
50754 2005-09-20  Bruno Haible  <bruno@clisp.org>
50755
50756         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50757         func_modules_to_filelist, func_import, func_create_testdir): Make all
50758         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50759         change when gnulib-tool is invoked in a different locale.
50760
50761 2005-09-19  Simon Josefsson  <jas@extundo.com>
50762
50763         * m4/socklen.m4: Fix typo.
50764
50765 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50766
50767         Use a consistent style for including <config.h>.
50768         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50769         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50770         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50771         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50772         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50773         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50774         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50775         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50776         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50777         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50778         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50779         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50780         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50781         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50782         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50783         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50784         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50785         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50786         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50787         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50788         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50789         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50790         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50791         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50792         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50793         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50794         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50795         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50796         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50797         lib/xstrtoumax.c, lib/yesno.c:
50798         Standardize inclusion of config.h.
50799         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50800         lib/inttostr.h:  Removed inclusion of config.h from header files.
50801         * lib/inttostr.c:  Adjusted in-tree users.
50802         * lib/timespec.h: Remove superfluous warning to include config.h.
50803         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50804         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50805         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50806         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50807         config.h with HAVE_CONFIG_H.
50808
50809 2005-09-19  Jim Meyering  <jim@meyering.net>
50810
50811         * modules/pathmax (License): Change to LGPL.
50812
50813 2005-09-19  Derek Price  <derek@ximbiot.com>
50814
50815         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50816
50817 2005-09-19  Bruno Haible  <bruno@clisp.org>
50818
50819         * gnulib-tool (import): Provide default for --tests-base.
50820
50821 2005-09-19  Bruno Haible  <bruno@clisp.org>
50822
50823         * doc/quote.texi: New file, extracted from gnulib.texi.
50824         * doc/ctime.texi: New file, extracted from gnulib.texi.
50825         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50826         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50827         * doc/gnulib.texi: Include them.
50828
50829 2005-09-18  Bruno Haible  <bruno@clisp.org>
50830
50831         Portability fix.
50832         * gnulib-tool (func_readlink): New function.
50833         (func_ln_if_changed): Use it.
50834
50835 2005-09-18  Bruno Haible  <bruno@clisp.org>
50836
50837         * gnulib-tool: Support --with-tests also with --import.
50838         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50839         (func_import): Use variables $testsbase and $inctests. Emit a
50840         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50841         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50842         SUBDIRS += $testsdir.
50843         (func_create_testdir): Update.
50844
50845 2005-09-18  Bruno Haible  <bruno@clisp.org>
50846
50847         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50848         instead of $dry_run.
50849         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50850         (func_ln_if_changed): Don't handle dry-run here.
50851         (func_import): In dry-run mode, detect more precisely which actions
50852         would be performed, and don't use "...ing" verbs.
50853
50854 2005-09-18  Bruno Haible  <bruno@clisp.org>
50855
50856         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50857         (func_import): Use join on two temporary files instead of three nested
50858         loops, in order to determine which files are new or old.
50859
50860 2005-09-18  Bruno Haible  <bruno@clisp.org>
50861
50862         * gnulib-tool (func_import): Comment out code that spits out the
50863         new files with --dry-run.
50864
50865 2005-09-18  Bruno Haible  <bruno@clisp.org>
50866
50867         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50868
50869 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50870
50871         * lib/stat-time.h: New file.
50872         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50873         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50874         in a different way.
50875         (timespec_cmp): New function.
50876         * lib/utimecmp.c: Include stat-time.h.
50877         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50878         members exist, not on the obsolescent ST_MTIM_NSEC.
50879         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50880
50881 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50882
50883         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50884
50885 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50886
50887         * MODULES.html.sh (File system functions): Add stat-time.
50888         * modules/stat-time: New file.
50889         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50890         is now done in a different way, by the stat-time module.
50891         * modules/utimecmp (Depends-on): Add stat-time.
50892
50893 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50894
50895         * m4/st_mtim.m4: Remove.  Superseded by...
50896         * m4/stat-time.m4: New file.
50897         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50898         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50899
50900 2005-09-15  Derek Price  <derek@ximbiot.com>
50901
50902         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
50903
50904 2005-09-15  Derek Price  <derek@ximbiot.com>
50905
50906         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
50907         * lib/regex_internal.c: Ditto, using this...
50908         (__GNUC_PREREQ): ...new macro.
50909         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
50910         using...
50911         (__GNUC_PREREQ): ...this new macro.
50912
50913         * lib/strstr.h: Include string.h. Define strstr as a macro here.
50914
50915 2005-09-15  Derek Price  <derek@ximbiot.com>
50916             Paul Eggert  <eggert@cs.ucla.edu>
50917
50918         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
50919         changes, consolidating in...
50920         * lib/regex_internal.h: ...this file.
50921
50922 2005-09-13  Jim Meyering  <jim@meyering.net>
50923
50924         * lib/canon-host.c: Filter through gnu indent and reword comments
50925         slightly.
50926         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
50927
50928 2005-09-13  Derek Price  <derek@ximbiot.com>
50929
50930         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
50931         failure.
50932         Reported by Jim Meyering  <jim@meyering.net>.
50933
50934 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50935
50936         * lib/base64.c: Typo.
50937         (base64_encode): Put b64str in initialized data section.
50938
50939 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
50940
50941         Merge glibc and coreutils changes into gnulib, plus a few
50942         extra fixes.
50943         * lib/md5.c: Use #error rather than a string.
50944         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
50945         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
50946         (__attribute__): Define to empty for non recent-GCC.
50947         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
50948         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
50949         Renamed from their non-__ counterparts, with new macros replacing
50950         them if not _LIBC.  Add __THROW attribute.
50951         (rol): Remove.
50952         (struct md5_ctx): Align buffer if using GCC.
50953         * lib/sha1.h (struct sha1_ctx): Likewise.
50954         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
50955         The old name was backwards.
50956         (NOTSWAP): Remove; not used.
50957         (rol): New macro, moved here from md5.h.
50958         (sha1_process_block): Remove a FIXME that doesn't make sense.
50959
50960 2005-09-12  Derek Price  <derek@ximbiot.com>
50961
50962         Return usable errors from canon-host.
50963         * lib/canon-host.h: New file.
50964         * lib/canon-host.c (canon_host): Wrap...
50965         (canon_host_r): ...this new function, which now relies exclusively on
50966         getaddrinfo.
50967         (ch_strerror): New function.
50968         (last_cherror): New global.
50969         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
50970         interface.
50971         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
50972         void *.
50973         (freeaddrinfo): Free ai->ai_canonname when set.
50974
50975 2005-09-12  Derek Price  <derek@ximbiot.com>
50976
50977         Make canon-host require getaddrinfo.
50978         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
50979         AC_LIBSOURCE canon-host.h.  Call...
50980         (gl_PREREQ_CANON_HOST): ...this new function, which requires
50981         gl_GETADDRINFO.
50982         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
50983
50984 2005-09-12  Derek Price  <derek@ximbiot.com>
50985
50986         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
50987         LGPL.
50988         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
50989
50990 2005-09-12  Derek Price  <derek@ximbiot.com>
50991
50992         * lib/gai_strerror.c: Include config.h when available.  Include
50993         getaddrinfo.h before other headers to test interface.
50994         Reported by Larry Jones <lawrence.jones@ugs.com>.
50995
50996 2005-09-12  Derek Price  <derek@ximbiot.com>
50997             Paul Eggert  <eggert@cs.ucla.edu>
50998
50999         * modules/glob (Files): Add glob-libc.h.
51000
51001 2005-09-12  Derek Price  <derek@ximbiot.com>
51002             Paul Eggert  <eggert@cs.ucla.edu>
51003
51004         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
51005         glob_.h, glob-libc.h.
51006         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
51007
51008 2005-09-12  Derek Price  <derek@ximbiot.com>
51009             Paul Eggert  <eggert@cs.ucla.edu>
51010
51011         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
51012         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
51013         protecting things that should be done only in gnulib contexts.
51014         * lib/glob_.h: New file, containing only the glob things needed for
51015         gnulib.
51016         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
51017         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
51018         (glob, globfree, glob_pattern_p): Now defined simply in terms of
51019         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
51020         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
51021         and to respect the namespace rules better.
51022
51023 2005-09-08  Simon Josefsson  <jas@extundo.com>
51024
51025         * modules/socklen: New file.
51026
51027 2005-09-08  Simon Josefsson  <jas@extundo.com>
51028
51029         * m4/socklen.m4: New file.
51030
51031 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51032
51033         * modules/utimens (Files): Add m4/utimbuf.m4, since
51034         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
51035         Reported by Sergey Poznyakoff.
51036
51037 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51038
51039         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
51040         definitions, since that's the preferred style in glibc.
51041         Fix a minor spacing issue, and update copyright notice to match
51042         glibc's.
51043
51044 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51045
51046         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
51047
51048 2005-09-06  Simon Josefsson  <jas@extundo.com>
51049
51050         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
51051         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
51052
51053 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51054
51055         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
51056         warning.
51057
51058 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51059
51060         * config/srclist.txt: Add glibc bug 1302.
51061
51062 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
51063
51064         Change bitset word type from unsigned int to unsigned long int,
51065         as this has better performance on typical 64-bit hosts.
51066         Port bitset code to hosts with unusual word sizes.
51067         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
51068         (build_collating_symbol):
51069         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
51070         argument is a bitset.  This is merely a style issue, but it makes
51071         it clearer that an entire array is expected.
51072         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
51073         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
51074         Port to the case where bitset_word is not the same as unsigned int.
51075         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51076         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
51077         Likewise.
51078         * lib/regexec.c (check_dst_limits_calc_pos_1,
51079         check_subexp_matching_top):
51080         (build_trtable, group_nodes_into_DFAstates):
51081         Likewise.
51082         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
51083         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
51084         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
51085         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
51086         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
51087         * lib/regcomp.c (optimize_subexps, lower_subexp):
51088         Work even if bitset_word has holes in its bitwise representation.
51089         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
51090         * lib/regexec.c (check_dst_limits_calc_pos_1,
51091         check_subexp_matching_top):
51092         Likewise.
51093         * lib/regex_internal.c (re_string_reconstruct):
51094         Don't assume UCHAR_MAX == 255.
51095         * lib/regex_internal.h (bitset_set_all): Likewise.
51096         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
51097         All uses changed.
51098         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
51099         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
51100         All uses changed.
51101         (BITSET_WORD_MAX): New macro.
51102         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
51103         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
51104         (bitset_empty, bitset_copy):
51105         Prefer sizeof (bitset) to multiplying it out ourselves.
51106         (bitset_not_merge): Remove; unused.
51107         (bitset_contain): Return bool, not unsigned int with one bit on.
51108         All callers changed.
51109         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
51110         alignment than re_node_set; do this by defining a new internal
51111         type struct dests_alloc and using it to allocate memory.
51112
51113 2005-09-05  Bruno Haible  <bruno@clisp.org>
51114
51115         * gnulib-tool (func_import): Fix comparison in handling of symbolic
51116         links.
51117
51118 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
51119
51120         * modules/size_max (Makefile.am): Add size_max.h
51121
51122 2005-09-04  Derek Price  <derek@ximbiot.com>
51123
51124         * gnulib-tool (func_import): Fix reversed $symbolic logic.
51125
51126 2005-09-03  Simon Josefsson  <jas@extundo.com>
51127
51128         * gnulib-tool: Fix typo.
51129
51130 2005-09-03  Simon Josefsson  <jas@extundo.com>
51131
51132         * config/srclist.txt: Add glibc bug 1293.
51133
51134 2005-09-03  Derek Price  <derek@ximbiot.com>
51135
51136         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
51137         From Larry Jones <lawrence.jones@ugs.com>.
51138
51139 2005-09-02  Simon Josefsson  <jas@extundo.com>
51140
51141         * modules/socklen: New file.
51142
51143 2005-09-02  Simon Josefsson  <jas@extundo.com>
51144
51145         * modules/havelib: New module.
51146
51147         * modules/gettext, modules/iconv, modules/lock, modules/readline:
51148         Use havelib.
51149
51150 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51151
51152         Check for arithmetic overflow when calculating sizes, to prevent
51153         some buffer-overflow issues.  These patches are conservative, in the
51154         sense that when I couldn't determine whether an overflow was possible,
51155         I inserted a run-time check.
51156         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
51157         macros.
51158         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
51159         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
51160         (re_xnrealloc, re_x2nrealloc): New inline functions.
51161         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
51162         parse_bracket_exp):
51163         (build_equiv_class, build_charclass): Check for arithmetic overflow
51164         in size expression calculations.
51165         * lib/regex_internal.c (re_string_realloc_buffers):
51166         (build_wcs_upper_buffer, re_node_set_add_intersect):
51167         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
51168         (re_dfa_add_node, register_state): Likewise.
51169         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
51170         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
51171         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
51172         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
51173
51174 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51177         m4/ulonglong.m4.  Problem reported by Martin Lambers.
51178
51179 2005-09-02  Bruno Haible  <bruno@clisp.org>
51180
51181         Support for lib vs. lib64 distinction on biarch platforms.
51182         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
51183         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
51184         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
51185
51186 2005-09-02  Bruno Haible  <bruno@clisp.org>
51187
51188         * gnulib-tool (import): In the other first-use case, provide defaults
51189         as well.
51190
51191 2005-09-02  Bruno Haible  <bruno@clisp.org>
51192
51193         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
51194         patches not yet found in the latest gettext release.
51195
51196 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51197
51198         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
51199         to avoid a collision with bits/local_lim.h in glibc.
51200         All uses changed.  Problem reported by Dmitry V. Levin in
51201         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
51202
51203         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
51204         bugs in int versus size_t comparisons.
51205         (re_string_context_at): Fix bug where the code assumed that
51206         Idx is signed.
51207
51208         Use bool where appropriate.
51209         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51210         All callers changed.
51211         (calc_eclosure_iter): Likewise, for ROOT arg.
51212         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51213         (build_charclass_op): Likewise, for NON_MATCH arg.
51214         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51215         (re_string_construct_common): Likewise, for ICASE arg.
51216         * lib/regexec.c (re_search_2_stub, re_search_stub):
51217         Likewise, for RET_LEN arg.
51218         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51219         (set_regs): Likewise, for FL_BACKTRACK arg.
51220         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51221         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51222         (calc_eclosure_iter, parse_bracket_exp):
51223         Use bool for internal variables that are booleans.
51224         * lib/regexec.c (re_search_internal, check_matching,
51225         proceed_next_node):
51226         (set_regs, build_sifted_states, sift_states_bkref):
51227         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51228         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51229         (find_collation_sequence_value):
51230         Likewise.
51231         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51232         (re_node_set_compare):
51233         Return bool, not int. All callers changed.
51234         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51235         (build_trtable, check_node_accept): Likewise.
51236         * lib/regex_internal.h: Include stdbool.h.
51237
51238         Fix bugs uncovered when converting to bool.
51239         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51240         failure instead of charging ahead blindly.
51241         * lib/regex_internal.c (register_state): Likewise.
51242         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51243         for freeing internal storage.
51244         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51245         bitset pieces used as boolean, to avoid undefined behavior
51246         on hosts that do int overflow checking.
51247
51248 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51249
51250         * config/srclist.txt: Add glibc bugs 1285-1287.
51251
51252 2005-09-01  Jim Meyering  <jim@meyering.net>
51253
51254         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51255         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51256         Require gl_STAT_MACROS, too.
51257
51258 2005-09-01  Bruno Haible  <bruno@clisp.org>
51259
51260         * gnulib-tool (import): In the first-use case, provide defaults.
51261
51262 2005-09-01  Bruno Haible  <bruno@clisp.org>
51263
51264         * gnulib-tool (func_import): Remove the .tmp files.
51265
51266 2005-09-01  Bruno Haible  <bruno@clisp.org>
51267
51268         * gnulib-tool (func_import): Fix handling of symbolic links.
51269
51270 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51271
51272         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51273         old glibc regex code mishandles strings longer than 2**31 bytes.
51274         This patch fixes this when the regex code is used in gnulib
51275         (i.e., outside glibc).
51276
51277         This patch should not affect the use of the regex code inside
51278         glibc.  No doubt this problem also needs to be handled for glibc
51279         as well, but the result will be an incompatible change to the
51280         glibc ABI, and the old ABI will have to be supported too.  That
51281         can be the the subject for another patch.
51282
51283         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51284         governing whether the rest of this patch is active.  By default,
51285         the macro is disabled and the patch has no effect.
51286         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51287         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51288         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51289         (re_match_2, re_set_registers): Use the new types.
51290         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51291         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51292         New macros.
51293         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51294         (re_string_context_at, bin_tree_t, re_dfastate_t):
51295         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51296         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51297         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51298         (re_string_char_size_at, re_string_wchar_at):
51299         (re_string_elem_size_at):
51300         Use the new types and macros to port to 64-bit hosts.
51301         Use unsigned types for internal values, so that the code
51302         mostly works even for arrays larger than SSIZE_MAX.
51303         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51304         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51305         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51306         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51307         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51308         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51309         (calc_inveclosure, parse_dup_op, build_range_exp):
51310         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51311         (fetch_number, create_token_tree, mark_opt_subexp):
51312         Likewise.
51313         * lib/regex_internal.c (re_string_construct_common,
51314         create_ci_newstate):
51315         (create_cd_newstate, re_string_allocate, re_string_construct):
51316         (re_string_realloc_buffers, build_wcs_upper_buffer):
51317         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51318         (re_string_reconstruct, re_string_peek_byte_case):
51319         (re_string_fetch_byte_case, re_string_context_at):
51320         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51321         (re_node_set_init_copy, re_node_set_add_intersect):
51322         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51323         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51324         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51325         (re_acquire_state, re_acquire_state_context, register_state):
51326         Likewise.
51327         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51328         search_cur_bkref_entry):
51329         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51330         (re_search_internal, re_search_2_stub, re_search_stub)
51331         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51332         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51333         (update_cur_sifted_state, check_dst_limits):
51334         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51335         (check_subexp_limits, sift_states_bkref, merge_state_array):
51336         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51337         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51338         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51339         (expand_bkref_cache, check_node_accept_bytes):
51340         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51341         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51342         (acquire_init_state_context, check_halt_node_context):
51343         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51344         (sift_states_backward, clean_state_log_if_needed):
51345         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51346         (find_recover_state, transit_state_sb, transit_state_mb):
51347         (transit_state_bkref, build_trtable, match_ctx_clean):
51348         Likewise.
51349         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51350         to work around an assumption that REG_MISSING is negative.
51351
51352         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51353         (seek_collating_symbol_entry) [defined _LIBC]:
51354         (lookup_collation_sequence_value) [defined _LIBC]:
51355         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51356         Use prototypes rather than old-style function definitions.
51357         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51358         (transit_state_sb) [0]:
51359         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51360
51361         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51362         rm_eo.
51363
51364         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51365         (optimize_subexps, lower_subexp):
51366         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51367         since the signed shift might overflow.  Use 1u<<31 instead.
51368         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51369         Likewise.
51370         * lib/regexec.c (check_dst_limits_calc_pos_1,
51371         check_subexp_matching_top): Likewise.
51372
51373         * lib/regcomp.c (optimize_subexps, lower_subexp):
51374         Use CHAR_BIT rather than 8, for clarity.
51375         * lib/regexec.c (check_dst_limits_calc_pos_1):
51376         (check_subexp_matching_top): Likewise.
51377         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51378         have to worry about portability issues when shifting it left.
51379         Remove no-longer-needed test for table_size > 0.
51380         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51381         in a word, as the resulting behavior is undefined.
51382         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51383         in one case, a <= should have been an <, and in another case the
51384         whole test was missing.
51385         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51386         the standard name CHAR_BIT.
51387         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51388         this is not true on one's complement and signed-magnitude hosts.
51389
51390         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51391         next_last_offset.
51392         (struct re_dfa_t): Remove unused member states_alloc.
51393         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51394
51395 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51396
51397         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51398         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51399         and large-file glibc and in 32-bit large-file Solaris.
51400
51401 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51402
51403         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51404         lengths fit in regoff_t; this isn't true if regoff_t is the same
51405         width as size_t.
51406         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51407         (= START + RANGE) instead of RANGE.  This avoids overflow
51408         problems when regoff_t is the same width as size_t.
51409         All callers changed.
51410         (re_search_2_stub): Check for overflow when adding the
51411         sizes of the two strings.
51412         (re_search_stub): Check for overflow when adding START
51413         to RANGE; if it occurs, substitute the extreme value.
51414
51415 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51416
51417         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
51418
51419 2005-08-31  Jim Meyering  <jim@meyering.net>
51420
51421         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
51422         a pointer-to-const.
51423         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
51424         (register_state): Likewise.
51425         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
51426         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51427         (group_nodes_into_DFAstates): Likewise.
51428
51429 2005-08-31  Jim Meyering  <jim@meyering.net>
51430
51431         * check-module: Add a FIXME comment.
51432
51433 2005-08-31  Eric Blake  <ebb9@byu.net>
51434
51435         * modules/unistd-safer (Files): Add unistd--.h.
51436         * modules/stdio-safer (Files): Add stdio--.h.
51437
51438 2005-08-31  Derek Price  <derek@ximbiot.com>
51439
51440         * lib/getdelim.c (getdelim): Return EOF on EOF.
51441         Reported by Larry Jones <lawrence.jones@ugs.com>.
51442
51443 2005-08-31  Bruno Haible  <bruno@clisp.org>
51444
51445         Avoid unnecessary diffs in the generated lib/Makefile.am.
51446         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
51447         the generated files.
51448         (func_import): Don't set cmd.
51449
51450 2005-08-31  Bruno Haible  <bruno@clisp.org>
51451
51452         * lib/strstr.c: Include <stddef.h>, for NULL.
51453         * lib/strcasestr.c: Likewise.
51454         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51455
51456 2005-08-31  Bruno Haible  <bruno@clisp.org>
51457
51458         * gnulib-tool: New option --macro-prefix.
51459         (func_import): Use macro_prefix.
51460         (import): Handle option --macro-prefix.
51461
51462 2005-08-31  Bruno Haible  <bruno@clisp.org>
51463
51464         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51465         Also use new variables cached_lgpl, cached_libtool.
51466
51467 2005-08-31  Bruno Haible  <bruno@clisp.org>
51468
51469         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51470         always instantiating them.
51471
51472 2005-08-31  Bruno Haible  <bruno@clisp.org>
51473
51474         * gnulib-tool (func_import): Read the previous cached settings
51475         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51476         earlier added by gnulib but are now dropped. Warn when a gnulib file
51477         overwrites a non-gnulib file.
51478
51479 2005-08-31  Bruno Haible  <bruno@clisp.org>
51480
51481         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51482         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51483         projects that don't keep autogenerated files in CVS. Put into
51484         actioncmd only the specified modules, not the transitive closure.
51485
51486 2005-08-31  Bruno Haible  <bruno@clisp.org>
51487
51488         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51489         Create directories that shall be filled.
51490         (import): Don't look for gl_* macros in configure.ac. Recurse across
51491         all directories containing a gnulib-cache.m4 files, if meaningful.
51492
51493 2005-08-31  Bruno Haible  <bruno@clisp.org>
51494
51495         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51496         (import): Set seen_libtool when we see gl_LIBTOOL.
51497
51498 2005-08-31  Bruno Haible  <bruno@clisp.org>
51499
51500         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51501         declaration macro definitions from generated gnulib.m4.
51502
51503 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51504
51505         * lib/iconvme.h: Add prototype for iconv_alloc.
51506
51507 2005-08-29  Simon Josefsson  <jas@extundo.com>
51508
51509         * lib/iconvme.c: Fix errno.
51510
51511 2005-08-29  Bruno Haible  <bruno@clisp.org>
51512
51513         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51514         that it works when the directory contains spaces.
51515
51516 2005-08-29  Bruno Haible  <bruno@clisp.org>
51517
51518         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51519
51520 2005-08-29  Bruno Haible  <bruno@clisp.org>
51521
51522         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51523         Emit more advice.
51524
51525 2005-08-29  Bruno Haible  <bruno@clisp.org>
51526         and Stepan Kasal  <kasal@ucw.cz>
51527
51528         * check-module: If more parameters are given, check each of them
51529         separately; add more exceptions, as noted by Jim Meyering.
51530         (check_module): New procedure.
51531         (%exempt_header): Now contains all exceptions.
51532
51533 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51534
51535         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51536
51537 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51538
51539         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51540
51541 2005-08-28  Bruno Haible  <bruno@clisp.org>
51542
51543         * m4/gnulib-tool.m4: New file.
51544
51545 2005-08-27  Jim Meyering  <jim@meyering.net>
51546
51547         * modules/unistd-safer (Files): Add pipe-safer.c.
51548         * modules/fcntl-safer (Files): Add creat-safer.c.
51549
51550 2005-08-27  Jim Meyering  <jim@meyering.net>
51551
51552         * m4/stdlib-safer.m4: New file.  From coreutils.
51553         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51554         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51555         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51556         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51557         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51558
51559 2005-08-27  Jim Meyering  <jim@meyering.net>
51560
51561         * lib/fopen-safer.c: Merge minor changes from coreutils.
51562         * lib/dup-safer.c: Likewise.
51563         * lib/fd-safer.c: Likewise.
51564
51565         Merge from coreutils.
51566         * lib/stdio--.h: New file.
51567         * lib/stdlib--.h: New file.
51568         * lib/mkstemp-safer.c: New file.
51569
51570         GNU tar needs these.
51571         * lib/pipe-safer.c: New file.
51572         * lib/creat-safer.c: New file.
51573         * lib/fcntl--.h (creat): Define to creat_safer.
51574         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51575         * lib/unistd--.h (pipe): Define to pipe_safer.
51576         * lib/unistd-safer.h: Declare pipe_safer.
51577
51578 2005-08-26  Simon Josefsson  <jas@extundo.com>
51579
51580         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51581         Haible <bruno@clisp.org>.
51582
51583 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51584
51585         * lib/regex_internal.h: Remove all references to
51586         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51587         or better.
51588         (bitset_not, bitset_merge, bitset_not_merge):
51589         (bitset_mask, re_string_allocate, re_string_construct):
51590         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51591         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51592         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51593         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51594         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51595         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51596         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51597         (re_acquire_state_context):
51598         Remove unnecessary forward decls.
51599         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51600         Put __attribute at function definition,
51601         now that the function decl has been removed.
51602         * lib/regex_internal.c (re_string_peek_byte_case):
51603         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51604         Likewise.
51605
51606 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51607
51608         * m4/regex.m4: Add AC_PREREQ(2.50).
51609         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51610
51611 2005-08-25  Simon Josefsson  <jas@extundo.com>
51612
51613         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51614         __fsetlocking.
51615
51616 2005-08-25  Simon Josefsson  <jas@extundo.com>
51617
51618         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51619         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51620         GLIBC specific code.
51621
51622 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51623
51624         Make regex safe for g++.  This fixes one real bug (an "err"
51625         that should have been "*err").  g++ problem reported by
51626         Sam Steingold.
51627         * lib/regex_internal.h (re_calloc): New macro, consistent with
51628         re_malloc etc.  All callers of calloc changed to use re_calloc.
51629         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51630         not int.  All callers changed.
51631         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51632         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51633         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51634         (find_recover_state): Change "err" to "*err"; this fixes what
51635         appears to be a real bug.
51636         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51637         versus int.
51638
51639 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51640
51641         * modules/regex (Depends-on): Add malloc, since the code
51642         assumes that !malloc(0) means failure.
51643
51644 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51645
51646         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51647
51648         alloca modernization/simplification for regex.
51649         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51650         needs to be at the start of the file, and can be moved into
51651         regex_internal.h and simplified.
51652         * lib/regex_internal.h: Include <alloca.h>.
51653         (__libc_use_alloca) [!defined _LIBC]: New macro.
51654         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51655         now works outside glibc.
51656
51657 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51658
51659         * config/srclist.txt: Add glibc bugs 1241, 1245.
51660
51661 2005-08-25  Jim Meyering  <jim@meyering.net>
51662
51663         * lib/open-safer.c: Include <config.h>.
51664         Otherwise, we'd lose LARGEFILE support in any file using
51665         e.g. "fcntl--.h"
51666
51667 2005-08-25  Bruno Haible  <bruno@clisp.org>
51668
51669         * m4/minmax.m4: Require autoconf 2.52.
51670         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51671         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51672         alternatives of translit over the alphabet.
51673         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51674
51675 2005-08-24  Simon Josefsson  <jas@extundo.com>
51676
51677         * tests/test-getpass.c: New file.
51678
51679 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51680
51681         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51682         for GNU regex features.
51683
51684 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51685
51686         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51687         * lib/regex.h (regerror): Likewise.
51688
51689         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51690         requires this.  (The code never needed it.)
51691
51692         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51693         All uses of recently-renamed identifiers changed to use the new,
51694         POSIX-compliant names.  The code will build and run just fine
51695         without these changes, but it's better to eat our own dog food
51696         and use the standard-conforming names.
51697
51698         * lib/regex.h: Fix a multitude of POSIX name space violations.
51699         These changes have an effect only for programs that define
51700         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51701         do not change anything for programs compiled in the normal way.
51702         Also, there is no effect on the ABI.
51703
51704         (_REGEX_SOURCE): New macro.
51705         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51706         defined and _GNU_SOURCE is not; this fixes a name space violation.
51707
51708         Rename the following macros to obey POSIX requirements.
51709         The old names are still visible as macros if _REGEX_SOURCE is defined.
51710         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51711         RE_BACKSLASH_ESCAPE_IN_LISTS.
51712         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51713         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51714         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51715         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51716         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51717         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51718         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51719         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51720         (REG_INTERVALS): renamed from RE_INTERVALS.
51721         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51722         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51723         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51724         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51725         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51726         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51727         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51728         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51729         RE_UNMATCHED_RIGHT_PAREN_ORD.
51730         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51731         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51732         (REG_DEBUG): renamed from RE_DEBUG.
51733         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51734         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51735         unusual, since we can't clash with the POSIX REG_ICASE.
51736         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51737         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51738         (REG_NO_SUB): renamed from RE_NO_SUB.
51739         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51740         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51741         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51742         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51743         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51744         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51745         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51746         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51747         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51748         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51749         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51750         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51751         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51752         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51753         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51754         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51755         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51756         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51757         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51758         (REG_FIXED): Renamed from REGS_FIXED.
51759         (REG_NREGS): Renamed from RE_NREGS.
51760
51761         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51762         of other REG_* macros, since POSIX says the user is allowed to
51763         #undef these macros selectively.
51764
51765         (reg_errcode_t): Update comment stating what other tables need
51766         to be consistent.
51767
51768         Rename the following enum values to obey POSIX requirements.
51769         The old names are still visible as macros.
51770         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51771         is not defined, since GNU is supposed to be a superset of POSIX as
51772         much as possible, and since we want reg_errcode_t to be a signed
51773         type for implementation consistency.
51774         (_REG_NOERROR): Renamed from REG_NOERROR.
51775         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51776         (_REG_BADPAT): Renamed from REG_BADPAT.
51777         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51778         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51779         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51780         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51781         (_REG_EBRACK): Renamed from REG_EBRACK.
51782         (_REG_EPAREN): Renamed from REG_EPAREN.
51783         (_REG_EBRACE): Renamed from REG_EBRACE.
51784         (_REG_BADBR): Renamed from REG_BADBR.
51785         (_REG_ERANGE): Renamed from REG_ERANGE.
51786         (_REG_ESPACE): Renamed from REG_ESPACE.
51787         (_REG_BADRPT): Renamed from REG_BADRPT.
51788         (_REG_EEND): Renamed from REG_EEND.
51789         (_REG_ESIZE): Renamed from REG_ESIZE.
51790         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51791         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51792         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51793         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51794         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51795
51796         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51797         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51798         changed.  But support the old name if the new one is not defined
51799         and if _REGEX_SOURCE.
51800
51801         Change the following member names in struct re_pattern_buffer.
51802         The old names are still supported if !_REGEX_SOURCE.
51803         The new names are always supported, regardless of _REGEX_SOURCE.
51804         (re_buffer): Renamed from buffer.
51805         (re_allocated): Renamed from allocated.
51806         (re_used): Renamed from used.
51807         (re_syntax): Renamed from syntax.
51808         (re_fastmap): Renamed from fastmap.
51809         (re_translate): Renamed from translate.
51810         (re_can_be_null): Renamed from can_be_null.
51811         (re_regs_allocated): Renamed from regs_allocated.
51812         (re_fastmap_accurate): Renamed from fastmap_accurate.
51813         (re_no_sub): Renamed from no_sub.
51814         (re_not_bol): Renamed from not_bol.
51815         (re_not_eol): Renamed from not_eol.
51816         (re_newline_anchor): Renamed from newline_anchor.
51817
51818         Change the following member names in struct re_registers.
51819         The old names are still supported if !_REGEX_SOURCE.
51820         The new names are always supported, regardless of _REGEX_SOURCE.
51821         (rm_num_regs): Renamed from num_regs.
51822         (rm_start): Renamed from start.
51823         (rm_end): Renamed from end.
51824
51825         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51826         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51827         Prepend __ to parameter names.
51828
51829         Undo yesterday's changes.
51830
51831 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51832
51833         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51834         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51835         lib/regex.c.
51836
51837 2005-08-24  Jim Meyering  <jim@meyering.net>
51838
51839         Sync from coreutils.
51840         * m4/fcntl-safer.m4: New file.
51841
51842         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51843         and object files for this module.
51844
51845 2005-08-24  Jim Meyering  <jim@meyering.net>
51846
51847         Sync from coreutils.
51848         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51849
51850 2005-08-24  Jim Meyering  <jim@meyering.net>
51851
51852         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51853         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51854
51855 2005-08-24  Jim Meyering  <jim@meyering.net>
51856
51857         * modules/fcntl-safer: New module.
51858         * modules/fts (Depends-on): Add fcntl-safer.
51859         * MODULES.html.sh (File descriptor based Input/Output):
51860         Add fcntl-safer.
51861
51862 2005-08-24  Bruno Haible  <bruno@clisp.org>
51863
51864         Support for unit test modules.
51865         * modules/README: Mention tests modules.
51866         * modules/TEMPLATE-TESTS: New file.
51867         * gnulib-tool: New options --extract-tests-module, --with-tests and
51868         --tests-base (unused for the moment).
51869         (testsbase, inctests): New variables.
51870         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51871         (func_verify_module): Exclude TEMPLATE-TESTS.
51872         (func_verify_nontests_module, func_verify_tests_module): New functions.
51873         (func_get_dependencies): Add implicit dependency for tests modules.
51874         (func_get_tests_module): New function.
51875         (func_modules_transitive_closure): When --with-tests was specified,
51876         include the unit tests as well, unless explicitly avoided.
51877         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51878         (func_emit_tests_Makefile_am): New function.
51879         (func_create_testdir): When --with-tests was specified, emit a
51880         tests/ directory.
51881         * MODULES.html.sh (Future developments): Update.
51882
51883 2005-08-24  Bruno Haible  <bruno@clisp.org>
51884
51885         * modules/tls-tests: New file.
51886         * tests/test-tls.c: New file, from GNU gettext.
51887
51888 2005-08-24  Bruno Haible  <bruno@clisp.org>
51889
51890         * modules/lock-tests: New file.
51891         * tests/test-lock.c: New file, from GNU gettext.
51892
51893 2005-08-24  Bruno Haible  <bruno@clisp.org>
51894
51895         * lib/lock.h: Add multiple inclusion guard.
51896         * lib/tls.h: Add multiple inclusion guard.
51897
51898 2005-08-24  Bruno Haible  <bruno@clisp.org>
51899
51900         * gnulib-tool: Add support for the --aux-dir option to
51901         --create-testdir, --create-megatestdir, --test, --megatest.
51902         (func_create_testdir, func_create_megatestdir): Optionally emit a
51903         AC_CONFIG_AUX_DIR directive.
51904         (create-testdir, create-megatestdir, test, megatest): Provide a
51905         default value for $auxdir.
51906
51907 2005-08-24  Bruno Haible  <bruno@clisp.org>
51908
51909         * gnulib-tool (import): Use compound statement instead of subshell
51910         where possible.
51911
51912 2005-08-24  Bruno Haible  <bruno@clisp.org>
51913
51914         * gnulib-tool (import): Change --aux-dir default to "build-aux".
51915
51916 2005-08-24  Bruno Haible  <bruno@clisp.org>
51917
51918         * gnulib-tool (func_version): Update.
51919
51920 2005-08-24  Bruno Haible  <bruno@clisp.org>
51921
51922         * gnulib-tool (func_import, func_create_testdir,
51923         func_create_megatestdir): Quote all autoconf macro arguments.
51924
51925 2005-08-24  Bruno Haible  <bruno@clisp.org>
51926
51927         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
51928         option --force, because --force causes the aclocal.m4 of each
51929         subdirectory to be newer than the corresponding config.h.in.
51930
51931 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51932
51933         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
51934         All contents moved to gl_REGEX.
51935         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
51936         assume that it does.
51937
51938 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51939
51940         * lib/regex.h (REG_NOSYS)
51941         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
51942         Define, since POSIX requires it as of 2001.
51943         (_REG_ENOSYS)
51944         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
51945         New private symbol, used to keep the enum signed in all cases.
51946         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
51947         Youngman in
51948         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
51949
51950         * lib/regex_internal.c (re_string_skip_chars, register_state):
51951         (calc_state_hash):
51952         Remove forward decls; no longer needed now that we use prototypes.
51953         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
51954         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
51955         (clean_state_log_if_needed): Likewise.
51956
51957 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51958
51959         * config/srclist.txt: Add glibc bugs 1231-1233.
51960
51961 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51962
51963         Fix problems reported by Sam Steingold in
51964         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
51965         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
51966         assumed that reg_errcode_t is a signed type, which is not
51967         necessarily true if _XOPEN_SOURCE is not defined.
51968         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
51969         since some compilers warn about it otherwise.
51970
51971 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51972
51973         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
51974         (init_word_char, create_initial_state, duplicate_node_closure):
51975         (fetch_token, peek_token_bracket, build_range_exp):
51976         (build_collating_symbol): Remove forward decls; no longer needed
51977         now that we use prototypes.
51978
51979         * lib/regcomp.c:
51980         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
51981         (re_compile_fastmap_iter, regcomp, regerror, regfree):
51982         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
51983         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
51984         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
51985         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
51986         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
51987         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
51988         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
51989         (build_range_exp, build_collating_symbol, parse_bracket_exp):
51990         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
51991         (build_charclass, build_charclass_op, fetch_number, create_tree):
51992         (create_token_tree, mark_opt_subexp, duplicate_tree):
51993         Use prototypes rather than old-style definitions.
51994
51995         * lib/regex_internal.c:
51996         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
51997         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
51998         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51999         (re_string_reconstruct, re_string_peek_byte_case):
52000         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
52001         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
52002         (re_node_set_init_copy, re_node_set_add_intersect):
52003         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52004         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52005         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
52006         (re_acquire_state, re_acquire_state_context, register_state):
52007         (create_ci_newstate, create_cd_newstate, free_state):
52008         Likewise.
52009         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
52010         re_search_2):
52011         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
52012         (re_search_internal, prune_impossible_nodes):
52013         (acquire_init_state_context, check_matching, static):
52014         (check_halt_node_context, check_halt_state_context, proceed_next_node):
52015         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
52016         (update_regs, sift_states_backward, build_sifted_states):
52017         (clean_state_log_if_needed, merge_state_array):
52018         (update_cur_sifted_state, add_epsilon_src_nodes):
52019         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
52020         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
52021         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
52022         (find_recover_state, check_subexp_matching_top, transit_state_mb):
52023         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
52024         (check_arrival, check_arrival_add_next_nodes):
52025         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
52026         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
52027         (check_node_accept_bytes, check_node_accept, extend_buffers):
52028         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
52029         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
52030         (sift_ctx_init):
52031         Likewise.
52032
52033         * lib/regex_internal.h:
52034         (re_string_allocate, re_string_construct, re_string_reconstruct):
52035         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
52036         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
52037         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
52038         (re_string_context_at, re_string_peek_byte_case):
52039         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
52040         is defined, since we now use prototypes always.
52041
52042         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
52043         C89 or better.  All uses removed.
52044
52045 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52046
52047         * config/srclist.txt: Add glibc bugs 1220-1227.
52048
52049 2005-08-20  Jim Meyering  <jim@meyering.net>
52050
52051         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
52052         of unused local, dfa.
52053
52054 2005-08-20  Bruno Haible  <bruno@clisp.org>
52055
52056         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
52057
52058 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52059
52060         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
52061         (re_node_set_insert_last, re_dfa_add_node):
52062         Rename local variables to avoid GCC shadowing warnings.
52063
52064 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52065
52066         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
52067         [defined lint]: Suppress bogus uninitialized-variable warnings.
52068
52069         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
52070         and let the caller return REG_ESPACE if out of space.  This
52071         removes an uninitialied-variable warning with GCC 4.0.1, and also
52072         avoids taking the address of a local variable.  All callers
52073         changed.
52074
52075 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52076
52077         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
52078         $LIBCSRC/posix/regexec.c.
52079         Add glibc bug 1217 for regcomp.c.
52080
52081 2005-08-19  Jim Meyering  <jim@meyering.net>
52082
52083         * lib/regexec.c (proceed_next_node): Redo local variables to
52084         avoid GCC shadowing warnings.
52085
52086 2005-08-18  Bruno Haible  <bruno@clisp.org>
52087
52088         * lib/strstr.c (strstr): Fix return value in multibyte case.
52089         * lib/strcasestr.c (strcasestr): Likewise.
52090
52091 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52092
52093         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
52094
52095 2005-08-17  Jim Meyering  <jim@meyering.net>
52096
52097         Make the %s format (seconds since the epoch) work for a negative
52098         number and when used with a zero-padded field width, e.g. %015s.
52099
52100         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
52101         label so that it precedes the code to set `digits'.  Otherwise,
52102         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
52103         print `00-22'.  Now, it prints `-0022', as it should.
52104
52105 2005-08-17  Bruno Haible  <bruno@clisp.org>
52106
52107         * modules/strstr (Files): Add m4/mbrtowc.m4.
52108         (Depends-on): Add mbuiter.
52109
52110 2005-08-17  Bruno Haible  <bruno@clisp.org>
52111
52112         * modules/strcasestr: New file.
52113         * MODULES.html.sh (String handling, based on ANSI C 89): Add
52114         strcasestr.
52115
52116 2005-08-17  Bruno Haible  <bruno@clisp.org>
52117
52118         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
52119
52120 2005-08-17  Bruno Haible  <bruno@clisp.org>
52121
52122         * modules/mbuiter: New file.
52123         * MODULES.html.sh (Extended multibyte and wide character utilities):
52124         Add mbuiter.
52125
52126 2005-08-17  Bruno Haible  <bruno@clisp.org>
52127
52128         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
52129         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
52130
52131 2005-08-17  Bruno Haible  <bruno@clisp.org>
52132
52133         * m4/strcasestr.m4: New file.
52134
52135 2005-08-17  Bruno Haible  <bruno@clisp.org>
52136
52137         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
52138         * lib/strstr.c: Completely rewritten, with multibyte locale support.
52139
52140 2005-08-17  Bruno Haible  <bruno@clisp.org>
52141
52142         * lib/strcasestr.h: New file.
52143         * lib/strcasestr.c: New file.
52144
52145 2005-08-17  Bruno Haible  <bruno@clisp.org>
52146
52147         * lib/strcasecmp.c: Use mbuiter.h.
52148
52149 2005-08-17  Bruno Haible  <bruno@clisp.org>
52150
52151         * lib/mbuiter.h: New file.
52152
52153 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52154
52155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
52156         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
52157         and gl_GETOPT are both invoked via different paths (as happens
52158         with GNU tar CVS because it uses both argp and getopt), the former
52159         wins.
52160
52161 2005-08-16  Bruno Haible  <bruno@clisp.org>
52162
52163         * modules/tls: New file.
52164         * MODULES.html.sh (Multithreading): Add tls.
52165
52166 2005-08-16  Bruno Haible  <bruno@clisp.org>
52167
52168         * modules/strnlen1: New file.
52169         * MODULES.html.sh (String handling): Add strnlen1.
52170
52171 2005-08-16  Bruno Haible  <bruno@clisp.org>
52172
52173         * modules/strcase (Files): Add m4/mbrtowc.m4.
52174         (Depends-on): Add strnlen1, mbchar.
52175
52176 2005-08-16  Bruno Haible  <bruno@clisp.org>
52177
52178         * modules/mbiter: New file.
52179         * MODULES.html.sh (Extended multibyte and wide character utilities):
52180         Add mbiter.
52181
52182 2005-08-16  Bruno Haible  <bruno@clisp.org>
52183
52184         * modules/mbfile: New file.
52185         * MODULES.html.sh (Extended multibyte and wide character utilities):
52186         Add mbfile.
52187
52188 2005-08-16  Bruno Haible  <bruno@clisp.org>
52189
52190         * modules/mbchar: New file.
52191         * MODULES.html.sh (Extended multibyte and wide character utilities):
52192         New section.
52193
52194 2005-08-16  Bruno Haible  <bruno@clisp.org>
52195
52196         * m4/tls.m4: New file, from GNU gettext.
52197
52198 2005-08-16  Bruno Haible  <bruno@clisp.org>
52199
52200         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
52201         always.
52202         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
52203
52204 2005-08-16  Bruno Haible  <bruno@clisp.org>
52205
52206         * m4/mbiter.m4: New file.
52207
52208 2005-08-16  Bruno Haible  <bruno@clisp.org>
52209
52210         * m4/mbfile.m4: New file.
52211
52212 2005-08-16  Bruno Haible  <bruno@clisp.org>
52213
52214         * m4/mbchar.m4: New file.
52215
52216 2005-08-16  Bruno Haible  <bruno@clisp.org>
52217
52218         * lib/tls.h: New file, from GNU gettext.
52219         * lib/tls.c: New file, from GNU gettext.
52220
52221 2005-08-16  Bruno Haible  <bruno@clisp.org>
52222
52223         * lib/strnlen1.h: New file.
52224         * lib/strnlen1.c: New file.
52225
52226 2005-08-16  Bruno Haible  <bruno@clisp.org>
52227
52228         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52229         (mbi_init): Update.
52230         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52231         NUL byte, not after it.
52232
52233 2005-08-16  Bruno Haible  <bruno@clisp.org>
52234
52235         * lib/strcase.h (strcasecmp): Add note in comments.
52236         * lib/strncasecmp.c: Use code from strcasecmp.c.
52237         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52238         (strcasecmp): Work correctly in multibyte locales.
52239
52240 2005-08-16  Bruno Haible  <bruno@clisp.org>
52241
52242         * lib/mbiter.h: New file.
52243
52244 2005-08-16  Bruno Haible  <bruno@clisp.org>
52245
52246         * lib/mbfile.h: New file.
52247
52248 2005-08-16  Bruno Haible  <bruno@clisp.org>
52249
52250         * lib/mbchar.h: New file.
52251         * lib/mbchar.c: New file.
52252
52253 2005-08-16  Bruno Haible  <bruno@clisp.org>
52254
52255         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52256         the valid ones. Makes the comparison operations transitive:
52257         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52258         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52259
52260 2005-08-15  Simon Josefsson  <jas@extundo.com>
52261
52262         * modules/ssize_t (License): Change to 'unlimited'.
52263
52264         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52265
52266 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52267
52268         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52269         Add comments for each pending glibc patch.
52270
52271 2005-08-15  Bruno Haible  <bruno@clisp.org>
52272
52273         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52274         __cplusplus is defined.
52275
52276 2005-08-14  Jim Meyering  <jim@meyering.net>
52277
52278         Sync from coreutils.
52279
52280         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52281         Use the hash-table-based cycle-detection code not just when
52282         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52283         Reported by James Youngman in
52284         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52285         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52286         FTS_TIGHT_CYCLE_CHECK.
52287         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52288         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52289         once again.
52290         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52291         * lib/fts.c (fd_safer): Remove decl.
52292         Include fcntl--.h rather than unistd-safer.h
52293         (fts_safe_changedir): Don't call fd_safer; no longer needed
52294         now that we include fcntl--.h.
52295
52296 2005-08-12  Simon Josefsson  <jas@extundo.com>
52297
52298         * modules/getndelim2: Use ssize_t module.
52299         * modules/getnline: Likewise.
52300         * modules/safe-read: Likewise.
52301         * modules/xreadlink: Likewise.
52302
52303         * modules/ssize_t: New file.
52304
52305 2005-08-12  Simon Josefsson  <jas@extundo.com>
52306
52307         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52308
52309 2005-08-12  Simon Josefsson  <jas@extundo.com>
52310
52311         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52312         ssize_t.
52313
52314 2005-08-12  Simon Josefsson  <jas@extundo.com>
52315
52316         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52317         readline, getdelim and check_version.
52318         (Support for systems lacking ISO C 99: Sizes of integer types):
52319         Add size_max.
52320
52321 2005-08-12  Bruno Haible  <bruno@clisp.org>
52322
52323         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52324
52325 2005-08-11  Simon Josefsson  <jas@extundo.com>
52326
52327         * modules/readline: New file.
52328
52329         * modules/strnlen (Files): Add strnlen.h.
52330
52331 2005-08-11  Simon Josefsson  <jas@extundo.com>
52332
52333         * m4/readline.m4: New file.
52334
52335 2005-08-11  Simon Josefsson  <jas@extundo.com>
52336
52337         * lib/readline.h, readline.c: New file.
52338
52339 2005-08-11  Simon Josefsson  <jas@extundo.com>
52340
52341         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52342         gl_AVOID.
52343
52344 2005-08-11  Bruno Haible  <bruno@clisp.org>
52345
52346         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52347
52348 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52349
52350         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52351
52352 2005-08-10  Simon Josefsson  <jas@extundo.com>
52353
52354         * tests/test-iconvme.c: New file.
52355
52356 2005-08-10  Simon Josefsson  <jas@extundo.com>
52357
52358         * m4/strnlen.m4: New file.
52359
52360         * m4/strndup.m4: Don't check for strnlen declaration, done in
52361         strnlen.m4.
52362
52363 2005-08-10  Simon Josefsson  <jas@extundo.com>
52364
52365         * lib/strndup.c: Use strnlen.h.
52366
52367         * lib/strnlen.h: New file.
52368
52369 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52370
52371         * README: Typos.
52372
52373 2005-08-02  Simon Josefsson  <jas@extundo.com>
52374
52375         * modules/readline: New file.
52376
52377 2005-08-02  Simon Josefsson  <jas@extundo.com>
52378
52379         * modules/getdelim: New file.
52380
52381         * modules/getline: Rewrite, don't use getndelim2.
52382
52383 2005-08-02  Simon Josefsson  <jas@extundo.com>
52384
52385         * m4/getline.m4: Separate out getdelim stuff into separate module.
52386
52387         * m4/getdelim.m4: New file.
52388
52389 2005-08-02  Simon Josefsson  <jas@extundo.com>
52390
52391         * lib/getline.h, getline.c: Rewrite.
52392
52393         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52394
52395 2005-07-31  Bruno Haible  <bruno@clisp.org>
52396
52397         * lib/lock.h (gl_lock_initializer): New macro.
52398         (gl_lock_define_initialized): Use it.
52399         (gl_rwlock_initializer): New macro.
52400         (gl_rwlock_define_initialized): Use it.
52401         (gl_recursive_lock_initializer): New macro.
52402         (gl_recursive_lock_define_initialized): Use it.
52403
52404 2005-07-30  Karl Berry  <karl@gnu.org>
52405
52406         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52407         Report from Ben Pfaff, regarding getopt.
52408
52409 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52410
52411         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52412         normal way.
52413         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52414         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52415         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52416         (gl_GETOPT): Use the new macros.  Most of the implementation
52417         is moved to the new macros.  This is for programs like Emacs
52418         that don't want all the functionality of gl_GETOPT.
52419
52420 2005-07-26  Bruno Haible  <bruno@clisp.org>
52421
52422         * m4/lock.m4: Update from GNU gettext.
52423
52424 2005-07-26  Bruno Haible  <bruno@clisp.org>
52425
52426         * lib/lock.h: Update from GNU gettext.
52427         * lib/lock.c: Update from GNU gettext.
52428
52429 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
52430
52431         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
52432         obsolescent AC_TRY_RUN.  Include the default includes files, for
52433         'exit'.
52434
52435 2005-07-24  Bruno Haible  <bruno@clisp.org>
52436
52437         * modules/visibility: New file.
52438         * MODULES.html.sh (Misc): Add visibility.
52439
52440 2005-07-24  Bruno Haible  <bruno@clisp.org>
52441
52442         * m4/visibility.m4: New file.
52443
52444 2005-07-24  Bruno Haible  <bruno@clisp.org>
52445
52446         * doc/visibility.texi: New file.
52447
52448 2005-07-22  Bruno Haible  <bruno@clisp.org>
52449
52450         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52451         $(ALLOCA_H), redundant through BUILT_SOURCES.
52452         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52453         redundant through BUILT_SOURCES.
52454         * modules/byteswap (Makefile.am): Remove explicit dependency on
52455         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52456         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52457         $(FNMATCH_H), redundant through BUILT_SOURCES.
52458         * modules/getopt (Makefile.am): Remove explicit dependency on
52459         $(GETOPT_H), redundant through BUILT_SOURCES.
52460         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52461         redundant through BUILT_SOURCES.
52462         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52463         redundant through BUILT_SOURCES.
52464         * modules/stdbool (Makefile.am): Remove explicit dependency on
52465         $(STDBOOL_H), redundant through BUILT_SOURCES.
52466         * modules/stdint (Makefile.am): Remove explicit dependency on
52467         $(STDINT_H), redundant through BUILT_SOURCES.
52468         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52469         Remove explicit dependency on $(SYSEXITS_H).
52470         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52471
52472 2005-07-18  Simon Josefsson  <jas@extundo.com>
52473
52474         * lib/check-version.c (check_version): Accept identical versions too.
52475
52476 2005-07-18  Bruno Haible  <bruno@clisp.org>
52477
52478         * modules/lock: New file.
52479         * MODULES.html.sh (Multithreading): New section.
52480
52481 2005-07-18  Bruno Haible  <bruno@clisp.org>
52482
52483         * m4/lock.m4: New file, from GNU gettext.
52484
52485 2005-07-18  Bruno Haible  <bruno@clisp.org>
52486
52487         * lib/lock.h: New file, from GNU gettext.
52488         * lib/lock.c: New file, from GNU gettext.
52489
52490 2005-07-18  Bruno Haible  <bruno@clisp.org>
52491
52492         * lib/lock.h (gl_once_t): New type.
52493         (gl_once_define, gl_once): New macros.
52494         * lib/lock.c (fresh_once): New variable.
52495         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52496         functions.
52497
52498 2005-07-16  Simon Josefsson  <jas@extundo.com>
52499
52500         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52501         workaround, suggested by Bruno.
52502
52503 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52504
52505         * modules/xalloc (Depends-on): Add xalloc-die.
52506         * modules/xvasprintf (Depends-on): Add xalloc-die.
52507
52508 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52509
52510         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52511         with a minor change.
52512
52513 2005-07-15  Bruno Haible  <bruno@clisp.org>
52514
52515         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52516         When using lib/poll.c, define poll as rpl_poll.
52517
52518 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52519
52520         * modules/argp (Depends-on): Remove unlocked-io.
52521
52522 2005-07-14  Derek Price  <derek@ximbiot.com>
52523
52524         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52525         for glob symlink bug.
52526
52527 2005-07-14  Bruno Haible  <bruno@clisp.org>
52528
52529         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52530         Instead, test for *_unlocked function declarations directly.
52531
52532 2005-07-11  Simon Josefsson  <jas@extundo.com>
52533
52534         * modules/size_max: New file.
52535
52536         * modules/xsize: Depend on size_max module for size_max.m4.
52537
52538 2005-07-11  Simon Josefsson  <jas@extundo.com>
52539
52540         * lib/size_max.h: New file.
52541
52542 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52543
52544         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52545         copyright symbol and the year.
52546         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52547         (version_etc_va): Use parameterized copyright notice.
52548         Reword to conform to the current GNU coding standards.
52549
52550 2005-07-11  Karl Berry  <karl@gnu.org>
52551
52552         * doc/gnulib.texi (Quoting): new node.
52553         (Initial import): more info, from Patrice.
52554
52555 2005-07-11  Bruno Haible  <bruno@clisp.org>
52556
52557         * gnulib-tool (func_usage): Document option --avoid.
52558         (Command line options): Handle --avoid.
52559         (func_acceptable): New function.
52560         (func_modules_transitive_closure): Use it.
52561
52562 2005-07-11  Bruno Haible  <bruno@clisp.org>
52563
52564         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52565         Reported by Jim Meyering.
52566
52567 2005-07-10  Bruno Haible  <bruno@clisp.org>
52568
52569         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52570         Needed when size_t is smaller than 'unsigned int'.
52571         Reported by Paul Eggert.
52572
52573 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52574
52575         * modules/argp (Depends-on): Add unlocked-io
52576
52577 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52578
52579         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52580         block of defines.
52581
52582 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52583
52584         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52585         fix now.
52586
52587 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52588         and Paul Eggert  <eggert@cs.ucla.edu>
52589
52590         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52591         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52592
52593 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52594
52595         * modules/regex (Files): Add lib/regex_internal.c,
52596         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52597         (Depends-on): Add extensions.
52598         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52599
52600 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52601
52602         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52603         pathconf.
52604         * m4/same.m4 (gl_SAME): Likewise.
52605         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52606
52607         * m4/regex.m4: Adjust to new libc regex implementation.
52608         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52609         all the .c and .h parts of (the new) regex.
52610         Quote the m4 stuff better.
52611         Check for RE_ICASE bug of old gnulib.
52612         Check for REG_STARTEND of recent libc.
52613         Rename local variables from jm_* to gl_*.
52614         Quote operand of "test -f".
52615         Say "recent enough" version of libc, not "version 2".
52616         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52617         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52618         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52619         Remove check for btowc, isascii.
52620         Require AM_LANGINFO_CODESET.
52621
52622 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52623
52624         * lib/regex.c, regex.h: Sync from libc.
52625         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52626         * lib/regexec.c:
52627         New files, synced from libc, except that regex_internal.h
52628         currently has a small porting fix.
52629
52630 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52631
52632         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52633         regex_internal.c, regexec.c.
52634         Add regex_internal.h too, but as a comment, since the libc version
52635         is currently broken in gnulib mode.
52636
52637 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         Support programs like Emacs that use gnulib but not gettext.
52640         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52641         * modules/gettext-h: New file.
52642         * modules/gettext (Files): Remove lib/gettext.h.
52643         (Depends-on): Add gettext-h.
52644         (Makefile.am): Remove lib_SOURCES.
52645         * modules/argmatch, modules/c-stack, modules/closeout:
52646         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52647         * modules/execute, modules/file-type, modules/getaddrinfo:
52648         * modules/getopt, modules/human, modules/javacomp:
52649         * modules/javaexec, modules/mkdir-p, modules/obstack:
52650         * modules/openat, modules/pagealign_alloc, modules/pipe:
52651         * modules/quotearg, modules/regex, modules/rpmatch:
52652         * modules/unicodeio, modules/userspec, modules/version-etc:
52653         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52654         * modules/xsetenv:
52655         Depend on gettext-h, not gettext.
52656
52657 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52658
52659         * gnulib-tool (func_import): Add support for 'public domain' license.
52660         * modules/alloca, modules/atexit, modules/memmove:
52661         Now public domain, not GPL.
52662         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52663         * modules/realloc, modules/strerror, modules/strtod:
52664         Now LGPL, not GPL.
52665
52666 2005-07-05  Bruno Haible  <bruno@clisp.org>
52667
52668         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52669         autoconf CVS. Needed for mingw.
52670
52671 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52672
52673         Remove the dependency of the strftime module on the tzset module.
52674         * modules/strftime (Depends-on): Remove dependency on tzset.
52675
52676 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52677
52678         Remove the dependency of the strftime module on the tzset module.
52679         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52680         gl_FUNC_TZSET_CLOBBER.
52681
52682 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52683
52684         Remove the dependency of the strftime module on the tzset module.
52685         * lib/strftime.c (my_strftime)
52686         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52687         Copy the input structure, to work around some of the bug with
52688         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52689         Solaris releases, you should also use the tzset module, but we won't
52690         require it as a dependency any more since we don't want LGPLed code
52691         to depend on GPLed code.
52692
52693 2005-07-02  Jim Meyering  <jim@meyering.net>
52694
52695         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52696         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52697         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52698         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52699
52700 2005-07-02  Jim Meyering  <jim@meyering.net>
52701
52702         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52703
52704 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52705
52706         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52707         declares only 'struct timespec;' (!).
52708
52709 2005-07-01  Jim Meyering  <jim@meyering.net>
52710
52711         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52712         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52713         * lib/save-cwd.c, tempname.c:
52714         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52715         and don't include <sys/file.h>).
52716
52717 2005-06-29  Jim Meyering  <jim@meyering.net>
52718
52719         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52720         type name.  Use the variable name instead.
52721         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52722         Likewise.
52723
52724 2005-06-28  Simon Josefsson  <jas@extundo.com>
52725
52726         * modules/check-version (Files): Add check-version.m4.
52727
52728 2005-06-28  Simon Josefsson  <jas@extundo.com>
52729
52730         * m4/check-version.m4: New file, suggested by Jim Meyering
52731         <jim@meyering.net>.
52732
52733 2005-06-28  Simon Josefsson  <jas@extundo.com>
52734
52735         * lib/check-version.h, lib/check-version.c: New files.
52736
52737 2005-06-28  Simon Josefsson  <jas@extundo.com>
52738
52739         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52740         collision with global variable.  Better indentation.  Don't
52741         increment buffer pointer beyond buffer end.  Based on comments
52742         from Paul Eggert <eggert@cs.ucla.edu>.
52743
52744         * lib/base64.h: Indent.
52745
52746 2005-06-28  Simon Josefsson  <jas@extundo.com>
52747
52748         * doc/gnulib.texi (Library version handling): New section.
52749
52750 2005-06-28  Jim Meyering  <jim@meyering.net>
52751
52752         * check-module (find_included_lib_files): Hard-code another
52753         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52754         but modules/fts-lgpl (correctly) does not list those files.
52755
52756         * modules/canonicalize (Files): Add lib/pathmax.h.
52757
52758 2005-06-25  Simon Josefsson  <jas@extundo.com>
52759
52760         * modules/check-version: New file.
52761
52762 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52763
52764         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52765         initializer of struct addrinfo, as an indication that we don't
52766         care how many members the structure has.
52767
52768 2005-06-24  Derek Price  <derek@ximbiot.com>
52769         and Bruno Haible  <bruno@clisp.org>
52770
52771         Remove stat module & update lstat.
52772         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52773         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52774         * m4/stat.m4: Remove this file.
52775
52776 2005-06-24  Derek Price  <derek@ximbiot.com>
52777         and Bruno Haible  <bruno@clisp.org>
52778
52779         Remove stat module & update lstat.
52780         * lib/stat.c: Remove this file...
52781         (slash_aware_lstat): ...moving this content and its support...
52782         * lib/lstat.c (rpl_lstat): ...into here.
52783         * lib/lstat.h: New file.
52784
52785 2005-06-24  Derek Price  <derek@ximbiot.com>
52786         and Bruno Haible  <bruno@clisp.org>
52787
52788         Remove stat module & update lstat.
52789         * config/srclist.txt (libc sources): Remove stat.
52790
52791 2005-06-24  Derek Price  <derek@ximbiot.com>
52792         and Bruno Haible  <bruno@clisp.org>
52793
52794         Remove stat module & update lstat.
52795         * MODULES.html.sh (stat): Remove.
52796         * MODULES.html: Regenerated.
52797         * modules/lstat (Description): Correct function name.
52798         (Files): Add "lstat.h".
52799         (Depends-on): Remove stat, add xalloc, stat-macros.
52800         * modules/stat: Remove this file.
52801         (Include): Add "lstat.h", remove <sys/stat.h>.
52802
52803 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52804
52805         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52806         (ranged_convert): Don't save conversion in a temporary struct.
52807         This causes a warning with GCC 4.0.0, and anyway in the typical
52808         case it's not worth the extra 100 bytes or so of code.
52809         (ranged_convert, __mktime_internal): When calling a function via a
52810         pointer P, use P () rather than (*P) (), as we now assume C89 or
52811         better.
52812
52813 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52814
52815         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52816         "who -r" failed to give output.  Problem reported by Tim Waugh.
52817
52818         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52819         (xcalloc): Use it to avoid needless tests.
52820         Problem reported by Jim Meyering.
52821
52822 2005-06-20  Derek Price  <derek@ximbiot.com>
52823
52824         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52825         unnecessary for Autoconfs > 2.59c.
52826
52827 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52828
52829         * lib/argp.h (__option_is_short): Check upper limit of
52830         __key. Isprint() requires its argument to have the value
52831         of an unsigned char or EOF.
52832
52833 2005-06-16  Jim Meyering  <jim@meyering.net>
52834
52835         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52836         when either N or S is zero.
52837
52838 2005-06-16  Derek Price  <derek@ximbiot.com>
52839
52840         * m4/bison.m4: Declare YACC & YFLAGS precious.
52841
52842 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52843
52844         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52845         multibyte string or pattern, fall back on unibyte matching.
52846         Problem reported by James Youngman.
52847
52848 2005-06-08  Bruno Haible  <bruno@clisp.org>
52849
52850         * modules/csharpcomp: New file.
52851         * MODULES.html.sh (C#): Add csharpcomp.
52852
52853 2005-06-08  Bruno Haible  <bruno@clisp.org>
52854
52855         * m4/csharpcomp.m4: New file, from GNU gettext.
52856
52857 2005-06-08  Bruno Haible  <bruno@clisp.org>
52858
52859         * lib/csharpcomp.h: New file, from GNU gettext.
52860         * lib/csharpcomp.c: New file, from GNU gettext.
52861         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52862
52863 2005-06-08  Bruno Haible  <bruno@clisp.org>
52864
52865         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52866         warning on mingw.
52867
52868 2005-06-07  Derek Price  <derek@ximbiot.com>
52869
52870         Sync from CVS.
52871         * lib/glob_.h: Indent nested #ifdef.
52872
52873 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52874
52875         Sync from coreutils.
52876         Use "file name" when talking about file names, instead of "filename"
52877         or "path", as per the GNU coding standards.
52878         * lib/mkdir-p.c: Renamed from makepath.c.
52879         (make_dir_parents): Renamed from make_path.  All callers changed.
52880         * lib/mkdir-p.h: Likewise.  All includers changed.
52881         * lib/filenamecat.c: Renamed from path-concat.c.
52882         (file_name_concat): Renamed from path_concat.  All callers changed.
52883         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52884         * lib/filenamecat.h: Likewise.  All includers changed.
52885         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52886         in comments or local variable names.
52887         * lib/basename.c: Likewise.
52888         * lib/canonicalize.c, canonicalize.h: Likewise.
52889         * lib/dirname.c, dirname.h: Likewise.
52890         * lib/euidaccess.c: Likewise.
52891         * lib/exclude.c: Likewise
52892         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52893         * lib/fsusage.c, fsuage.h: Likewise.
52894         * lib/fts.c, fts_.h: Likewise.
52895         * lib/getcwd.c: Likewise.
52896         * lib/getloadavg.c: Likewise.
52897         * lib/mkstemp.c: Likewise.
52898         * lib/mountlist.c, mountlist.h: Likewise.
52899         * lib/openat.c, openat.h: Likewise.
52900         * lib/readlink-stub.c: Likewise.
52901         * lib/readutmp.c, readutmp.h: Likewise.
52902         * lib/rename.c: Likewise.
52903         * lib/rmdir.c: Likewise.
52904         * lib/same.c: Likewise.
52905         * lib/savedir.c: Likewise.
52906         * lib/stripslash.c: Likewise.
52907         * lib/tempname.c: Likewise.
52908         * lib/xreadlink.c: Likewise.
52909         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
52910         All uses changed.
52911         * lib/exclude.h: Likewise.
52912
52913         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
52914         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52915         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
52916         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52917         * lib/pathmax.h: Include <limits.h> unconditionally, since other
52918         files have been getting away with it for years (MORE/BSD 4.3
52919         is extinct now).
52920         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
52921         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52922
52923         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
52924         Define to 256, not 255, as per modern POSIX.
52925
52926 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52927
52928         Sync from coreutils.
52929         Use "file name" when talking about file names, instead of "filename"
52930         or "path", as per the GNU coding standards.
52931         * MODULES.html.sh: mkdir-p renamed from makepath.
52932         filenamecat renamed from path-concat.
52933         * modules/filenamecat: Renamed from modules/path-concat.
52934         (Files): filenamecat.h and filenamecat.c renamed from
52935         path-concat.h and path-concat.c.
52936         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
52937         (Include): filenamecat.h, not path-concat.h.
52938         * modules/mkdir-p: Renamed from modules/makepath.
52939         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
52940         makepath.c.
52941         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
52942         (Include): mkdir-p.h, not makepath.h.
52943
52944 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52945
52946         Sync from coreutils.
52947         * m4/mkdir-p.m4: Renamed from makepath.m4.
52948         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
52949         Rename files from makepath.c to mkdir-p.c, and from
52950         makepath.h to mkdir-p.h.
52951         * m4/filenamecat.m4: Renamed from path-concat.m4.
52952         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
52953         Rename files from path-concat.c to filenamecat.c,
52954         and from path-concat.h to filenamecat.h.
52955         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
52956         "file name" in local variables or comments.
52957         * m4/rename.m4: Likewise.
52958
52959 2005-06-01  Bruno Haible  <bruno@clisp.org>
52960
52961         * modules/csharpexec: New file.
52962         * MODULES.html.sh (C#): New section.
52963
52964 2005-06-01  Bruno Haible  <bruno@clisp.org>
52965
52966         * m4/csharp.m4: New file, from GNU gettext.
52967         * m4/csharpexec.m4: New file, from GNU gettext.
52968
52969 2005-06-01  Bruno Haible  <bruno@clisp.org>
52970
52971         * lib/csharpexec.h: New file, from GNU gettext.
52972         * lib/csharpexec.c: New file, from GNU gettext.
52973         * lib/csharpexec.sh.in: New file, from GNU gettext.
52974
52975 2005-05-31  Derek Price  <derek@ximbiot.com>
52976             Paul Eggert  <eggert@cs.ucla.edu>
52977
52978         Sync from cvs.
52979         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52980
52981 2005-05-31  Derek Price  <derek@ximbiot.com>
52982             Paul Eggert  <eggert@cs.ucla.edu>
52983
52984         Sync from cvs.
52985         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52986
52987 2005-05-29  Derek Price  <derek@ximbiot.com>
52988
52989         * config/srclist.txt (glob_.h, glob.c): Add these files.
52990
52991 2005-05-29  Derek Price  <derek@ximbiot.com>
52992
52993         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
52994         * modules/glob: New file.
52995         * modules/getlogin_r: Add link to POSIX spec in description.
52996
52997 2005-05-29  Derek Price  <derek@ximbiot.com>
52998             Paul Eggert  <eggert@cs.ucla.edu>
52999
53000         * m4/glob.m4: New file.
53001
53002 2005-05-29  Derek Price  <derek@ximbiot.com>
53003             Paul Eggert  <eggert@cs.ucla.edu>
53004
53005         * lib/glob_.h, lib/glob.c: New files.
53006
53007 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53008
53009         * modules/fts (Files): Remove m4/inttypes-pri.m4.
53010         * modules/fts-lgpl (Depends-on): Remove gettext.
53011
53012 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53013
53014         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
53015         and don't require gt_INTTYPES_PRI.
53016
53017 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53018
53019         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
53020
53021         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
53022         the configuration hassle isn't worth it.
53023         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
53024         (LONGEST_MODIFIER, PRIuMAX): Remove.
53025
53026 2005-05-27  Bruno Haible  <bruno@clisp.org>
53027
53028         * lib/getlogin_r.h: Remove second include of <stddef.h>.
53029
53030 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53031
53032         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
53033         _POSIX_PTHREAD_SEMANTICS for Solaris.
53034
53035 2005-05-25  Derek Price  <derek@ximbiot.com>
53036
53037         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
53038
53039 2005-05-25  Derek Price  <derek@ximbiot.com>
53040             Paul Eggert  <eggert@cs.ucla.edu>
53041
53042         * modules/getlogin_r, m4/getlogin_r.m4: New files.
53043         * lib/getlogin_r.c, getlogin_r.h: New files.
53044
53045 2005-05-25  Bruno Haible  <bruno@clisp.org>
53046             Derek Price  <derek@ximbiot.com>
53047
53048         * lib/getlogin_r.h: Simplify API documentation.
53049
53050 2005-05-23  Derek Price  <derek@ximbiot.com>
53051
53052         * modules/minmax (Files): Add m4/minmax.m4.
53053         (configure.ac): Add gl_MINMAX.
53054
53055 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53056
53057         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
53058         so that unistd-safer.h (GPL'ed code) need not be included.
53059
53060 2005-05-22  Bruno Haible  <bruno@clisp.org>
53061
53062         * m4/minmax.m4: New file.
53063         Based on a patch by Derek Price <derek@ximbiot.com>.
53064
53065 2005-05-22  Bruno Haible  <bruno@clisp.org>
53066
53067         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
53068         (INT64_MIN): Fix definition.
53069         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
53070
53071         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
53072         NEED_SIGNED_INT_TYPES.
53073
53074         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
53075         HAVE_SYSTEM_INTTYPES.
53076
53077 2005-05-22  Bruno Haible  <bruno@clisp.org>
53078
53079         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
53080         Also include <sys/param.h> if it defines MIN, MAX.
53081         Based on a patch by Derek Price <derek@ximbiot.com>.
53082
53083 2005-05-21  Jim Meyering  <jim@meyering.net>
53084
53085         * modules/fts (Files): Add m4/inttypes-pri.m4.
53086         (Depends-on): Add lstat and remove gettext.  Alphabetize.
53087
53088 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53089
53090         New fts module.
53091         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
53092         (setup_dir, free_dir): New functions.
53093         (enter_dir, leave_dir): Define trivial
53094         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
53095         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
53096         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
53097         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
53098         Move to fts-cycle.c.
53099         (fts_open): Use setup_dir.
53100         (fts_close): Use free_dir.
53101         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
53102         This adds a label and some gotos, but the alternatives were messier.
53103         Check for memory allocation failure when entering a dir.
53104         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
53105         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
53106         (FTS): New member fts_cycle, that is a union that contains the
53107         old active_dir_ht and cycle_state.  All uses changed to mention
53108         fts_cycle.ht and fts_cycle.state.
53109         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
53110         fts.c, with the following changes:
53111         (setup_dir, free_dir): New functions.
53112         (enter_dir): Now returns bool.  Return true if successful, false
53113         if memory exhausted.  All callers changed.
53114         Do not bother partly cleaning up on
53115         memory allocation failure; that is free_dir's job.
53116         However, free ad if hash_insert fails, to avoid memory leak.
53117         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
53118         fts->fts_options to see which union member to use.
53119
53120 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53121
53122         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
53123         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
53124
53125 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53126
53127         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
53128
53129 2005-05-20  Jim Meyering  <jim@meyering.net>
53130
53131         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
53132         Now a macro, to pacify GCC.
53133
53134 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53135
53136         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
53137         of -1.
53138
53139 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53140
53141         * lib/chown.c (rpl_chown): Return -1 on failure.
53142
53143 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53144
53145         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
53146         Don't check for stddef.h.
53147         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
53148         don't use its results.
53149         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
53150         since we include them unconditionally.  Don't require
53151         AM_STDBOOL_H, since stdbool is a prerequisite.
53152         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
53153         since we assume C89 or better.
53154         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
53155         as we don't use their results.
53156         Don't check for fchdir, memmove, memset, strrchr, as we use
53157         them unconditionally.
53158         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
53159         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
53160
53161 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53162
53163         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
53164         Include <stddef.h> unconditionally, since we assume C89 now.
53165         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
53166         * lib/fts.c: Include fts_.h first, to check interface.
53167         Do not include intprops.h; no longer needed.
53168         Include cycle-check.h and hash.h, since fts_.h no longer does.
53169         Remove unnecessary casts of closedir to void.
53170         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
53171         decide whether to decrement nlinks.
53172         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
53173         (FTS): Use struct hash_table * instead of Hash_table, so that
53174         we no longer need to include hash.h here.
53175
53176 2005-05-18  Jim Meyering  <jim@meyering.net>
53177
53178         * modules/dirfd (License): Change to LGPL.  Most of the code
53179         is already in the public domain.
53180
53181 2005-05-18  Jim Meyering  <jim@meyering.net>
53182
53183         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
53184         Reported by Yoann Vandoorselaere.
53185
53186 2005-05-17  Jim Meyering  <jim@meyering.net>
53187
53188         * m4/fts.m4: New file, from coreutils.
53189
53190 2005-05-17  Jim Meyering  <jim@meyering.net>
53191
53192         * lib/fts.c, lib/fts_.h: New files, from coreutils.
53193
53194 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53195
53196         Sync from coreutils.
53197         * m4/unlinkdir.m4: New file.
53198
53199 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53200
53201         Sync from coreutils.
53202         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
53203         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
53204         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
53205         White space changes only.
53206         * lib/makepath.c (make_path): Port to hosts where leading "//" is
53207         special.
53208         * lib/yesno.c: Include getline.h, not ctype.h.
53209         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53210         Use getline to remove arbitrary restriction on response length.
53211
53212 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53213
53214         * config/srclist-update: Spell out "Street" in FSF postal
53215         mail address; this is the style the FSF seems to prefer.
53216
53217         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53218         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53219         this updates FSF postal mail address.
53220
53221         Sync from coreutils.
53222         * modules/unlinkdir: New file.
53223         * modules/yesno (Depends-on): Add getline.
53224         * MODULES.html.sh (File system functions): Add unlinkdir.
53225
53226 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53227
53228         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53229         lib/strsep.h:
53230         Change the initial comment to refer to GPL, not LGPL.
53231         gnulib-tool will change it to LGPL as needed.
53232
53233         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53234         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53235         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53236         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53237         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53238         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53239         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53240         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53241         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53242         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53243         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53244         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53245         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53246         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53247         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53248         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53249         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53250         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53251         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53252         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53253         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53254         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53255         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53256         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53257         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53258         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53259         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53260         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53261         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53262         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53263         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53264         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53265         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53266         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53267         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53268         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53269         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53270         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53271         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53272         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53273         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53274         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53275         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53276         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53277         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53278         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53279         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53280         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53281         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53282         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53283         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53284         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53285         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53286         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53287         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53288         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53289         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53290         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53291         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53292         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53293         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53294         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53295         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53296         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53297         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53298         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53299         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53300         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53301         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53302         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53303         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53304         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53305         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53306         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53307         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53308         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53309         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53310         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53311         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53312         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53313         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53314         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53315         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53316         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53317         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53318         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53319         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53320         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53321         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53322         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53323         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53324         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53325         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53326         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53327         lib/yesno.c, lib/yesno.h:
53328         Update FSF postal mail address.
53329
53330 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53331
53332         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53333         tests/test-memmem.c, tests/test-stpncpy.c:
53334         Update FSF postal mail address.
53335
53336 2005-05-13  Bruno Haible  <bruno@clisp.org>
53337
53338         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53339         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53340         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53341         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53342         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53343         Add support for 64-bit integers in the MSVC compiler.
53344
53345 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53346
53347         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53348
53349 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53350
53351         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53352
53353 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53354
53355         * doc/getdate.texi (General date syntax): Don't say that date
53356         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53357         Problem reported by Nic Ferrier.
53358
53359 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53360
53361         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53362         specified in ai_socktype. Fix invalid ai_protocol
53363         check. ai_protocol is usually set to 0 or depending on
53364         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53365         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53366         ai_socktype / ai_protocol in the returned addrinfo structure.
53367
53368 2005-05-10  Simon Josefsson  <jas@extundo.com>
53369
53370         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53371         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53372
53373 2005-05-10  Karl Berry  <karl@gnu.org>
53374
53375         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53376         (from http://www.gnu.org/licenses).
53377         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53378         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53379         fdl.texi suffices.
53380
53381 2005-05-10  Karl Berry  <karl@gnu.org>
53382
53383         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53384         (COPYING.DOC): remove.
53385
53386         * config/srclist-update: new FSF address.
53387
53388 2005-05-10  Derek Price  <derek@ximbiot.com>
53389
53390         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53391         possible.
53392
53393 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53394             Bruno Haible  <bruno@clisp.org>
53395
53396         * modules/inet_ntop: New file.
53397         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53398         inet_ntop.
53399
53400 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53401             Bruno Haible  <bruno@clisp.org>
53402
53403         * m4/inet_ntop.m4: New file.
53404
53405 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53406             Bruno Haible  <bruno@clisp.org>
53407
53408         * lib/inet_ntop.h: New file.
53409         * lib/inet_ntop.c: New file, from glibc with modifications.
53410
53411 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53412
53413         * modules/time_r (License): Change to LGPL.
53414         * modules/extensions (License): Change to LGPL.  Actually,
53415         the license is more permissive than that, but currently gnulib-tool
53416         doesn't know how to handle more-permissive licenses.
53417
53418         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
53419         Problem reported by Dave Love.
53420
53421 2005-05-08  Jim Meyering  <jim@meyering.net>
53422
53423         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
53424         blank.
53425
53426 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53427
53428         * modules/argmatch (Depends-on): Add stdbool.
53429         * modules/backupfile (Depends-on): Likewise.
53430         * modules/chdir-long (Depends-on): Likewise.
53431         * modules/closeout (Depends-on): Likewise.
53432         * modules/cycle-check (Depends-on): Likewise.
53433         * modules/dirname (Depends-on): Likewise.
53434         * modules/fnmatch (Depends-on): Likewise.
53435         * modules/fsusage (Depends-on): Likewise.
53436         * modules/fwriteerror (Depends-on): Likewise.
53437         * modules/getcwd (Depends-on): Likewise.
53438         * modules/getloadavg (Depends-on): Likewise.
53439         * modules/hard-locale (Depends-on): Likewise.
53440         * modules/makepath (Depends-on): Likewise.
53441         * modules/mountlist (Depends-on): Likewise.
53442         * modules/nanosleep (Depends-on): Likewise.
53443         * modules/posixtm (Depends-on): Likewise.
53444         * modules/quotearg (Depends-on): Likewise.
53445         * modules/readtokens (Depends-on): Likewise.
53446         * modules/readtokens0 (Depends-on): Likewise.
53447         * modules/readutmp (Depends-on): Likewise.
53448         * modules/save-cwd (Depends-on): Likewise.
53449         * modules/strftime (Depends-on): Likewise.
53450         * modules/userspec (Depends-on): Likewise.
53451         * modules/utimecmp (Depends-on): Likewise.
53452         * modules/xgetcwd (Depends-on): Likewise.
53453         * modules/xnanosleep (Depends-on): Likewise.
53454         * modules/xstrtod (Depends-on): Likewise.
53455         * modules/yesno (Depends-on): Likewise.
53456
53457 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53458
53459         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53460         needless checks.
53461
53462 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53463
53464         Merge from coreutils.  Among other things,
53465         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53466         * lib/fd-safer.c: New file.
53467         * lib/fcntl-safer.h, open-safer.c: Remove.
53468         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53469         * lib/dup-safer.c: Include unistd-safer.h first.
53470         Don't include errno.h.
53471         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53472         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53473         * lib/file-type.c: Rely on file-type.h change.
53474         * lib/getloadavg.c: Include unistd-safer.h.
53475         (getloadavg): Use safer open.
53476         * lib/getusershell.c: Include "stdio-safer.h".
53477         (getusershell): Use safer fopen.
53478         * lib/long-options.c (long_options): Use NULL rather than 0.
53479         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53480         'free'.
53481         * lib/modechange.c: Likewise.
53482         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53483         (MODE_DONE): New constant.
53484         (struct mode_change): Remove 'next' member.
53485         (make_node_op_equals): New function; like the old one of the
53486         same name, except it allocates an array.
53487         (mode_compile, mode_create_from_ref): Use it.
53488         (mode_compile): Allocate result as an array, not a linked list.
53489         Parse octal string ourself, so that we catch mistakes like "+0".
53490         (mode_adjust): Arg is an array, not a linked list.
53491         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53492         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53493         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53494         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53495         Remove.  This is now stat-macros.h's job.
53496         (talloc): Remove.  All callers replaced by xalloc, so that
53497         our invokers don't have to worry about reporting memory failures.
53498         (make_node_op_equals): Remove.
53499         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53500         New constants.
53501         (struct mode_change): Moved here from modechange.h.
53502         (mode_append_entry): Remove.
53503         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53504         apps to have incorrect behavior.  Use simpler algorithm for head
53505         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53506         Detect more invalid usages rather than having somewhat-random behavior.
53507         Don't insert an "a=" action, as that leads to incorrect behavior.
53508         (mode_compile, mode_create_from_ref): Return NULL on error instead
53509         of an enum, since now there's only one way to have an error.  All
53510         callers changed.
53511         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53512         at the correct time.  Simplify calculation of "+u" and its ilk.
53513         Don't mishandle "+X".
53514         (mode_free): Remove "register" and localize decls.
53515         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53516         (struct mode_change): Move to modechange.c; callers don't
53517         need to see this stuff.
53518         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53519         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53520         (mode_change, mode_adjust): Reflect the new signatures noted above.
53521         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53522         that might redefine system include files.
53523         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53524         (my_usleep): Use NULL rather than (void *) 0.
53525         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53526         Use siginterrupt to specify that system calls should be interrupted.
53527         (rpl_nanosleep): Move initialization of suspended closer to call of
53528         my_usleep.
53529         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53530         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53531         (desirable_utmp_entry): New function.
53532         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53533         using x2nrealloc, to simplify logic.
53534         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53535         size calculation.  Do not assume utmp file is a regular file.
53536         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53537         (READ_UTMP_CHECK_PIDS): New constant.
53538         * lib/save-cwd.c: Include unistd-safer.h.
53539         (save_cwd): Use fd_safer.
53540         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53541         [!_LIBC] Include "stat-macros.h" instead.
53542         * lib/unistd-safer.h (fd_safer): New decl.
53543
53544 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53545
53546         * modules/getloadavg (Depends-on): Add unistd-safer.
53547         * modules/getusershell (Depends-on): Add stdio-safer.
53548         * modules/lstat (Depends-on): Remove xalloc.
53549         * modules/mkstemp (Depends-on): Add stat-macros.
53550         * modules/modechange (Depends-on): Remove xstrtol.
53551         Add stat-macros, xalloc.
53552         * modules/save-cwd (Depends-on): Add unistd-safer.
53553         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53554         * modules/unistd-safer (Files): Add lib/fd-safer.c
53555         (Makefile.am): Remove lib_SOURCES.
53556
53557         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53558         Remove fcntl-safer; unistd-safer supersedes it.
53559
53560 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53561
53562         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53563         AC_HEADER_STAT.
53564         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53565         (gl_PREREQ_CHOWN): Remove.
53566         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53567         it.  Don't require AC_HEADER_STAT.
53568         (gl_PREREQ_LSTAT): Remove.
53569         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53570         Don't require AC_HEADER_STAT.
53571         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53572         (gl_PREREQ_RMDIR): Remove.
53573         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53574         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53575         the stat-macros module a prerequisite.
53576         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53577         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53578         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53579         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53580         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53581         variable names.
53582         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53583         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53584         variable prefixes.
53585         * m4/fcntl-safer.m4: Remove.
53586         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53587         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53588         Invoke gl_PREREQ_FD_SAFER.
53589         (gl_PREREQ_FD_SAFER): New macro.
53590         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53591         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53592         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53593         Remove duplicate call to AC_LIBOBJ(readutmp).
53594         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53595
53596         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53597         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53598
53599 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53600
53601         * MODULES.html.sh (Misc): Add byteswap.
53602
53603 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53604
53605         * modules/getcwd (Depends-on): Add extensions.
53606         * modules/openat (Depends-on): Likewise.
53607
53608 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53609
53610         * modules/byteswap: New file.
53611
53612 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53613
53614         * m4/byteswap.m4: New file.
53615
53616 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53617
53618         * lib/byteswap_.h: New file.
53619
53620 2005-04-25  Karl Berry  <karl@gnu.org>
53621
53622         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53623
53624 2005-04-25  Albert Chin  <china@thewrittenword.com>
53625
53626         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53627         Toolkit C bug.
53628
53629 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53630
53631         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53632         (func_ln_if_changed) Remove forcibly for no error message
53633         in case file does not exist.
53634
53635 2005-04-19  Simon Josefsson  <jas@extundo.com>
53636
53637         * gnulib-tool (Options): Make --symlink mean --symbolic.
53638
53639 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53640
53641         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53642
53643 2005-04-16  Simon Josefsson  <jas@extundo.com>
53644
53645         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53646
53647 2005-04-15  Simon Josefsson  <jas@extundo.com>
53648
53649         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53650
53651 2005-04-15  Simon Josefsson  <jas@extundo.com>
53652
53653         * gnulib-tool: Rename --symlink to --symbolic.
53654
53655 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53656
53657         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53658         symbolic links to files instead of copying/moving.  Add --aux-dir,
53659         specifying directory relative --dir where auxiliary build tools
53660         are placed.
53661
53662 2005-04-14  Bruno Haible  <bruno@clisp.org>
53663
53664         * modules/allocsa (License): Change to LGPL.
53665         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53666
53667 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53668
53669         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53670         that "UTC +1 second" continues to work.  Problem reported
53671         by Dmitry V. Levin.
53672         (relunit_snumber): New rule.
53673         (relunit): Use it.
53674
53675 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53676
53677         * lib/getdate.y (universal_time_zone_table): New constant.
53678         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53679         universal_time_zone_table.
53680         (lookup_zone): Prefer universal_time_zone_table to
53681         local_time_zone_table, so that "GMT" time stamps are allowed in
53682         London during the summer.  Problem reported by Ian Abbott.
53683
53684 2005-04-12  Jim Meyering  <jim@meyering.net>
53685
53686         * lib/human.c (humblock): Set *options even when returning due to
53687         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53688         warning from gcc-4.
53689
53690 2005-04-09  Jim Meyering  <jim@meyering.net>
53691
53692         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53693         -Wuninitialized: initialize tm0.tm_year.
53694
53695 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53696
53697         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53698         count, since there's no maximum.  All uses changed.
53699         Add member dsts_seen.
53700         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53701         not being INT_MAX.
53702         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53703         Use pc_rels_seen to decide whther a date is absolute.
53704
53705         * lib/getdate.y (number): Don't overwrite year.
53706         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53707         check.
53708
53709 2005-04-02  Simon Josefsson  <jas@extundo.com>
53710
53711         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53712         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53713
53714 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53715
53716         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53717         where no absolute path name can be longer than PATH_MAX.
53718
53719 2005-03-27  Jim Meyering  <jim@meyering.net>
53720
53721         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53722
53723 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53724
53725         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53726         "one's complement" -> "ones' complement" in comment, as per Knuth.
53727         "value of type" -> "type or expression" in comment.
53728         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53729
53730 2005-03-26  Jim Meyering  <jim@meyering.net>
53731
53732         Comment nits.
53733         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53734         Correct typos: s/or/of/.
53735
53736 2005-03-26  Jim Meyering  <jim@meyering.net>
53737
53738         * modules/check-include-files: Move to ../ and rename to...
53739         * check-module: ...this.
53740
53741 2005-03-25  Jim Meyering  <jim@meyering.net>
53742
53743         * modules/xvasprintf (Files): Add xalloc.h.
53744
53745 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53746
53747         * modules/gettext (Files): config/config.rpath ->
53748         build-aux/config.rpath
53749         * modules/iconv (Files): Likewise.
53750         Problem reported by Oskar Liljeblad.
53751
53752 2005-03-23  Jim Meyering  <jim@meyering.net>
53753
53754         * modules/check-include-files: New script to check for
53755         missing dependencies, multiple includes, etc.
53756
53757         * modules/c-strtold (Depends-on): Add xalloc.
53758         * modules/c-strtod (Depends-on): Add xalloc.
53759         * modules/hash (Depends-on): Add xalloc.
53760         (Files): Remove lib/xalloc.h.
53761
53762         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53763         * modules/userspec (Files): Add lib/inttostr.h.
53764
53765 2005-03-23  Jim Meyering  <jim@meyering.net>
53766
53767         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53768
53769 2005-03-22  Jim Meyering  <jim@meyering.net>
53770
53771         * modules/stat-macros: New module.
53772         * modules/canonicalize, modules/euidaccess, modules/file-type,
53773         * modules/filemode, modules/lchown, modules/makepath,
53774         * modules/rmdir, modules/stat: Depend on new stat-macros module
53775         rather than listing lib/stat-macros.h manually.
53776         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53777
53778 2005-03-22  Jim Meyering  <jim@meyering.net>
53779
53780         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53781
53782 2005-03-22  Bruno Haible  <bruno@clisp.org>
53783
53784         * config/srclist.txt: Replace target directory 'config' with
53785         'build-aux'.
53786         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53787         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53788         ../build-aux/.
53789
53790 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53791
53792         * modules/chdir-long (Depends-on): Add mempcpy.
53793
53794         * modules/acl, modules/backupfile, modules/c-strtod,
53795         modules/c-strtold, modules/canon-host, modules/canonicalize,
53796         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53797         modules/exclude, modules/exitfail, modules/file-type,
53798         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53799         modules/getdate, modules/getline, modules/getpagesize,
53800         modules/getpass, modules/getugroups, modules/group-member,
53801         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53802         modules/inttostr, modules/long-options, modules/makepath,
53803         modules/md5, modules/memcasecmp, modules/memcoll,
53804         modules/modechange, modules/mountlist, modules/path-concat,
53805         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53806         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53807         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53808         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53809         modules/strftime, modules/strndup, modules/strverscmp,
53810         modules/timespec, modules/unlocked-io, modules/userspec,
53811         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53812         modules/yesno:
53813         Remove lib_SOURCES line from Makefile.am section, as this is now
53814         done automatically by the corresponding Autoconf macro.
53815
53816 2005-03-21  Jim Meyering  <jim@meyering.net>
53817
53818         Changes imported from coreutils.
53819
53820         * lib/cycle-check.c: Don't include xalloc.h.
53821
53822         * lib/path-concat.c: Don't include assert.h.
53823         (path_concat): Remove assertion that would have triggered
53824         for ABASE starting with more than one slash.
53825         Reported by Andreas Schwab.
53826
53827         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53828         properly when ABASE is an absolute file name.
53829         Correct the description of this function.
53830         Include <assert.h>.
53831         Add an assertion and a test driver.
53832         This fixes a bug introduced on 2004-07-02.
53833         Andreas Schwab reported the resulting failure of cp --parents:
53834         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53835
53836 2005-03-21  Jim Meyering  <jim@meyering.net>
53837
53838         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53839         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53840
53841 2005-03-21  Jim Meyering  <jim@meyering.net>
53842         and  Paul Eggert  <eggert@cs.ucla.edu>
53843
53844         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53845         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53846         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53847         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53848         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53849         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53850         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53851         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53852         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53853         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53854         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53855         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53856         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53857         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53858         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53859         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53860         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53861         for these modules.
53862
53863 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53864
53865         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53866         (which shouldn't happen), generate nothing instead of returning 0
53867         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53868
53869 2005-03-16  Bruno Haible  <bruno@clisp.org>
53870
53871         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53872         HAVE_LONGLONG_64BIT.
53873
53874 2005-03-16  Bruno Haible  <bruno@clisp.org>
53875
53876         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53877         HAVE_LONGLONG_64BIT.
53878
53879 2005-03-16  Bruno Haible  <bruno@clisp.org>
53880
53881         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53882         HAVE_LONGLONG_64BIT.
53883
53884 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53885
53886         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53887         reliably distinguish strftime failure from empty output on POSIX
53888         hosts.
53889
53890 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53891
53892         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53893         (iconv_string): Don't guess a size-zero buffer, as that might cause
53894         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53895         result would be 'too large', where 'too large' is (heuristically)
53896         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53897         overflow concerns.  This will prevent some unwanted malloc failures
53898         when the inputs are very large.
53899
53900 2005-03-15  Karl Berry  <karl@gnu.org>
53901
53902         * config/srclist.txt (config.rpath): from gettext.
53903         * config/config.rpath: update.
53904
53905 2005-03-15  Bruno Haible  <bruno@clisp.org>
53906
53907         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
53908         to 'negate'.
53909
53910         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
53911         variable.
53912
53913         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
53914         results.
53915
53916 2005-03-14  Simon Josefsson  <jas@extundo.com>
53917
53918         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
53919         <fx@gnu.org>.
53920
53921 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
53922
53923         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
53924         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
53925         intprops.h.
53926         * lib/strtol.c: Likewise.
53927
53928 2005-03-14  Jim Meyering  <jim@meyering.net>
53929
53930         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
53931         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
53932         to be nonzero so that we (and caller) can detect the difference
53933         between a valid zero-length expansion and an error return, even
53934         when the underlying strftime fails before writing anything into
53935         that location.
53936
53937 2005-03-14  Bruno Haible  <bruno@clisp.org>
53938
53939         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
53940         Update from GNU gettext 0.14.3.
53941
53942 2005-03-10  Jim Meyering  <jim@meyering.net>
53943
53944         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
53945
53946 2005-03-10  Jim Meyering  <jim@meyering.net>
53947
53948         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
53949         so that this module works on systems without fchdir.
53950
53951 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53952
53953         Factor int-properties macros into a single file, except for
53954         glibc-related files.
53955         * lib/intprops.h: New file.
53956         * lib/getloadavg.c: Include it instead of limits.h.
53957         (INT_STRLEN_BOUND): Remove.
53958         * lib/human.c: Include intprops.h.
53959         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
53960         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
53961         302/1000.
53962         * lib/inttostr.h: Include intprops.h instead of limits.h.
53963         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
53964         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
53965         for consistency with intprops.h.
53966         (time_t_is_integer, twos_complement_arithmetic): Use them.
53967         * lib/sig2str.h: Include <signal.h>, intprops.h.
53968         (INT_STRLEN_BOUND): Remove.
53969         * lib/strftime.c (TYPE_SIGNED): Remove.
53970         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
53971         * lib/strtol.c: Adjust comments to match intprops.h.
53972         * lib/userspec.c: Include intprops.h.
53973         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
53974         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
53975         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
53976         instead of rolling our own expressions.
53977         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
53978
53979         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
53980         instead of int.
53981         (my_strftime): Do not mishandle years close to INT_MAX, by doing
53982         the right thing even if adding 1900 would overflow.  Similarly
53983         for tm_mon + 1 and tm_yday + 1.
53984         Make %Y always equivalent to %C%y, and similarly for %G and %g.
53985         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
53986         (DO_SIGNED_NUMBER): New macro.
53987         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
53988
53989 2005-03-07  Bruno Haible  <bruno@clisp.org>
53990
53991         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
53992
53993 2005-03-07  Bruno Haible  <bruno@clisp.org>
53994
53995         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
53996
53997 2005-03-04  Derek R. Price  <derek@ximbiot.com>
53998
53999         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
54000         (func_import): Only replace files via --import when they have actually
54001         changed.
54002
54003 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54004
54005         * m4/mmap-anon.m4: New file.
54006         * m4/pagealign_alloc.m4: New file.
54007
54008 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54009             Bruno Haible  <bruno@clisp.org>
54010
54011         * modules/pagealign_alloc: New file.
54012         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
54013
54014 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54015             Bruno Haible  <bruno@clisp.org>
54016
54017         * lib/pagealign_alloc.h: New file.
54018         * lib/pagealign_alloc.c: New file.
54019
54020 2005-03-03  Bruno Haible  <bruno@clisp.org>
54021
54022         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
54023         Use an all-permissive copyright notice, recommended by RMS.
54024
54025 2005-03-02  Bruno Haible  <bruno@clisp.org>
54026
54027         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
54028         of AIX, the replacement has to be done only after <string.h> is
54029         included, therefore not in config.h. stpncpy.h does the replacement,
54030         and stpncpy.c uses it.
54031
54032 2005-03-02  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
54035         stpncpy.c uses it.
54036
54037 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54038
54039         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
54040         The workaround isn't strictly needed for POSIX conformance, and
54041         it's too much of a pain to configure and maintain.  We'll ask
54042         people to fix their kernels instead.
54043         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
54044         (NANOSLEEP_BUG_WORKAROUND): Remove.
54045         (xnanosleep): Remove the workaround.
54046
54047 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54048
54049         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
54050         Reported by Derek Price.
54051         (Include): Add "timespec.h".
54052
54053         * modules/xnanosleep (Depends-on): Remove gethrxtime.
54054
54055 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54056
54057         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
54058         to detect nanosleep bug.
54059
54060 2005-03-01  Bruno Haible  <bruno@clisp.org>
54061
54062         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
54063
54064 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54065
54066         * modules/gethrxtime: New file.
54067         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
54068         (Depends-on): Add gethrxtime.
54069         (configure.ac): Add gl_XNANOSLEEP.
54070         (Makefile.am): Remove lib_SOURCES line.
54071
54072 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54073
54074         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
54075         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
54076
54077 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54078
54079         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
54080         * lib/timespec.h (gettime): Return void, since it always
54081         succeeds now.  All uses changed.
54082         * lib/gettime.c (gettime) Likewise.
54083         [HAVE_NANOTIME]: Prefer nanotime.
54084         Assume gettimeofday succeeds, as POSIX requires.
54085         Assime time () succeeds, since other code already does.
54086         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
54087         (timespec_subtract): Remove.
54088         (NANOSLEEP_BUG_WORKAROUND): New constant.
54089         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
54090         things considerably.  Use it only on GNU/Linux hosts, since the
54091         workaround shouldn't be needed elsewhere.
54092
54093 2005-02-24  Bruno Haible  <bruno@clisp.org>
54094
54095         * modules/gettext (Files): Add m4/glibc2.m4.
54096
54097 2005-02-24  Bruno Haible  <bruno@clisp.org>
54098
54099         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
54100         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
54101         * m4/progtest.m4:
54102         Update from GNU gettext 0.14.2.
54103         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
54104
54105 2005-02-24  Bruno Haible  <bruno@clisp.org>
54106
54107         * lib/localcharset.c: Update from GNU gettext 0.14.2.
54108         * lib/config.charset: Update from GNU gettext 0.14.2.
54109
54110 2005-02-24  Bruno Haible  <bruno@clisp.org>
54111
54112         * lib/gettext.h: Update from GNU gettext 0.14.2.
54113
54114 2005-02-23  Simon Josefsson  <jas@extundo.com>
54115
54116         * m4/iconvme.m4: New file.
54117
54118 2005-02-23  Jim Meyering  <jim@meyering.net>
54119
54120         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
54121         change.
54122         Thanks to Bruno Haible for catching it.
54123
54124 2005-02-22  Simon Josefsson  <jas@extundo.com>
54125
54126         * modules/iconvme: New file.
54127
54128         * MODULES.html.sh: Add iconvme.
54129
54130 2005-02-22  Simon Josefsson  <jas@extundo.com>
54131
54132         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
54133
54134 2005-02-22  Simon Josefsson  <jas@extundo.com>
54135
54136         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
54137
54138 2005-02-22  Jim Meyering  <jim@meyering.net>
54139
54140         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
54141         s/ifndef/ifdef/.
54142
54143 2005-02-20  Neil Conway  <neilc@samurai.com>
54144
54145         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
54146         returned by OSX/Darwin if the specified buffer is not large
54147         enough for the hostname.
54148
54149 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54150
54151         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
54152         pass it to _help, otherwise the latter coredumps trying to
54153         dereference state.root_argp.
54154
54155 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54156
54157         * modules/chdir-long (Depends-on): Add memrchr.
54158         * modules/memrchr (Files): Add lib/memrchr.h.
54159         (Include): "memrchr.h".
54160
54161 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54162
54163         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
54164
54165 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54166
54167         * lib/memrchr.h: New file.
54168         * lib/chdir-long.c: Include it.
54169         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
54170         Don't bother including stddef.h.
54171
54172 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54173
54174         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
54175         inclusion.
54176         Include <sys/types.h>, for dev_t.
54177         (ME_DUMMY, ME_REMOTE): Move from here....
54178         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
54179         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
54180         Dmitry V. Levin.
54181         Include mountlist.h first, to test the interface.
54182
54183 2005-01-29  Bruno Haible  <bruno@clisp.org>
54184
54185         * lib/progname.c (program_name): Initialize.
54186         Needed when linking statically on MacOS X.
54187
54188 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54189
54190         Sync from coreutils.
54191         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
54192         (Depends-on): Add c-strtod.
54193         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
54194
54195 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54196
54197         Sync from coreutils.
54198         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
54199
54200         Remove files that are specific to coreutils.
54201         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
54202
54203 2005-01-28  Bruno Haible  <bruno@clisp.org>
54204
54205         * modules/javacomp: New file.
54206         * MODULES.html.sh (Java): Add javacomp.
54207
54208 2005-01-28  Bruno Haible  <bruno@clisp.org>
54209
54210         * m4/javacomp.m4: New file, from GNU gettext.
54211
54212 2005-01-28  Bruno Haible  <bruno@clisp.org>
54213
54214         * lib/javacomp.sh.in: New file, from GNU gettext.
54215         * lib/javacomp.h: New file, from GNU gettext.
54216         * lib/javacomp.c: New file, from GNU gettext.
54217
54218 2005-01-26  Simon Josefsson  <jas@extundo.com>
54219
54220         * lib/gai_strerror.c: Use GPL in header.
54221
54222 2005-01-26  Bruno Haible  <bruno@clisp.org>
54223
54224         * modules/javaexec: New file.
54225         * MODULES.html.sh (Java): Add javaexec.
54226
54227 2005-01-26  Bruno Haible  <bruno@clisp.org>
54228
54229         * m4/javaexec.m4: New file, from GNU gettext.
54230
54231 2005-01-26  Bruno Haible  <bruno@clisp.org>
54232
54233         * lib/javaexec.sh.in: New file, from GNU gettext.
54234         * lib/javaexec.h: New file, from GNU gettext.
54235         * lib/javaexec.c: New file, from GNU gettext.
54236
54237 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54238
54239         * modules/lchown (Depends-on): Remove lchown.h
54240
54241 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54242
54243         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54244         must be defined if the header file was not found, in order
54245         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54246
54247 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54248
54249         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54250         initializers for struct pentry_state.
54251         (__argp_error): Check return value of __asprintf
54252         (__argp_failure): Translate error message
54253
54254         * lib/argp-parse.c: Removed braces around the expansion of N_()
54255
54256 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54257
54258         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54259         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54260         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54261         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54262         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54263         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54264         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54265         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54266         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54267         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54268         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54269         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54270         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54271         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54272         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54273         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54274         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54275         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54276         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54277         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54278         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54279         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54280         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54281         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54282         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54283         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54284         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54285         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54286         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54287         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54288         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54289         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54290         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54291         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54292         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54293         Use an all-permissive copyright notice, recommended by RMS.
54294
54295 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54296
54297         * modules/chdir-long (Depends-on): Remove mempcpy.
54298
54299 2005-01-21  Jim Meyering  <jim@meyering.net>
54300
54301         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54302         same value as for Solaris 9.
54303
54304         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54305         component length.  This included changing the parameter to be
54306         of type `char *' rather than `char const *'.
54307         * lib/chdir-long.h (chdir_long): Update prototype.
54308
54309         * lib/openat.c (fdopendir, fstatat): New functions.
54310         * lib/openat.h: Include headers required for use of DIR and struct
54311         stat.
54312         [AT_SYMLINK_NOFOLLOW]: Define.
54313         (fdopendir, fstatat): Add prototypes.
54314
54315 2005-01-21  Bruno Haible  <bruno@clisp.org>
54316
54317         * modules/classpath: New file.
54318         * MODULES.html.sh (Java): Add classpath.
54319
54320 2005-01-21  Bruno Haible  <bruno@clisp.org>
54321
54322         * lib/classpath.h: New file, from GNU gettext.
54323         * lib/classpath.c: New file, from GNU gettext.
54324
54325 2005-01-20  Simon Josefsson  <jas@extundo.com>
54326
54327         * modules/version-etc-fsf: New file.
54328
54329 2005-01-20  Simon Josefsson  <jas@extundo.com>
54330
54331         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54332         * lib/version-etc.c: Remove version_etc_copyright.
54333         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54334         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54335
54336 2005-01-20  Simon Josefsson  <jas@extundo.com>
54337
54338         * lib/base64.h (isbase64): Add.
54339
54340         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54341         using a unsigned prototype, don't inline.
54342         (base64_decode): Use it.
54343
54344 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54347         it.
54348
54349 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54350
54351         * lib/save-cwd.c (save_cwd): Remove code to support the case
54352         where fchdir is missing or flaky.
54353
54354 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54355
54356         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54357
54358 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54359
54360         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54361         AC_LIBSOURCES now does this.
54362         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54363         with new ullong_max module.
54364
54365 2005-01-19  Bruno Haible  <bruno@clisp.org>
54366
54367         * modules/sh-quote: New file.
54368         * MODULES.html.sh (Executing programs): Add sh-quote.
54369
54370 2005-01-19  Bruno Haible  <bruno@clisp.org>
54371
54372         * lib/sh-quote.h: New file, from GNU gettext.
54373         * lib/sh-quote.c: New file, from GNU gettext.
54374
54375 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54376
54377         Merge from coreutils.
54378         * m4/ullong_max.m4: New file.
54379         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54380         (gl_MACROS): Assume localeconv exists.
54381
54382 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54383
54384         Merge changes from coreutils, as described below in several
54385         changelogs dated today.
54386
54387         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54388         (O_DIRECTORY): Remove; not needed here, since "." must be
54389         a directory.  All uses removed.
54390         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54391         universal on Suns, and we also need to test for IRIX.
54392         Revamp code to use 'if' rather than '#if'.
54393         Avoid unnecessary comparison of cwd->desc to 0.
54394
54395         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54396         for known valid error numbers rather than observed invalid ones.
54397
54398 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54399
54400         * modules/ullong_max: New file.
54401
54402         * modules/chdir-long, modules/openat: New files.
54403         * modules/save-cwd (Depends-on): Depend on chdir-long.
54404         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54405
54406 2005-01-18  Jim Meyering  <jim@meyering.net>
54407
54408         Merge from coreutils.
54409         * m4/chdir-long.m4, m4/openat.m4: New files.
54410         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54411         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54412         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54413         is sane and DOES follow symlinks.  Besides, testing 20 different
54414         systems found no broken chown implementations.
54415         Prompted by a change in rsync's copy of this macro.
54416         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54417
54418         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
54419
54420         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
54421         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
54422         NULL-means-set-to-current-time semantics.
54423         Remove temporary file immediately, rather than waiting
54424         for configure's at-exit trap code to do it.
54425
54426 2005-01-18  Jim Meyering  <jim@meyering.net>
54427
54428         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54429
54430         * lib/utimens.c (futimens): Account for the fact that futimes
54431         can also fail with errno == ENOSYS or errno == ENOENT.
54432         Patch from Dmitry V. Levin.
54433
54434         Change the name of the robust chdir function from chdir to chdir_long.
54435         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
54436         (restore_cwd): Use chdir_long, not chdir.
54437         * lib/chdir-long.c: Renamed from chdir.c.
54438         * lib/chdir-long.h: Renamed from chdir.h.
54439         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
54440         Hurd.
54441
54442 2005-01-18  Bruno Haible  <bruno@clisp.org>
54443
54444         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
54445         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
54446         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
54447         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54448         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54449         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54450         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54451         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54452         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54453         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54454         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54455         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54456         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54457         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54458         Use an all-permissive copyright notice, recommended by RMS.
54459
54460 2005-01-18  Bob Proulx  <bob@proulx.com>
54461
54462         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54463         simplify offsetof() macro construct to avoid compile failure with
54464         native HP-UX 11.0 ANSI C compiler.
54465
54466 2005-01-17  Bruno Haible  <bruno@clisp.org>
54467
54468         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54469         redundant because stpncpy.m4 takes care of it.
54470
54471 2005-01-17  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54474
54475 2005-01-17  Bruno Haible  <bruno@clisp.org>
54476
54477         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54478         used.
54479
54480 2005-01-17  Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/fwriteerror.h (fwriteerror): Change specification to include
54483         fclose.
54484         * lib/fwriteerror.c: Include <stdbool.h>.
54485         (fwriteerror): At the end, close the file stream. Record whether
54486         stdout was already closed.
54487
54488 2005-01-17  Bruno Haible  <bruno@clisp.org>
54489
54490         * lib/execute.c (environ): Declare if needed.
54491         * lib/pipe.c (environ): Likewise.
54492         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54493
54494 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54495
54496         * modules/argp: Depend on vsnprintf
54497
54498 2005-01-10  Jim Meyering  <jim@meyering.net>
54499
54500         * modules/closeout (Depends-on): Add atexit.
54501
54502 2005-01-06  Bruno Haible  <bruno@clisp.org>
54503
54504         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54505
54506 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54507
54508         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54509         definitions to be after all include files, to avoid collisions.
54510         Problem reported by Bob Proulx.
54511
54512 2005-01-04  Jim Meyering  <jim@meyering.net>
54513
54514         Changes imported from coreutils.
54515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54516         as the mkstemp template, use a temporary directory and an
54517         8.3-friendly template to avoid trouble on systems like DJGPP.
54518         Reported by Juan M. Guerrero via Stepan Kasal.
54519         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54520         close. Remove the temporary directory right away, rather than waiting
54521         for configure's at-exit trap code to do it.
54522         Suggestion from Stepan Kasal.
54523
54524 2005-01-01  Simon Josefsson  <jas@extundo.com>
54525
54526         * gnulib-tool: Print #include directives when --import'ing.
54527
54528 2004-12-28  Simon Josefsson  <jas@extundo.com>
54529
54530         * tests/test-base64.c: Include required header files.  Remove
54531         unused variables.
54532
54533 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54534
54535         * modules/error (Depends-on): Remove gettext.
54536
54537 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54538
54539         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54540         not needed.  This removes a dependency on the gettext module.
54541         [defined _LIBC]: Do not include <libintl.h>; not needed.
54542
54543 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54544
54545         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54546         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54547
54548 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54549
54550         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54551         HAVE_DECL_STRTOLD.
54552
54553 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54554
54555         * modules/getdate (Depends-on): Remove alloca-opt.
54556
54557 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54558
54559         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54560
54561 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54562
54563         * lib/argp-parse.c: Include <stddef.h>.
54564         (alignof, alignto): New macros.
54565         (parser_init): Don't assume that void * is aligned sufficiently
54566         for struct option.
54567
54568         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54569         need to extend the stack.
54570         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54571         large.
54572
54573 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54574
54575         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54576
54577 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54578
54579         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54580         (2004-10-24) change.  Apparently this was a false alarm.
54581
54582         * modules/getdate: Depend on alloca-opt, not alloca.
54583
54584 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54585
54586         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54587         Remove now-obsolete comment about AIX.
54588         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54589         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54590         (YYMAXDEPTH): New macro.
54591
54592 2004-12-18  Simon Josefsson  <jas@extundo.com>
54593
54594         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54595
54596 2004-12-18  Bruno Haible  <bruno@clisp.org>
54597
54598         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54599
54600 2004-12-18  Bruno Haible  <bruno@clisp.org>
54601
54602         * lib/fatal-signal.c (fatal_signals): Make non-const.
54603         (init_fatal_signals): New function.
54604         (uninstall_handlers, install_handlers): Ignore signals that were set to
54605         SIG_IGN.
54606         (at_fatal_signal): Call init_fatal_signals.
54607         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54608         SIG_IGN.
54609         Reported by Paul Eggert.
54610
54611 2004-12-18  Bruno Haible  <bruno@clisp.org>
54612
54613         * doc/alloca.texi: New file.
54614         * doc/alloca-opt.texi: New file.
54615
54616 2004-12-17  Jim Meyering  <jim@meyering.net>
54617
54618         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54619         Otherwise, install-sh could exit with improper exit status when
54620         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54621
54622 2004-12-16  Simon Josefsson  <jas@extundo.com>
54623
54624         * tests/test-base64.c: Add license.
54625
54626 2004-12-15  Stepan Kasal  <address@hidden>
54627
54628         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54629
54630 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54631
54632         * modules/getcwd (Files): Add m4/d-ino.m4.
54633         Suggested by Mark D. Baushke.
54634
54635 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54636
54637         * lib/getdate.y (textint): New member "negative".
54638         (time_zone_hhmm): New function.
54639         Expect 14 shift-reduce conflicts, not 13.
54640         (o_colon_minutes): New rule.
54641         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54642         (yylex): Set the "negative" member of signed numbers.
54643
54644 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54645
54646         * doc/getdate.texi (Time of day items, Time zone items):
54647         Describe new formats +00:00, UTC+00:00.
54648
54649 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54650
54651         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54652         spurious "-l"s.  Problem reported by Stepan Kasal.
54653
54654 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54655
54656         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54657         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54658
54659 2004-12-04  Simon Josefsson  <jas@extundo.com>
54660
54661         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54662         Vandoorselaere <yoann@prelude-ids.org>.
54663
54664 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         Changes imported from coreutils.
54667         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54668         exist.
54669         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54670
54671 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54672
54673         Changes imported from coreutils.
54674         * lib/hard-locale.c: Assume <locale.h> exists.
54675         Include "strdup.h".
54676         (GLIBC_VERSION): New macro.
54677         (hard_locale): Assume setlocale exists.
54678         Rewrite to avoid #ifdef.
54679         Use strdup rather than malloc + strcpy.
54680         * lib/human.c: Assume <locale.h> exists.
54681         (human_readable): Assume localeconv exists.
54682
54683 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54684
54685         * modules/hard-locale (Depends-on): Add strdup.
54686
54687 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54688
54689         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54690         convert T2, not T.  (Imported from libc.)
54691
54692 2004-11-30  Simon Josefsson  <jas@extundo.com>
54693
54694         * modules/restrict (License): Change to LGPL.
54695
54696 2004-11-30  Simon Josefsson  <jas@extundo.com>
54697
54698         * m4/restrict.m4: Add copyright and copying conditions.
54699
54700 2004-11-30  Simon Josefsson  <jas@extundo.com>
54701
54702         * m4/base64.m4: New file.
54703
54704 2004-11-30  Simon Josefsson  <jas@extundo.com>
54705
54706         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54707         base64.
54708
54709         * tests/test-base64.c: New file.
54710
54711         * modules/base64: New file.
54712
54713 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54714
54715         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54716         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54717
54718         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54719
54720 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54721
54722         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54723         (__getcwd.c): Don't restore errno; glibc doesn't.
54724         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54725         first, falling back to our code only if its results look suspicious.
54726         Ensure that the resulting buffer is only as large as necessary.
54727
54728         * lib/readutmp.c: Include readutmp.h first.
54729         Include <errno.h>, since readutmp.h no longer does that.
54730         * lib/readutmp.h: Don't include <errno.h>,
54731         <sys/param.h>, <time.h>; not needed to establish interface.
54732         (errno): Remove decl.
54733         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54734         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54735         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54736
54737 2004-11-28  Simon Josefsson  <jas@extundo.com>
54738
54739         * lib/base64.h, base64.c: New file.
54740
54741 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54742
54743         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54744
54745 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54746
54747         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54748         (Depends-on): Remove pathmax, same.  Add mempcpy.
54749         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54750         (Makefile.am): Append getcwd.h to lib_SOURCES.
54751         (Include): Add getcwd.h.
54752         (Maintainer): Change from Jim Meyering to "all, glibc",
54753         since getdate now uses intended-for-glibc code.
54754         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54755         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54756
54757 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54758
54759         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54760         HP's ANSI C compiler.
54761         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54762         Declaring int functions causes warnings on some modern systems and
54763         shouldn't be needed to compile on ancient ones.
54764         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54765         defined.
54766
54767         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54768         with the following changes.
54769         (__set_errno): Parenthesize properly.
54770         Include <stdbool.h>.
54771         (MIN, MAX, MATCHING_INO): New macros.
54772         (__getcwd): Define with prototype, not K&R form.
54773         Use heuristics to allocate default buffer on stack if possible.
54774         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54775         behavior, and to avoid the PATH_MAX limit when computing
54776         ../../../../...
54777         Use MATCHING_INO to compare inode number to file.
54778         Check for arithmetic overflow in size calculations.
54779         Fix bug in reallocation of dot array that caused getcwd to fail
54780         on directories nested deeper than 75.
54781         Be more careful about saving errno on error.
54782         Do not use realloc; use only free+malloc, as this is a bit
54783         more flexible and avoids a needless copy operation.
54784         Do not inspect st_dev and st_ino for symbolic links; POSIX
54785         doesn't specify the latter.
54786         Check for closedir errors.
54787         Avoid needless casts.
54788         Use "#ifdef weak_alias" around weak_alias, to be like other
54789         glibc code.
54790         The following changes to getcwd.c have effect only when used in
54791         gnulib; they have no effect inside glibc proper.
54792         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54793         as alloca isn't used.
54794         (alloca, __alloca): Likewise.
54795         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54796         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54797         unconditionally, as gnulib assumes C89 or better.
54798         Do not include <sys/param.h>.
54799         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54800         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54801         better.
54802         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54803         Include <dirent.h> in a way that is compatible with modern Autoconf.
54804         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54805         New macros, if not already defined.
54806         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54807         Use "_LIBC", not "defined _LIBC", for consistency.
54808         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54809         a mempcpy module.
54810         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54811         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54812         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54813         credit only to Jim Meyering and adjust the copyright dates.
54814         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54815         <stdlib.h>, <unistd.h>, "pathmax.h".
54816         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54817         (INITIAL_BUFFER_SIZE): Remove.
54818         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54819
54820 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54821
54822         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54823         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54824         Use the _ONCE methods, for efficiency.
54825         Check for fcntl.h.  In test program, include <errno.h>
54826         and <fcntl.h> if available.  Remove old K&R cruft from
54827         test program.  Check for common errors in GNU/Linux,
54828         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54829         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54830         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54831         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54832         name accordingly.
54833         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54834         accommodate new getcwd.c.
54835         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54836         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54837         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54838         that's all we need now.
54839
54840 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54841
54842         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54843         argp-parse.c depends on getopt internals, that means we should
54844         always use our getopt, to be on the safe side.
54845         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54846         order not to spoil the result of an eventual previous invocation
54847         of gl_GETOPT_SUBSTITUTE.
54848
54849 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54850
54851         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54852         redefinition warnings. To avoid them, include the defines
54853         in `#if !defined __need_getopt ... #endif'. The only place
54854         where __getopt_argv_const is used is in definitions
54855         of getopt_long and getopt_long_only below, which are as well
54856         protected by `#ifndef __need_getopt'.
54857         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54858         __need_getopt after including <stdio.h> and <unistd.h> These
54859         headers might have defined it.
54860
54861 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54862
54863         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54864
54865 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54866
54867         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54868         (futimens): New function, which uses futimes if available.
54869         (futimens, utimens): Support timespec==NULL, with same semantics
54870         as utime and utimens.
54871         * lib/utimens.h (futimens): New decl.
54872
54873 2004-11-23  Jim Meyering  <jim@meyering.net>
54874
54875         * lib/getopt_.h: Remove trailing blanks.
54876
54877 2004-11-23  Jim Meyering  <jim@meyering.net>
54878
54879         * lib/__fpending.c: Add comment.
54880
54881 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54882
54883         * modules/canonicalize (Depends-on): Add xreadlink.
54884         Problem reported by James Youngman.
54885
54886 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54887
54888         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54889         New macros.
54890         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54891         optopt): Use them instead of invoking ## directly; otherwise, the
54892         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54893
54894 2004-11-19  Bruno Haible  <bruno@clisp.org>
54895
54896         * lib/strtok_r.c: Move comments from here...
54897         * lib/strtok_r.h: ... to here.
54898
54899 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54900
54901         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
54902         implementations that mishandle size_t overflow.
54903
54904 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54905
54906         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
54907         might fail.  Problem reported by Yoann Vandoorselaere.
54908         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
54909         implementations that mishandle size_t overflow.
54910
54911 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54912
54913         * modules/canon-host (Depends-on): Add strdup.
54914
54915 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54916
54917         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
54918
54919 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54920
54921         * lib/canon-host.c: Include "strdup.h".
54922         (canon_host): Use getaddrinfo if available, so that IPv6 works.
54923         Use strdup instead of malloc/strcpy to duplicate strings.
54924
54925         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
54926         (human_space_before_unit): New constant.
54927         * lib/human.c (human_readable): Support it.
54928
54929         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
54930         (xgetcwd): Set errno correctly when failing.
54931         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
54932         the failure is actually due to a PATH_MAX problem.
54933
54934         Further getopt changes to make it more likely that glibc will
54935         buy the changes back.
54936         * lib/getopt.c (POSIXLY_CORRECT): New constant.
54937         (getopt): Use it, so to preserve glibc semantic
54938         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
54939         when compiling for libc.
54940         * lib/getopt_.h (__getopt_argv_const): Bring it back.
54941         (getopt_long, getopt_long_only): Use it.
54942
54943         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54944         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
54945         (getopt): Argv is now char * const *, as per standard.
54946         (_getopt_internal_r, _getopt_internal): Argv is now char **,
54947         not char *__getopt_argv_const *.
54948         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54949         _getopt_long_only_r): Likewise.
54950         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
54951         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54952         _getopt_long_r, _getopt_long_only_r): Likewise.
54953         * lib/getopt_.h (__getopt_argv_const): Remove.
54954         (getopt): Argv is now char * const *, as per standard.
54955
54956         * lib/getdate.y (tORDINAL): New token.
54957         (day, relunit): Allow it for relative times.
54958         (relative_time_table): Use tORDINAL for ordinals.
54959
54960 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54961
54962         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
54963         Document that "second" isn't allowed as an ordinal number.
54964
54965 2004-11-16  Jim Meyering  <jim@meyering.net>
54966
54967         * modules/closeout (Depends-on): Add fpending.
54968
54969 2004-11-15  Jim Meyering  <jim@meyering.net>
54970
54971         * lib/closeout.c: Include "__fpending.h" once again.
54972         Include <stdbool.h>.
54973         (close_stdout): Don't fail just because stdout was closed initially,
54974         since some programs don't write to stdout in the normal course of
54975         operation (other than --version and --help), and we don't want this
54976         function to make e.g. `touch file >&-' fail.
54977         But do fail if it was closed and someone has tried to write to it.
54978         E.g., `printf foo >&-' must fail.
54979
54980 2004-11-13  Jim Meyering  <jim@meyering.net>
54981
54982         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
54983
54984 2004-11-12  Simon Josefsson  <jas@extundo.com>
54985
54986         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
54987         small doc fix is still pending.
54988
54989 2004-11-11  Simon Josefsson  <jas@extundo.com>
54990
54991         * modules/strtok_r: New file.
54992
54993         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54994         strtok_r.
54995
54996 2004-11-11  Simon Josefsson  <jas@extundo.com>
54997
54998         * m4/strtok_r.m4: New file.
54999
55000         * m4/getopt.m4: Replace opterr.
55001
55002 2004-11-11  Simon Josefsson  <jas@extundo.com>
55003
55004         * lib/strtok_r.h, strtok_r.c: New file.
55005
55006 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55007
55008         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
55009         of replacing opterr, getopt, etc.  This should handle the
55010         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
55011
55012 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55013
55014         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
55015         we can stop lying to compilers about the constness of argv when we
55016         are compiled outside glibc.
55017         (getopt, getopt_long, getopt_long_only): Use it.
55018         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55019         _getopt_internal, getopt): Likewise.
55020         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55021         _getopt_long_only_r): Likewise.
55022         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55023         _getopt_long_r, _getopt_long_only_r): Likewise.
55024
55025         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
55026         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
55027         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
55028         the other external symbols.
55029         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
55030         declaration, since the above renaming now works around collisions.
55031
55032 2004-11-11  Jim Meyering  <jim@meyering.net>
55033
55034         * lib/linebreak.c: Remove trailing blanks.
55035         * lib/alloca_.h: Likewise.
55036         * lib/acosl.c: Likewise.
55037         * lib/euidaccess.c: Likewise.
55038         * lib/allocsa.h: Likewise.
55039
55040 2004-11-10  Simon Josefsson  <jas@extundo.com>
55041
55042         * m4/getaddrinfo.m4: New file.
55043
55044 2004-11-10  Simon Josefsson  <jas@extundo.com>
55045
55046         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
55047
55048 2004-11-10  Simon Josefsson  <jas@extundo.com>
55049
55050         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55051         getaddrinfo.
55052
55053         * modules/getaddrinfo: New file.
55054
55055 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55056
55057         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
55058
55059 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55060
55061         * lib/mktime.c (SHR): New macro, which is a portable
55062         substitute for >> that should work even on Crays.
55063         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
55064         Problem reported by Mark D. Baushke in
55065         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
55066         * lib/getdate.y (SHR): Likewise.
55067         (tm_diff): Use it.
55068         * lib/strftime.c (SHR): Likewise.
55069         (tm_diff): Use it.
55070         * lib/quotearg.c (struct quoting_options): Use unsigned int for
55071         quote_these_too, so that right shifts are well defined.  All uses
55072         changed.
55073
55074 2004-11-10  Jim Meyering  <jim@meyering.net>
55075
55076         Ensure that no close failure goes unreported.
55077         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
55078         return early when it seems there's nothing to flush.
55079         Don't include __fpending.h.
55080
55081 2004-11-10  Jim Meyering  <jim@meyering.net>
55082
55083         * modules/closeout (Depends-on): Remove fpending.
55084
55085 2004-11-10  Jim Meyering  <jim@meyering.net>
55086
55087         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
55088
55089 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55090
55091         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
55092         gl_FUNC_STRFTIME.
55093         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
55094         and AC_REQUIRE when possible, to avoid duplicate checks.
55095         Check for <wchar.h>.
55096
55097 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
55100
55101 2004-11-09  Bruno Haible  <bruno@clisp.org>
55102
55103         * m4/sockpfaf.m4: New file.
55104
55105 2004-11-05  Bruno Haible  <bruno@clisp.org>
55106
55107         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
55108         Reported by Mark D. Baushke <mdb@cvshome.org>.
55109
55110 2004-11-04  Bruno Haible  <bruno@clisp.org>
55111
55112         2004-09-11  Bruno Haible  <bruno@clisp.org>
55113                 * allocsa.valgrind: New file.
55114         2004-02-06  Bruno Haible  <bruno@clisp.org>
55115                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
55116                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
55117                 Reported by Christopher Seip <chris.seip@hp.com>.
55118
55119 2004-11-04  Bruno Haible  <bruno@clisp.org>
55120
55121         * modules/allocsa (Files): Add lib/allocsa.valgrind.
55122         (Makefile.am): Distribute it.
55123
55124 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55125
55126         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
55127         with errno == ERANGE if the buffer is too small.
55128         Problem reported by Mark D. Baushke.
55129
55130 2004-11-03  Albert Chin  <china@thewrittenword.com>
55131             Paul Eggert  <eggert@cs.ucla.edu>
55132
55133         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
55134         equivalent, substitute $ac_type for equivalent type rather than
55135         blindly using uint32_t *always* which won't work if uint32_t is not
55136         available.  Define _UINT32_T to work around typedef of uint32_t if
55137         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
55138         2.5.1.
55139
55140 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55141
55142         * m4/jm-macros.m4: Sync from coreutils.
55143         (gl_MACROS): Check for mbrlen, for pathchk.
55144         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
55145
55146 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55147
55148         * lib/xreadlink.c (MAXSIZE): New macro.
55149         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
55150         size does not exceed MAXSIZE.  Avoid cast.
55151         As suggested by Mark D. Baushke in
55152         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
55153         if readlink fails with buffer size just under MAXSIZE, try again
55154         with MAXSIZE.
55155
55156 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55157
55158         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
55159
55160 2004-11-02  Derek R. Price  <derek@ximbiot.com>
55161         and  Paul Eggert  <eggert@cs.ucla.edu>
55162
55163         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
55164         (get_date): Overparenthesize to avoid GCC warning.
55165
55166 2004-11-02  Bruno Haible  <bruno@clisp.org>
55167
55168         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
55169         returns void.
55170
55171 2004-11-02  Bruno Haible  <bruno@clisp.org>
55172
55173         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
55174         function returns void.
55175
55176 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55177
55178         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
55179         fflush_unlocked, flockfile, funlockfile, funlockfile,
55180         fputs_unlocked, putc_unlocked.
55181
55182 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55183
55184         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55185         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
55186         already declared.
55187
55188 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55189
55190         * modules/getdate (Files): Add doc/getdate.texi.
55191         (Depends-on): Add setenv, xalloc.
55192
55193 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55194
55195         * lib/getdate.y: Add support for TZ="foo" within a date string.
55196         Fix some bugs near time_t boundaries.  Reject dates with
55197         out-of-range components, e.g., "Sept 31".
55198         Include <stdlib.h>, "setenv.h", "xalloc.h".
55199         (ISDIGIT_LOCALE): Remove; unused.
55200         Note that the TZ and time functions used here are not reentrant.
55201         (mktime_ok, get_tz): New functions.
55202         (TZBUFSIZE): New constant.
55203         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
55204         This requires that we sometimes generate our own TZ="XXX..." setting.
55205
55206 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55207
55208         * doc/getdate.texi: New file, from coreutils with modifications for
55209         the new TZ parsing.
55210
55211 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55212
55213         * lib/mktime.c (not_equal_tm): Remove redundant check.
55214
55215 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55216
55217         * modules/regex (lib_SOURCES): Add regex.c.
55218         Reported by James Youngman in
55219         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55220
55221 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55222
55223         * lib/getdate.y: Use Bison 1.875 features, and some minor
55224         code cleanups.  This change does not affect semantics.
55225         Don't include <stdlib.h>; no longer needed.
55226         Don't include unlocked-io.h; only the "#if TEST" code uses
55227         stdio, and performance isn't crucial there.
55228         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55229         Bison 1.875 features as described below.
55230         All uses of "PC." replaced by "pc->".
55231         (YYSTYPE): Add a forward declaration.
55232         (yylex, yyerror): Use full prototypes in forward decls.
55233         Use "%pure-parser" rather than obsolescent "%pure_parser".
55234         Use %parse-param and %lex-param instead of obsolescent
55235         YYPARSE_PARAM and YYLEX_PARAM.
55236         (meridian_table, month_and_day_table, time_units_table,
55237         relative_time_table, time_zone_table, military_table,
55238         lookup_zone, lookup_word, get_date):
55239         Use NULL instead of 0 where appropriate.
55240         (to_hour): Avoid abort (), to avoid a dependency on
55241         stdlib.h.
55242         (yyerror, yylex): Now accepts parser_control * arg.
55243         (main) [TEST]: Use '\0' rather than 0 for char.
55244
55245 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55246
55247         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55248
55249 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55250
55251         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55252         It's now the caller's responsibility to handle the case where
55253         !HAVE_GETPAGESIZE && !defined getpagesize.
55254
55255         * lib/mktime.c (leapyear): Arg is long int, not int.
55256
55257 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55258
55259         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55260
55261 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55262
55263         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55264         missing.  Problem reported by James Youngman.
55265
55266 2004-10-16  Simon Josefsson  <jas@extundo.com>
55267
55268         * gnulib-tool: Fix comments.  Fix parse problem.
55269         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55270
55271 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55272
55273         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55274         implementation of getopt_long.  Problem reported by Alexander Taler in:
55275         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55276
55277 2004-10-15  Bruno Haible  <bruno@clisp.org>
55278
55279         * gnulib-tool: Untabify. Initialize supplied_libname.
55280         (func_usage): More homogenous output.
55281         (func_modules_transitive_closure, func_modules_to_filelist,
55282         func_emit_lib_Makefile_am): New functions.
55283         (func_import): New function, extracted from big case statement. Use
55284         func_get_license, func_modules_transitive_closure,
55285         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55286         opt_lgpl. Don't use test -a, as it's not portable.
55287         (func_create_testdir): Use func_modules_transitive_closure,
55288         func_modules_to_filelist, func_emit_lib_Makefile_am.
55289
55290 2004-10-15  Bruno Haible  <bruno@clisp.org>
55291
55292         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55293
55294 2004-10-15  Bruno Haible  <bruno@clisp.org>
55295
55296         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55297         the portions belonging to each module.
55298         Suggested by Derek Robert Price <derek@ximbiot.com>.
55299
55300 2004-10-12  Simon Josefsson  <jas@extundo.com>
55301
55302         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55303         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55304         to real functions.
55305
55306 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55307
55308         * modules/vsnprintf: New file.
55309
55310 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55311
55312         * m4/vsnprintf.m4: New file.
55313
55314 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55315
55316         * lib/vsnprintf.h: New file.
55317         * lib/vsnprintf.c: New file.
55318
55319 2004-10-11  Bruno Haible  <bruno@clisp.org>
55320
55321         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55322         vsnprintf.
55323
55324 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55325
55326         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55327
55328 2004-10-07  Bruno Haible  <bruno@clisp.org>
55329
55330         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55331         fits into the provided buffer.
55332
55333 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55334
55335         * lib/diacrit.c, diacrit.h: Add GPL notice.
55336
55337         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55338         notice.
55339         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55340         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55341         This avoids a potential constant-folding bug.
55342
55343 2004-10-05  Bruno Haible  <bruno@clisp.org>
55344
55345         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55346         for the declaration of strsep.
55347
55348 2004-10-05  Bruno Haible  <bruno@clisp.org>
55349
55350         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55351
55352 2004-10-04  Simon Josefsson  <jas@extundo.com>
55353
55354         * modules/memmem: New file.
55355         * tests/test-memmem.c: New file.
55356         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55357
55358 2004-10-04  Simon Josefsson  <jas@extundo.com>
55359
55360         * m4/memmem.m4: New file.
55361
55362 2004-10-04  Simon Josefsson  <jas@extundo.com>
55363
55364         * lib/memmem.h: New file.
55365         * lib/memmem.c: New file, taken from glibc.
55366
55367 2004-10-04  Simon Josefsson  <jas@extundo.com>
55368
55369         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55370         '#ifdef USE_UNLOCKED_IO'.
55371
55372 2004-10-04  Simon Josefsson  <jas@extundo.com>
55373
55374         * config/srclist.txt: Add memmem from glibc.
55375
55376 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55377
55378         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55379
55380         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55381         modules/exclude, modules/getdate, modules/getline,
55382         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55383         modules/getusershell, modules/linebuffer, modules/md5,
55384         modules/mountlist, modules/posixtm, modules/readtokens,
55385         modules/readutmp, modules/regex, modules/sha1,
55386         modules/version-etc, modules/yesno:
55387         Remove dependency on unlocked-io.
55388
55389 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55390
55391         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55392
55393         * m4/unlocked-io.m4: Add copyright notice.
55394         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55395
55396 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55397
55398         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55399         * lib/xmalloc.c (xmemdup): Likewise.
55400         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55401         XFREE): Remove these long-obsolescent macros.
55402         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55403         * lib/xstrdup.c: Remove.
55404
55405         * lib/regex.c (re_comp): Cast gettext return value to char *,
55406         Problem reported by Martin Neitzel via Mark D. Baushke.
55407
55408 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55409
55410         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55411         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55412         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55413         regex.c, sha1.c, version-etc.c, yesno.c:
55414         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55415         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55416         the includer's responsibility.
55417
55418         Sync from coreutils.
55419
55420         * lib/modechange.c (mode_compile): Don't decrement a pointer that
55421         points to the start of a string, as the C Standard says the
55422         resulting behavior is undefined.
55423
55424         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
55425         simple -> simple_backups, numbered_existing ->
55426         numbered_existing_backups, numbered -> numbered_backups
55427         to avoid shadowing problems.  All uses changed.
55428         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
55429         * lib/backupfile.c (check_extension, numbered_backup):
55430         Rename locals to avoid shadowing 'basename'.
55431         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
55432         once.
55433
55434         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
55435         * lib/.cvsignore: Add getopt.h.
55436
55437 2004-10-04  Bruno Haible  <bruno@clisp.org>
55438
55439         * modules/README: New file.
55440         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
55441         not a module.
55442
55443 2004-10-02  Jim Meyering  <jim@meyering.net>
55444
55445         * lib/dirfd.h, getpagesize.h: Add copyright notice.
55446
55447 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55448
55449         * modules/strsep: New file.
55450
55451 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55452
55453         * m4/strsep.m4: New file.
55454
55455 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55456
55457         * lib/strsep.h: New file.
55458         * lib/strsep.c: New file.
55459
55460 2004-10-01  Simon Josefsson  <jas@extundo.com>
55461
55462         * lib/snprintf.c (snprintf): Handle size==0.
55463
55464 2004-10-01  Simon Josefsson  <jas@extundo.com>
55465             Bruno Haible  <bruno@clisp.org>
55466
55467         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55468         (snprintf): Declare 'args'.
55469
55470 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55471
55472         * lib/snprintf.c: Remove comments as to why each header is needed.
55473
55474 2004-10-01  Bruno Haible  <bruno@clisp.org>
55475
55476         * MODULES.html.sh: Add strsep.
55477
55478 2004-09-30  Simon Josefsson  <jas@extundo.com>
55479
55480         * modules/snprintf: New file.
55481
55482 2004-09-30  Simon Josefsson  <jas@extundo.com>
55483
55484         * m4/snprintf.m4: New file.
55485
55486 2004-09-30  Simon Josefsson  <jas@extundo.com>
55487
55488         * lib/snprintf.h, lib/snprintf.c: New files.
55489
55490 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55491
55492         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55493         (hol_entry_help): Never translate an empty string.
55494         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55495         * lib/argp.h (OPTION_NO_TRANS): New option.
55496
55497 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55498
55499         * modules/argp (Maintainer): Replace Simon Josefsson
55500         by Sergey Poznyakoff.
55501
55502 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55503
55504         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55505         changes merged back into glibc.
55506
55507 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55508
55509         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55510
55511 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55512
55513         * lib/xvasprintf.c: Include xalloc.h.
55514         (xvasprintf): Use xalloc_die, not xmalloc_die.
55515
55516 2004-09-29  Bruno Haible  <bruno@clisp.org>
55517
55518         * modules/alloca-opt: New file, derived from modules/alloca.
55519         * modules/allocsa: Depend on alloca-opt instead of alloca.
55520         * modules/setenv: Likewise.
55521         * modules/vasnprintf: Likewise.
55522         * MODULES.html.sh: Add alloca-opt.
55523
55524 2004-09-28  Simon Josefsson  <jas@extundo.com>
55525
55526         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55527         LGPL, and to replace license template from GPL to LGPL.
55528
55529 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55530
55531         * modules/dummy: Change license to LGPL.
55532
55533 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55534
55535         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55536
55537 2004-09-24  Simon Josefsson  <jas@extundo.com>
55538
55539         * modules/minmax (License): Change from GPL to LGPL.
55540
55541 2004-09-23  Simon Josefsson  <jas@extundo.com>
55542
55543         * gnulib-tool (--import): Typo.
55544
55545 2004-09-23  Simon Josefsson  <jas@extundo.com>
55546
55547         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55548
55549 2004-09-22  Bruno Haible  <bruno@clisp.org>
55550
55551         * modules/*: Add 'License' field.
55552         * gnulib-tool: Accept --extract-license option.
55553         (func_get_license): New function.
55554
55555 2004-09-21  Bruno Haible  <bruno@clisp.org>
55556
55557         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55558         Reported by Simon Josefsson.
55559
55560 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55561
55562         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55563         gl_AC_TYPE_LONG_LONG.
55564
55565 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55566
55567         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55568
55569 2004-09-18  Simon Josefsson  <jas@extundo.com>
55570         and  Paul Eggert  <eggert@cs.ucla.edu>
55571
55572         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55573         calls with autoreconf.  Define GL_LIB.
55574
55575 2004-09-14  Karl Berry  <karl@gnu.org>
55576
55577         * config/srclist.txt: unsync setenv.c, sigh.
55578
55579 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55580
55581         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55582         Problem reported by Bruno Haible in:
55583         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55584
55585 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55586
55587         * config/srclist.txt: Comment out argp-pvh.c.
55588
55589 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55590
55591         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55592         in case some system header has #define'd it.  Problem reported by
55593         Soeren D. Schulze in
55594         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55595
55596 2004-09-09  Karl Berry  <karl@gnu.org>
55597
55598         * regex.[ch]: delete from the root.  These were supposed to be
55599                 synced with emacs cvs, but this has not happened for about
55600                 a year, and anyway nothing else uses emacs regex.[ch].
55601                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55602                 lib/regex[.ch] is untouched.
55603
55604 2004-09-09  Bruno Haible  <bruno@clisp.org>
55605
55606         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55607
55608 2004-09-09  Bruno Haible  <bruno@clisp.org>
55609
55610         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55611         modifications.
55612         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55613
55614 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55615
55616         * modules/xvasprintf: New file.
55617         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55618
55619 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55620
55621         * lib/xvasprintf.h: New file.
55622         * lib/xvasprintf.c: New file.
55623         * lib/xasprintf.c: New file.
55624
55625 2004-09-08  Bruno Haible  <bruno@clisp.org>
55626
55627         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55628
55629 2004-09-08  Bruno Haible  <bruno@clisp.org>
55630
55631         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55632         length is > INT_MAX.
55633         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55634         more.
55635
55636 2004-09-08  Bruno Haible  <bruno@clisp.org>
55637
55638         * lib/stdint_.h: New file, taken from GNU clisp.
55639
55640 2004-09-08  Bruno Haible  <bruno@clisp.org>
55641             Oskar Liljeblad  <oskar@osk.mine.nu>
55642
55643         * modules/stdint: New file.
55644         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55645
55646 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55647
55648         Import from coreutils.
55649         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55650         strings on unbounded length.  alloca's performance benefits aren't
55651         that important here.
55652         (V_STRDUP): Remove.
55653         (parse_with_separator): New function, with most of the internals
55654         of the old parse_user_spec.  Allow user to omit both user and group,
55655         for compatibility with FreeBSD.
55656         Clone only the user name, not the entire spec.
55657         Do not set *uid, *gid unless entirely successful.
55658         Avoid memory leak in some failing cases.
55659         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55660         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55661         (parse_user_spec): Rewrite to use parse_with_separator.
55662
55663 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55664
55665         * modules/userspec: Don't depend on alloca.
55666
55667 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55668
55669         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55670
55671 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55672
55673         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55674         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55675         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55676
55677 2004-08-16  Simon Josefsson  <jas@extundo.com>
55678
55679         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55680         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55681         Add --dry-run for --import.
55682         Let user provided command line parameters override configure.ac
55683         settings.
55684
55685 2004-08-12  Simon Josefsson  <jas@extundo.com>
55686
55687         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55688         as discussed with Paul Eggert in threads rooted at
55689         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55690         and
55691         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55692         Before, the test was empty, and relied on ELIDE_CODE in source
55693         code.)
55694         (gl_PREREQ_GETOPT): New macro.
55695         (gl_GETOPT): Use them.
55696
55697 2004-08-12  Simon Josefsson  <jas@extundo.com>
55698
55699         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55700         * lib/getopt_.h: Renamed from getopt.h.
55701
55702 2004-08-12  Simon Josefsson  <jas@extundo.com>
55703
55704         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55705         Change default library name from libfoo to libgnu.
55706         Now, if you have a configure.ac that says:
55707                 gl_SOURCE_BASE(gl)
55708                 gl_M4_BASE(gl/m4)
55709                 gl_MODULES(error getopt etcetera)
55710                 gl_INIT
55711         you can import all you need by running:
55712                 ../gnulib/gnulib-tool --import
55713
55714         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55715         (Makefile.am): Rewrite, use logic from argz.
55716         (Include): Use <getopt.h> instead of "getopt.h".
55717
55718 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55719
55720         * modules/argp (Files): Add m4/unlocked-io.m4.
55721         (Depends-on): Add extensions.
55722
55723 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55724
55725         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55726         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55727         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55728         Check for program_invocation_name, program_invocation_short_name,
55729         flockfile, funlockfile, features.h, _getopt_long_only_r.
55730
55731 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55732
55733         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55734         its complicated substitute.
55735         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55736         and program_invocation_name.
55737         (__argp_basename) [!_LIBC]: Remove; the only use was
55738         replaced by its body.
55739         (__argp_short_program_name): Change condition from
55740         !defined __argp_short_program_name to
55741         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55742         to match argp-namefrob.h.
55743         (__argp_failure): Don't assume strerror_r returns char *.
55744         * lib/argp-parse.c (N_): Define unconditionally.
55745         (argp_default_options): Fill out initializers with 0 to avoid
55746         gcc warnings.
55747
55748 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55749
55750         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55751         getopt1.c.
55752
55753 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55754
55755         Merge from coreutils.
55756
55757         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55758
55759         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55760         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55761
55762 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55763
55764         Merge from coreutils.
55765
55766         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55767         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55768         for Reliant Unix 5.43.
55769
55770         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55771         (union fooround): Use uintmax_t, not long int.
55772         The rest is a merge from libc:
55773         [defined _LIBC]: Include <shlib-compat.h>.
55774         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55775
55776         * lib/settime.c (settime): Recode to avoid warning with
55777         Sun Forte C 6U2.
55778
55779         * lib/strverscmp.c: Convert to UTF-8.
55780
55781 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55782
55783         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55784         m4/uintmax_t.m4.
55785
55786 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55787
55788         * modules/xalloc-die: New file.
55789         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55790
55791         * modules/md5 (Files): Add m4/uint32_t.m4.
55792         * modules/sha1: Renamed from modules/sha.
55793         (Files):
55794         Rename lib/sha.h to lib/sha1.h.
55795         Rename lib/sha.c to lib/sha1.c.
55796         Rename m4/sha.m4 to m4/sha1.m4.
55797         (lib_SOURCES): Likewise.
55798         (configure.ac): Rename gl_SHA to gl_SHA1.
55799         (Include): sha.h -> sha1.h.
55800
55801 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55802
55803         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55804         * m4/sha1.m4: Renamed from sha.m4.
55805         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55806
55807 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55808
55809         * lib/obstack.h (obstack_empty_p):
55810         Don't assume that chunk->contents is suitably aligned.
55811         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55812         Likewise. Problem reported by Benno in
55813         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55814
55815         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55816         readable.  This could be improved further but it'd take some work.
55817
55818 2004-08-08  Simon Josefsson  <jas@extundo.com>
55819
55820         * modules/xgethostname (Depends-on): Remove exit and error (not
55821         used).
55822
55823         * modules/getpass-gnu: Add getpass.h.
55824         (Depends-on): Add stdbool.
55825         * modules/getpass: Add getpass.h.
55826
55827 2004-08-08  Simon Josefsson  <jas@extundo.com>
55828
55829         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55830         Check getpass declaration.
55831
55832 2004-08-08  Simon Josefsson  <jas@extundo.com>
55833
55834         * lib/xgethostname.c: Don't include error.h (not used).
55835
55836         * lib/getpass.h: Add.
55837         * lib/getpass.c: Include getpass.h first.
55838
55839 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55840
55841         * lib/xalloc-die.c: New file.
55842         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55843         All uses removed.
55844         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55845         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55846         xalloc-die.c.
55847         (_, N_, xalloc_die): Move to xalloc-die.c.
55848         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55849         so that we needn't mess with xalloc_msg_memory_exhausted.
55850
55851         * lib/sha1.h: Renamed from sha.h.
55852         (SHA1_H): Renamed from _SHA_H.
55853         (sha1_ctx): Renamed from sha_ctx.
55854         (sha1_init_ctx): Renamed from sha_init_ctx.
55855         (sha1_process_block): Renamed from sha_process_block.
55856         (sha1_process_bytes): Renamed from sha_process_bytes.
55857         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55858         (sha1_read_ctx): Renamed from sha_read_ctx.
55859         (sha1_stream): Renamed from sha_stream.
55860         (sha1_buffer): Renamed from sha_buffer.
55861         * lib/sha1.c: Likewise; renamed from sha.c.
55862         Do not include <sys/types.h>.
55863         Include <stddef.h> rather than <stdlib.h>.
55864
55865 2004-08-08  Bruno Haible  <bruno@clisp.org>
55866
55867         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55868         FILESYSTEM_PREFIX_LEN.
55869         * lib/progreloc.c: Likewise.
55870         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55871
55872 2004-08-06  Simon Josefsson  <jas@extundo.com>
55873
55874         * modules/progname (Depends-on): Don't depend on stdbool.
55875
55876 2004-08-06  Simon Josefsson  <jas@extundo.com>
55877
55878         * modules/getsubopt: New file.
55879         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55880         getsubopt.
55881
55882 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55883
55884         More merge from coreutils.
55885
55886         * m4/utimens.m4, m4/utimecmp.m4: New files.
55887         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55888         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55889         prereq.m4, sha.m4: Import changes from coreutils.
55890
55891 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55892
55893         More merge from coreutils.
55894         * modules/raise, modules/readtokens0, modules/utimens:
55895         * modules/utimecmp, module/xnanosleep: New files.
55896         * modules/strftime: Add lib/strftime.h.
55897         Change include from <time.h> to "strftime.h".
55898         * modules/yesno: Add lib/yesno.h.
55899         * modules/backupfile: Remove lib/addext.c.
55900         * modules/euidaccess: Add stat-macros.h.
55901         * modules/canonicalize, modules/euidaccess,
55902         modules/filemode, modules/lchown, modules/makepath,
55903         modules/rmdir, modules/stat: Likewise.
55904
55905 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55906
55907         Merge from tar.
55908         * lib/argp-help.c (make_hol, hol_append): Don't assume that
55909         SIZE_MAX is a valid preprocessor constant.
55910         (__argp_basename): Change from "#ifndef _LIBC"
55911         to "#ifndef __argp_short_program_name", so that
55912         we don't compile these functions for tar.
55913
55914         More merges from coreutils.
55915         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
55916         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
55917         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
55918         * lib/addext.c: Remove; no longer needed.
55919         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
55920         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
55921         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
55922         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
55923         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
55924         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
55925         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
55926         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
55927         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
55928         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55929         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
55930         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
55931         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
55932         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
55933         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
55934         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
55935         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
55936         Import changes from coreutils.
55937
55938 2004-08-05  Simon Josefsson  <jas@extundo.com>
55939
55940         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
55941
55942 2004-08-05  Simon Josefsson  <jas@extundo.com>
55943
55944         * m4/getsubopt.m4: New file.
55945
55946 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55947
55948         Merge from coreutils.
55949
55950         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
55951         * m4/getcwd-path-max.m4: New files.
55952
55953         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
55954         FILESYSTEM_PREFIX_LEN ->
55955         FILE_SYSTEM_PREFIX_LEN.
55956         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
55957         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
55958         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
55959         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
55960
55961         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
55962         prerequisite modules now handle the DOS stuff.
55963         Don't check for unistd.h.
55964
55965 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55966
55967         Merge from coreutils.
55968
55969         * lib/.gdb-history: Remove; this doesn't belong here.
55970
55971         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
55972         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
55973         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
55974         * lib/getcwd.c: New files.
55975
55976         * lib/dirname.h: Include <stdbool.h>.
55977         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
55978         for consistency with POSIX terminology.  All uses changed.
55979         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
55980         (strip_trailing_slashes): Use bool for booleans.
55981         * lib/stripslash.c (strip_trailing_slashes): Likewise.
55982
55983         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
55984         sometimes returns a positive errno value even when it succeeds.
55985         (print_errno_message) [!LIBC]: Fall back on strerror if
55986         __strerror_r fails.
55987
55988         * lib/path-concat.c (mempcpy): Don't define if a system header defines
55989         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
55990         (longest_relative_suffix): New function.
55991         (path_concat): Use it.  Assume first argument is not NULL.
55992         Port to DOS.  Omit redundant separators.
55993         Report an error instead of returning NULL.
55994         Use mempcpy instead of memcpy.
55995         (xpath_concat): Remove: not declared or used.
55996
55997         * lib/same.h: Include <stdbool.h>
55998         (same_name): Return bool, not int.
55999         * lib/same.c (same_name): Likewise.
56000         (errno): Don't declare; we assume C89 or better now.
56001
56002         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
56003         if not already defined.
56004
56005         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
56006         * lib/dup-safer.c (errno): Likewise.
56007
56008 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56009
56010         Merge from coreutils.
56011         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
56012         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
56013         * modules/path-concat: Don't depend on strdup.
56014
56015 2004-08-03  Simon Josefsson  <jas@extundo.com>
56016
56017         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
56018         * lib/progname.h: Don't include stdbool.h.
56019
56020 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56021
56022         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
56023         * MODULES.html.sh (func_all_modules): Remove fatal.
56024
56025 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56026
56027         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
56028
56029 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56030
56031         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
56032         working.
56033
56034 2004-08-02  Simon Josefsson  <jas@extundo.com>
56035
56036         * lib/getsubopt.h: New file, with comments from Bruno Haible.
56037         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
56038         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
56039
56040 2004-08-01  Simon Josefsson  <jas@extundo.com>
56041
56042         * lib/xgetdomainname.c: Include stdlib.h, for free().
56043
56044 2004-07-19  Bruno Haible  <bruno@clisp.org>
56045
56046         * MODULES.html.sh (func_all_modules): Add dummy.
56047
56048 2004-07-16  Simon Josefsson  <jas@extundo.com>
56049
56050         * modules/dummy: New file.
56051
56052 2004-07-16  Simon Josefsson  <jas@extundo.com>
56053
56054         * lib/dummy.c: New file.
56055
56056 2004-07-16  Bruno Haible  <bruno@clisp.org>
56057
56058         * lib/backupfile.h: Add extern "C" for C++.
56059         * lib/closeout.h: Likewise.
56060         * lib/copy-file.h: Likewise.
56061         * lib/findprog.h: Likewise.
56062         * lib/full-write.h: Likewise.
56063         * lib/pathname.h: Likewise.
56064         * lib/progname.h: Likewise.
56065         * lib/stpcpy.h: Likewise.
56066         * lib/stpncpy.h: Likewise.
56067         * lib/strcase.h: Likewise.
56068         * lib/strstr.h: Likewise.
56069         * lib/xalloc.h: Likewise.
56070
56071         * lib/mbswidth.h: Add extern "C" for C++.
56072         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
56073
56074 2004-07-13  Robert Millan  <robertmh@gnu.org>
56075
56076         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
56077
56078 2004-07-09  Simon Josefsson  <jas@extundo.com>
56079
56080         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
56081         failed without this.)
56082
56083 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56084
56085         * modules/chown (Files): Add lib/fchown-stub.c, since
56086         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
56087
56088 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56089
56090         * lib/fchown-stub.c: New file.
56091
56092 2004-06-24  Jim Meyering  <jim@meyering.net>
56093
56094         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
56095
56096 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56097
56098         * modules/argz: Omit "#include".
56099
56100         * MODULES.html.sh (func_all_modules): Add calloc, to match
56101         2004-06-01 addition of calloc module.
56102
56103 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56104
56105         * m4/argz.m4: New file, which is autoupdated from libtool.
56106
56107 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56108
56109         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
56110         libtool.
56111
56112 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56113
56114         * config/srclist-update: Don't insist on "USA." before the
56115         close-comment, as libtool omits the period and puts the */ on a
56116         separate line.
56117         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
56118         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
56119
56120 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
56121
56122         * modules/argz: New file.
56123         * MODULES.html.sh (func_all_modules): Add argz.
56124
56125 2004-06-12  Jim Meyering  <jim@meyering.net>
56126         and  Paul Eggert  <eggert@cs.ucla.edu>
56127
56128         * modules/hash (Files): Add lib/xalloc.h.
56129         * modules/pipe (Depends-on): Add wait-process.
56130         * modules/stat (Depends-on): Add xalloc.
56131         * modules/userspec (Files): Add lib/userspec.h.
56132         * modules/xstrto
56133
56134         Upgrade from gettext-0.13.
56135         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
56136         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
56137         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
56138
56139 2004-06-10  Jim Meyering  <jim@meyering.net>
56140
56141         * lib/calloc.c: New file.
56142
56143 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56144
56145         * lib/getdate.y (yylex): Allow space between sign and number.
56146         Problem reported by Dan Jacobson.
56147
56148 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         Merge from coreutils CVS.
56151
56152         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
56153         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
56154         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
56155         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
56156         xstrtol.m4: Fix copyright date and/or serial number.
56157
56158         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
56159         See if we need an fchown replacement.
56160         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
56161         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
56162         and use the replacement function if we detect either defect.
56163
56164         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
56165         gl_UTIMECMP.
56166
56167 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56168         and  Jim Meyering  <jim@meyering.net>
56169
56170         Merge from coreutils CVS.
56171
56172         * lib/stat-macros.h: New file, with contents from file-type.h
56173         and coreutils' system.h.
56174         * lib/file-type.c: Include "stat-macros.h".
56175         * lib/file-type.h (file_type): Move all macro definitions to new file,
56176         stat-macros.h.
56177
56178         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
56179         Wrap old code with this conditional.
56180         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
56181         function that does not dereference symlinks.
56182         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
56183
56184         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
56185         dependency problems.
56186         (xreadlink): Accept new arg SIZE, for efficiency.
56187         All decls and uses changed.
56188         * lib/xreadlink.h: Include <stddef.h>, for size_t.
56189
56190         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
56191         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
56192
56193         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
56194         sysexits.h.
56195
56196 2004-06-01  Jim Meyering  <jim@meyering.net>
56197
56198         * m4/calloc.m4: New file.
56199
56200 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
56201
56202         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
56203         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
56204         Also, fix a typo in a diagnostic.
56205
56206 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56207
56208         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56209         or AC_FUNC_REALLOC.
56210
56211 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56212
56213         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56214         macros to be defined.
56215         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56216         the allocator returns NULL because the requested size is zero.
56217
56218 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56219
56220         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56221         var.  Add comment explaining why libc still defines it.  This
56222         merges the following patch from glibc:
56223         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56224
56225 2004-05-20  Andreas Schwab  <schwab@suse.de>
56226
56227         * m4/free.m4: Replace free if it not known to work, not the other
56228         way round.
56229
56230 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56231
56232         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56233         present in glibc since revision 1.1 of this file.
56234         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56235         obstack_alignment_mask, obstack_alloc, obstack_base,
56236         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56237         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56238         obstack_grow0, obstack_init, obstack_int_grow,
56239         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56240         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56241         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56242         nonexistent functions.
56243
56244 2004-05-18  Karl Berry  <karl@gnu.org>
56245
56246         * config/srclist.txt: break link for vasnprintf.c.
56247
56248 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56249
56250         Port obstack to the AS/400, where pointers are 16 bytes wide and
56251         you cannot cast an integer to a valid pointer.  This patch is
56252         currently waiting to be integrated into glibc; see
56253         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56254
56255         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56256         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56257         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56258         (struct obstack): temp member is now a union of a pointer and
56259         an integer, instead of an integer.  All integer uses changed.
56260         This does not affect the physical layout of struct obstack,
56261         except on hosts (like the AS/400) where the size or alignment of
56262         void * is greater than that of ptrdiff_t.
56263         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56264         __STDC__)]: Store temporary in pointer member of union, not
56265         integer member.
56266         * lib/obstack.c: Include <stddef.h>, for offsetof.
56267         (struct fooalign): Remove; it doesn't need a name.
56268         (union fooround): Change double to long double, and add void *.
56269         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56270         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56271         not a macro.  Hence the values are always int; so remove all
56272         casts-to-int in uses.
56273
56274 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56275
56276         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56277         we can get this patch merged into glibc.
56278
56279 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56280             Paul Eggert  <eggert@cs.ucla.edu>
56281
56282         * m4/argp: Depend on alloca.
56283
56284 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56285             Paul Eggert  <eggert@cs.ucla.edu>
56286
56287         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56288         freecoding.
56289
56290 2004-05-17  Bruno Haible  <bruno@clisp.org>
56291
56292         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56293         precision that consists of a '.' followed by an empty digit string.
56294         Patch by Tor Lillqvist <tml@iki.fi>.
56295
56296 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56297
56298         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56299         for backward compatibility with older code.  We need our own
56300         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56301         it under some other name, and our alloca.h will define it.
56302
56303 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56304             Derek Price  <derek@ximbiot.com>
56305
56306         * lib/alloca.c: Include <alloca.h>, to get our interface.
56307         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56308         include <alloca.h> first.  Use C89 prototype for alloca; this
56309         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56310         Use #elif for simplicity, since we can assume C89 now.
56311         Don't try to source the system alloca.h since it will not be found
56312         and to prevent recursively including its replacement.
56313         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56314         * lib/regex.c: Likewise.
56315
56316 2004-05-16  Derek Price  <derek@ximbiot.com>
56317             Paul Eggert  <eggert@cs.ucla.edu>
56318
56319         getline cleanup.  This changes the getndelim2 API: both order of
56320         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56321         no delimiter).
56322
56323         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56324         interface does that.
56325         (getline): Always use getdelim, so that we don't have two
56326         copies of this code.
56327         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56328         if available.
56329         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56330         (GETNDELIM2_MAXIMUM): New macro.
56331         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56332         instead of the old practice of delim2==0.  All callers changed.
56333         Return -1 on overflow, instead of returning junk.
56334         Do not set *linesize unless allocation succeeds.
56335         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56336         that we include sys/types.h.
56337         * lib/getnline.h: Likewise.
56338         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56339         (getndelim2): Reorder arguments.
56340         * lib/getnline.c (getnline, getndelim):
56341         Don't discard the NMAX argument.
56342         (getnline): Invoke getndelim, to avoid code duplication.
56343         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56344         of (size_t) -1 by callers of the getnline family.
56345
56346 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56347
56348         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56349         Check for gettimeofday.
56350         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56351         Check for settimeofday, stime.
56352
56353 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56354
56355         * lib/nanosleep.c (suspended): Change its type from int to
56356         sig_atomic_t volatile.
56357         (first_call): Make it private to rpl_nanosleep, and have it
56358         be zero initially as that's a bit faster.
56359         (my_usleep): Round up fractional times instead of truncating them,
56360         as this is the usual meaning for 'sleep'.
56361
56362         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56363         doesn't work.
56364         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56365         (ENOSYS): Define if not defined.
56366         (settime): Fall back on stime if it exists and settimeofday fails.
56367         But don't bother with fallbacks if a method fails with errno == EPERM.
56368
56369 2004-05-11  Jim Meyering  <jim@meyering.net>
56370
56371         Prior to this change, the save_cwd caller required read access to the
56372         current directory on most systems (ones with the fchdir function).
56373
56374         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56375         fails, try write-only, and finally, resort to using xgetcwd.
56376
56377 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56378
56379         * lib/obstack.c, obstack.h: Import changes from libc.
56380
56381 2004-04-28  Bruno Haible  <bruno@clisp.org>
56382
56383         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56384         also implicitly appends .exe to executables.
56385         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56386         accepts Windows pathnames.
56387         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56388         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56389         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56390         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56391         Reported by Derek Robert Price <derek@ximbiot.com>.
56392
56393 2004-04-21  Karl Berry  <karl@gnu.org>
56394
56395         * config/srclist.txt (localcharset.c): break sync.
56396
56397 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56398
56399         * m4/host-os.m4: Add a copyright notice.
56400
56401 2004-04-20  Jim Meyering  <jim@meyering.net>
56402
56403         Change UTILS_ to gl_ in AC_DEFINE'd names.
56404         Change utils_- and jm_-prefixed variables, too.
56405         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56406         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56407         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56408
56409         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56410         Don't emit trailing blanks.
56411         Also rename jm_-prefixed variables to have gl_ prefix.
56412
56413         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56414         Also rename jm_-prefixed variables to have gl_ prefix.
56415
56416         * m4/jm-macros.m4: Reflect the renamings.
56417         * m4/prereq.m4: Likewise.
56418
56419 2004-04-20  Jim Meyering  <jim@meyering.net>
56420
56421         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
56422         memory.
56423
56424 2004-04-20  Jim Meyering  <jim@meyering.net>
56425             Bruno Haible  <bruno@clisp.org>
56426
56427         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
56428         memory when realloc fails.
56429
56430 2004-04-19  Jim Meyering  <jim@meyering.net>
56431
56432         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
56433         now that readutmp.c may call `free (0)'.
56434
56435 2004-04-19  Bruno Haible  <bruno@clisp.org>
56436
56437         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
56438         * m4/inttypes_h.m4: Likewise.
56439         * m4/stdint_h.m4: Likewise.
56440         * m4/intmax_t.m4: Likewise.
56441         * m4/uintmax_t.m4: Likewise.
56442
56443 2004-04-18  Jim Meyering  <jim@meyering.net>
56444
56445         * m4/prereq.m4: Don't forbid jm_ prefix.
56446
56447         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56448         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56449         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56450         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56451         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56452         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56453         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56454         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56455         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56456         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56457         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56458         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56459         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56460         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56461         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56462         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56463         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56464         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56465         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56466
56467 2004-04-18  Jim Meyering  <jim@meyering.net>
56468
56469         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56470         failure, don't leak memory and do call END_UTMP_ENT.
56471
56472 2004-04-16  Jim Meyering  <jim@meyering.net>
56473
56474         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56475         coreutils' stat program.
56476         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56477
56478 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56479
56480         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56481         C89.
56482         (CHAR_BIT): Remove, since we assume C89.
56483         Include <stdint.h> if available, as per current Autoconf CVS advice.
56484
56485 2004-03-31  Jim Meyering  <jim@meyering.net>
56486
56487         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56488         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56489         * m4/xalloc.m4: Likewise.
56490
56491 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56492
56493         Merge from coreutils.
56494
56495         * m4/inttostr.m4: New file.
56496         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56497         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56498         Require gl_CLOCK_TIME.
56499         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56500
56501 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56502
56503         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56504         not bool, to be more consistent with Unix conventions.
56505         Suggested by Bruno Haible.
56506
56507         Merge from coreutils.
56508
56509         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56510         * lib/umaxtostr.c: New files.
56511
56512         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56513         the usual <time.h> dance.
56514         (get_date): Change signature to support fractional time stamps.
56515         All callers changed.
56516         * lib/getdate.y: Include "getdate.h" first, as we can now
56517         assume C89 and don't need to worry about 'const'.
56518         Similarly, include "unlocked-io.h" near start, not in middle.
56519         Include <limits.h>.
56520         (textint.value): Use long int rather than int.
56521         (textint.digits): Use size_t rather than int.
56522         (BILLION, LOG10_BILLION): New constants.
56523         (parser_control): New member rel_ns.  Members day_ordinal,
56524         time_zone, month, day, hour, minutes, rel_year, rel_month,
56525         rel_day, rel_hour, rel_minutes, rel_seconds
56526         are now long int, not int.  Member seconds is now struct timespec,
56527         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56528         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56529         not int.
56530         (%union.intval): Now long int, not int.
56531         New member timespec.
56532         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56533         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56534         (spec): Now is a timespec or an item list.
56535         (timespec, items): New nonterminals.
56536         (time, rel, relunit, number, get_date):
56537         Add support for fractional seconds.
56538         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56539         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56540         (to_hour): First arg is now long int, not int.
56541         (to_year): Returns long int, not int.
56542         Don't treat year -70 like 70.
56543         (tm_diff): Returns long int, not int.
56544         (lookup_word): Use bool instead of int when appropriate.
56545         (yylex): Use size_t for count, not int.
56546         Detect overflow when parsing large integer constants.
56547         Add support for fractions.
56548         (get_date): Make pointers 'const' if possible.
56549         Use more-portable code to detect integer overflow.
56550         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56551         Don't use ctime; it's not reliable if the year has >4 digits.
56552
56553         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56554         This is for compatibility with BSD.
56555
56556         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56557         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56558         From coreutils' system.h.
56559
56560         * lib/userspec.c: Don't include "posixver.h".
56561         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56562         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56563         compatible extension.  Simplify code by removing a boolean int
56564         that was always nonzero if a string was nonnull.
56565
56566 2004-03-30  Jim Meyering  <jim@meyering.net>
56567
56568         Merge from coreutils.
56569
56570         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56571         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56572         on some systems one must include <grp.h> before it.
56573         Reported by Christian Krackowizer.
56574
56575 2004-03-30  Jim Meyering  <jim@meyering.net>
56576
56577         Merge from coreutils.
56578
56579         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56580
56581         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56582         an empty input stream.
56583
56584         * lib/readtokens.c: Include <stdbool.h>.
56585         (readtoken): Use `size_t' rather than int/long.
56586         All callers adjusted.
56587         Use `bool' rather than `int' where appropriate.
56588         Use memset rather than an explicit loop.
56589         Use x2nrealloc rather than xrealloc.
56590         Allow the use of `\0' as a delimiter.
56591         (readtokens): Likewise.
56592         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56593
56594 2004-03-30  Jim Meyering  <jim@meyering.net>
56595
56596         * m4/realloc.m4: Remove file, since now it does no more than
56597         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56598         the `configure.ac' section of module/realloc.
56599         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56600
56601 2004-03-30  Bruno Haible  <bruno@clisp.org>
56602
56603         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56604         nonnull.
56605
56606 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56607
56608         Merge changes to getloadavg.c from coreutils and Emacs.
56609
56610         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56611         Define to an expression, not to the empty string.
56612         Include cloexec.h and xalloc.h.
56613         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56614         Use set_cloexec_flag rather than rolling our own.
56615         * lib/cloexec.c, lib/cloexec.h: New files.
56616
56617 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56618
56619         * m4/cloexec.m4: New file.
56620
56621 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56622
56623         * lib/getopt.h: Sync with libc CVS.
56624
56625 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56626             Bruno Haible  <bruno@clisp.org>
56627
56628         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56629         mbswidth.
56630
56631 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56632             Bruno Haible  <bruno@clisp.org>
56633
56634         * lib/mbswidth.h: Include <wchar.h> only if
56635         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56636         <wchar.h>.
56637         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56638
56639 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56640
56641         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56642         Sync with libc CVS.
56643         * lib/getopt_int.h: New file, also synced from libc.
56644
56645 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56646
56647         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56648         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56649         Bring back getopt.c, getopt.h, getopt1.c.
56650
56651 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56652
56653         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56654         All uses changed.  Check for sa_sigaction member; this fixes
56655         a bug first reported by Jason Andrade in
56656         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56657
56658 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56659
56660         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56661         '#if' expressions.  Unlike the code it replaces, it does not
56662         depend on (defined _SC_PAGESIZE).  However, it does depend on
56663         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56664         first reported by Jason Andrade in
56665         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56666
56667 2004-02-25  Simon Josefsson  <jas@extundo.com>
56668
56669         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56670
56671 2004-02-25  Simon Josefsson  <jas@extundo.com>
56672
56673         * lib/strdup.h: New file.
56674         * lib/strdup.c: Include it.
56675         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56676         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56677
56678 2004-02-23  Karl Berry  <karl@gnu.org>
56679
56680         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56681         (from fencepost.gnu.org:/gd/gnuorg).
56682
56683 2004-02-23  Karl Berry  <karl@gnu.org>
56684
56685         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56686         * config/srclist.txt: add maintain/standards documents.
56687
56688 2004-02-18  Bruno Haible  <bruno@clisp.org>
56689
56690         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56691         Reported by Derek Robert Price <derek@ximbiot.com>.
56692
56693 2004-02-16  Karl Berry  <karl@gnu.org>
56694
56695         * config/mkinstalldirs, install-sh: update from automake.
56696
56697 2004-02-06  Karl Berry  <karl@gnu.org>
56698
56699         * m4/po.m4: update from gettext 0.14.1.
56700
56701 2004-02-06  Karl Berry  <karl@gnu.org>
56702
56703         * lib/config.charset: update from gettext 0.14.1.
56704
56705 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56706
56707         Add comments and code, prompted by suggestions from Bruno Haible
56708         for sh-quote.
56709         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56710         describing the enum quoting_style values.
56711         * lib/quotearg.c (quotearg_alloc): New function.
56712         (quotearg_buffer_restyled): Treat lone { and } as special.
56713         Treat = as special.  Work around bug with older shells
56714         that "see" a '\' that is really the 2nd byte of a multibyte char.
56715         Quote empty string with shell_quoting_style.
56716
56717 2004-02-03  Bruno Haible  <bruno@clisp.org>
56718
56719         * m4/pipe.m4: New file, from GNU gettext.
56720
56721 2004-02-03  Bruno Haible  <bruno@clisp.org>
56722
56723         * lib/pipe.h: New file, from GNU gettext.
56724         * lib/pipe.c: New file, from GNU gettext.
56725
56726 2004-01-27  Bruno Haible  <bruno@clisp.org>
56727
56728         * m4/execute.m4: New file, from GNU gettext.
56729
56730 2004-01-27  Bruno Haible  <bruno@clisp.org>
56731
56732         * lib/execute.h: New file, from GNU gettext.
56733         * lib/execute.c: New file, from GNU gettext.
56734         * lib/w32spawn.h: New file, from GNU gettext.
56735
56736 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56737
56738         Merge from diffutils.
56739
56740         * lib/file-type.c (file_type): Add typed memory objects.
56741         * lib/file-type.h (S_TYPEISTMO): New macro.
56742
56743         * lib/c-stack.h (c_stack_action): Remove argv argument.
56744         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56745         (die): Don't calculate message unless segv_action returns.
56746         (get_stack_location, min_address_from_argv, max_address_from_argv,
56747         volatile stack_base, volatile_stack_size): Remove.
56748         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56749         that every segmentation violation is a stack overflow.  (Ouch!)
56750         See Debian bug 136249 (still outstanding) for more info about why
56751         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56752
56753 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56754
56755         Exit-status fix from coreutils.
56756
56757         Use exit_failure consistently in place of EXIT_FAILURE,
56758         so that program exit statuses are consistent on failure.
56759
56760         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56761         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56762         * lib/argmatch.h: Comment fix to match the above.
56763         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56764         Now a macro referring to exit_failure, instead of a separate
56765         variable.  Include "exitfail.h" to get it.
56766         * lib/xstrtol.h: Include "exitfail.h".
56767         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56768
56769         * lib/long-options.c (parse_long_options): Use prototype
56770         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56771         for clarity.
56772
56773 2004-01-21  Jim Meyering  <jim@meyering.net>
56774
56775         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56776         so as not to conflict with a different-sized __mktime_internal
56777         function in GNU libc.
56778         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56779         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56780
56781 2004-01-20  Karl Berry  <karl@gnu.org>
56782
56783         * config/config.guess: update from config.
56784
56785         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56786
56787 2004-01-20  Bruno Haible  <bruno@clisp.org>
56788
56789         Safer stack allocation.
56790         * lib/setenv.c: Include allocsa.h.
56791         (alloca): Remove fallback definition.
56792         (freea): Remove macro.
56793         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56794         instead of freea.
56795
56796 2004-01-20  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/eealloc.m4: New file, from GNU gettext.
56799
56800 2004-01-20  Bruno Haible  <bruno@clisp.org>
56801
56802         * m4/allocsa.m4: New file, from GNU gettext.
56803
56804 2004-01-20  Bruno Haible  <bruno@clisp.org>
56805
56806         * lib/xallocsa.h: New file, from GNU gettext.
56807         * lib/xallocsa.c: New file, from GNU gettext.
56808
56809 2004-01-20  Bruno Haible  <bruno@clisp.org>
56810
56811         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56812
56813 2004-01-20  Bruno Haible  <bruno@clisp.org>
56814
56815         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56816         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56817         specially.
56818
56819 2004-01-20  Bruno Haible  <bruno@clisp.org>
56820
56821         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56822         patch.
56823
56824 2004-01-20  Bruno Haible  <bruno@clisp.org>
56825
56826         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56827
56828 2004-01-20  Bruno Haible  <bruno@clisp.org>
56829
56830         * lib/eealloc.h: New file.
56831
56832 2004-01-20  Bruno Haible  <bruno@clisp.org>
56833
56834         * lib/binary-io.h: Avoid warnings on Cygwin.
56835
56836 2004-01-20  Bruno Haible  <bruno@clisp.org>
56837
56838         * lib/allocsa.h: New file, from GNU gettext.
56839         * lib/allocsa.c: New file, from GNU gettext.
56840
56841 2004-01-18  Karl Berry  <karl@gnu.org>
56842
56843         * doc/gpl.texi, doc/lgpl.texi: new files.
56844
56845 2004-01-18  Karl Berry  <karl@gnu.org>
56846
56847         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56848         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56849
56850 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56851
56852         Merge from coreutils.
56853
56854         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56855         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56856         (gl_DEFAULT_POSIX2_VERSION): Move
56857         the documentation from 'configure' into 'config.hin',
56858         so that 'configure --help' isn't burdened by it and
56859         we don't have to worry about its formatting there.
56860         Reword the documentation so that it's more succinct
56861         and can be run together into a single paragraph.
56862         * m4/same.m4 (gl_SAME): Check for pathconf.
56863
56864 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56865
56866         Merge from coreutils.
56867
56868         * lib/posixver.c: Include posixver.h.
56869
56870         * lib/same.c: Include <stdbool.h>, <limits.h>.
56871         (_POSIX_NAME_MAX): Define if not defined.
56872         (MIN): New macro.
56873         (same_name): If file names are silently truncated, report
56874         that the file names are the same if they are the same after
56875         the silent truncation.
56876
56877         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56878         conversion function.
56879         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56880         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56881         longer needed.
56882
56883 2004-01-15  Jim Meyering  <jim@meyering.net>
56884
56885         Merge from coreutils.
56886
56887         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56888         if no library is required.
56889         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56890         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56891         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56892         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56893         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56894         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56895         value, $ac_cv_search_crypt, if it's "none required".
56896         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56897         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56898         not gl_FUNC_GETLOADAVG.
56899         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
56900         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
56901
56902 2004-01-15  Jim Meyering  <jim@meyering.net>
56903
56904         Merge from coreutils.
56905
56906         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
56907         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
56908         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
56909
56910         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
56911         optional configure-time default.
56912
56913         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56914
56915         * lib/xreadlink.c (xreadlink): Correct outdated comment.
56916
56917 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
56918
56919         Merge from coreutils.
56920
56921         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
56922         value, $ac_cv_search_nanosleep, if it's "none required".
56923
56924 2004-01-14  Paul Eggert  <eggert@twinsun.com>
56925
56926         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
56927         with like-named macro in fnmatch.c.
56928         (EXT): Use an internal constant instead.
56929
56930         Merge fnmatch patches from glibc.
56931         * lib/fnmatch.c (mbsinit): Remove define.
56932         Add libc_hidden_ver (__fnmatch, fnmatch).
56933         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
56934         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
56935
56936 2004-01-14  Karl Berry  <karl@gnu.org>
56937
56938         * config/install-sh: update from automake.
56939
56940 2004-01-13  Karl Berry  <karl@gnu.org>
56941
56942         * config/install-sh: update from automake.
56943
56944 2004-01-09  Karl Berry  <karl@gnu.org>
56945
56946         * config/install-sh: update from automake.
56947
56948 2004-01-05  Karl Berry  <karl@gnu.org>
56949
56950         * config/config.{sub,guess}: update from config.
56951
56952 2003-12-31  Karl Berry  <karl@gnu.org>
56953
56954         * config/depcomp: update from automake.
56955
56956 2003-12-14  Karl Berry  <karl@gnu.org>
56957
56958         * lib/config.charset: update from gettext-runtime.
56959
56960 2003-12-03  Paul Eggert  <eggert@twinsun.com>
56961
56962         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
56963         Bug reported by Alfred M. Szmidt.
56964
56965 2003-12-03  Bruno Haible  <bruno@clisp.org>
56966
56967         * m4/gettext.m4: Upgrade from gettext-0.13.
56968         * m4/po.m4: Upgrade from gettext-0.13.
56969         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
56970         * m4/intmax.m4: New file, from gettext-0.13.
56971         * m4/printf-posix.m4: New file, from gettext-0.13.
56972
56973 2003-11-29  Karl Berry  <karl@gnu.org>
56974
56975         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
56976
56977 2003-11-25  Paul Eggert  <eggert@twinsun.com>
56978             Bruno Haible  <bruno@clisp.org>
56979
56980         * lib/printf-parse.h: Don't include sys/types.h.
56981         (ARG_NONE): New macro.
56982         (char_directive): Change type of *arg_index fields to size_t.
56983         * lib/printf-parse.c: Don't include sys/types.h.
56984         (SSIZE_MAX): Remove macro.
56985         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
56986         Remove unnecessary overflow check.
56987         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
56988         fields.
56989
56990 2003-11-25  Bruno Haible  <bruno@clisp.org>
56991
56992         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
56993
56994 2003-11-25  Bruno Haible  <bruno@clisp.org>
56995
56996         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
56997         gt_TYPE_SSIZE_T.
56998
56999 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57000
57001         * modules/alloca: Remove dependency on xalloc.
57002
57003 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57004
57005         * lib/alloca.c: Remove dependency on xalloc module.
57006         (xalloc_die): Remove.
57007         (memory_full) [!defined emacs]: New macro.
57008         [!defined emacs]: Don't include xalloc.h.
57009         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
57010         address arithmetic overflows.  Change datatypes a bit to avoid
57011         unnecessary casts.
57012
57013 2003-11-22  Jim Meyering  <jim@meyering.net>
57014
57015         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
57016         s/size/size_t/.
57017
57018 2003-11-21  Karl Berry  <karl@gnu.org>
57019
57020         * config/config.{sub,guess}: update from config.
57021
57022 2003-11-18  Karl Berry  <karl@gnu.org>
57023
57024         * config/config.{sub,guess}: update from config.
57025
57026         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
57027
57028 2003-11-17  Paul Eggert  <eggert@twinsun.com>
57029
57030         * README: Mention that S+T cannot overflow if S is the size of
57031         an existing object and T is sufficiently small.
57032
57033 2003-11-17  Jim Meyering  <jim@meyering.net>
57034
57035         On systems without utime and without a utimes function capable of
57036         dealing with a NULL struct utimbuf* argument, this utime replacement
57037         could -- in unusual circumstances -- leak a file descriptor.
57038         * lib/utime.c: Include <unistd.h> and <errno.h>.
57039         (utime_null): Be sure to close `fd' and to preserve errno.
57040         Reported by Geoff Collyer via Arnold Robbins.
57041
57042 2003-11-17  Bruno Haible  <bruno@clisp.org>
57043
57044         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
57045         (Depends-on): Add xsize.
57046
57047 2003-11-17  Bruno Haible  <bruno@clisp.org>
57048
57049         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
57050
57051 2003-11-17  Bruno Haible  <bruno@clisp.org>
57052
57053         * lib/vasnprintf.c (alloca): Remove fallback definition.
57054         (freea): Remove definition.
57055         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
57056         Reported by Paul Eggert.
57057
57058 2003-11-16  Paul Eggert  <eggert@twinsun.com>
57059             Bruno Haible  <bruno@clisp.org>
57060
57061         Protect against address arithmetic overflow.
57062         * lib/printf-args.h: Include stddef.h.
57063         (arguments): Change type of field 'count' to size_t.
57064         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
57065         'unsigned int' where appropriate.
57066         * lib/printf-parse.h: Include sys/types.h.
57067         (char_directive): Change type of *arg_index fields to ssize_t.
57068         (char_directives): Change type of fields 'count', max_*_length to
57069         size_t.
57070         * lib/printf-parse.c: Include sys/types.h and xsize.h.
57071         (SSIZE_MAX): Define fallback value.
57072         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
57073         instead of 'int' where appropriate. Check a_allocated, d_allocated
57074         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
57075         * lib/vasnprintf.c: Include xsize.h.
57076         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
57077         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
57078         overflow. Avoid wraparound when converting a width or precision from
57079         decimal to binary.
57080
57081 2003-11-16  Bruno Haible  <bruno@clisp.org>
57082
57083         Update from GNU gettext.
57084         * lib/printf-parse.c: Generalize to it can be compiled for wide
57085         strings.
57086         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
57087         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
57088         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
57089         SNPRINTF): New macros.
57090         Don't include <alloca.h> if the file is used inside libintl.
57091         (local_wcslen): New function, for Solaris 2.5.1.
57092         (VASNPRINTF): Use it instead of wcslen.
57093
57094 2003-11-16  Bruno Haible  <bruno@clisp.org>
57095
57096         * lib/xsize.h (xmax): New function.
57097         (xsum, xsum3, xsum4): Declare as "pure" functions.
57098
57099 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57100
57101         * modules/xalloc (Files): Undo latest change, since xalloc.h
57102         no longer needs SIZE_MAX or PTRDIFF_MAX.
57103
57104 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57105
57106         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
57107         gl_PTRDIFF_MAX.
57108
57109 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57110
57111         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
57112         "return", to pacify some unknown compiler.  Problem reported
57113         by Joerg Schilling.
57114
57115 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57116
57117         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
57118         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
57119         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
57120         heuristic is just as accurate as far as we know, and it removes a
57121         dependency on size_max.m4 and ptrdiff_max.m4.
57122
57123 2003-11-11  Bruno Haible  <bruno@clisp.org>
57124
57125         * modules/xsize (Files): Add m4/size_max.m4.
57126         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
57127
57128 2003-11-11  Bruno Haible  <bruno@clisp.org>
57129
57130         * m4/size_max.m4: New file.
57131         * m4/ptrdiff_max.m4: New file.
57132         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
57133         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
57134         (gl_XALLOC): Invoke it.
57135
57136 2003-11-11  Bruno Haible  <bruno@clisp.org>
57137
57138         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
57139         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
57140         defined.
57141
57142 2003-11-10  Paul Eggert  <eggert@twinsun.com>
57143
57144         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
57145         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
57146         rejected some allocations of exactly SIZE_MAX - 2 bytes.
57147         From Bruno Haible.
57148         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
57149         not (size_t) -1, since it's defined here.
57150
57151 2003-11-09  Karl Berry  <karl@gnu.org>
57152
57153         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
57154
57155 2003-11-06  Paul Eggert  <eggert@twinsun.com>
57156
57157         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
57158         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
57159         Reject sizes of exactly SIZE_MAX bytes.
57160         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
57161         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
57162
57163 2003-11-05  Bruno Haible  <bruno@clisp.org>
57164
57165         * lib/xsize.h: Include limits.h, to avoid a possible collision with
57166         SIZE_MAX defined in <limits.h> on Solaris.
57167
57168 2003-11-04  Jim Meyering  <jim@meyering.net>
57169
57170         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
57171         variable names, rather than @VAR@.
57172         * modules/poll: Likewise.
57173
57174 2003-11-04  Bruno Haible  <bruno@clisp.org>
57175
57176         * modules/xsize: New file.
57177         * modules/linebreak: Depend on xsize.
57178         * MODULES.html.sh (func_all_modules): Add xsize.
57179
57180 2003-11-04  Bruno Haible  <bruno@clisp.org>
57181
57182         * m4/xsize.m4: New file.
57183
57184 2003-11-04  Bruno Haible  <bruno@clisp.org>
57185
57186         * lib/xsize.h: New file.
57187         * lib/linebreak.c: Include xsize.h.
57188         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
57189         argument for overflow.
57190         Suggested by Paul Eggert.
57191
57192 2003-11-03  Karl Berry  <karl@gnu.org>
57193
57194         * config/config.{guess,sub}: update from config.
57195
57196 2003-11-03  Jim Meyering  <jim@meyering.net>
57197
57198         * modules/userspec (lib_SOURCES): Add userspec.h.
57199         (Include): Add "userspec.h".
57200         Improve description.
57201
57202 2003-11-03  Jim Meyering  <jim@meyering.net>
57203
57204         * lib/userspec.c: Include "userspec.h".
57205         * lib/userspec.h: New file.
57206
57207 2003-11-03  Bruno Haible  <bruno@clisp.org>
57208
57209         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57210
57211 2003-11-03  Bruno Haible  <bruno@clisp.org>
57212
57213         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57214         available, to avoid (extremely rare) race condition.
57215         Suggested by Paul Eggert.
57216
57217 2003-11-02  Karl Berry  <karl@gnu.org>
57218
57219         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57220
57221 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57222
57223         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57224         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57225         (read_filesystem_list): Set and use me_type_malloced.
57226         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57227         whatever the type happens to be), for brevity and consistency.
57228         Check for size calculation overflow on Alphas running OSF/1.
57229
57230 2003-10-31  Jim Meyering  <jim@meyering.net>
57231
57232         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57233
57234         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57235
57236 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57237             Bruno Haible  <bruno@clisp.org>
57238
57239         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57240         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57241
57242 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57243
57244         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57245         netbsd*-gnu*.  Suggested by Robert Millan.
57246
57247 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57248
57249         * modules/group-member: Depend on stdbool.
57250
57251 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57252
57253         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57254
57255 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57256
57257         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57258         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57259         after the 'gnu' in these cases.  This fixes some bugs in the
57260         previous change, and is based on suggestions by Robert Millan.
57261
57262 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57263
57264         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57265         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57266         no longer needed.
57267         * lib/quotearg.c (quotearg_n_options): Use it.
57268         * lib/group-member.c: Include <stdbool.h>.
57269         (free_group_info): Arg is now const *; don't free arg.
57270         (get_group_info): Now returns bool and accepts struct group_info *,
57271         rather than returning a malloc'ed struct group_info *.
57272         All uses changed.  Check for overflow in internal size calculation.
57273
57274         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57275         rather than xmalloc/xrealloc.
57276         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57277         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57278         conformance bug: the old code used a pointer after freeing the
57279         storage that it addressed.
57280         * lib/hash.c (hash_initialize): Simplify the code by using
57281         xalloc_oversized rather than doing it by hand.
57282         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57283         the buffer preserved.  Use free and xmalloc instead.
57284         * lib/quotearg.c (quotearg_n_options): Likewise.
57285         Use a simpler test for size overflow.  Don't use xalloc_oversized
57286         because unsigned int might be wider than size_t (!); this suggests
57287         that we should switch from unsigned int to size_t for slot numbers.
57288
57289 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57290
57291         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57292         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57293         NetBSD kernels.  Requested by Richard Stallman.
57294
57295 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57296
57297         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57298         to allocate the returned structure.  Do not allocate a subarray,
57299         as x2nrealloc will do that.
57300         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57301         instead of xnrealloc.
57302         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57303
57304 2003-10-27  Bruno Haible  <bruno@clisp.org>
57305
57306         * lib/stdbool_.h: Better support for BeOS.
57307
57308 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57309
57310         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57311         now uses inline.
57312
57313 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57314
57315         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57316         callers that want to do their own size-overflow checking.  Include
57317         <stdbool.h>, since xalloc_oversized returns bool.
57318         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57319         to use xalloc_oversized.
57320
57321         Add two functions x2realloc, x2nrealloc, for programs that grow
57322         arrays dynamically by doubling their sizes.
57323         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57324         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57325         New functions.
57326
57327         Port to C99 semantics for 'inline' of external functions.
57328         Bug reported by Bruno Haible.
57329         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57330         with the old contents of xnmalloc.
57331         (xnmalloc, xmalloc): Use it.
57332         (xnrealloc_inline): New static inline function,
57333         with the old contents of xnrealloc.
57334         (xnrealloc, xrealloc): Use it.
57335
57336         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57337         that.
57338
57339 2003-10-26  Karl Berry  <karl@gnu.org>
57340
57341         * config/srclist.txt (COPYING.DOC): no longer available from
57342         /gd/gnuorg; don't know where the ultimate source is.
57343
57344 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57345
57346         Fix several address-calculation bugs in the hash modules,
57347         plus some minor code cleanup.
57348
57349         * lib/hash.h: Include <stdbool.h>, for bool.
57350         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57351         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57352         hash_get_n_entries, hash_get_max_bucket_length,
57353         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57354         hash_rehash): Use size_t rather than unsigned.
57355         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57356         hash_get_n_buckets_used, hash_get_n_entries,
57357         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57358         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57359         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57360         Likewise.
57361         (SIZE_MAX): Define if not defined.
57362         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57363         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57364         hash_print):
57365         Use const * when possible.
57366         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57367         (check_tuning): Fix bug: if tuning parameters were very close to
57368         0 or 1, rounding errors could have caused subscript violations.
57369         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57370         (hash_initialize): Add 'fail:' label
57371         to free table and return NULL, and use it to simplify code.
57372         Use calloc rather than clearing the storage ourself.
57373         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57374         buffer size calculations.
57375         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57376         Include <stddef.h>, for size_t.
57377         * lib/hash-pjw.c (hash_pjw): Likewise.
57378         Switch to method described by Bruno Haible.
57379         Include <limits.h>, for CHAR_BIT.
57380         (SIZE_BITS): New macro.
57381
57382 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57383
57384         * m4/getline.m4 (AM_FUNC_GETLINE):
57385         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57386         hosts.  Problem reported by Derek Robert Price in
57387         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57388         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57389         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57390
57391 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57392
57393         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57394         ceiling the allocation at NMAX bytes rather than silently
57395         discarding input bytes before NMAX is reached.  This makes
57396         a difference only if NMAX exceeds SIZE_MAX / 2.
57397
57398         * lib/obstack.c: Merge from glibc.
57399         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57400         Add libc_hidden_def (_obstack_newchunk).
57401         (_obstack_free) [! defined _LIBC]: Remove.
57402         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57403         a clone of the function body.
57404         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57405         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57406
57407         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57408         glibc.
57409         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57410         arg to memcpy.
57411
57412         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57413         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57414         Don't use lvalue casts, as GCC plans to remove support for them
57415         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57416         was also present in the non-GCC version, indicating that this
57417         code had always been buggy and had never been widely used.
57418         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
57419         Use the fast variant of each macro, rather than copying the
57420         definiens of the fast variant; that way, we'll be more likely to
57421         catch future bugs in the fast variants.
57422
57423 2003-10-20  Bruno Haible  <bruno@clisp.org>
57424
57425         * modules/wait-process: New file.
57426         * MODULES.html.sh (func_all_modules): Add wait-process.
57427
57428 2003-10-20  Bruno Haible  <bruno@clisp.org>
57429
57430         * m4/wait-process.m4: New file.
57431
57432 2003-10-20  Bruno Haible  <bruno@clisp.org>
57433
57434         * lib/wait-process.h: New file, from GNU gettext.
57435         * lib/wait-process.c: New file, from GNU gettext.
57436
57437 2003-10-19  Jim Meyering  <jim@meyering.net>
57438
57439         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
57440         HPUX 10.20.
57441
57442 2003-10-18  Karl Berry  <karl@gnu.org>
57443
57444         * config/config.guess: update from config.
57445
57446 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57447
57448         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57449         (getgroups): First arg is int, not size_t.
57450         Don't let 'free' mangle errno.
57451
57452 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57453
57454         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57455
57456 2003-10-16  Karl Berry  <karl@gnu.org>
57457
57458         * config/config.{guess,sub}: update from config.
57459
57460 2003-10-16  Jim Meyering  <jim@meyering.net>
57461
57462         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57463         memcpy.
57464
57465 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57466
57467         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57468         (SIZE_MAX): Remove.
57469         (new_exclude, add_exclude_file): Initial size no longer needs to
57470         be a power of 2.
57471         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57472         our own address arithmetic overflow checking.
57473
57474         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57475         (fnmatch): Do not alloca more than 2000 wide characters;
57476         instead, use malloc for large buffers.
57477         Check for address arithmetic overflow, and return -1
57478         with errno set to ENOMEM in that case.
57479         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57480         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57481         instead, return -1.  Check for address arithmetic overflow.
57482
57483 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57484
57485         Handle invalid suffixes and overflow independently, so that
57486         callers can treat them independently as needed.  Fix some bugs in
57487         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57488         suffix for a human-readable blocksize.  The major caller-visible
57489         change is the addition of a new
57490         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57491         that both overflow and suffix chars were found.
57492
57493         * lib/human.c (humblock): Don't check separately for invalid suffix
57494         char; that is xstrtoumax's job (now that its bug is fixed).
57495         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57496         INTMAX_MAX]: New macros.
57497         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57498         TYPE_MAXIMUM): New macros.
57499         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57500         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57501         if overflow occurs, as it's what __strtol does and it's more useful
57502         in practice.
57503         (__xstrtol): If __strtol reports some error other than ERANGE,
57504         reflect it to the caller as LONGINT_INVALID.  If it reports
57505         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57506         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57507         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57508         value.
57509         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57510         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57511         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57512         [defined UINTMAX_MAX]: New macros.
57513
57514 2003-10-14  Bruno Haible  <bruno@clisp.org>
57515
57516         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57517
57518 2003-10-14  Bruno Haible  <bruno@clisp.org>
57519
57520         * m4/sig_atomic_t: New file, from GNU gettext.
57521         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57522
57523 2003-10-14  Bruno Haible  <bruno@clisp.org>
57524
57525         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57526         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57527         Also use volatile where needed.
57528
57529 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57530
57531         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57532         Change maintainer from Bruno Haible to 'all'.
57533
57534 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57535
57536         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57537
57538 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57539
57540         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57541         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57542         and define in terms of the other primitives.
57543         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57544         (SIZE_MAX): Define if not already defined.
57545         (array_size_overflow): New function.
57546         (xalloc_die): Abort instead of exiting if 'error' returns.
57547         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57548         (xmalloc, xrealloc): Use them.
57549         (xcalloc): Check for address arithmetic overflow.
57550         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57551         a bit faster than strcpy.
57552
57553 2003-10-10  Simon Josefsson  <jas@extundo.com>
57554
57555         * modules/argp (Depends-on): Add restrict and strcase.
57556
57557 2003-10-10  Simon Josefsson  <jas@extundo.com>
57558
57559         * m4/argp.m4: Add AC_C_INLINE.
57560
57561 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57562
57563         Merge getpass from libc, plus a few fixes.
57564
57565         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57566         Include <stdbool.h>.
57567         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57568         __fsetlocking to empty.
57569         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57570         do include <bits/libc-lock.h>.
57571         Do not include <fcntl.h>; not needed.
57572         [_LIBC]: Include <wchar.h>.
57573         (NOTCANCEL_MODE): New macro.
57574         (flockfile, funlockfile) [_LIBC]: New macros.
57575         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57576         [!_LIBC]: New macros.
57577         (call_fclose): New function.
57578         (getpass): Use it.  Save tty stream separately; this simplifies the
57579         code and makes it more reliable if stdin happens to equal stdout.
57580         Invoke __fsetlocking on tty.
57581         Handle thread cancellation if needed.
57582         Namespace cleanup (use __tcgetattr, __getline).
57583         Use bool for Booleans.
57584         [USE_IN_LIBIO]: Handle wide streams.
57585         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57586         stream might go where.
57587
57588         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57589         doesn't have to include <stdio.h> before us.
57590         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57591         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57592         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57593         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57594         if not declared, so that we can use getpass.c code from libc without
57595         rewriting it.
57596         (flockfile, ftrylockfile, funlockfile): New macros.
57597
57598 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57599
57600         * modules/getpass: Depend on stdbool.
57601
57602 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57603
57604         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57605
57606 2003-10-07  Karl Berry  <karl@gnu.org>
57607
57608         * config/config.{guess,sub}: update from config.
57609
57610 2003-10-06  Jim Meyering  <jim@meyering.net>
57611             Bruno Haible  <bruno@clisp.org>
57612
57613         This lets translators provide better translations for the
57614         "Written by ..." part of --version output.
57615         * lib/version-etc.h: Include stdarg.h.
57616         (version_etc_copyright): Declare as readonly.
57617         (version_etc): Make this function variadic with a NULL-terminated list
57618         of author name strings.
57619         (version_etc_va): New declaration.
57620         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57621         (version_etc_copyright): Declare as readonly.
57622         (version_etc_va): New function. Provide a different translatable string
57623         for each possible number of authors < 10. Abbreviate when there are 10
57624         authors or more.
57625         (version_etc): Make this function variadic. Call version_etc_va.
57626         Suggestion from Gary V. Vaughan.
57627
57628         * lib/long-options.h (parse_long_options): Change prototype: the
57629         authors string is moved to the end and becomes variadic.
57630         * lib/long-options.c: Include stdarg.h.
57631         (parse_long_options): Make this function variadic, too.
57632         Call version_etc_va, not version_etc.
57633
57634 2003-10-06  Bruno Haible  <bruno@clisp.org>
57635
57636         * modules/version-etc-2: Remove file.
57637         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57638
57639 2003-10-06  Bruno Haible  <bruno@clisp.org>
57640
57641         * modules/fatal-signal: New file.
57642         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57643
57644 2003-10-06  Bruno Haible  <bruno@clisp.org>
57645
57646         * m4/fatal-signal.m4: New file.
57647         * m4/signalblocking.m4: New file, from GNU gettext.
57648
57649 2003-10-06  Bruno Haible  <bruno@clisp.org>
57650
57651         * lib/version-etc-2.h: Remove file.
57652         * lib/version-etc-2.c: Remove file.
57653
57654 2003-10-06  Bruno Haible  <bruno@clisp.org>
57655
57656         * lib/fatal-signal.h: New file, from GNU gettext.
57657         * lib/fatal-signal.c: New file, from GNU gettext.
57658
57659 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57660
57661         * README: Rework advice for preventing empty .o files.
57662         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57663         not <sys/types.h>.
57664
57665 2003-10-04  Karl Berry  <karl@gnu.org>
57666
57667         * lib/argp*: update from libc.
57668
57669 2003-10-04  Karl Berry  <karl@gnu.org>
57670
57671         * config/config.{guess,sub}: update from config.
57672
57673 2003-10-02  Bruno Haible  <bruno@clisp.org>
57674
57675         * modules/lchown (Include): Add lchown.h.
57676         * modules/time_r (Include): Use "..." syntax.
57677         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57678
57679 2003-10-01  Simon Josefsson  <jas@extundo.com>
57680
57681         * MODULES.html.sh (func_all_modules): Move gethostname from section
57682         'based on' to section 'lacking' POSIX:2001.
57683
57684 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57685
57686         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57687         to output mode on the same stream.
57688
57689 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57690
57691         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57692         Fix arg typo in previous patch.
57693
57694 2003-09-28  Jim Meyering  <jim@meyering.net>
57695
57696         * lib/error.c: Correct cpp indentation.
57697
57698 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57699
57700         * modules/free: New file.
57701
57702 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57703
57704         * m4/free.m4: New file.
57705
57706 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57707
57708         * lib/minmax.h (MIN, MAX)
57709         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57710         Omit the special code that used __typeof__, since we worry that
57711         it could be more trouble than it's worth.  See:
57712         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57713         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57714
57715         * lib/free.c: New file.
57716
57717 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57718
57719         Trivial fixes to Makefile.am parts of module listings.
57720         * modules/strstr: Append strstr.h to lib_SOURCES.
57721         * modules/strcase: Likewise, for strcase.h.
57722
57723 2003-09-27  Karl Berry  <karl@gnu.org>
57724
57725         * config/mkinstalldirs: update from automake.
57726
57727 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57728
57729         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57730         (error_tail): Do not loop, reallocating temporary buffer, since
57731         the output cannot contain more wide characters than the input
57732         contains bytes, the size must be big enough already.  This avoids
57733         one potential size overflow calculation.  Check for size overflow
57734         when calculating temporary buffer size.  Free temporary buffer
57735         when done, if it was allocated with malloc; this plugs a memory
57736         leak.  Remove casts from void * to pointers, that are no longer
57737         needed now that we're assuming C89 or better.
57738
57739         Merge error changes from glibc.
57740
57741         * lib/error.c, error.h: Update copyright notice header to match glibc.
57742         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57743         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57744         Disable cancellation while printing error.
57745         * lib/error.h: Prepend __ to parameter names.
57746
57747 2003-09-26  Jim Meyering  <jim@meyering.net>
57748
57749         * lib/error.c (error_tail): Move some declarations
57750         into inner scope where the local variables are used.
57751
57752 2003-09-26  Bruno Haible  <bruno@clisp.org>
57753
57754         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57755         stpncpy().
57756         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57757
57758 2003-09-26  Bruno Haible  <bruno@clisp.org>
57759
57760         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57761         (stpncpy): Define as alias for gnu_stpncpy.
57762         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57763
57764 2003-09-25  Simon Josefsson  <jas@extundo.com>
57765
57766         * lib/xgetdomainname.h: New file.
57767         * lib/xgetdomainname.c: New file.
57768
57769 2003-09-25  Simon Josefsson  <jas@extundo.com>
57770             Bruno Haible  <bruno@clisp.org>
57771
57772         * modules/getdomainname: New file.
57773         * modules/xgetdomainname: New file.
57774         * MODULES.html.sh (func_all_modules): Add getdomainname,
57775         xgetdomainname.
57776
57777 2003-09-25  Simon Josefsson  <jas@extundo.com>
57778             Bruno Haible  <bruno@clisp.org>
57779
57780         * m4/getdomainname.m4: New file.
57781
57782 2003-09-25  Simon Josefsson  <jas@extundo.com>
57783             Bruno Haible  <bruno@clisp.org>
57784
57785         * lib/getdomainname.h: New file.
57786         * lib/getdomainname.c: New file.
57787
57788 2003-09-25  Karl Berry  <karl@gnu.org>
57789
57790         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57791
57792 2003-09-25  Karl Berry  <karl@gnu.org>
57793
57794         * config/install-sh: update from automake.
57795
57796 2003-09-25  Bruno Haible  <bruno@clisp.org>
57797
57798         * modules/version-etc-2: New file, from modules/version-etc with
57799         modifications.
57800         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57801
57802 2003-09-25  Bruno Haible  <bruno@clisp.org>
57803
57804         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57805         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57806
57807 2003-09-24  Simon Josefsson  <jas@extundo.com>
57808
57809         * modules/xgethostname: Add xgethostname.h.
57810
57811 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57812
57813         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57814         the buffer associated with the argument.  Bug reported by
57815         Simon Josefsson.
57816
57817 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57818
57819         * README: Document assumptions that 'int' is at least 32 bits
57820         wide, that integer arithmetic is 2's complement without overflow,
57821         that there are no holes in integer values, that adding sizes of
57822         two nonoverlapping objects can't overflow, and that all-bits-zero
57823         yields scalar zero.  Fix spelling and capitalization typos.
57824
57825 2003-09-19  Karl Berry  <karl@gnu.org>
57826
57827         * lib/argp.h: update from libc.
57828
57829 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57830
57831         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57832         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57833         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57834
57835 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57836
57837         * gnulib-tool: Use "test -h", not "test -L", for portability
57838         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57839         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57840         (sed_extract_prog): Issue s commands one-by-one, rather than
57841         using \| in one s command.
57842
57843 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57844
57845         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57846         input error, instead of returning NULL the next time we are called
57847         (and therefore losing track of errno).
57848
57849 2003-09-16  Bruno Haible  <bruno@clisp.org>
57850
57851         * gnulib-tool (func_create_testdir): Warn about duplicated
57852         dependencies.
57853
57854 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57855
57856         * modules/argmatch, modules/fatal, modules/obstack,
57857         modules/xalloc, modules/xgethostname: Sort dependencies by
57858         importance, not alphabetically.
57859
57860 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57861
57862         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57863         fails, so that the caller gets the proper errno.
57864
57865         * lib/readutmp.c (read_utmp): Likewise.
57866         Check for fstat error.  Close stream and free storage
57867         when failing.
57868
57869 2003-09-14  Karl Berry  <karl@gnu.org>
57870
57871         * config/srclist.txt (strdup.c): disable for c89 changes.
57872
57873 2003-09-14  Jim Meyering  <jim@meyering.net>
57874
57875         * lib/getloadavg.c: Correct cpp indentation.
57876         * lib/strdup.c: Likewise.
57877         * lib/vasnprintf.c: Likewise.
57878
57879 2003-09-14  Bruno Haible  <bruno@clisp.org>
57880
57881         * modules/fwriteerror: New file.
57882         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57883
57884 2003-09-14  Bruno Haible  <bruno@clisp.org>
57885
57886         * lib/fwriteerror.h: New file.
57887         * lib/fwriteerror.c: New file.
57888
57889 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57890
57891         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57892         modules/xgethostname, modules/xalloc: Depend on exit.
57893
57894 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57895
57896         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57897
57898         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57899         and AC_MINIX, too, so that their extensions are available.
57900
57901         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
57902         This macro has been superseded by gl_BACKUPFILE.
57903
57904         More patches to assume C89 or better.
57905
57906         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
57907
57908         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
57909         unconditionally.
57910         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
57911         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
57912         Include <string.h>, <stdlib.h> unconditionally.
57913         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
57914         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
57915         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
57916         headers or for string.h.
57917         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
57918         or strtoul.
57919
57920         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
57921         headers.
57922         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
57923         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57924         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
57925         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
57926         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57927         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
57928         memcpy, memset.
57929         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
57930         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
57931         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
57932         strtol.
57933         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
57934         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
57935         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
57936         strtoul.
57937
57938 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57939
57940         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
57941         * lib/obstack.c [!defined _LIBC]: Likewise.
57942         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
57943         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
57944         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
57945
57946         More changes to assume C89 or better.
57947
57948         * lib/error.c (error_tail): Assume vprintf.
57949
57950         * lib/argmatch.c (getenv): Remove decl.
57951         * lib/progreloc.c (get_full_program_name): Define via prototype.
57952         * lib/setenv.c (clearenv): Likewise.
57953         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
57954         needed.
57955         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
57956         (malloc, memcpy): Remove decls.
57957         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
57958         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
57959         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57960         (memcpy): Remove macro.
57961         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
57962         (__P): Remove.  All uses removed.
57963         (PTR): Remove.  All uses changed to void *.
57964         (CHAR_BIT, NULL): Remove.
57965         (spaces, zeros, memset_space, memset_zero)
57966         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
57967         Remove.
57968         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
57969         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
57970         Define with prototype.
57971         Remove now-unnecessary prototype decl.
57972         (extra_args_spec): Assume ANSI C.  All uses changed.
57973         (extra_args_spec_iso): Remove.
57974         (my_strftime, emacs_strftimeu): Define via prototype.
57975         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
57976         unconditionally.
57977         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
57978         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
57979         (strtoul, strtol): Remove decls.
57980         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
57981         LONG_MAX): Remove.
57982         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57983         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
57984         (LOCALE_PARAM_PROTO): New macro.
57985         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
57986         (INTERNAL (strtol), strtol): Define with a prototype.
57987         (PARAMS): Remove.  All uses removed.
57988         * lib/tempname.c: Include <string.h> unconditionally.
57989         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
57990         * lib/xgethostname.c (main): Define with a prototype.
57991         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
57992         Include <stdlib.h> unconditionally.
57993         (calloc, malloc, realloc, free): Remove decls.
57994         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
57995         Include <stdlib.h> unconditionally.  Sort include file names.
57996         (strtod): Remove.
57997         (xstrtod): Define with a prototype.
57998         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
57999         (strtol, strtoul): Remove decls.
58000
58001 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58002
58003         More patches to assume C89 or better.
58004         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
58005         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
58006         string.h, memchr, STDC_HEADERS.
58007
58008 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58009
58010         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
58011         Include <stdlib.h>, <string.h> unconditionally.
58012         Remove now-unnecessary cast to char *.
58013         * lib/strnlen.c: Include <string.h> unconditionally.
58014         * lib/yesno.c (yesno): Define with a prototype.
58015
58016 2003-09-11  Bruno Haible  <bruno@clisp.org>
58017
58018         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
58019
58020 2003-09-10  Jim Meyering  <jim@meyering.net>
58021
58022         * lib/error.c: Correct indentation of cpp directives.
58023
58024 2003-09-10  Bruno Haible  <bruno@clisp.org>
58025
58026         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
58027         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
58028         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
58029         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
58030         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
58031         <stdlib.h> and <string.h> checks.
58032         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
58033         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
58034
58035 2003-09-10  Bruno Haible  <bruno@clisp.org>
58036
58037         * lib/strcspn.c: Include <string.h> unconditionally.
58038         * lib/strpbrk.c: Include <string.h> unconditionally.
58039         * lib/strstr.c: Include <string.h> unconditionally.
58040         * lib/unicodeio.c: Include <string.h> unconditionally.
58041         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
58042         * lib/unsetenv.c: Likewise.
58043         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
58044         * lib/yesno.c: Include <stdlib.h> unconditionally.
58045         (rpmatch): Add prototype.
58046
58047 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58048
58049         More patches to assume C89 or better.
58050         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
58051         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
58052         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
58053         or for string.h.
58054         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
58055         stdlib.h.
58056         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
58057         C headers.
58058         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
58059         string.h.
58060         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
58061         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
58062         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
58063         or for string.h.
58064         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
58065         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
58066         C headers.
58067         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
58068         memcpy.
58069         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
58070         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
58071         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
58072         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
58073         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
58074         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
58075         string.h, free.
58076         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
58077         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
58078         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
58079         C headers, or for string.h.
58080         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
58081         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
58082         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
58083         headers, memory.h, stdlib.h, string.h, strings.h.
58084         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
58085         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
58086         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
58087         strchr.
58088         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
58089         headers, memory.h, string.h.
58090         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
58091         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
58092         free.
58093         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
58094         headers.
58095         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
58096         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
58097         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
58098         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
58099         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
58100
58101 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58102
58103         More K&R removal.
58104
58105         * lib/acosl.c (main): Use a prototype.
58106         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
58107         tanl.c: Likewise.
58108
58109         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
58110
58111         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
58112         (getopt, etopt_long, getopt_long_only, _getopt_internal)
58113         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
58114         with a prototype.
58115         * lib/getopt.c (const): Remove macro.
58116         Include <string.h> unconditionally.
58117         (my_index): Remove; all uses changed to strchr.
58118         (strlen): Remove decl.
58119         (exchange): Remove forward decl; no longer needed.
58120         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
58121         Define with prototype.
58122         * lib/getopt1.c (const): Remove macro.
58123         (getopt_long, getopt_long_only, main): Define with prototype.
58124
58125         * lib/getugroups.c: Include <string.h> unconditionally.
58126
58127         * lib/getusershell.c: Include <stdlib.h> unconditionally.
58128         (getusershell, setusershell, endusershell, readname, main):
58129         Define with prototypes.
58130
58131         * lib/group-member.c: Include group-member.h first.
58132         Include <stdlib.h> unconditionally.
58133
58134         * lib/hard-locale.c: Include hard-locale.h first.
58135         Include <stdlib.h>, <string.h> unconditionally.
58136
58137         * lib/hash.c (free, malloc): Remove decls.
58138         Include <stdlib.h> unconditionally.
58139
58140         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
58141         (getenv): Do not declare.
58142
58143         * lib/idcache.c: Include <string.h> unconditionally.
58144
58145         * lib/long-options.c: Include long-options.h first, to test interface.
58146         Include <stdlib.h> unconditionally.
58147
58148         * lib/makepath.c: Include makepath.h first, to test interface.
58149         Include <stdlib.h> and <string.h> unconditionally.
58150
58151         * lib/linebuffer.c: Include <stdlib.h>.
58152         (free): Remove decl.
58153
58154         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
58155         stddef.h. rpl_malloc returns void *, not char *.
58156         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
58157         prototype.
58158
58159         * lib/md5.h: Include <limits.h> unconditionally.
58160         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
58161         (__P): Remove; all uses removed.
58162         * lib/md5.c: Include "md5.h" first.
58163         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
58164         md5_buffer, md5_process_bytes, md5_process_block):
58165         Define with prototypes.
58166         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
58167         * lib/sha.c: Include "sha.h" first.
58168         Include <stdlib.h>, <string.h> unconditionally.
58169
58170         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
58171         * lib/memcmp.c (__ptr_t): Likewise.
58172         * lib/memrchr.c (__ptr_t): Likewise.
58173         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
58174         Include <string.h> unconditionally.
58175         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
58176         * lib/memchr.c: Include <stdlib.h> unconditionally.
58177         * lib/memchr.c (LONG_MAX): Remove.
58178         * lib/memrchr.c (LONG_MAX): Likewise.
58179         * lib/memchr.c (__memchr): Define via a prototype.
58180         * lib/memrchr.c (__memrchr): Likewise.
58181         * lib/memcmp.c (__P): Remove, and remove all uses.
58182         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
58183         Remove forward decls; no longer needed.
58184         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
58185         Use types required by C89 in prototype.
58186
58187         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
58188         * lib/savedir.c: Likewise.
58189         * lib/mkdir.c (free): Remove decl.
58190         * lib/rmdir.c (rmdir): Define with a prototype.
58191         * lib/savedir.c: Include savedir.h first, to test interface.
58192
58193         * lib/mktime.c (STDC_HEADERS): Remove.
58194         Include <stdlib.h>, <string.h> unconditionally.
58195
58196         * lib/modechange.c: Include <stdlib.h> unconditionally.
58197         (malloc): Remove decl.
58198
58199         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
58200         (free): Remove decl.
58201
58202         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
58203         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
58204         (This type really should be intptr_t, but that's a C99ism.)
58205         (_obstack_memcpy): Remove: all uses changed to memcpy.
58206         Include <string.h> unconditionally.
58207         (struct obstack): Assume __STDC__ for types of members
58208         chunkfun, freefun, extra_arg.
58209         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58210         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58211         obstack_begin, obstack_specify_allocation,
58212         obstack_specify_allocation_with_arg, obstack_chunkfun,
58213         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58214         Remove unprototyped decls and the macros that use them.
58215         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58216         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58217         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58218         (defined __STDC__ && __STDC__)]:
58219         Remove nonprototyped code.
58220         Include <stdlib.h> unconditionally.
58221         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58222         _obstack_allocated_p, _obstack_free, obstack_free,
58223         _obstack_memory_used, print_and_abort):
58224         Define using prototypes.
58225         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58226         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58227         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58228         obstack_next_free, obstack_object_size, obstack_room) [0]:
58229         Remove unused, unprototyped code.
58230
58231         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58232
58233         * lib/physmem.c (physmem_total, physmem_available, main): Define
58234         with prototypes.
58235
58236         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58237         (main): Define with a prototype.
58238
58239         * lib/posixver.c (getenv): Remove decl.
58240
58241         * lib/putenv.c (malloc): Returns void *, not char *.
58242         Include <string.h> unconditionally.
58243         (strchr, memcpy, NULL): Do not define.
58244
58245         * lib/readtokens.c: Include readtokens.h first, to test interface.
58246         Include <stdlib.h>, <string.h> unconditionally.
58247         (init_tokenbuffer): Define with a prototype.
58248
58249         * lib/regex.c (PARAMS): Remove.  All uses removed.
58250         All uses of _RE_ARGS removed, too.
58251         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58252         unconditionally.
58253         (bzero): Assume memset exists.
58254         (memcmp, memcpy, NULL): Remove.
58255         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58256         char, or assignments to local vars of type signed char.
58257         (init_syntax_once, PREFIX(extract_number_and_incr),
58258         PREFIX(print_partial_compiled_pattern),
58259         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58260         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58261         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58262         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58263         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58264         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58265         wcs_compile_range, byte_compile_range, truncate_wchar,
58266         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58267         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58268         count_mbs_length, wcs_re_match_2_internal,
58269         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58270         PREFIX(alt_match_null_string_p),
58271         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58272         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58273         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58274         now-unnecessary declaration, if any.
58275         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58276         regcomp, regexec):
58277         Remove now-unnecessary casts among pointer types.
58278         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58279
58280         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58281         (free): Remove decl.
58282
58283         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58284
58285         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58286         (free): Remove decl.
58287
58288         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58289         * lib/xgetcwd.c: Likewise.
58290
58291         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58292         (free): Remove decl.
58293
58294         * lib/strchrnul.c (strchrnul): Define with a prototype.
58295         Fix bug: c_in was not converted to char before searching.
58296
58297         The following changes are not K&R related:
58298
58299         * lib/group-member.h: Include <sys/types.h>, so that this file is
58300         self-contained.
58301         * lib/makepath.h: Likewise.
58302
58303         * lib/getusershell.c (readname, default_index, line_size, readname):
58304         Use size_t, not int, for sizes.
58305         (readname): If the size overflows, report an error instead of
58306         looping forever.
58307
58308 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58309
58310         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58311         libc.
58312
58313 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58314
58315         * README: New section: portability guidelines.
58316
58317 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58318
58319         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58320         C89 spec.
58321
58322 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58323
58324         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58325
58326 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58327
58328         Assume C89 or better; remove K&R cruft.
58329         A few of these changes were first proposed by Derek Robert Price
58330         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58331
58332         * lib/addext.c: Include <string.h> unconditionally.
58333         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58334         Don't declare getenv or malloc.
58335
58336         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58337         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58338         (NULL): Remove.
58339         (find_stack_direction, alloca): Use prototypes.
58340
58341         * lib/atexit.c (atexit): Define using a prototype.
58342
58343         * lib/basename.c, dirname.c, stripslash.c:
58344         Include <string.h> unconditionally.
58345
58346         * lib/bcopy.c: Include <stddef.h>.
58347         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58348
58349         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58350
58351         * lib/error.h (error, error_at_line, error_print_progname)
58352         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58353         * lib/error.c: Include error.h first, to check interface.
58354         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58355         (VA_START): Remove; all uses changeed to va_start.
58356         (exit, strerror): Remove decls.
58357         (error_print_progname): Prototype uncondionally.
58358         Don't include <errno.h>; no longer needed.
58359         (private_strerror): Remove.
58360         (error_tail): Always define.
58361         (error, error_at_line): Assume C89 or better; always use prototypes.
58362         * lib/fatal.c: Include "fatal.h" first, to test interface.
58363         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58364         (VA_START): Remove; all uses changed to va_start.
58365         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58366         this case.
58367         (exit): Remove decl.
58368         (fatal): Prototype unconditionally.  Assume va_start works.
58369         Abort at end, to pacify gcc.
58370
58371         * lib/euidaccess.c (main): Define with a prototype.
58372
58373         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58374
58375         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58376
58377         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58378         prototypes.
58379         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58380         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58381         (getenv): Remove decl.
58382         (fnmatch): Define using a prototype.
58383         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58384         (FCT): Define using a prototype.
58385
58386         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58387
58388         * lib/gethostname.c: Include <stddef.h>.
58389         (gethostname): Define with prototype.  Length is size_t, not int.
58390
58391 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58392
58393         Assume C89 or better; remove K&R cruft.
58394         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58395         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58396         string.h, getenv, malloc.
58397         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58398         headers.
58399         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58400         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58401         do not check for strerror.
58402         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58403         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58404         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58405         do not check for doprnt or vprintf.
58406         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58407         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58408
58409 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58410
58411         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58412         getversion.c should have been removed then, but was accidentally
58413         preserved.
58414
58415         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58416         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58417
58418 2003-09-08  Karl Berry  <karl@gnu.org>
58419
58420         * config/config.sub, config.guess, srclistvars.sh: update from savannah
58421                 config, forget about prep.
58422
58423         * config/depcomp, missing: update from automake.
58424
58425 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58426
58427         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
58428         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58429
58430 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58431
58432         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
58433         copy_tm_result.  Bug reported by Simon Josefsson in
58434         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58435
58436 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58437
58438         * m4/time_r.m4: New file.
58439         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
58440         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
58441         is. Check for timegm declaration.
58442         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
58443         Do not check for gmtime_r.
58444         Replace mktime if __mktime_internal does not exist and if mktime
58445         hasn't been replaced already.
58446
58447 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58448
58449         * lib/time_r.c, lib/time_r.h: New files.
58450
58451         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58452         __localtime_r.
58453         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58454         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58455
58456         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58457         __gmtime_r.
58458         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58459         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58460         Include <time_r.h>.
58461
58462         * lib/timegm.c: Switch to glibc implementation, with the following
58463         changes:
58464         [defined HAVE_CONFIG_H]: Include <config.h>.
58465         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58466         (__mktime_internal) [!defined _LIBC]: New decl.
58467         (__gmtime_r) [!defined _LIBC]: New macro and function.
58468         (timegm): Use a prototype, since gnulib assumes C89.
58469         Do not bother declaring tmp to be const, as it's not really usefu.
58470         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58471         (timegm): Declare only if HAVE_DECL_TIMEGM.
58472
58473 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58474
58475         * MODULES.html.sh (func_all_modules): Add time_r.
58476         * modules/time_r: New file.
58477         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58478         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58479
58480 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58481
58482         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58483         Bug reported by Lute Kamstra in
58484         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58485
58486         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58487         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58488         course with correspondingly smaller numbers for tomorrow and
58489         yesterday.  From Tadayoshi Funaba.  Originally installed into
58490         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58491         coreutils merge?).
58492
58493 2003-08-31  Simon Josefsson  <jas@extundo.com>
58494
58495         * modules/timegm: New file.
58496         * MODULES.html.sh (func_all_modules): Add timegm.
58497
58498 2003-08-31  Simon Josefsson  <jas@extundo.com>
58499
58500         * m4/timegm.m4: New file.
58501
58502 2003-08-31  Simon Josefsson  <jas@extundo.com>
58503
58504         * lib/timegm.h: New file.
58505         * lib/timegm.c: New file.  Based on
58506         wget-1.8.2/src/http.c:mktime_from_utc.
58507
58508 2003-08-31  Karl Berry  <karl@gnu.org>
58509
58510         * lib/argp.h: update from libc.
58511
58512 2003-08-28  Bruno Haible  <bruno@clisp.org>
58513
58514         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58515         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58516         followed by '#define fnmatch fnmatch_posix' gives an error.
58517
58518 2003-08-28  Bruno Haible  <bruno@clisp.org>
58519
58520         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58521         warning on QNX, which defines O_BINARY to 000000.
58522
58523 2003-08-27  Jim Meyering  <jim@meyering.net>
58524
58525         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58526         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58527         would fail after 32.  Reported by Danny Levinson.  Details here:
58528         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58529
58530 2003-08-24  Bruno Haible  <bruno@clisp.org>
58531
58532         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58533         MSVC7 <stdio.h> is included later.
58534
58535 2003-08-22  Simon Josefsson  <jas@extundo.com>
58536
58537         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58538
58539 2003-08-20  Karl Berry  <karl@gnu.org>
58540
58541         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58542
58543 2003-08-20  Bruno Haible  <bruno@clisp.org>
58544
58545         * modules/progname: New file.
58546         * MODULES.html.sh (func_all_modules): Add progname.
58547
58548 2003-08-20  Bruno Haible  <bruno@clisp.org>
58549
58550         * lib/progname.h: New file, from GNU gettext.
58551         * lib/progname.c: New file, from GNU gettext.
58552         * lib/progreloc.c: New file, from GNU gettext.
58553
58554 2003-08-19  Jim Meyering  <jim@meyering.net>
58555
58556         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58557         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58558
58559 2003-08-19  Bruno Haible  <bruno@clisp.org>
58560
58561         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58562         more.
58563
58564 2003-08-19  Bruno Haible  <bruno@clisp.org>
58565
58566         * lib/xstrdup.c: Assume <string.h> exists.
58567
58568 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58569
58570         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58571         in makefile rules.
58572
58573 2003-08-18  Jim Meyering  <jim@meyering.net>
58574
58575         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58576         * m4/lib-ld.m4: Likewise.
58577
58578 2003-08-18  Jim Meyering  <jim@meyering.net>
58579
58580         * lib/setenv.h: Indent nested cpp directive.
58581         * lib/vasnprintf.c: Remove trailing blanks.
58582
58583 2003-08-17  Simon Josefsson  <jas@extundo.com>
58584
58585         * modules/xstrndup: New file.
58586         * MODULES.html.sh (func_all_modules): Add xstrndup.
58587
58588 2003-08-17  Simon Josefsson  <jas@extundo.com>
58589
58590         * modules/argp: Fix autoconf macro name. Add more dependencies.
58591
58592 2003-08-17  Simon Josefsson  <jas@extundo.com>
58593
58594         * m4/xstrndup.m4: New file.
58595
58596 2003-08-17  Simon Josefsson  <jas@extundo.com>
58597
58598         * m4/argp.m4: New file.
58599
58600 2003-08-17  Simon Josefsson  <jas@extundo.com>
58601             Bruno Haible  <bruno@clisp.org>
58602
58603         * lib/xstrndup.h: New file.
58604         * lib/xstrndup.c: New file.
58605
58606 2003-08-17  Bruno Haible  <bruno@clisp.org>
58607
58608         * modules/strndup (Files, Include): Add lib/strndup.h.
58609
58610 2003-08-17  Bruno Haible  <bruno@clisp.org>
58611
58612         * modules/euidaccess (Files): Add lib/euidaccess.h.
58613
58614 2003-08-17  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/strndup.h: New file.
58617
58618 2003-08-17  Bruno Haible  <bruno@clisp.org>
58619
58620         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58621         like AC_GNU_SOURCE.
58622         * modules/extensions (configure.ac): Comment out the invocation of
58623         gl_USE_SYSTEM_EXTENSIONS.
58624
58625 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58626
58627         Merges from coreutils, etc.
58628         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58629         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58630         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58631         fixing a typo.
58632         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58633         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58634
58635 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58636
58637         Document merge from coreutils.
58638         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58639         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58640         * modules/utime: Add m4/utimes-null.m4.
58641
58642 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58643
58644         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58645         space, undoing this 2003-08-12 change:
58646         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58647
58648 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58649
58650         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58651         strtoul.c from libc, undoing this 2003-08-12 change:
58652         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58653
58654 2003-08-16  Jim Meyering  <jim@meyering.net>
58655
58656         Merges from coreutils.
58657         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58658         prefix.  Adjust cache variables similarly.  Create 500 rather than
58659         just 300 files, to exercise bug on Darwin6.5, too.
58660         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58661         $missing_dir.
58662         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58663         AM_SYS_POSIX_TERMIOS.
58664         Reported by mkc@mathdogs.com.
58665         Also change use of $am_cv_sys_posix_termios
58666         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58667         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58668         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58669         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58670         in /proc/mounts until it finds one with matching device number.  This
58671         is unnecessary when the FILE argument *is* a mount point.  No stat call
58672         is necessary in that case.  So, disable the statvfs-testing code on
58673         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58674         as RedHat bug# 84846.
58675         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58676         to 1MB, so as not to render systems with no stack size limit (e.g.,
58677         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58678         Include <unistd.h>.  On some systems,
58679         it is required for the definition of _SC_PAGESIZE.
58680
58681 2003-08-16  Jim Meyering  <jim@meyering.net>
58682
58683         Merge from coreutils.
58684         * lib/xstrtoimax.c: #else #if -> #elif.
58685         * lib/xstrtoumax.c: Likewise.
58686
58687 2003-08-16  Jim Meyering  <jim@meyering.net>
58688
58689         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58690         * m4/utimes.m4: Removed.
58691         * m4/utimes-null.m4: Renamed from utimes.m4.
58692
58693         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58694         to 1MB, so as not to render systems with no stack size limit (e.g.,
58695         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58696         Include <unistd.h>.  On some systems,
58697         it is required for the definition of _SC_PAGESIZE.
58698
58699 2003-08-16  Jim Meyering  <jim@meyering.net>
58700         and Paul Eggert  <eggert@cs.ucla.edu>
58701
58702         Merges from coreutils, etc.
58703
58704         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58705         using the latest version from cvs.  This avoids problems with #line
58706         directives using a vendor (Sun) compiler.
58707         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58708         Don't set GETGROUPS_LIB here; now it's
58709         done via getgroups.m4's wrapper function.
58710         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58711         rather than just in sh-util/configure.in, so that the
58712         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58713         same.
58714         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58715         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58716         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58717         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58718         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58719         Remove code that is now done by the newly-required macros.
58720         Append $(EXEEXT) to DF_PROG.
58721         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58722         Do not invoke or require the following here,
58723         since prereq.m4 or some gnulib .m4 now does this for us:
58724         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58725         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58726         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58727         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58728         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58729         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58730         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58731         AC_FUNC_OBSTACK.
58732         Do not replace the following functions, as this is now the job
58733         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58734         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58735         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58736         atexit getpass, strdup, getpagesize.
58737         Replace 'raise'.
58738         Do not check for the following functions, as this is now the job
58739         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58740         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58741         setregid.
58742         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58743         Check for sys/sysctl.h.
58744         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58745         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58746         of checking for ssize_t ourselves.
58747
58748         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58749         Require every macro that gnulib/modules/* suggests for us.
58750         (jm_PREREQ_ADDEXT): New macro.
58751         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58752         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58753
58754         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58755         (gl_PHYSMEM): Use it.
58756         Also check for `table' function.
58757         Check for new headers and functions.
58758         Add check for sys/sysmp.h.
58759         With suggestions from Kaveh Ghazi.
58760         Ignore headers that are present but cannot be compiled.  This
58761         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58762         C 5.4.
58763
58764 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58765
58766         Document merge from coreutils.
58767         * modules/userspec: Depend on posixver.
58768         * modules/strftime: Depend on tzset.
58769
58770 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58771
58772         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58773         rather than tab, after '#' in shell-script copyright notices.
58774         Suggested by Bruno Haible.
58775
58776 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58777
58778         * config/srclist-update: Use three spaces, rather than tab, after '#'
58779         in shell-script copyright notices.  Suggested by Bruno Haible.
58780         Remove unnecessary parenthesization in regular expression.
58781
58782 2003-08-15  Jim Meyering  <jim@meyering.net>
58783
58784         Merge from coreutils.
58785         * lib/xgethostname.c: Include <stdlib.h>.
58786         (xghostname): Don't exit for anything other than memory-related
58787         failure; just return NULL.
58788         * lib/userspec.c: Include "posixver.h".
58789         (parse_user_spec): Accept `.' as a separator only
58790         in pre-POSIX-200112 mode.
58791         * lib/strtoimax.c: Use #elif rather than #else #if.
58792         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58793         Remove function, now that we can rely on a working tzset function.
58794         [!_LIBC]: Ensure that the required autoconf test has been run.
58795         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58796         Use underlying_strftime for %r.
58797         * lib/sha.c: Merge in some clean-up and optimization changes from
58798         glibc.
58799         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58800         Ensure that it is a multiple of 64.
58801         Rearrange loop exit tests so as to avoid performing an
58802         additional fread after encountering an error or EOF.
58803         * lib/realloc.c: Update copyright date.
58804
58805 2003-08-15  Jim Meyering  <jim@meyering.net>
58806         and Paul Eggert  <eggert@twinsun.com>
58807
58808         Merge from coreutils.
58809         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58810         member but strut utmpx does not.  Needed for AIX 4.3.3.
58811         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58812
58813 2003-08-15  Jim Meyering  <jim@meyering.net>
58814         and Paul Eggert  <eggert@cs.ucla.edu>
58815
58816         Merges from coreutils, etc.
58817         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58818         Require gl_FUNC_TZSET_CLOBBER.
58819         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58820         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58821         members.
58822
58823 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58824
58825         Help the merge from coreutils.
58826         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58827         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58828         * m4/tzset.m4: Use it too.
58829
58830 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58831
58832         * modules/tzset: New file.
58833
58834 2003-08-14  Jim Meyering  <jim@meyering.net>
58835
58836         Merges from coreutils.
58837         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58838         variable names, rather than @FNMATCH_H@.
58839         * modules/alloca: Likewise for $(ALLOCA_H).
58840
58841         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58842         the three copies of the literal target, `fnmatch.h'.
58843         * modules/alloca (alloca.h): Likewise.
58844
58845 2003-08-14  Jim Meyering  <jim@meyering.net>
58846
58847         Merge from coreutils.
58848         * m4/tzset.m4: New file.
58849         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58850         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58851         otherwise, AIX 5.1 systems would end up using the latter.
58852         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58853         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58854         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58855         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58856
58857 2003-08-14  Jim Meyering  <jim@meyering.net>
58858
58859         Merge from coreutils.
58860         * lib/obstack.h: Whitespace changes.
58861         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58862         and xcalloc return values.
58863         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58864         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58865         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58866         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58867         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58868         error from mntctl.
58869         Use mntctl's return value to drive the entry-processing loop, since
58870         we can't rely on the value of the vmt_length member in the last
58871         entry.  On some systems doing so could result in exhausting
58872         virtual memory.  Based in part on a patch from Mike Jetzer.
58873
58874 2003-08-14  Jim Meyering  <jim@meyering.net>
58875         and Paul Eggert  <eggert@twinsun.com>
58876
58877         Merges from coreutils, plus other fixes.
58878         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58879         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58880         for credits and details.  Thanks to Kaveh Ghazi for helping
58881         to keep these files in sync.
58882         (ARRAY_SIZE): Define it.
58883         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58884         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58885         (memcasecmp): Don't assume size_t fits in unsigned int.
58886         Remove casts and duplicate code.
58887         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58888         (memcpy): Remove definition.
58889         Merge in some clean-up and optimization changes from glibc.
58890         [BLOCKSIZE]: Move definition to top of file.
58891         Ensure that it is a multiple of 64.
58892         Rearrange loop exit tests so as to avoid performing an
58893         additional fread after encountering an error or EOF.
58894         * lib/md5.h (md5_uintptr): Define.
58895         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58896         return to the initial working directory.  Preserve errno
58897         for caller.
58898         * lib/idcache.c: Include "xalloc.h".
58899         (xmalloc, xrealloc): Remove decls.
58900         (getuser): Remove casts no longer required in C89.
58901         * lib/human.c: Include stdio.h, for sprintf.
58902         * lib/group-member.c: Include "xalloc.h".
58903         (xmalloc, xrealloc): Remove decls.
58904         (get_group_info): Remove casts no longer required in C89.
58905         * lib/getusershell.c (readname): Remove casts no longer required in
58906         C89.
58907         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
58908         * lib/getline.c: Whitespace fix, from coreutils.
58909
58910 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58911
58912         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
58913         Check for isascii.
58914
58915         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58916         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58917         Undo previous (whitespace-only) change.
58918
58919 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58920
58921         * lib/exclude.c: Include <ctype.h>
58922         (IN_CTYPE_DOMAIN): New macro.
58923         (is_space): New fn.
58924         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
58925         and empty lines.
58926
58927         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58928         Undo previous (whitespace-only) change.
58929
58930 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58931
58932         * config/srclist-update: Change update back to the old behavior,
58933         leaving whitespace alone.  Use one 'sed' command rather than a
58934         pipeline.
58935         (fixlicense): Now a variable, not a function.
58936         (remove_trailing_blanks): Remove.
58937         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
58938         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58939         Undo previous (whitespace-only) change.
58940
58941 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58942
58943         Merge from coreutils.
58944         * modules/euidaccess: Add lib_SOURCES, include for new
58945         file euidaccess.h
58946
58947 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58948
58949         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58950         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58951         Normalize leading white space and remove trailing white space.
58952
58953         Merge from coreutils
58954         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
58955
58956         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
58957         0.12.1.  These files are now being upgraded automatically by
58958         ../config/srclist-update.
58959
58960 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58961
58962         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58963         Normalize leading white space and remove trailing white space.
58964         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
58965         notice, as per ../config/srclist-update.
58966
58967         Merge from coreutils.
58968         * lib/euidaccess.h: New file.
58969         * lib/euidaccess.c: Include it.
58970         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
58971         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
58972         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
58973
58974 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58975
58976         * config/srclist-update: Add copyright notice.
58977         (remove_id_lines, remove_trailing_blanks): New constants.
58978         (fixfile): Use them to normalize spacing a bit in copied files.
58979         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58980         Normalize leading white space and remove trailing white space.
58981
58982         * config/texinfo.tex: Sync with texinfo.
58983
58984         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
58985         strtoul.c from libc, to merge coreutils whitespace changes.
58986
58987         * config/srclist.txt: Get the following m4 files from gettext:
58988         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
58989         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
58990         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
58991         wint_t.m4.
58992
58993 2003-08-12  Karl Berry  <karl@gnu.org>
58994
58995         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
58996         been made.
58997
58998 2003-08-11  Paul Eggert  <eggert@twinsun.com>
58999
59000         * modules/gnu-source, m4/gnu-source.m4:
59001         Remove; we're assuming Autoconf 2.54 or later now.
59002         Suggested by Bruno Haible.
59003         * MODULES.html.sh (func_all_modules): Remove gnu-source.
59004
59005 2003-08-11  Bruno Haible  <bruno@clisp.org>
59006
59007         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
59008
59009 2003-08-11  Bruno Haible  <bruno@clisp.org>
59010
59011         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
59012         (vasnprintf): Use it instead of wcslen.
59013
59014 2003-08-11  Bruno Haible  <bruno@clisp.org>
59015
59016         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
59017         value to ensure that _Bool promotes to int. Use #define for _Bool when
59018         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
59019
59020 2003-08-10  Karl Berry  <karl@gnu.org>
59021
59022         * lib/regex.h: update from libc (whitespace fix).
59023
59024 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59025
59026         Merge some files from coreutils.  These changes were
59027         originally made by Jim Meyering.
59028         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
59029         many older Unixes require this.
59030         * lib/alloca.c (alloca): Remove cast to argument of free;
59031         no longer needed in C89.
59032         * lib/alloca_.h, regex.h: Fix white space to match
59033         what GNU indent does.
59034
59035 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59036
59037         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
59038         apparently Emacs's Unicode mode got confused before my 2003-08-05
59039         checkin.
59040
59041 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59042
59043         * m4/extensions.m4: New file.
59044         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
59045         Require gl_USE_SYSTEM_EXTENSIONS.
59046         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
59047         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
59048
59049 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59050
59051         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
59052         * modules/extensions, modules/gnu-source: New files.
59053         * modules/timespec, modules/unlocked-io: Depend on extensions.
59054
59055 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59056
59057         * modules/restrict: New file.
59058         * MODULES.html.sh (func_all_modules): Add restrict.
59059         * modules/regex: Depend on restrict.
59060
59061 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59062
59063         * m4/restrict.m4: New file.
59064         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
59065
59066 2003-08-07  Bruno Haible  <bruno@clisp.org>
59067
59068         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
59069         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
59070
59071 2003-08-07  Bruno Haible  <bruno@clisp.org>
59072
59073         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
59074         makes the module 'getndelim2' compatible with the module 'getline'.
59075
59076 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59077
59078         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
59079         byte with "\201" to avoid glitches when editing that source file
59080         with multi-gnome-terminal.
59081
59082 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59083
59084         * lib/bumpalloc.h: Remove.
59085
59086 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59087
59088         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
59089         * modules/bumpalloc: Remove.
59090
59091 2003-08-04  Paul Eggert  <eggert@twinsun.com>
59092
59093         * lib/getloadavg.c: Change copyright notice and spacing to conform to
59094         GNU coding style.
59095
59096         Merge from coreutils.
59097         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
59098         1. From glibc.
59099         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
59100         from Karl Berry, implemented by Jim Meyering.
59101         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
59102         from Dmitry V. Levin.
59103         Remove anachronistic cast of xrealloc.
59104         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
59105         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
59106         type. Otherwise, it wouldn't compile with at least /bin/cc on
59107         ymp-cray-unicos9.0.2.X.
59108         Combine two mostly-identical uses of alloca into one.
59109         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
59110
59111 2003-08-04  Dave Love  <d.love@dl.ac.uk>
59112
59113         [From Emacs.]
59114
59115         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
59116         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
59117         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
59118         obsolete NLIST_NAME_UNION.
59119         [__GNU__]: Undef BSD and FSCALE.
59120         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
59121
59122 2003-08-03  Paul Eggert  <eggert@twinsun.com>
59123
59124         * lib/stdbool_.h (_Bool): Make it signed char, instead of
59125         an enum type, so that it's guaranteed to promote to int.  See:
59126         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
59127
59128 2003-08-03  Karl Berry  <karl@gnu.org>
59129
59130         * config/depcomp: update from automake.
59131
59132 2003-07-31  Paul Eggert  <eggert@twinsun.com>
59133
59134         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
59135         (strerror): Don't assume that a printable int fits in 14 bytes.
59136
59137 2003-07-31  Bruno Haible  <bruno@clisp.org>
59138
59139         * modules/getpass-gnu: New file.
59140         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
59141
59142 2003-07-31  Bruno Haible  <bruno@clisp.org>
59143
59144         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
59145
59146 2003-07-24  Karl Berry  <karl@gnu.org>
59147
59148         * config/missing: update from automake.
59149
59150 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
59151             Bruno Haible  <bruno@clisp.org>
59152
59153         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
59154         * lib/getline.c (getline, getdelim): Likewise.
59155         Remove _GNU_SOURCE define; now it's defined in config.h through
59156         m4/getline.m4.
59157
59158 2003-07-23  Karl Berry  <karl@gnu.org>
59159
59160         * config/config.sub: update from prep.
59161
59162 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59163
59164         * modules/xalloc (Depends-on): Add exitfail.
59165         * modules/xmemcoll: Likewise.
59166
59167 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59168
59169         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
59170         over-parenthesization in macros.
59171
59172         Sync with coreutils.
59173
59174         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
59175         required by C99.
59176
59177         Use `exit_failure' for xalloc and xmemcoll instead of their own
59178         private exit-failure variables.
59179         * lib/xalloc.h (xalloc_exit_failure): Remove.
59180         * lib/xmalloc.c: Likewise.  Include exitfail.h.
59181         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
59182         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
59183         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
59184         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
59185
59186 2003-07-20  Jim Meyering  <jim@meyering.net>
59187
59188         * modules/closeout (Depends-on): Add exitfail.
59189         Suggestion from Bruno Haible.
59190
59191 2003-07-19  Karl Berry  <karl@gnu.org>
59192
59193         * config/config.sub: update from prep.
59194
59195 2003-07-18  Paul Eggert  <eggert@twinsun.com>
59196
59197         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
59198         Remove.
59199         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
59200         to test that it can stand by itself.  Include "exitfail.h".
59201         Clients should set exit_failure instead.
59202         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
59203
59204 2003-07-18  Bruno Haible  <bruno@clisp.org>
59205
59206         * modules/getndelim2: New file.
59207         * modules/getline: Share files with module getndelim2.
59208         * modules/getnline: Depend on getndelim2 instead of sharing files with
59209         it. Add getnline.c to lib_SOURCES.
59210         * MODULES.html.sh (func_all_modules): Add getndelim2.
59211
59212 2003-07-18  Bruno Haible  <bruno@clisp.org>
59213
59214         * m4/getndelim2.m4: New file.
59215         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59216         invoke gl_PREREQ_GETNDELIM2.
59217         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59218         gl_PREREQ_GETNDELIM2.
59219         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59220         gl_GETNDELIM2.
59221
59222 2003-07-18  Bruno Haible  <bruno@clisp.org>
59223
59224         * lib/getndelim2.h: New file.
59225         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59226         getndelim2.h.
59227         (getndelim2): Make non-static. Change return type to ssize_t.
59228         * lib/getline.h: Change argument names.
59229         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59230         * lib/getnline.c: Include getndelim2.h.
59231
59232 2003-07-18  Andreas Schwab  <schwab@suse.de>
59233
59234         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59235
59236 2003-07-17  Karl Berry  <karl@gnu.org>
59237
59238         * config/config.sub: update from prep.
59239
59240 2003-07-17  Bruno Haible  <bruno@clisp.org>
59241
59242         * modules/getnline: New file.
59243         * modules/getline: Add lib/getndelim2.c to source file list.
59244         * MODULES.html.sh (func_all_modules): Add getnline.
59245
59246 2003-07-17  Bruno Haible  <bruno@clisp.org>
59247
59248         * m4/getnline.m4: New file.
59249
59250 2003-07-17  Bruno Haible  <bruno@clisp.org>
59251
59252         * m4/Makefile.am.in: Remove file.
59253         * m4/Makefile.am: Remove file.
59254         * m4/Makefile.in: Remove file.
59255
59256 2003-07-17  Bruno Haible  <bruno@clisp.org>
59257
59258         * lib/getnline.h: New file.
59259         * lib/getnline.c: New file.
59260         * lib/getndelim2.c: New file, extracted from getline.c.
59261         (getndelim2): Renamed from getdelim2, with added nmax argument.
59262         * lib/getline.c: Include getndelim2.c.
59263         (getdelim2): Moved out to getndelim2.c.
59264         (getline, getdelim): Update.
59265
59266 2003-07-17  Bruno Haible  <bruno@clisp.org>
59267
59268         * lib/Makefile.am: Remove file.
59269         * lib/Makefile.in: Remove file.
59270
59271 2003-07-17  Bruno Haible  <bruno@clisp.org>
59272
59273         * configure.in: Remove file.
59274         * Makefile.in: Remove file.
59275
59276 2003-07-17  Bruno Haible  <bruno@clisp.org>
59277
59278         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59279
59280 2003-07-16  Karl Berry  <karl@gnu.org>
59281
59282         * config/srclist-update: was running fixlicense twice, which caused
59283                 texinfo.tex to be nullified for some reason.  Simplify,
59284                 $gplsrc is no longer needed as far as I can see?
59285
59286 2003-07-16  Jim Meyering  <jim@meyering.net>
59287
59288         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59289
59290 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59291
59292         * config/srclist.txt: Get the following files from gettext-runtime/intl
59293         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59294         ref-del.sin.  From Bruno Haible.
59295         * config/srclist-update (fixfile): Change grep pattern again, since the
59296         previous fix didn't work (there was another trailing $).  Use
59297         '[$]' to escape the $s.
59298
59299 2003-07-15  Karl Berry  <karl@gnu.org>
59300
59301         * lib/vasnprintf.c: update from gettext.
59302
59303 2003-07-15  Karl Berry  <karl@gnu.org>
59304
59305         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59306         gets expanded when surrounded by '$'.
59307
59308 2003-07-15  Jim Meyering  <jim@meyering.net>
59309
59310         * modules/save-cwd: Don't depend on error.  From Derek Price.
59311
59312 2003-07-15  Jim Meyering  <jim@meyering.net>
59313
59314         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59315
59316 2003-07-14  Simon Josefsson  <jas@extundo.com>
59317
59318         * modules/mempcpy: New file.
59319         * MODULES.html.sh (func_all_modules): Add mempcpy.
59320
59321 2003-07-14  Simon Josefsson  <jas@extundo.com>
59322
59323         * m4/mempcpy.m4: New file.
59324
59325 2003-07-14  Simon Josefsson  <jas@extundo.com>
59326
59327         * lib/mempcpy.h: New file.
59328         * lib/mempcpy.c: New file.
59329
59330 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59331
59332         * modules/getdate, modules/posixtm: Depend on mktime.
59333
59334 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59335
59336         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59337         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59338         unicodeio.c, unicodeio.h, unlocked-io.h:
59339         Switch from LGPL to GPL.
59340
59341 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59342
59343         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59344         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59345         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59346         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59347         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59348         updated automatically by ../config/srclist-update.  This changes
59349         their license from LPGL to GPL.
59350
59351 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59352
59353         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59354         assumed to refer to the root of the most recent stable gettext version.
59355         * config/srclistvars.sh: Add defaults for eggert.
59356         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59357         Match "This program" as well as "The program".  This is needed
59358         for gettext.
59359
59360 2003-07-14  Jim Meyering  <jim@meyering.net>
59361
59362         Don't emit diagnostics.  Let callers do that.
59363         * lib/save-cwd.c: Don't include "error.h".
59364         (save_cwd): Don't call error.  Ensure that errno is valid
59365         when returning nonzero.
59366
59367         * lib/save-cwd.h (restore_cwd): Update prototype.
59368         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59369         Simplify.  Don't call error upon failure.  Let callers do that.
59370         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59371         when auditing is enabled.  But don't bother updating the #if.
59372
59373 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59374
59375         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59376         it breaks C++ compilation.
59377         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59378
59379 2003-07-10  Simon Josefsson  <jas@extundo.com>
59380
59381         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59382
59383 2003-07-10  Jim Meyering  <jim@meyering.net>
59384
59385         * m4/clock_time.m4: Remove trailing blank.
59386         * m4/intmax_t.m4: Likewise.
59387
59388 2003-07-10  Jim Meyering  <jim@meyering.net>
59389
59390         * lib/vasnprintf.c: Remove trailing blanks.
59391         Make cpp indentation consistent.
59392
59393 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59394
59395         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59396         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59397         Switch from LGPL to GPL.
59398
59399 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59400
59401         * config/srclist.txt: Sort sublists.  Add
59402         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59403         that differ from gnulib for one reason or another; we'd like this list
59404         to be smaller but for now let's document what we have.
59405
59406 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59407
59408         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59409         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59410         and sweeter "eval x=$x".
59411         * config/srclist.txt: Get lib/argp* from glibc.
59412
59413 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59414
59415         * lib/mktime.c: Fix some boundary cases and remove need for floating
59416         point.
59417
59418         Issue a compile-time diagnostic if time_t is floating point, or if
59419         two's complement arithmetic is not in effect, or if arithmetic
59420         right shift does not propagate the sign.  These assumptions were
59421         all in the original code but they weren't checked.
59422
59423         (TIME_T_MIDPOINT, verify): New macros.
59424         (__isleap): Remove; it has integer overflow problems.
59425         (leapyear): New function, without those problems.
59426         (ydhms_tm_diff): Remove; splitting into two parts.
59427         (ydhms_diff): New function, containing the arithmetic part of
59428         the old ydhms_tm_diff function.  Issue a compile-time
59429         diagnostic if we are not using C99 integer division.
59430         Avoid casts when possible.
59431         (guess_time_tm): New function, containing the checking part of
59432         the old ydhms_tm_diff function.  Return the new value, rather than
59433         the difference between it and the old.  Accept a new argument T
59434         so that *T specifies the old value.  Check for overflow in the result.
59435
59436         (__mktime_internal): Use a time_t offset, not a long int offset.
59437         This undoes the 2003-06-04 change, which is no longer needed now
59438         that we have better overflow checking.
59439         (localtime_offset): Likewise.
59440
59441         (__mktime_internal): Avoid harmful overflow on hosts where time_t
59442         and long are 64-bit but int is only 32-bit.
59443         (ydhms_diff): Use long int to store year1 and yday1.
59444         Issue a compile-time diagnostic if long int is not wide enough.
59445
59446         (__mktime_internal): Use long int to store adjusted year and yday.
59447         Use plain C rather than preprocessor commands, if that doesn't
59448         affect efficiency.
59449         Check for overflow (and try to repair) after each probe
59450         rather than checking only at the very end.  This avoids some bugs
59451         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59452         does not equal GMT offset at maximum time).
59453         Use integer to check for overflow rather than floating point; this
59454         is more portable to non-IEEE hosts, and is a tad faster.
59455         When we detect that we are oscillating between two values,
59456         don't check whether tm_isdst has the requested value, since
59457         we already know the answer.  When tm_isdst has the wrong value,
59458         use a different heuristic to find the right one, based on the
59459         extreme values actually observed in practice in tz2003a,
59460         rather than the (overly optimistic) "previous 3 calendar quarters".
59461
59462         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59463         "T const" to accommodate glibc style.
59464         (check_result): Use less-confusing report format.  "long" -> "long int.
59465         (main): Likewise.
59466         Don't loop if the iteration overflows time_t.
59467         Allow a negative step in the iteration.
59468
59469 2003-07-06  Karl Berry  <karl@gnu.org>
59470
59471         * config/depcomp: update from automake.
59472         * config/config.sub: update from prep.
59473
59474 2003-07-03  Karl Berry  <karl@gnu.org>
59475
59476         * config/config.guess: update from prep.
59477
59478 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59479
59480         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59481         xreadlink.c now includes it unconditionally.
59482
59483 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59484
59485         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59486         having it depend on HAVE_SYS_TYPES_H.
59487
59488 2003-07-01  Bruno Haible  <bruno@clisp.org>
59489
59490         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59491         <sys/types.h> should be sufficient.
59492         Reported by Paul Eggert.
59493
59494 2003-06-26  Karl Berry  <karl@gnu.org>
59495
59496         * config/depcomp: update from automake.
59497
59498 2003-06-26  Bruno Haible  <bruno@clisp.org>
59499
59500         * modules/human: Depend on module stdbool.
59501
59502 2003-06-25  Bruno Haible  <bruno@clisp.org>
59503
59504         * modules/readlink: New file.
59505         * modules/xreadlink: Depend on it.
59506         * MODULES.html.sh (func_all_modules): Add readlink.
59507
59508 2003-06-25  Bruno Haible  <bruno@clisp.org>
59509
59510         * m4/readlink.m4: New file.
59511
59512 2003-06-25  Bruno Haible  <bruno@clisp.org>
59513
59514         * lib/readlink.c: New file.
59515
59516 2003-06-22  Karl Berry  <karl@gnu.org>
59517
59518         * config/srclist.txt: update mkinstalldirs from automake.
59519         * config/mkinstalldirs: update.
59520
59521 2003-06-22  Bruno Haible  <bruno@clisp.org>
59522
59523         Portability to mingw32.
59524         * m4/ssize_t.m4: New file, from GNU gettext.
59525         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59526         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59527
59528 2003-06-22  Bruno Haible  <bruno@clisp.org>
59529
59530         * modules/safe-read: Add m4/ssize_t.m4.
59531         * modules/xreadlink: Add m4/ssize_t.m4.
59532
59533 2003-06-20  Bruno Haible  <bruno@clisp.org>
59534
59535         Assume C89, so PARAMS isn't needed.
59536         * lib/unicodeio.h (PARAMS): Remove.
59537         * lib/unicodeio.c: Don't use PARAMS.
59538
59539 2003-06-18  Karl Berry  <karl@gnu.org>
59540
59541         * config/config.{guess,sub}: update from prep.
59542
59543 2003-06-18  Jim Meyering  <jim@meyering.net>
59544
59545         Merge changes from coreutils.
59546         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59547         Remove explicit declarations of xmalloc and realloc.
59548         Include xalloc.h.
59549         (read_utmp): Remove anachronistic cast of xmalloc.
59550
59551 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59552
59553         Assume C89, so PARAMS isn't needed.
59554         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59555         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59556         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59557         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59558         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59559         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59560         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59561         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59562         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59563         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59564         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59565         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59566         no longer needed. Anyway, config.h should always be included before any
59567         other file.
59568
59569 2003-06-11  Simon Josefsson  <jas@extundo.com>
59570
59571         * modules/sysexits: New file.
59572         * MODULES.html.sh (func_all_modules): Add sysexits.
59573
59574 2003-06-11  Simon Josefsson  <jas@extundo.com>
59575
59576         * lib/sysexit_.h: New file.
59577
59578 2003-06-11  Derek Price  <derek@ximbiot.com>
59579
59580         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59581         necessary.
59582
59583 2003-06-11  Bruno Haible  <bruno@clisp.org>
59584
59585         * m4/sysexits.m4: New file.
59586
59587 2003-06-10  Simon Josefsson  <jas@extundo.com>
59588
59589         * lib/argp.h: New file, from glibc.
59590         * lib/argp-ba.c: New file, from glibc.
59591         * lib/argp-eexst.c: New file, from glibc.
59592         * lib/argp-fmtstream.c: New file, from glibc.
59593         * lib/argp-fmtstream.h: New file, from glibc.
59594         * lib/argp-fs-xinl.c: New file, from glibc.
59595         * lib/argp-help.c: New file, from glibc.
59596         * lib/argp-namefrob.h: New file, from glibc.
59597         * lib/argp-parse.c: New file, from glibc.
59598         * lib/argp-pv.c: New file, from glibc.
59599         * lib/argp-pvh.c: New file, from glibc.
59600         * lib/argp-xinl.c: New file, from glibc.
59601
59602 2003-06-10  Simon Josefsson  <jas@extundo.com>
59603
59604         * modules/strchrnul: New file.
59605
59606 2003-06-10  Simon Josefsson  <jas@extundo.com>
59607
59608         * modules/argp: New file.
59609
59610 2003-06-10  Simon Josefsson  <jas@extundo.com>
59611
59612         * m4/strchrnul.m4: New file.
59613
59614 2003-06-10  Simon Josefsson  <jas@extundo.com>
59615
59616         * lib/strchrnul.h: New file.
59617         * lib/strchrnul.c: New file.
59618
59619 2003-06-10  Bruno Haible  <bruno@clisp.org>
59620
59621         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59622
59623 2003-06-07  Karl Berry  <karl@gnu.org>
59624
59625         * config/config.{guess,sub}: update from prep.
59626
59627 2003-06-07  Jim Meyering  <jim@meyering.net>
59628
59629         * modules/strtod: Use $(...) notation, not @...@ for
59630         AC_REPLACE'd variables.
59631         * modules/localcharset: Likewise.
59632
59633 2003-06-07  Jim Meyering  <jim@meyering.net>
59634
59635         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59636         in place of my name in the copyright comment.
59637         Remove definition and uses of __P.
59638
59639         From coreutils.
59640         * lib/stat.c: Don't declare xmalloc explicitly.
59641         Instead, include "xalloc.h".
59642         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59643         xrealloc, and xcalloc return values.
59644         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59645         Improve comment.
59646         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59647
59648 2003-06-07  Bruno Haible  <bruno@clisp.org>
59649
59650         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59651         avoid AC_CONFIG_LINKS.
59652         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59653         fnmatch.h, to avoid AC_CONFIG_LINKS.
59654         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59655
59656 2003-06-07  Bruno Haible  <bruno@clisp.org>
59657
59658         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59659         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59660         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59661         directory.
59662         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59663         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59664         directory.
59665
59666 2003-06-06  Jim Meyering  <jim@meyering.net>
59667
59668         Merge from coreutils.
59669         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59670         Consolidate declarations and initializations of *_base* locals.
59671
59672         Merge from coreutils.
59673         This avoids a core dump on systems without GNU putenv,
59674         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59675         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59676         (unsetenv): New static function, from GNU libc.
59677         (rpl_putenv): Use it.
59678
59679         * lib/modechange.c: Remove trailing blanks.
59680
59681         Merge from coreutils.
59682         * lib/fsusage.c: Remove declaration of statfs.
59683         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59684
59685         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59686
59687 2003-06-06  Jim Meyering  <jim@meyering.net>
59688
59689         * lib/stdbool_.h: Renamed from stdbool.h.in.
59690
59691 2003-06-06  Jim Meyering  <jim@meyering.net>
59692             Bruno Haible  <bruno@clisp.org>
59693
59694         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59695         Adjust Makefile.am snippet not to redirect directly to target.
59696         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59697
59698 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59699
59700         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59701         mismatch, look in future quarters as well as past.  This fixes a
59702         bug when processing fall-backwards gaps immediately after a long
59703         period of daylight-saving time.
59704
59705         * lib/mktime.c: Assume freestanding C89 or better.
59706         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59707         (__P): Remove; not used.
59708         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59709         (mktime, not_equal_tm, print_tm, check_result,
59710         main): Use prototypes.  Use const * where appropriate.
59711         (main): Fix typo in testing code that uncovered by above changes.
59712         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59713
59714 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59715
59716         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59717         locale.h, localeconv.  This merges changes from coreutils.
59718
59719         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59720         It can be removed after the next Autoconf is released.
59721         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59722         needed.
59723
59724 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59725
59726         * lib/mktime.c: Fix Debian bug 177940
59727         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59728         (localtime_offset): Now long int, not time_t, because we want it
59729         to be guaranteed to be signed.  All uses changed.
59730         (__mktime_internal): If overflow would occur when adding offset,
59731         don't add it.
59732
59733         Merge 'human' changes from coreutils.  Rewrite to support
59734         locale-specific notations like thousands separators.
59735         * lib/human.c: Simplify authorship notice.
59736         Include human.h immediately after config.h.
59737         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59738         <limits.h>: Do not include, since human.h does.
59739         (SIZE_MAX, UINTMAX_MAX): New macros.
59740         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59741         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59742         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59743         (power_letter): Renamed from suffixes.
59744         (generate_suffix_backwards): Remove.
59745         (adjust_value): Now takes int style (because of human.h changes)
59746         and long double value (for greater precision on some platforms).
59747         (group_number): New function.
59748         (human_readable): Use it.  Use integer options, not enum.
59749         Put the options before the sizes in the arg list.
59750         Support all the new options.
59751         The old human_readable function has been removed;
59752         use inttostr.h instead.
59753         (human_readable, default_block_size, humblock):
59754         Use uintmax_t, not int, for block sizes.
59755         (human_readable_inexact, block_size_types): Remove.
59756         (block_size_opts): New constant.
59757         (human_options): Renamed from human_block_size, with new signature
59758         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59759         * lib/human.h: Add copyright and authorship notice.
59760         Include <limits.h> and <stdbool.h> unconditionally.
59761         (PARAMS): Remove.  All uses removed.
59762         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59763         (enum human_inexact_style): Remove tag; now a nameless enum.
59764         (human_floor, human_ceiling, human_round_to_even): Now have
59765         values 2, 0, 1 rather than -1, 1, 0.
59766         (human_group_digits, human_suppress_point_zero, human_autoscale,
59767         human_base_1024, human_SI, human_B): New constants.
59768         (human_readable_inexact, human_block_size): Remove.
59769         (human_readable): Size args are now uintmax_t, not int.
59770         (human_options): New decl.
59771
59772         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59773         unnecessary now that we assume C89 or better.  This change
59774         imported from coreutils.
59775
59776         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59777         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59778         in the 2003-05-30 sync from glibc.
59779
59780         .h files should stand alone, but we shouldn't include <sys/types.h>
59781         if we can get away with just <stddef.h>.
59782
59783         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59784         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59785         rather than <sys/types.h>, as we merely need size_t.
59786         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59787         to get size_t.
59788         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59789         Include <stdio.h>, to get FILE.
59790         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59791         memcasecmp.h has included <stddef.h> and all we need is size_t.
59792         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59793         our interface, instead of including <sys/types.h>
59794
59795 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59796
59797         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59798         now, as glibc mktime is buggy on non-glibc systems.
59799
59800 2003-06-03  Karl Berry  <karl@gnu.org>
59801
59802         * config/config.sub: update from prep.
59803
59804 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59805
59806         [from coreutils]
59807         Fix some minor time-related bugs with POSIX time arguments.
59808         Some valid time stamps were being rejected (notably -1, and
59809         time stamps before 1900 on 64-bit hosts).  And some invalid
59810         time stamps were being accepted, e.g. September 31.
59811
59812         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59813         that we can return (time_t) -1 successfully.
59814         * lib/posixtm.c: Likewise.
59815         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59816         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59817         (t): Remove static var.
59818         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59819         of static var.  All uses changed.
59820         (year): Do not reject years before 1900; they can occur with
59821         64-bit time_t.
59822         (posix_time_parse): Do not check for out-of-range components;
59823         that is now the caller's responsibility, since our checks were
59824         only approximations.
59825         (posixtime): Use mktime to check for out-of-range components,
59826         since it knows them exactly.
59827         If mktime returns (time_t) -1, check whether an error actually occurred
59828         by invoking localtime on -1.
59829         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59830         posixtime failures better.
59831         Improve the test data (in comments only).
59832
59833 2003-06-02  Karl Berry  <karl@gnu.org>
59834
59835         * config/mkinstalldirs (version): new variable.
59836         (--version): new option.
59837         (usage): improve message.
59838
59839 2003-05-30  Karl Berry  <karl@gnu.org>
59840
59841         * lib/mktime.c: update from libc.
59842
59843 2003-05-30  Bruno Haible  <bruno@clisp.org>
59844
59845         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59846         * config/config.rpath: Upgrade to gettext-0.12.1.
59847
59848 2003-05-30  Bruno Haible  <bruno@clisp.org>
59849
59850         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59851         * m4/nls.m4: New file, from gettext-0.12.1.
59852         * m4/po.m4: New file, from gettext-0.12.1.
59853         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59854
59855 2003-05-30  Bruno Haible  <bruno@clisp.org>
59856
59857         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59858         * lib/localcharset.h: Likewise.
59859         * lib/localcharset.c: Likewise.
59860
59861 2003-05-29  Karl Berry  <karl@gnu.org>
59862
59863         * config/config.rpath: update from gettext.
59864
59865 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59866
59867         Assume the headers required for C89 freestanding compilers.
59868         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59869         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59870         * m4/human.m4 (gl_HUMAN): Likewise.
59871         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59872         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59873         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59874         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59875         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59876         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59877
59878 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59879
59880         Assume the headers required for C89 freestanding compilers.
59881         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59882         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59883         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59884         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59885         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59886         define, since <limits.h> is guaranteed to do that.
59887         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59888         * lib/exclude.c: Include <stdbool.h> unconditionally.
59889         * lib/tempname.c: Include <stddef.h> unconditionally.
59890         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59891         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59892         <stddef.h> does that.
59893         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59894         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59895         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59896         needed.
59897         * lib/xstrtol.c: Likewise.
59898         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59899         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
59900
59901         * lib/addext.c (addext): Use assignment rather than cast, to avoid
59902         warnings on some platforms.
59903
59904         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59905         arbitrarily.
59906
59907 2003-05-26  Jim Meyering  <jim@meyering.net>
59908
59909         Merge in a change from coreutils:
59910         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
59911         that is guaranteed to be `no'.  Use `no_such_member' to indicate
59912         that condition, rather than `-1' which is slightly misleading.
59913         Change the name of the cache variable to have the gl_ prefix.
59914         Prompted by a patch from Richard Dawe for DJGPP.
59915
59916 2003-05-24  Karl Berry  <karl@gnu.org>
59917
59918         * config/config.guess: update from prep.
59919
59920 2003-05-22  Karl Berry  <karl@gnu.org>
59921
59922         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
59923
59924 2003-05-20  Karl Berry  <karl@gnu.org>
59925
59926         * config/config.guess: update from prep.
59927
59928 2003-05-18  Karl Berry  <karl@gnu.org>
59929
59930         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
59931         might actually be set by the user.
59932
59933         * config/depcomp, install-sh, mdate-sh: update from automake.
59934
59935 2003-05-17  Bruno Haible  <bruno@clisp.org>
59936
59937         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
59938         invalid expansion for AC_EGREP_CPP.
59939         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
59940         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
59941         Suggested by Akim Demaille <akim@epita.fr> in
59942         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
59943
59944 2003-05-12  Jim Meyering  <jim@meyering.net>
59945
59946         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
59947         the space-padded-by-default conversion specifiers, %e, %k, %l.
59948
59949 2003-05-12  Bruno Haible  <bruno@clisp.org>
59950
59951         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
59952         the string is longer than 4 KB.
59953
59954 2003-05-11  Karl Berry  <karl@gnu.org>
59955
59956         * config/config.{guess,sub}: update from prep.
59957
59958 2003-05-09  Bruno Haible  <bruno@clisp.org>
59959
59960         * modules/error: Add m4/strerror_r.m4 to file list.
59961
59962 2003-05-03  Bruno Haible  <bruno@clisp.org>
59963
59964         Upgrade to Unicode-4.0.
59965         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
59966         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
59967         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
59968         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
59969         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
59970         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
59971         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
59972         Change width of U+E0100..U+E01EF from 1 to 0.
59973
59974 2003-04-25  Jim Meyering  <jim@meyering.net>
59975
59976         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
59977         of type size_t, not int.
59978
59979 2003-04-25  Bruno Haible  <bruno@clisp.org>
59980
59981         * lib/copy-file.c: Include <stddef.h>, for size_t.
59982
59983 2003-04-21  Paul Eggert  <eggert@twinsun.com>
59984
59985         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
59986         code which expansion is under static control.  Patch imported from
59987         Akim Demaille's patch to Bison; see
59988         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
59989
59990 2003-04-14  Bruno Haible  <bruno@clisp.org>
59991
59992         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
59993
59994 2003-04-11  Jim Meyering  <jim@meyering.net>
59995
59996         Merge changes from Coreutils.
59997
59998         2003-03-22  Jim Meyering  <jim@meyering.net>
59999
60000         * lib/strftime.c (widen): Cast alloca return value to proper type.
60001
60002         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
60003
60004         From GNU libc.
60005         * lib/strftime.c (my_strftime): Handle very large width
60006         specifications for numeric values correctly.  Improve checks for
60007         overflow.
60008
60009         2003-01-19  Jim Meyering  <jim@meyering.net>
60010
60011         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
60012         definitions.
60013         (nl_get_alt_digit) [! defined my_strftime]: Define.
60014         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
60015         _nl_get_alt_digit and _nl_get_walt_digit.
60016
60017         * lib/strftime.c (my_strftime): Merge in locale-related changes from
60018         libc. These changes have no effect outside of _LIBC.
60019
60020 2003-04-10  Bruno Haible  <bruno@clisp.org>
60021
60022         * modules/findprog: New file.
60023         * MODULES.html.sh (func_all_modules): Add it.
60024
60025 2003-04-10  Bruno Haible  <bruno@clisp.org>
60026
60027         * m4/findprog.m4: New file.
60028         * m4/eaccess.m4: New file.
60029
60030 2003-04-10  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/findprog.h: New file, from GNU gettext.
60033         * lib/findprog.c: New file, from GNU gettext.
60034
60035 2003-04-05  Jim Meyering  <jim@meyering.net>
60036
60037         Merge changes from Coreutils.
60038
60039         * lib/exclude.h (PARAMS): Remove definition and uses.
60040         * lib/exclude.c: Remove uses of `PARAMS'.
60041
60042         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
60043         Add test-cases for DOS filenames. Declare program_name.
60044         (main): Set up program_name.  Patch by Rich Dawe.
60045
60046         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60047         error from mntctl.
60048         Use mntctl's return value to drive the entry-processing loop, since
60049         we can't rely on the value of the vmt_length member in the last
60050         entry.  On some systems doing so could result in exhausting
60051         virtual memory.  Based in part on a patch from Mike Jetzer.
60052
60053 2003-04-04  Bruno Haible  <bruno@clisp.org>
60054
60055         * modules/linebreak: New file.
60056         * MODULES.html.sh (func_all_modules): Add it.
60057
60058 2003-04-04  Bruno Haible  <bruno@clisp.org>
60059
60060         * m4/linebreak.m4: New file.
60061
60062 2003-04-04  Bruno Haible  <bruno@clisp.org>
60063
60064         * lib/linebreak.h: New file, from GNU gettext.
60065         * lib/linebreak.c: New file, from GNU gettext with slight
60066         modifications.
60067         * lib/lbrkprop.h: New file, from GNU gettext.
60068
60069 2003-04-03  Bruno Haible  <bruno@clisp.org>
60070
60071         * modules/utf8-ucs4: New file.
60072         * modules/utf16-ucs4: New file.
60073         * modules/ucs4-utf8: New file.
60074         * modules/ucs4-utf16: New file.
60075         * MODULES.html.sh (func_all_modules): Add them.
60076
60077 2003-04-03  Bruno Haible  <bruno@clisp.org>
60078
60079         * m4/utf-ucs4.m4: New file.
60080         * m4/ucs4-utf.m4: New file.
60081
60082 2003-04-03  Bruno Haible  <bruno@clisp.org>
60083
60084         * lib/utf8-ucs4.h: New file, from GNU gettext.
60085         * lib/utf16-ucs4.h: New file, from GNU gettext.
60086         * lib/ucs4-utf8.h: New file, from GNU gettext.
60087         * lib/ucs4-utf16.h: New file, from GNU gettext.
60088
60089 2003-04-02  Bruno Haible  <bruno@clisp.org>
60090
60091         * modules/binary-io: New file.
60092         * MODULES.html.sh (func_all_modules): Add it.
60093
60094 2003-04-02  Bruno Haible  <bruno@clisp.org>
60095
60096         * lib/binary-io.h: New file, from GNU gettext.
60097
60098 2003-04-01  Bruno Haible  <bruno@clisp.org>
60099
60100         * modules/pathname: New file.
60101         * MODULES.html.sh (func_all_modules): Add it.
60102
60103 2003-04-01  Bruno Haible  <bruno@clisp.org>
60104
60105         * lib/pathname.h: New file, from GNU gettext.
60106         * lib/concatpath.c: New file, from GNU gettext.
60107
60108 2003-03-30  Bruno Haible  <bruno@clisp.org>
60109
60110         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
60111
60112 2003-03-30  Bruno Haible  <bruno@clisp.org>
60113
60114         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
60115         function chown() doesn't exist.
60116
60117 2003-03-28  Bruno Haible  <bruno@clisp.org>
60118
60119         * modules/copy-file: New file.
60120         * MODULES.html.sh (func_all_modules): Add it.
60121
60122 2003-03-28  Bruno Haible  <bruno@clisp.org>
60123
60124         * m4/copy-file.m4: New file.
60125
60126 2003-03-28  Bruno Haible  <bruno@clisp.org>
60127
60128         * lib/copy-file.h: New file, from GNU gettext.
60129         * lib/copy-file.c: New file, from GNU gettext.
60130
60131 2003-03-18  Jim Meyering  <jim@meyering.net>
60132
60133         * lib/quote.c (quote_n): Fix typo in comment.
60134
60135 2003-03-18  Bruno Haible  <bruno@clisp.org>
60136
60137         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
60138         checking.
60139         * m4/onceonly_2_57.m4: Likewise.
60140
60141 2003-03-17  Bruno Haible  <bruno@clisp.org>
60142
60143         * m4/onceonly.m4: Require autoconf 2.54 or newer.
60144         (m4_quote): Remove macro.
60145         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
60146
60147 2003-03-14  Jim Meyering  <jim@meyering.net>
60148
60149         Merge changes from Coreutils.
60150         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
60151         to be const, in order to avoid warnings.
60152         (obstack_room): Likewise.
60153         (obstack_empty_p): Likewise.
60154
60155 2003-03-14  Bruno Haible  <bruno@clisp.org>
60156
60157         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
60158         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
60159
60160 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60161
60162         Merge changes from Bison.
60163         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
60164         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
60165         when compiling Bison 1.875's `bitset bset = obstack_alloc
60166         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
60167         * lib/hash.c: Include <stdbool.h> unconditionally.
60168
60169 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60170
60171         * m4/onceonly.m4 (m4_quote): New macro.
60172         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
60173         Quote AC_FOREACH variable-expansions properly.
60174
60175 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60176
60177         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
60178
60179 2003-03-09  Paul Eggert  <eggert@twinsun.com>
60180
60181         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
60182         Reported by Bruce Becker; see:
60183         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
60184
60185 2003-03-03  Paul Eggert  <eggert@twinsun.com>
60186             Bruno Haible  <bruno@clisp.org>
60187
60188         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
60189         Reported by John Hughes, see
60190         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
60191
60192 2003-02-20  Bruno Haible  <bruno@clisp.org>
60193
60194         * MODULES.html.sh (func_all_modules): Add poll.
60195
60196 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60197
60198         * modules/poll: New file.
60199
60200 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60201
60202         * lib/poll_.h: New file.
60203         * lib/poll.c: New file.
60204
60205 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60206
60207         * m4/poll.m4: New file.
60208
60209 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60210
60211         * modules/mathl: New file.
60212
60213 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60214
60215         * lib/mathl.h: New file.
60216         * lib/acosl.c: New file.
60217         * lib/asinl.c: New file.
60218         * lib/atanl.c: New file.
60219         * lib/ceill.c: New file.
60220         * lib/cosl.c: New file.
60221         * lib/expl.c: New file.
60222         * lib/floorl.c: New file.
60223         * lib/frexpl.c: New file.
60224         * lib/ldexpl.c: New file.
60225         * lib/logl.c: New file.
60226         * lib/sincosl.c: New file.
60227         * lib/sinl.c: New file.
60228         * lib/sqrtl.c: New file.
60229         * lib/tanl.c: New file.
60230         * lib/trigl.c: New file.
60231         * lib/trigl.h: New file.
60232
60233 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60234
60235         * m4/mathl.m4: New file.
60236
60237 2003-02-18  Bruno Haible  <bruno@clisp.org>
60238
60239         * MODULES.html.sh (func_all_modules): Add mathl.
60240
60241 2003-02-17  Bruno Haible  <bruno@clisp.org>
60242
60243         * modules/mkdtemp: New module.
60244         * MODULES.html.sh (func_all_modules): Add it.
60245
60246 2003-02-17  Bruno Haible  <bruno@clisp.org>
60247
60248         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60249
60250 2003-02-17  Bruno Haible  <bruno@clisp.org>
60251
60252         * lib/mkdtemp.h: New file, from GNU gettext.
60253         * lib/mkdtemp.c: New file, from GNU gettext.
60254
60255 2003-02-02  Jim Meyering  <jim@meyering.net>
60256
60257         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60258         e.g. glibc-2.2.93.
60259
60260 2003-01-31  Bruno Haible  <bruno@clisp.org>
60261
60262         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60263         'rpl_rename'.
60264         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60265         'rpl_strnlen'.
60266         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60267         'rpl_strtod'.
60268         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60269         'rpl_utime'.
60270
60271 2003-01-31  Bruno Haible  <bruno@clisp.org>
60272
60273         * lib/rename.c: #undef rename before defining rpl_rename.
60274         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60275
60276 2003-01-30  Bruno Haible  <bruno@clisp.org>
60277
60278         * modules/vasnprintf, modules/vasprintf: New modules.
60279         * MODULES.html.sh (func_all_modules): Add them.
60280
60281 2003-01-30  Bruno Haible  <bruno@clisp.org>
60282
60283         * m4/signed.m4: New file, from GNU gettext.
60284         * m4/longdouble.m4: New file, from GNU gettext.
60285         * m4/wchar_t.m4: New file, from GNU gettext.
60286         * m4/wint_t.m4: New file, from GNU gettext.
60287         * m4/vasnprintf.m4: New file.
60288         * m4/vasprintf.m4: New file.
60289
60290 2003-01-30  Bruno Haible  <bruno@clisp.org>
60291
60292         * lib/printf-args.h: New file, from GNU gettext.
60293         * lib/printf-args.c: New file, from GNU gettext.
60294         * lib/printf-parse.h: New file, from GNU gettext.
60295         * lib/printf-parse.c: New file, from GNU gettext.
60296         * lib/vasnprintf.h: New file, from GNU gettext.
60297         * lib/vasnprintf.c: New file, from GNU gettext.
60298         * lib/asnprintf.c: New file, from GNU gettext.
60299         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60300         * lib/vasprintf.c: New file, from GNU gettext.
60301         * lib/asprintf.c: New file, from GNU gettext.
60302
60303 2003-01-29  Bruno Haible  <bruno@clisp.org>
60304
60305         * modules/stpncpy: New module.
60306         * MODULES.html.sh (func_all_modules): Add it.
60307
60308 2003-01-29  Bruno Haible  <bruno@clisp.org>
60309
60310         * m4/stpncpy.m4: New file.
60311
60312 2003-01-29  Bruno Haible  <bruno@clisp.org>
60313
60314         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60315         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60316
60317 2003-01-28  Bruno Haible  <bruno@clisp.org>
60318
60319         * modules/c-ctype: New module.
60320         * MODULES.html.sh (func_all_modules): Add it.
60321
60322 2003-01-28  Bruno Haible  <bruno@clisp.org>
60323
60324         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60325         Paul Eggert.
60326         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60327         Paul Eggert.
60328
60329 2003-01-27  Bruno Haible  <bruno@clisp.org>
60330
60331         * modules/xsetenv: New module.
60332         * MODULES.html.sh (func_all_modules): Add it.
60333
60334 2003-01-27  Bruno Haible  <bruno@clisp.org>
60335
60336         * lib/xsetenv.h: New file, from GNU gettext.
60337         * lib/xsetenv.c: New file, from GNU gettext.
60338
60339 2003-01-23  Jim Meyering  <jim@meyering.net>
60340
60341         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60342         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60343
60344 2003-01-23  Bruno Haible  <bruno@clisp.org>
60345
60346         * modules/minmax: New module.
60347         * MODULES.html.sh (func_all_modules): Add it.
60348
60349 2003-01-23  Bruno Haible  <bruno@clisp.org>
60350
60351         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60352         Eggert.
60353
60354 2003-01-22  Bruno Haible  <bruno@clisp.org>
60355
60356         * modules/exit: New module.
60357         * MODULES.html.sh (func_all_modules): Add it.
60358
60359 2003-01-22  Bruno Haible  <bruno@clisp.org>
60360
60361         * lib/exit.h: New file, from GNU gettext.
60362
60363 2003-01-19  Bruno Haible  <bruno@clisp.org>
60364
60365         * gnulib-tool: Recognize option --extract-maintainer.
60366         (func_get_maintainer): New function.
60367         * modules/*: Add Maintainer entry.
60368
60369 2003-01-16  Jim Meyering  <jim@meyering.net>
60370
60371         * m4/regex.m4: The `regex' struct is both input and output.
60372         Initialize it before each use.  Patch by Tim Waugh.
60373
60374 2003-01-16  Bruno Haible  <bruno@clisp.org>
60375
60376         * MODULES.html.sh: Add a table of contents. Add the module name as
60377         leftmost column. Add hyperlinks.
60378
60379 2003-01-15  Bruno Haible  <bruno@clisp.org>
60380
60381         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60382
60383 2003-01-15  Bruno Haible  <bruno@clisp.org>
60384
60385         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60386         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60387         suffix.
60388
60389 2003-01-15  Bruno Haible  <bruno@clisp.org>
60390
60391         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60392
60393 2003-01-15  Bruno Haible  <bruno@clisp.org>
60394
60395         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60396         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60397
60398 2003-01-14  Jim Meyering  <jim@meyering.net>
60399
60400         * lib/same.c (same_name): Tweak a comment.
60401
60402 2003-01-14  Bruno Haible  <bruno@clisp.org>
60403
60404         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60405         when a string comparison is sufficient.
60406
60407 2003-01-14  Bruno Haible  <bruno@clisp.org>
60408
60409         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60410         'unsigned int'.
60411
60412 2003-01-14  Bruno Haible  <bruno@clisp.org>
60413
60414         * lib/hash-pjw.c: Add comment about low quality of this function.
60415
60416 2003-01-13  Bruno Haible  <bruno@clisp.org>
60417
60418         * modules/stpcpy: Distribute lib/stpcpy.h.
60419         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
60420
60421 2003-01-13  Bruno Haible  <bruno@clisp.org>
60422
60423         * modules/*: Add a description.
60424         * modules/strpbrk: Fix Makefile.am snippet.
60425         * modules/strtoimax: Fix dependencies.
60426         * modules/strtoumax: Likewise.
60427
60428 2003-01-13  Bruno Haible  <bruno@clisp.org>
60429
60430         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
60431         * modules/alloca (Makefile.am): All object files depend on alloca.h.
60432         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
60433
60434 2003-01-13  Bruno Haible  <bruno@clisp.org>
60435
60436         * gnulib-tool (func_create_testdir): Store config/* files in the main
60437         directory.
60438         * config.rpath: Move to ...
60439         * config/config.rpath: ... here.
60440         * modules/gettext: Contains config/config.rpath, not config.rpath.
60441         * modules/iconv: Likewise.
60442
60443 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60444
60445         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60446         to avoid collisions with libcurses and libreadline.
60447
60448         * m4/getstr.m4: Remove.
60449         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60450
60451 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60452
60453         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60454         to avoid collisions with libcurses and libreadline.
60455
60456         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60457         * lib/getstr.h, getstr.c: Remove.
60458         * lib/getline.c: Include "getline.h", to check interface.
60459         Move body of old getstr.c here: this defines MIN_CHUNK and
60460         declares getdelim2, which is renamed from getstr.
60461         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60462
60463         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60464         All uses changed.
60465         * lib/linebuffer.h: Likewise.
60466         (readline): Remove backward-compatibility macro.
60467
60468 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60469
60470         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60471         to avoid collisions with libcurses and libreadline.
60472         * getstr: Remove.
60473         * MODULES.html.sh: Remove getstr.
60474         * modules/getline: Depend on unlocked-io, not getstr.
60475
60476 2003-01-12  Jim Meyering  <jim@meyering.net>
60477
60478         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60479
60480 2003-01-10  Bruno Haible  <bruno@clisp.org>
60481
60482         * modules/alloca: Change Makefile.am requirements. Simplify Include
60483         requirements. Add lib/alloca_.h to file list.
60484
60485 2003-01-10  Bruno Haible  <bruno@clisp.org>
60486
60487         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60488
60489 2003-01-10  Bruno Haible  <bruno@clisp.org>
60490
60491         * lib/alloca_.h: New file.
60492         * lib/getdate.y: Unconditionally include alloca.h.
60493         * lib/makepath.c: Likewise.
60494         * lib/setenv.c: Likewise.
60495         * lib/userspec.c: Likewise.
60496
60497 2003-01-09  Karl Berry  <karl@gnu.org>
60498
60499         * MODULES.html.sh: include `dirname $0` in PATH, to find
60500         gnulib-tool.
60501
60502 2003-01-09  Bruno Haible  <bruno@clisp.org>
60503
60504         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60505         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60506
60507 2003-01-09  Bruno Haible  <bruno@clisp.org>
60508
60509         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60510
60511 2003-01-09  Bruno Haible  <bruno@clisp.org>
60512
60513         * lib/stdbool.h.in: New file.
60514
60515 2003-01-09  Bruno Haible  <bruno@clisp.org>
60516
60517         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60518         * MODULES.html.sh: Likewise.
60519
60520 2003-01-08  Jim Meyering  <jim@meyering.net>
60521
60522         * lib/full-write.c: Undefine and define-away `const' after inclusion
60523         of errno.h, not before.  Suggestion from Bruno Haible.
60524
60525 2003-01-08  Bruno Haible  <bruno@clisp.org>
60526
60527         * modules/full-read: Depend on full-write.
60528
60529 2003-01-08  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/safe-read.c: Include specification header first, to ensure its
60532         selfcontainedness.
60533         * lib/full-write.c: Likewise.
60534
60535 2003-01-07  Jim Meyering  <jim@meyering.net>
60536
60537         * lib/full-write.c: Rework so that it may serve to define full_read,
60538         too.
60539         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60540
60541 2003-01-07  Bruno Haible  <bruno@clisp.org>
60542
60543         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60544         <inttypes.h>.
60545         * lib/xstrtol.h: Likewise.
60546         * lib/xstrtoimax.c: Likewise.
60547         * lib/xstrtoumax.c: Likewise.
60548         * lib/human.h: Likewise.
60549
60550         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60551         on systems that have <inttypes.h> but not <stdint.h>.
60552
60553 2003-01-07  Bruno Haible  <bruno@clisp.org>
60554
60555         * MODULES.html.sh: Add copyright notice.
60556         (missed_files): Omit CVS directory entries.
60557         (func_module): Make it work with sed-3.02.
60558         * MODULES.txt: Remove file.
60559
60560 2003-01-06  Jim Meyering  <jim@meyering.net>
60561
60562         * lib/version-etc.c: Update year in translatable copyright string.
60563
60564 2003-01-03  Karl Berry  <karl@gnu.org>
60565
60566         * config/config.{guess,sub}: update from prep.
60567
60568 2003-01-02  Karl Berry  <karl@gnu.org>
60569
60570         * doc/COPYING.DOC: belatedly updated to 1.2.
60571
60572 2003-01-01  Karl Berry  <karl@gnu.org>
60573
60574         * gnulib-tool (func_verify_module): report module name $module in
60575         error message, not $1.
60576         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60577         be created, only if it doesn't exist.
60578         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60579
60580 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60581
60582         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60583
60584 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60585
60586         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60587         memcmp if strcoll doesn't work.
60588
60589 2002-12-31  Bruno Haible  <bruno@clisp.org>
60590
60591         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60592         nonempty.
60593
60594 2002-12-31  Bruno Haible  <bruno@clisp.org>
60595
60596         * lib/memcoll.c (STRCOLL): New macro.
60597         (memcoll): Use it.
60598
60599 2002-12-31  Bruno Haible  <bruno@clisp.org>
60600
60601         * lib/localcharset.h: New file.
60602         * lib/localcharset.c: Include it.
60603         * lib/unicodeio.c: Likewise.
60604
60605 2002-12-31  Bruno Haible  <bruno@clisp.org>
60606
60607         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60608         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60609
60610 2002-12-31  Bruno Haible  <bruno@clisp.org>
60611
60612         * lib/getline.h: Include <stddef.h>, for size_t.
60613
60614         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60615         * lib/unicodeio.c: Don't include <stddef.h>.
60616
60617 2002-12-31  Bruno Haible  <bruno@clisp.org>
60618
60619         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60620         HAVE_TM_ZONE.
60621
60622 2002-12-24  Karl Berry  <karl@gnu.org>
60623
60624         * config/config.guess: update from prep.
60625
60626 2002-12-24  Bruno Haible  <bruno@clisp.org>
60627
60628         General infrasructure.
60629         * m4/README: Rewritten.
60630         * m4/onceonly.m4: New file.
60631         * m4/onceonly_2_57.m4: New file.
60632
60633         Module atexit.
60634         * m4/atexit.m4: New file.
60635
60636         Module strtod.
60637         * m4/strtod.m4: New file.
60638
60639         Module strtol.
60640         * m4/strtol.m4: New file.
60641
60642         Module strtoul.
60643         * m4/strtoul.m4: New file.
60644
60645         Module memchr.
60646         * m4/memchr.m4: New file.
60647
60648         Module memcmp.
60649         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60650         (jm_FUNC_MEMCMP): Invoke it.
60651
60652         Module memcpy.
60653         * m4/memcpy.m4: New file.
60654
60655         Module memmove.
60656         * m4/memmove.m4: New file.
60657
60658         Module memset.
60659         * m4/memset.m4: New file.
60660
60661         Module strcspn.
60662         * m4/strcspn.m4: New file.
60663
60664         Module strpbrk.
60665         * m4/strpbrk.m4: New file.
60666
60667         Module strstr.
60668         * m4/strstr.m4: New file.
60669
60670         Module strerror.
60671         * m4/strerror.m4: New file.
60672
60673         Module mktime.
60674         * m4/mktime.m4: Renamed from jm-mktime.m4.
60675         (gl_PREREQ_MKTIME): New macro.
60676         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60677
60678         Module malloc.
60679         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60680         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60681         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60682
60683         Module realloc.
60684         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60685         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60686         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60687
60688         Module strftime.
60689         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60690         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60691         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60692         gl_TM_GMTOFF.
60693         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60694
60695         Module xalloc.
60696         * m4/xalloc.m4: New file.
60697
60698         Module alloca.
60699         * m4/alloca.m4: New file.
60700
60701         Module putenv.
60702         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60703         (jm_FUNC_PUTENV): Invoke it.
60704
60705         Module setenv.
60706         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60707         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60708         when invoked twice.
60709         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60710         gt_FUNC_SETENV.
60711
60712         Module memrchr.
60713         * m4/memrchr.m4: New file.
60714
60715         Module stpcpy.
60716         * m4/stpcpy.m4: New file.
60717
60718         Module strcase.
60719         * m4/strcase.m4: New file.
60720
60721         Module strdup.
60722         * m4/strdup.m4: New file.
60723
60724         Module strnlen.
60725         * m4/strnlen.m4: New file.
60726
60727         Module strndup.
60728         * m4/strndup.m4: New file.
60729
60730         Module xstrtod.
60731         * m4/xstrtod.m4: New file.
60732
60733         Module xstrtol.
60734         * m4/xstrtol.m4: New file.
60735
60736         Module getdate.
60737         * m4/getdate.m4: New file.
60738
60739         Module unlocked-io.
60740         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60741         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60742         * m4/jm-glibc-io.m4n: Remove file.
60743
60744         Module long-options.
60745         * m4/long-options.m4: New file.
60746
60747         Module md5.
60748         * m4/md5.m4: New file.
60749
60750         Module sha.
60751         * m4/sha.m4: New file.
60752
60753         Module getstr.
60754         * m4/getstr.m4: New file.
60755
60756         Module getline.
60757         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60758         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60759         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60760         simply getline. Infoke gl_PREREQ_GETLINE.
60761
60762         Module obstack.
60763         * m4/obstack.m4: New file.
60764
60765         Module hash.
60766         * m4/hash.m4: New file.
60767
60768         Module readtokens.
60769         * m4/readtokens.m4: New file.
60770
60771         Module strverscmp.
60772         * m4/strverscmp.m4: New file.
60773
60774         Module stdbool.
60775         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60776         OSF/1.
60777
60778         Module strtoll.
60779         * m4/strtoll.m4: New file.
60780
60781         Module strtoull.
60782         * m4/strtoull.m4: New file.
60783
60784         Module strtoimax.
60785         * m4/strtoimax.m4: New file.
60786
60787         Module strtoumax.
60788         * m4/strtoumax.m4: New file.
60789
60790         Module xstrtoimax.
60791         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60792         jm_AC_PREREQ_XSTRTOIMAX.
60793         Moved the strtol prerequisites to strtol.m4.
60794         Moved the strtoll prerequisites to strtoll.m4.
60795         Moved the strtoimax prerequisites to strtoimax.m4.
60796
60797         Module xstrtoumax.
60798         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60799         jm_AC_PREREQ_XSTRTOUMAX.
60800         Moved the strtoul prerequisites to strtoul.m4.
60801         Moved the strtoull prerequisites to strtoull.m4.
60802         Moved the strtoumax prerequisites to strtoumax.m4.
60803
60804         Module chown.
60805         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60806         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60807
60808         Module dup2.
60809         * m4/dup2.m4: New file.
60810
60811         Module ftruncate.
60812         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60813         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60814
60815         Module getgroups.
60816         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60817         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60818
60819         Module gettimeofday.
60820         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60821         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60822         gl_PREREQ_GETTIMEOFDAY.
60823
60824         Module mkdir.
60825         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60826         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60827
60828         Module mkstemp.
60829         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60830         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60831         jm_AC_TYPE_UINTMAX_T.
60832         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60833
60834         Module stat.
60835         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60836         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60837
60838         Module lstat.
60839         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60840         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60841
60842         Module timespec.
60843         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60844         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60845         * m4/st_mtim.m4: Indentation.
60846
60847         Module nanosleep.
60848         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60849         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60850         gl_PREREQ_NANOSLEEP.
60851
60852         Module regex.
60853         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60854         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60855         (gl_REGEX): New macro.
60856
60857         Module rename.
60858         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60859         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60860
60861         Module rmdir.
60862         * m4/rmdir.m4: New file.
60863
60864         Module utime.
60865         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60866         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60867         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60868
60869         Module dirname.
60870         * m4/dirname.m4: New file.
60871
60872         Module getopt.
60873         * m4/getopt.m4: New file.
60874
60875         Module unistd-safer.
60876         * m4/unistd-safer.m4: New file.
60877
60878         Module fnmatch.
60879         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60880         declaration.
60881         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60882         (gl_FUNC_FNMATCH_POSIX): New macro.
60883         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60884         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60885         simply fnmatch.
60886
60887         Module exclude.
60888         * m4/exclude.m4: New file.
60889
60890         Module human.
60891         * m4/human.m4: New file.
60892
60893         Module acl.
60894         * m4/acl.m4: Nop.
60895
60896         Module backupfile.
60897         * m4/backupfile.m4: New file.
60898         * m4/d-ino.m4: Indentation.
60899
60900         Module fsusage.
60901         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
60902         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
60903         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
60904
60905         Module dirfd.
60906         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
60907         requirements.
60908
60909         Module euidaccess.
60910         * m4/euidaccess.m4: New file.
60911
60912         Module file-type.
60913         * m4/file-type.m4: New file.
60914
60915         Module fileblocks.
60916         * m4/fileblocks.m4: New file.
60917
60918         Module filemode.
60919         * m4/filemode.m4: New file.
60920
60921         Module isdir.
60922         * m4/isdir.m4: New file.
60923
60924         Module lchown.
60925         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
60926         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
60927
60928         Module makepath.
60929         * m4/makepath.m4: New file.
60930
60931         Module modechange.
60932         * m4/modechange.m4: New file.
60933
60934         Module mountlist.
60935         * m4/mountlist.m4: New file.
60936         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
60937         Indentation.
60938
60939         Module path-concat.
60940         * m4/path-concat.m4: New file.
60941
60942         Module pathmax.
60943         * m4/pathmax.m4: New file.
60944
60945         Module same.
60946         * m4/same.m4: New file.
60947
60948         Module save-cwd.
60949         * m4/save-cwd.m4: New file.
60950
60951         Module savedir.
60952         * m4/savedir.m4: New file.
60953
60954         Module xgetcwd.
60955         * m4/xgetcwd.m4: New file.
60956         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
60957
60958         Module xreadlink.
60959         * m4/xreadlink.m4: New file.
60960
60961         Module safe-read.
60962         * m4/safe-read.m4: New file.
60963
60964         Module safe-write.
60965         * m4/safe-write.m4: New file.
60966
60967         Module closeout.
60968         * m4/closeout.m4: New file.
60969
60970         Module stdio-safer.
60971         * m4/stdio-safer.m4: New file.
60972
60973         Module getpass.
60974         * m4/getpass.m4: New file.
60975
60976         Module getugroups.
60977         * m4/getugroups.m4: New file.
60978
60979         Module group-member.
60980         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
60981         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
60982
60983         Module idcache.
60984         * m4/idcache.m4: New file.
60985
60986         Module userspec.
60987         * m4/userspec.m4: New file.
60988
60989         Module gettime.
60990         * m4/clock_time.m4: New file.
60991         * m4/gettime.m4: New file.
60992
60993         Module settime.
60994         * m4/settime.m4: New file.
60995
60996         Module posixtm.
60997         * m4/posixtm.m4: New file.
60998
60999         Module gethostname.
61000         * m4/gethostname.m4: New file.
61001
61002         Module canon-host.
61003         * m4/canon-host.m4: New file.
61004
61005         Module gettext.
61006         * m4/codeset.m4: New file, from gettext-0.11.5.
61007         * m4/gettext.m4: New file, from gettext-0.11.5.
61008         * m4/glibc21.m4: New file, from gettext-0.11.5.
61009         * m4/iconv.m4: New file, from gettext-0.11.5.
61010         * m4/intdiv0.m4: New file, from gettext-0.11.5.
61011         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
61012         * m4/inttypes.m4: New file, from gettext-0.11.5.
61013         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
61014         * m4/isc-posix.m4: New file, from gettext-0.11.5.
61015         * m4/lcmessage.m4: New file, from gettext-0.11.5.
61016         * m4/lib-ld.m4: New file, from gettext-0.11.5.
61017         * m4/lib-link.m4: New file, from gettext-0.11.5.
61018         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
61019         * m4/progtest.m4: New file, from gettext-0.11.5.
61020         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
61021         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
61022         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
61023
61024         Module localcharset.
61025         * m4/localcharset.m4: New file.
61026
61027         Module hard-locale.
61028         * m4/hard-locale.m4: New file.
61029
61030         Module mbswidth.
61031         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
61032         onceonly macros.
61033         * m4/mbrtowc.m4: Add comment.
61034
61035         Module memcasecmp.
61036         * m4/memcasecmp.m4: New file.
61037
61038         Module memcoll.
61039         * m4/memcoll.m4: New file.
61040
61041         Module unicodeio.
61042         * m4/unicodeio.m4: New file.
61043
61044         Module rpmatch.
61045         * m4/rpmatch.m4: New file.
61046
61047         Module yesno.
61048         * m4/yesno.m4: New file.
61049
61050         Module exitfail.
61051         * m4/exitfail.m4: New file.
61052
61053         Module c-stack.
61054         * m4/c-stack.m4 (gl_C_STACK): New macro.
61055         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
61056
61057         Module error.
61058         * m4/error.m4 (gl_ERROR): New macro.
61059         (jm_PREREQ_ERROR): Use onceonly macros.
61060
61061         Module fatal.
61062         * m4/fatal.m4: New file.
61063
61064         Module getloadavg.
61065         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
61066         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
61067
61068         Module getpagesize.
61069         * m4/getpagesize.m4: New file.
61070
61071         Module getusershell.
61072         * m4/getusershell.m4: New file.
61073
61074         Module physmem.
61075         * m4/physmem.m4: New file.
61076
61077         Module posixver.
61078         * m4/posixver.m4: New file.
61079
61080         Module quotearg.
61081         * m4/quotearg.m4: New file.
61082
61083         Module quote.
61084         * m4/quote.m4: New file.
61085
61086         Module readutmp.
61087         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
61088
61089         Module sig2str.
61090         * m4/sig2str.m4: New file.
61091
61092         Other.
61093         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
61094         ulonglong.m4.
61095         * m4/intmax_t.m4: New file.
61096         * m4/d-type.m4: Indentation.
61097         * m4/jm-macros.m4: Update.
61098         * m4/prereq.m4 (jm_PREREQ): Update.
61099         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
61100         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
61101         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
61102         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
61103         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
61104         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
61105         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
61106         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
61107         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
61108         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
61109         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
61110         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
61111         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
61112         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
61113         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
61114         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
61115         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
61116         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
61117         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
61118
61119 2002-12-24  Bruno Haible  <bruno@clisp.org>
61120
61121         * MODULES.txt: Update according to m4/ changes.
61122
61123         Module gettext.
61124         * config.rpath: New file, from gettext-0.11.5.
61125
61126         * modules/*: New module descriptions.
61127         * gnulib-tool: New file.
61128         * MODULES.html.sh: New file.
61129
61130 2002-12-21  Karl Berry  <karl@gnu.org>
61131
61132         * doc/fdl.texi: update to version 1.2.
61133
61134 2002-12-19  Karl Berry  <karl@gnu.org>
61135
61136         * config/config.guess: update from prep.
61137
61138 2002-12-18  Bruno Haible  <bruno@clisp.org>
61139
61140         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
61141         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
61142
61143 2002-12-17  Bruno Haible  <bruno@clisp.org>
61144
61145         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
61146         stdlib.h, string.h.
61147
61148 2002-12-17  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/canon-host.c (strdup): Remove unused declaration.
61151
61152         * lib/fsusage.c: Include full_read.h.
61153         (get_fs_usage): Use full_read instead of safe_read.
61154
61155         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
61156
61157 2002-12-12  Karl Berry  <karl@gnu.org>
61158
61159         * config/config.guess: update from prep.
61160
61161 2002-12-11  Bruno Haible  <bruno@clisp.org>
61162
61163         * m4/setenv.m4: New file, from gettext-0.11.5.
61164
61165 2002-12-11  Bruno Haible  <bruno@clisp.org>
61166
61167         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
61168         not unsetenv().
61169         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
61170         modifications:
61171
61172         2002-12-11  Bruno Haible  <bruno@clisp.org>
61173
61174                 * setenv.c (alloca): Fall back to malloc.
61175                 (freea): New macro.
61176                 (setenv): Use freea() to free memory allocated with alloca().
61177
61178         2002-11-13  Bruno Haible  <bruno@clisp.org>
61179
61180                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
61181                 function declarations.
61182                 * unsetenv.c (unsetenv): Likewise.
61183
61184         2002-03-04  Bruno Haible  <bruno@clisp.org>
61185
61186                 Portability to AIX 4.3.3.
61187                 * unsetenv.c: New file, extracted from setenv.c.
61188                 * setenv.c: Move the unsetenv() function to unsetenv.c.
61189
61190         2001-12-20  Bruno Haible  <bruno@clisp.org>
61191
61192                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
61193                 use malloc instead. For SunOS 4.
61194
61195         2001-12-11  Bruno Haible  <bruno@clisp.org>
61196
61197                 * setenv.c: Declare alloca.
61198                 (compar_fn_t): New typedef.
61199                 (KNOWN_VALUE, STORE_VALUE): Use it.
61200
61201         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
61202         setenv.h.
61203
61204 2002-12-10  Paul Eggert  <eggert@twinsun.com>
61205
61206         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
61207         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
61208         Choose values that are less likely to collide with system fnmatch
61209         options.
61210         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61211         defined (e.g., a pure POSIX system).
61212         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61213         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61214
61215 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61216
61217         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61218         a pain in practice to deal with generated m4 files.  This change
61219         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61220
61221         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61222         and jm-glibc-io.m4, as they are no longer a special case.
61223         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61224         kludge and the auto-generation stuff.  Check only whether the
61225         functions are declared, not whether they exist, since older hosts
61226         that don't declare the functions can't use the optimization anyway.
61227
61228 2002-12-06  Jim Meyering  <jim@meyering.net>
61229
61230         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61231
61232         Merge in changes from libc's misc/error.c, in preparation
61233         for the merge of gnulib's changes back into libc.
61234
61235         * lib/error.c (_): Define only if not already defined.
61236         Move definition to follow all #include directives.
61237         Include unlocked-io.h only if !_LIBC.
61238         [_LIBC]: Include <libio/libioP.h>.
61239         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61240         (fflush): Tweak definition to use INTUSE.
61241         (putc): Define.
61242
61243 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61244
61245         * lib/alloca.c [defined emacs]: Include "lisp.h".
61246         (xalloc_die) [defined emacs]: New macro.
61247         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61248         [! defined emacs]: Include <xalloc.h>.
61249         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61250         (pointer): Typedef to POINTER_TYPE *.
61251         (malloc): Remove decl; we now always use xmalloc.
61252         (alloca): Use old-style definition, since Emacs needs this.
61253         Check for arithmetic overflow when computing combined size.
61254
61255 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61256
61257         Do not generate unlocked-io.h automatically, since it's easier to
61258         maintain it by hand.
61259
61260         * lib/unlocked-io.h: New file, from GNU diffutils,
61261         but with proper copyright notice and attribution.
61262         * lib/gen-uio: Remove.
61263         * lib/Makefile.am: Add copyright notice.
61264         (libfetish_a_SOURCES): Add unlocked-io.h.
61265         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61266         (DISTCLEANFILES, io_functions): Remove macros.
61267         (EXTRA_DIST): Remove gen_uio.
61268         (unlocked-io.h): Remove rule.
61269
61270 2002-12-04  Jim Meyering  <jim@meyering.net>
61271
61272         Reflect the fact that stat.c and lstat.c are no longer generated.
61273         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61274         (DISTCLEANFILES): Likewise.
61275         (EXTRA_DIST): Likewise.
61276         (all_local): Don't depend on stat.c or lstat.c.
61277         (stat.c, lstat.c): Remove rules.
61278         (EXTRA_DIST): Remove xstat.in.
61279
61280         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61281         * lib/stat.c: New file.  Contents mostly from xstat.in.
61282         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61283         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61284
61285         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61286         too.
61287         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61288
61289 2002-12-03  Jim Meyering  <jim@meyering.net>
61290
61291         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61292         but not semantics, to minimize the differences between these two files.
61293         (safe_read): Change comment to mention SAFE_READ_ERROR.
61294
61295         * lib/safe-read.c (IS_EINTR): Define.
61296         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61297
61298 2002-12-02  Jim Meyering  <jim@meyering.net>
61299
61300         * lib/safe-read.c (EINTR): Define.
61301         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61302         (INT_MAX): Provide fallback.
61303         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61304
61305         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61306
61307 2002-12-02  Bruno Haible  <bruno@clisp.org>
61308
61309         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61310         Define, taken from safe-read.c.
61311         (INT_MAX): Provide fallback.
61312         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61313         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61314
61315         * lib/safe-read.c (EINTR): Remove definition.
61316         (safe_read): Don't use EINTR if it is absent.
61317
61318 2002-12-01  Jim Meyering  <jim@meyering.net>
61319
61320         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61321         zero.
61322         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61323
61324 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61325
61326         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61327         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61328         with `if (! (value < limit)) abort ();', for readability.
61329
61330 2002-11-26  Karl Berry  <karl@gnu.org>
61331
61332         * lib/strdup.c: copy from libc again, with jim's ok.
61333         * lib/.cppi-disable: re-add strdup.c
61334
61335 2002-11-25  Karl Berry  <karl@gnu.org>
61336
61337         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61338         instead of "strtol.c".
61339
61340 2002-11-25  Karl Berry  <karl@gnu.org>
61341
61342         * config/install-sh: update from automake for variable quoting, $0 in
61343         error msgs, etc.
61344
61345         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61346         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61347         entry.
61348
61349 2002-11-25  Jim Meyering  <jim@meyering.net>
61350
61351         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61352
61353 2002-11-24  Karl Berry  <karl@gnu.org>
61354
61355         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61356         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61357
61358 2002-11-24  Jim Meyering  <jim@meyering.net>
61359
61360         Update from coreutils:
61361
61362         * lib/mktime.c: Merge in changes from libc.
61363
61364         Avoid a link-time failure on some Linux systems.
61365         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61366         (otherwise).
61367         (__mon_yday): Declare with the STATIC attribute.
61368         (__mktime_internal): Likewise.
61369         Based on a report from Greg Schafer.
61370
61371 2002-11-23  Jim Meyering  <jim@meyering.net>
61372
61373         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61374         Use `unsigned', not `int', as type of index.
61375
61376         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61377
61378         * lib/fsusage.c: Remove unneeded parentheses around operands of
61379         `defined'.
61380
61381 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61382
61383         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61384         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61385         so that we can be included first.
61386         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61387         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61388         No need to include stddef.h or sys/types.h any more.
61389         Surround local include files with "", not "<>".
61390         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61391         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61392         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61393         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61394         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61395         (ISPRINT): Remove; no longer needed now that we assume C89.
61396
61397         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61398         Preserve errno.
61399
61400         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61401         quotearg_char): Use SIZE_MAX rather than
61402         (size_t) -1 when we are talking about "infinity".
61403
61404         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61405
61406 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61407
61408         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61409         hint that one should use `if (! x) abort ();' rather than `assert
61410         (x);', and anyway it's one less thing to worry about configuring.
61411         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61412         hash_rehash, hash_insert): Use abort rather than assert.
61413
61414 2002-11-22  Bruno Haible  <bruno@clisp.org>
61415
61416         * lib/safe-read.h: Assume C89. Add comments.
61417         (safe_read): Change return type to size_t.
61418         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
61419         byte counts > SSIZE_MAX correctly.
61420         * lib/safe-write.h: New file.
61421         * lib/safe-write.c: New file.
61422         * lib/full-read.h: New file.
61423         * lib/full-read.c: New file.
61424         * lib/full-write.h: Assume C89. Add comments.
61425         * lib/full-write.c: Include safe-write.h.
61426         (full_write): Rewritten to use safe_write.
61427         Suggested by Jim Meyering and Paul Eggert.
61428
61429 2002-11-21  Jim Meyering  <jim@meyering.net>
61430
61431         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
61432
61433         Merge in changes from the coreutils.
61434
61435         2002-09-25  Paul Eggert  <eggert@twinsun.com>
61436         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
61437         <stdint.h>.
61438         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
61439         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
61440         int.  Work more efficiently if X is the same width as uintmax_t.
61441         Do not compare X to -1, to avoid bogus compiler warning.
61442         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
61443         Don't assume that f_frsize and f_bsize are the same type.
61444
61445         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
61446         warning on FreeBSD.
61447
61448         * lib/makepath.c (make_path): Restore umask *before* creating the final
61449         component.
61450         (make_path): Minor reformatting.
61451
61452         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61453         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61454         HAVE_MALLOC/HAVE_REALLOC.
61455
61456         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61457         dummy ones.  At least on GNU/Linux systems, `auto' means something
61458         else.
61459         From Michael Stone.
61460
61461 2002-11-21  Bruno Haible  <bruno@clisp.org>
61462
61463         Remove case insensitive option matching.
61464         * lib/argmatch.h (argcasematch): Remove declaration.
61465         (ARGCASEMATCH): Remove macro.
61466         (__xargmatch_internal): Remove case_sensitive argument.
61467         (XARGMATCH): Update.
61468         (XARGCASEMATCH): Remove macro.
61469         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61470         case_sensitive argument.
61471         (argcasematch): Remove function.
61472         (__xargmatch_internal): Remove case_sensitive argument.
61473         (main): Use XARGMATCH instead of XARGCASEMATCH.
61474
61475         * lib/xmalloc.c: Change compile-time error message. Add comment about
61476         required autoconf version.
61477
61478 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61479
61480         Merge argmatch cleanups from Bison.  Assume C89.
61481
61482         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61483         Include stdlib.h, for EXIT_FAILURE.
61484         Always include <string.h>, since we assume C89.
61485         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61486         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61487         Include <stddef.h> instead, since it's all we need for size_t.
61488         (PARAMS): Remove.  All uses removed.
61489         (ARRAY_CARDINALITY): Do not bother to #undef.
61490         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61491         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61492         Remove unnecessary parentheses.
61493         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61494         Insert necessary parentheses.
61495         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61496         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61497
61498 2002-11-19  Bruno Haible  <bruno@clisp.org>
61499
61500         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61501         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61502
61503         * lib/mbswidth.h (PARAMS): Remove macro.
61504         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61505         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61506
61507         * lib/gcd.h (PARAMS): Remove macro.
61508         (gcd): Use ANSI C function declarations.
61509         * lib/gcd.c (gcd): Likewise.
61510
61511 2002-11-15  Bruno Haible  <bruno@clisp.org>
61512
61513         * lib/strcspn.c: Include <stddef.h>.
61514         (strcspn): Use ANSI C function declaration. Change return type to
61515         size_t. Use NULL.
61516         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61517         (strpbrk): Use NULL.
61518         * lib/strpbrk.h (PARAMS): Remove macro.
61519         (strpbrk): Use ANSI C function declaration.
61520         * lib/strstr.c: Don't include <sys/types.h>.
61521         * lib/strstr.h (PARAMS): Remove macro.
61522         (strstr): Use ANSI C function declarations.
61523
61524 2002-11-14  Karl Berry  <karl@gnu.org>
61525
61526         * config/mkinstalldirs: `do' on separate line, instead of
61527         `for var; do'.
61528
61529 2002-11-06  Bruno Haible  <bruno@clisp.org>
61530
61531         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61532         * lib/gcd.c (gcd): Likewise.
61533
61534 2002-11-05  Bruno Haible  <bruno@clisp.org>
61535
61536         * lib/gcd.h: New file, from gettext-0.11.5.
61537         * lib/gcd.c: New file, from gettext-0.11.5.
61538
61539 2002-11-05  Bruno Haible  <bruno@clisp.org>
61540
61541         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61542         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61543         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61544         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61545
61546         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61547         <libintl.h>.
61548         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61549         <libintl.h>.
61550
61551         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61552         * lib/human.c: Include gettext.h instead of <libintl.h>.
61553         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61554         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61555         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61556         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61557         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61558         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61559         (textdomain): Remove definition.
61560         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61561
61562         * lib/long-options.c: Remove include of <libintl.h> and definition of
61563         _.
61564         * lib/same.c: Remove include of <libintl.h> and definition of _.
61565
61566 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61567
61568         * lib/config.charset: A few additions for Solaris.
61569
61570 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61571
61572         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61573         * lib/localcharset.c (locale_charset): Declare as extern "C".
61574
61575 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61576
61577         * lib/config.charset: msdos in uk_UA uses CP1125.
61578
61579 2002-11-04  Bruno Haible  <bruno@clisp.org>
61580
61581         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61582         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61583         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61584         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61585         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61586
61587 2002-11-04  Bruno Haible  <bruno@clisp.org>
61588
61589         * lib/localcharset.c (locale_charset): Don't return an empty string.
61590
61591 2002-11-04  Bruno Haible  <bruno@clisp.org>
61592
61593         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61594         aliases.
61595
61596 2002-11-04  Bruno Haible  <bruno@clisp.org>
61597
61598         * lib/config.charset: Update for newest glibc. Add canonical names
61599         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61600
61601 2002-11-04  Bruno Haible  <bruno@clisp.org>
61602
61603         * lib/config.charset: Add support for NetBSD.
61604
61605 2002-11-04  Bruno Haible  <bruno@clisp.org>
61606
61607         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61608
61609 2002-11-01  Bruno Haible  <bruno@clisp.org>
61610
61611         * configure.in: Add AC_CONFIG_AUX_DIR call.
61612         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61613         test/Makefile.
61614         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61615
61616 2002-09-28  Karl Berry  <karl@gnu.org>
61617
61618         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61619         installed automake until the next release, since changes have been
61620         made.
61621
61622 2002-09-25  Karl Berry  <karl@gnu.org>
61623
61624         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61625         * lib/getopt*: copy from libc/posix.
61626         * lib/gettext.h: copy from gettext.
61627         * lib/.cppi-disable: add strdup.c, gettext.h.
61628
61629 2002-09-25  Karl Berry  <karl@gnu.org>
61630
61631         * config/srclist.txt: enable gettext.h check.
61632         * config/config.{guess,sub}: update from prep.
61633         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61634                 from automake 1.6.3.
61635         See srclist*.
61636
61637 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61638
61639         * regex.c (PATFETCH): Remove the translating fetch.
61640         (PATFETCH_RAW): Rename to PATFETCH.
61641         (set_image_of_range): New fun.
61642         (SET_RANGE_TABLE_WORK_AREA): Use it.
61643         (regex_compile): Don't translate the pattern chars so eagerly.
61644         Only do it when inserting an `exactn' bytecode or when handling
61645         a char-range.
61646         (mutually_exclusive_p): Avoid empty statement.
61647
61648 2002-07-06  Jim Meyering  <meyering@lucent.com>
61649
61650         * m4/README: Don't mention Makefile.am.in.
61651         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61652
61653 2002-07-01  Jim Meyering  <meyering@lucent.com>
61654
61655         * lib/c-stack.c: Include sys/time.h.
61656         From Volker Borchert.
61657
61658 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61659
61660         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61661
61662 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61663
61664         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61665         New macro.  Use it uniformly instead of
61666         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61667         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61668         reported by Vin Shelton.
61669
61670 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61671
61672         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61673         Do not assume SA_SIGINFO behavior.
61674         Bug reported by Jim Meyering on NetBSD 1.5.2.
61675
61676 2002-06-22  Jim Meyering  <meyering@lucent.com>
61677
61678         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61679         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61680
61681         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61682         now that configure.ac uses AC_GNU_SOURCE.
61683         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61684         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61685
61686         Update to latest tools.  Suggestions from Paul Eggert.
61687         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61688         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61689         * m4/fnmatch.m4: Likewise.
61690         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61691         to AC_HEADER_STDBOOL
61692
61693 2002-06-22  Jim Meyering  <meyering@lucent.com>
61694
61695         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61696         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61697
61698 2002-06-22  Jim Meyering  <meyering@lucent.com>
61699
61700         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61701
61702         * lib/exitfail.c, exitfail.h: Likewise.
61703         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61704
61705         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61706         of fnmatch.h.
61707         (EXTRA_DIST): Add fnmatch_loop.c.
61708         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61709
61710         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61711         * lib/fnmatch.c: Update from diffutils-2.8.2.
61712         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61713         * lib/fnmatch.h: Remove file.
61714
61715 2002-06-21  Jim Meyering  <meyering@lucent.com>
61716
61717         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61718         * m4/mbrtowc.m4: Likewise.
61719
61720         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61721         * m4/mbswidth.m4: Reflect name change:
61722         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61723         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61724
61725         * m4/lib-link.m4: Update from gettext-0.11.2.
61726         * m4/gettext.m4: Likewise.
61727
61728         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61729         From Alfred M. Szmidt.
61730
61731 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61732
61733         * lib/file-type.h: Report an error if neither S_ISREG nor
61734         S_IFREG is defined, instead of using a test specific to glibc
61735         2.2.  This should be safe, since POSIX requires S_ISREG and
61736         Unix Version 7 had S_IFREG.  We don't need to check for
61737         <sys/types.h> since we don't use any symbols that it defines.
61738
61739 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61740
61741         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61742         $@-t, so that each temporary file name is unique and valid in the first
61743         8 characters, for operation under DOS.
61744
61745 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61746
61747         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61748
61749 2002-06-15  Jim Meyering  <meyering@lucent.com>
61750
61751         Work even with DJGPP 2.03, which lacks support for symlinks.
61752         From Richard Dawe.
61753         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61754         is defined.
61755         * lib/lchown.c (S_ISLNK): Likewise.
61756
61757 2002-06-15  Jim Meyering  <meyering@lucent.com>
61758
61759         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61760         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61761         have been included before this file.
61762
61763 2002-06-14  Jim Meyering  <meyering@lucent.com>
61764
61765         * lib/file-type.h: Use the version from diffutils-2.8.2.
61766         * lib/file-type.c: Likewise.
61767
61768 2002-06-07  Jim Meyering  <meyering@lucent.com>
61769
61770         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61771         They're needed at least for NetBSD 1.5.2.
61772         ($statxfs_includes): Include those same headers.
61773         ($statxfs_includes): Include sys/vfs.h if available.
61774         ($statxfs_includes): Likewise for sys/statvfs.h.
61775         Check for the following members in both structs statfs and statvfs:
61776         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61777
61778 2002-06-01  Jim Meyering  <meyering@lucent.com>
61779
61780         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61781         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61782
61783 2002-05-28  Jim Meyering  <meyering@lucent.com>
61784
61785         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61786         Reported by Volker Borchert.
61787
61788 2002-05-27  Jim Meyering  <meyering@lucent.com>
61789
61790         Fix a problem seen only on nonconforming systems whereby ls.c's
61791         use of localtime, and then of gettimeofday would cause trouble:
61792         the localtime call used to initialize rpl_gettimeofday's save
61793         mechanism would clobber ls's current local time information so
61794         that in any long listing the first file would always be listed
61795         with date 1970-01-01.  Analysis by Volker Borchert.
61796
61797         * lib/gettimeofday.c (localtime): Undefine.
61798         (rpl_localtime): New function.
61799
61800 2002-05-27  Jim Meyering  <meyering@lucent.com>
61801
61802         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61803         localtime.
61804
61805         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61806         use the replacement function; it wouldn't resolve at link time.
61807         Reported by Volker Borchert.
61808
61809 2002-05-22  Jim Meyering  <meyering@lucent.com>
61810
61811         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61812         file-type.h.
61813         * lib/file-type.h: New file.
61814         * lib/file-type.c (file_type): New file/function.  Extracted from
61815         diffutils.
61816
61817 2002-04-30  Jim Meyering  <meyering@lucent.com>
61818
61819         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61820
61821 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61822
61823         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61824
61825 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61826
61827         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61828         Do not check for alloca.h (no longer used) or stdbool.h (was never
61829         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61830
61831 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61832
61833         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61834
61835 2002-04-29  Jim Meyering  <meyering@lucent.com>
61836
61837         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61838         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61839         Use AC_FUNC_STRNLEN here instead.
61840
61841         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61842         With autoconf-2.53a, it's part of AC_PROG_CC.
61843
61844 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61845
61846         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61847         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61848
61849 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61850
61851         * lib/sig2str.h, lib/sig2str.c: New files.
61852         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61853
61854 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61855
61856         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61857         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61858         of 127, since 64 is the largest conceivable number for ancient
61859         nonstandard hosts.
61860         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61861
61862 2002-04-28  Jim Meyering  <meyering@lucent.com>
61863
61864         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61865
61866 2002-04-24  Jim Meyering  <meyering@lucent.com>
61867
61868         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61869         (jm_PREREQ): Use it.
61870
61871         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61872         mach/mach.h fcntl.h.
61873         Check for this function: setlocale.
61874
61875 2002-04-24  Jim Meyering  <meyering@lucent.com>
61876
61877         * lib/gettext.h: New file, from Gettext.
61878         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61879         (libfetish_a_SOURCES): Add gettext.h.
61880
61881 2002-04-16  Jim Meyering  <meyering@lucent.com>
61882
61883         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61884         ut_pid, ut_id, ut_exit.
61885
61886 2002-04-16  Jim Meyering  <meyering@lucent.com>
61887
61888         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61889         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61890         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61891
61892 2002-04-12  Jim Meyering  <meyering@lucent.com>
61893
61894         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61895         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61896         existence of the getmntinfo function.  Needed for Darwin 5.3.
61897
61898         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61899         This is necessary at least on Darwin 5.3.
61900
61901         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
61902         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
61903         strnlen.o in the library, and that makes some versions of ranlib
61904         object.
61905
61906 2002-04-12  Jim Meyering  <meyering@lucent.com>
61907
61908         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
61909
61910 2002-04-09  Jim Meyering  <meyering@lucent.com>
61911
61912         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
61913         to be more precise.  Rather than saying we're checking whether the
61914         function `works', say what we're testing.
61915         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
61916         Reported by Bruno Haible.
61917
61918 2002-03-10  Jim Meyering  <meyering@lucent.com>
61919
61920         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
61921         Suggestion from Santiago Vila.
61922
61923 2002-03-08  Jim Meyering  <meyering@lucent.com>
61924
61925         * lib/rename.c: Mention that this wrapper is needed also on
61926         mips-dec-ultrix4.4 systems.
61927
61928 2002-03-02  Jim Meyering  <meyering@lucent.com>
61929
61930         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
61931         not HAVE_CLOCK_SETTIME.
61932
61933 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61934
61935         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
61936         Check for clock_settime.
61937
61938 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61939
61940         * lib/nanosleep.h: Rename to....
61941         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
61942
61943         * lib/gettime.c: New file.
61944         * lib/settime.c: New file.
61945         * lib/stime.c: Remove.
61946
61947         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
61948         timespec.h.  Remove nanosleep.h.
61949
61950 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61951
61952         * m4/acl.m4: New file.
61953         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
61954         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
61955
61956 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61957
61958         * lib/acl.c, lib/acl.h: New files.
61959         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
61960
61961 2002-02-24  Jim Meyering  <meyering@lucent.com>
61962
61963         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
61964         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
61965         cause trouble.  Reported by Nelson Beebe.
61966
61967 2002-02-23  Paul Eggert  <eggert@twinsun.com>
61968
61969         * lib/path-concat.c (xpath_concat): Reorder code to pacify
61970         compilers that don't know that xalloc_die never returns.
61971
61972 2002-02-20  Jim Meyering  <meyering@lucent.com>
61973
61974         * lib/getdate.c: Regenerate using bison-1.33.
61975
61976 2002-02-17  Jim Meyering  <meyering@lucent.com>
61977
61978         * config/config.guess (main): Don't use `head -1'; it's no longer
61979         portable. Use `sed 1q' instead.
61980
61981 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
61982
61983         * m4/codeset.m4: Upgrade to gettext-0.11.
61984         * m4/gettext.m4: Upgrade to gettext-0.11.
61985         * m4/glibc21.m4: Upgrade to gettext-0.11.
61986         * m4/iconv.m4: Upgrade to gettext-0.11.
61987         * m4/isc-posix.m4: Upgrade to gettext-0.11.
61988         * m4/lcmessage.m4: Upgrade to gettext-0.11.
61989         * m4/lib-ld.m4: New file, from gettext-0.11.
61990         * m4/lib-link.m4: New file, from gettext-0.11.
61991         * m4/lib-prefix.m4: New file, from gettext-0.11.
61992         * m4/progtest.m4: Upgrade to gettext-0.11.
61993
61994 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61995
61996         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
61997         (jm_PREREQ): Use it.
61998
61999 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62000
62001         * lib/posixver.c, lib/posixver.h: New files.
62002         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62003
62004 2002-02-02  Paul Eggert  <eggert@twinsun.com>
62005             Bruno Haible  <bruno@clisp.org>
62006
62007         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
62008         (fwrite_success_callback): New declaration.
62009         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
62010         print_unicode_char. Call failure callback instead of error.
62011         (fwrite_success_callback): New function.
62012         (exit_failure_callback): New function.
62013         (fallback_failure_callback): New function.
62014         (print_unicode_char): Call unicode_to_mb.
62015
62016 2002-01-26  Jim Meyering  <meyering@lucent.com>
62017
62018         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
62019         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
62020
62021 2002-01-26  Jim Meyering  <meyering@lucent.com>
62022
62023         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
62024
62025 2002-01-22  Paul Eggert  <eggert@twinsun.com>
62026
62027         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
62028
62029 2002-01-22  Jim Meyering  <meyering@lucent.com>
62030
62031         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
62032         Otherwise, some versions of automake would omit the rule that makes
62033         Makefile from Makefile.in.
62034
62035 2002-01-21  Paul Eggert  <eggert@twinsun.com>
62036
62037         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
62038         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62039         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
62040         (memcoll): Set errno to zero if there is no error.
62041
62042         * lib/quotearg.c (quotearg_buffer_restyled):
62043         Fix bug with quoting buffers containing NUL when backslashing escapes.
62044         This bug was exposed by the other changes in this patch.
62045         (quotearg_n_options): New arg ARGSIZE.
62046         All callers changed.
62047         (quoting_options_from_style): New function.
62048         (quotearg_n_style): Use it.
62049         (quotearg_n_style_mem): New function.
62050
62051         * lib/quotearg.h (quotearg_n_style_mem): New function.
62052
62053 2002-01-19  Jim Meyering  <meyering@lucent.com>
62054
62055         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
62056         Remove useless quotes: DF_PROG="df".
62057         * m4/strnlen.m4: New file.
62058
62059 2002-01-16  Paul Eggert  <eggert@twinsun.com>
62060
62061         * lib/backupfile.c (ISDIGIT): Comment fix.
62062         * lib/getdate.y (ISDIGIT): Likewise.
62063         * lib/posixtm.c (ISDIGIT, year): Likewise.
62064         * lib/strverscmp.c (ISDIGIT): Likewise.
62065         * lib/userspec.c (ISDIGIT): Likewise.
62066
62067 2002-01-16  Jim Meyering  <meyering@lucent.com>
62068
62069         * lib/getdate.y: Add three semicolons, each just before a closing
62070         brace. Bison (as of version 1.31) no longer papers over that mistake.
62071
62072 2002-01-05  Jim Meyering  <meyering@lucent.com>
62073
62074         * lib/version-etc.c (version_etc_copyright): Update copyright year.
62075
62076 2001-12-19  Paul Eggert  <eggert@twinsun.com>
62077
62078         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
62079         not silently exit merely because the output buffer happens to
62080         have nothing pending.
62081
62082 2001-12-18  Paul Eggert  <eggert@twinsun.com>
62083
62084         See the big note in ../ChangeLog.
62085         * lib/human.c (suffixes): Prefer K to k for 1024.
62086         (generate_suffix_backwards): New function.
62087         (human_readable_inexact): Use it.
62088         * lib/xstrtol.c (__xstrtol): If there is no number but there
62089         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
62090         Accept 'K' as well as 'k'.
62091
62092 2001-12-15  Jim Meyering  <meyering@lucent.com>
62093
62094         * lib/regex.h (__restrict_arr): Update from libc.
62095
62096         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
62097         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
62098         (STREQ): Define.
62099
62100 2001-12-14  Jim Meyering  <meyering@lucent.com>
62101
62102         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
62103         Suggestion from Bruno Haible.
62104
62105 2001-12-10  Jim Meyering  <meyering@lucent.com>
62106
62107         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
62108         xrealloc, Instead, include "xalloc.h".
62109         (initbuffer): Don't cast xmalloc return value to char*.
62110         (readline): Reword comment.
62111         Don't cast xrealloc return value to char*
62112         Return NULL, not 0.
62113
62114 2001-12-09  Jim Meyering  <meyering@lucent.com>
62115
62116         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
62117         about `signed and unsigned type in conditional expression'.
62118         * lib/posixtm.c (posix_time_parse): Likewise.
62119
62120         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
62121
62122         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
62123         to avoid a pedantic warning.
62124
62125         * lib/getstr.c: Don't include assert.h.
62126         (getstr): Remove warning-evoking assertions.
62127         Return -1 if offset parameter is out of bounds.
62128         Change the type of a local from int to size_t.
62129
62130         * lib/strftime.c (my_strftime_localtime_r): Include this function
62131         definition in the `#if ! HAVE_TM_GMTOFF' block.
62132
62133         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
62134         Include xalloc.h instead.
62135
62136 2001-12-02  Jim Meyering  <meyering@lucent.com>
62137
62138         * lib/tempname.c: Don't declare getenv, thus reverting the change of
62139         2001-11-18.  It's no longer necessary, now that stdlib.h is always
62140         included.
62141
62142         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
62143         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
62144
62145 2001-11-30  Akim Demaille  <akim@epita.fr>
62146
62147         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
62148         before being defined.
62149
62150 2001-11-27  Paul Eggert  <eggert@twinsun.com>
62151
62152         * lib/quotearg.h (quotearg_n, quotearg_n_style):
62153         First arg is int, not unsigned.
62154         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
62155         (SIZE_MAX, UINT_MAX): New macros.
62156         (quotearg_n_options): Abort if N is negative.
62157         Avoid overflow check on hosts where size_t is 64 bits and int
62158         is 32 bits, as overflow is impossible there.
62159         Fix off-by-one typo that caused unnecessary reallocation.
62160
62161 2001-11-27  Jim Meyering  <meyering@lucent.com>
62162
62163         * lib/tempname.c: Merge with version from libc.
62164         * lib/regex.c: Likewise.
62165
62166         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
62167         systems for which STDC_HEADERS is 0, it was not included, resulting in
62168         a warning about an integer-to-pointer conversion problem with getenv.
62169         Reported by Volker Borchert.
62170
62171 2001-11-26  Jim Meyering  <meyering@lucent.com>
62172
62173         * lib/gtod.h: Remove file.
62174         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
62175         * lib/gettimeofday.c: Don't include gtod.h.
62176         (GTOD_init): Remove function.
62177         (rpl_gettimeofday): Do its job here instead, rather than aborting.
62178         Suggestion from Volker Borchert.
62179
62180 2001-11-23  Jim Meyering  <meyering@lucent.com>
62181
62182         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
62183         it.
62184         * lib/hash.c (struct hash_table): Define it here instead.
62185
62186 2001-11-22  Jim Meyering  <meyering@lucent.com>
62187
62188         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
62189
62190 2001-11-20  Jim Meyering  <meyering@lucent.com>
62191
62192         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
62193         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
62194
62195 2001-11-19  Jim Meyering  <meyering@lucent.com>
62196
62197         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
62198         directory.  Use "conftestXXXXXX" as the template.
62199         Suggestion from Paul Eggert.
62200
62201         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
62202         immediately, so the test doesn't mistakenly hit the max-open-files
62203         limit.
62204
62205 2001-11-18  Paul Eggert  <eggert@twinsun.com>
62206
62207         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
62208         (TEMPORARIES): New macro.
62209         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62210         removes an artificial limitation (e.g. HP-UX 10.20, where
62211         TMP_MAX is 17576).
62212
62213 2001-11-18  Jim Meyering  <meyering@lucent.com>
62214
62215         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62216
62217 2001-11-18  Jim Meyering  <meyering@lucent.com>
62218
62219         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62220         on SunOS 4.
62221
62222         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62223         files will be created before anything else.
62224
62225 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62226
62227         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62228         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62229
62230 2001-11-17  Jim Meyering  <meyering@lucent.com>
62231
62232         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62233         Prompted by a report from Bob Proulx.
62234
62235         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62236         Instead, require UTILS_FUNC_MKSTEMP.
62237
62238 2001-11-17  Jim Meyering  <meyering@lucent.com>
62239
62240         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62241         Now, that's done as part of AC_FUNC_STRTOD.
62242
62243 2001-11-17  Jim Meyering  <meyering@lucent.com>
62244
62245         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62246         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62247         rather than group writable.  Patch by Juan F. Codagnone.
62248
62249         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62250         xrealloc, Instead, include "xalloc.h".
62251
62252         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62253         Remove explicit declarations of xmalloc, xrealloc,
62254         and xstrdup.  Instead, include "xalloc.h".
62255
62256         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62257         unlocked-io.h.
62258         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62259         Likewise.
62260         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62261
62262         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62263         Reported by Padraig Brady.
62264
62265         * lib/mkstemp.c: #undef mkstemp.
62266         Include config.h.
62267         (rpl_mkstemp): Rename from mkstemp.
62268         Protoize.
62269
62270 2001-11-16  Jim Meyering  <meyering@lucent.com>
62271
62272         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62273         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62274         determine the amount of total physical memory, use pstat_getstatic.
62275         HPUX-11 doesn't define _SC_PHYS_PAGES.
62276         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62277         If sysconf couldn't be used to determine the amount of available
62278         physical memory, use both pstat_getstatic and pstat_getdynamic.
62279         Based on a patch from Bob Proulx.
62280
62281 2001-11-10  Jim Meyering  <meyering@lucent.com>
62282
62283         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62284         (jm_PREREQ): Use it.
62285
62286 2001-11-09  Jim Meyering  <meyering@lucent.com>
62287
62288         * m4/jm-macros.m4: Require autoconf-2.52f.
62289         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62290         Use these AC_-prefixed names, not the AM_-prefixed ones.
62291
62292         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62293
62294 2001-11-05  Jim Meyering  <meyering@lucent.com>
62295
62296         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62297
62298 2001-11-04  Jim Meyering  <meyering@lucent.com>
62299
62300         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62301         $DEFS.
62302
62303 2001-11-03  Jim Meyering  <meyering@lucent.com>
62304
62305         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62306         of AC_DEFUN.
62307
62308         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62309         know the name of the variable in the macro definition.
62310
62311 2001-11-03  Jim Meyering  <meyering@lucent.com>
62312
62313         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62314         in argmatch_to_argument call.
62315
62316         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62317         argument.
62318
62319         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62320         e.g., a fault due to an attempt to free a NULL pointer.
62321
62322 2001-11-01  Jim Meyering  <meyering@lucent.com>
62323
62324         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62325         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62326
62327 2001-11-01  Jim Meyering  <meyering@lucent.com>
62328
62329         * lib/dirfd.c, lib/dirfd.h: New files.
62330         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62331
62332         * lib/hash.c (hash_print) [TESTING]: Clean up.
62333
62334 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62335
62336         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62337         to avoid a warning if -Wall.
62338
62339 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62340
62341         * README: New file
62342         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62343         (per RMS's instructions, this is now the canonical source)
62344         * lgpl/, gpl/: New directories.
62345
62346 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62347
62348         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62349
62350 2001-10-21  Jim Meyering  <meyering@lucent.com>
62351
62352         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62353         this code would end up calling gettext even in packages built
62354         with --disable-nls.
62355         * lib/getopt.c (_): Likewise.
62356         * lib/regex.c (_): Likewise.
62357
62358 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62359
62360         * m4/error.m4 (jm_PREREQ_ERROR):
62361         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62362         AC_FUNC_STRERROR_R does that.
62363         Check for strerror declaration.
62364
62365         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62366         are supposed to have them these days.
62367         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62368         Merge changes from latest Autoconf CVS.
62369         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62370         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62371         POSIX decided to standardize on the int flavor of strerror_r.
62372
62373 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62374
62375         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62376         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62377         Use strerror_r that is only a macro, even if it is not a function.
62378         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62379         (private_strerror): Use prototypes, not old-style function definition.
62380         (print_errno_message): New function.
62381         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62382         char*-flavored one.
62383         (error_tail, error, error_at_line): Use it.
62384
62385 2001-10-11  Jim Meyering  <meyering@lucent.com>
62386
62387         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62388         and quote_n (1, ... to avoid clobbering a buffer.
62389
62390 2001-10-05  Jim Meyering  <meyering@lucent.com>
62391
62392         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62393         hash-pjw.h.
62394         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62395         * lib/hash-pjw.h: New file.
62396
62397 2001-09-30  Jim Meyering  <meyering@lucent.com>
62398
62399         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62400         `struct fsstat' has the `f_fstypename' member.
62401         Use that to define FS_TYPE, which is now used to make
62402         the getfsstat link test tighter.
62403
62404 2001-09-30  Jim Meyering  <meyering@lucent.com>
62405
62406         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62407         Include <sys/ucred.h>, for Apple Darwin.
62408         Include sys/mount.h and sys/fs_types.h only if available.
62409         (FS_TYPE): Define.
62410         (read_filesystem_list): Use FS_TYPE.
62411
62412 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62413
62414         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62415         a boolean context.
62416
62417 2001-09-29  Jim Meyering  <meyering@lucent.com>
62418
62419         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62420         [one-argument getmntent function]): Include stdio.h before mntent.h.
62421         SunOS 4.1.x needs it for the declaration of `FILE'.
62422         Patch by Volker Borchert.
62423
62424         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62425         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
62426         sys/fs_types.h, and make the link-test for getfsstat guard #include
62427         directives with appropriate #if HAVE_*_H tests so that we can
62428         detect getfsstat on Apple Darwin1.3.7 systems.
62429         Reported by Nelson Beebe.
62430         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
62431
62432 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62433
62434         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62435         #defines strtoimax.  Also treat the other strto* functions
62436         like strtoimax.
62437
62438         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62439         Check for strtoul and strtoumax,
62440         as those declarations are made even in the signed case.
62441         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
62442         Likewise, for strtol and strtoimax.
62443
62444 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62445
62446         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62447         #defines strtoimax.  Also treat the other strto* functions
62448         like strtoimax.
62449
62450         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62451         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62452         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62453
62454 2001-09-26  Jim Meyering  <meyering@lucent.com>
62455
62456         Most macros in unlocked-io.h had the wrong number of arguments.
62457         * lib/gen-uio: New script.
62458         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62459         * lib/unlocked-io.hin: Remove file.
62460         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62461         rather than trying to embed it here.
62462         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62463         Reported by Padraig Brady.
62464
62465 2001-09-25  Volker Borchert  <bt@teknon.de>
62466
62467         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62468         `result'.
62469
62470 2001-09-24  Jim Meyering  <meyering@lucent.com>
62471
62472         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62473
62474 2001-09-23  Jim Meyering  <meyering@lucent.com>
62475
62476         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62477         instead of the mere test for existence of mntent.h.  The latter
62478         would get a false-positive on AIX 3.4 systems.
62479         In the outer getmntent if-block, don't die if neither of the getmntent
62480         tests succeeds.  Instead, just fall through and continue with the
62481         remaining tests.
62482
62483 2001-09-23  Jim Meyering  <meyering@lucent.com>
62484
62485         * lib/mountlist.c: Remove useless parentheses in #if directives.
62486         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62487         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62488
62489 2001-09-22  Jim Meyering  <meyering@lucent.com>
62490
62491         * m4/gettext.m4: New file.  From gettext.
62492         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62493         * m4/progtest.m4: Likewise
62494         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62495         * m4/glibc21.m4: Likewise.
62496
62497         * m4/libintl.m4: Remove.  No longer used.
62498
62499 2001-09-22  Jim Meyering  <meyering@lucent.com>
62500
62501         * lib/localcharset.c: Update from latest gettext.
62502         * lib/config.charset: Likewise.
62503
62504 2001-09-20  Jim Meyering  <meyering@lucent.com>
62505
62506         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62507         strtoimax.
62508         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62509         strtoumax.
62510
62511 2001-09-20  Jim Meyering  <meyering@lucent.com>
62512
62513         * lib/xstrtol.c (strtoimax): Guard declaration with
62514         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62515         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62516         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62517         (strtoumax): Likewise, for completeness (it wasn't necessary).
62518
62519 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62520
62521         * lib/strtoimax.c (HAVE_LONG_LONG):
62522         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62523         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62524         to work around bug in IBM C compiler.
62525
62526 2001-09-17  Jim Meyering  <meyering@lucent.com>
62527
62528         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62529         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62530         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62531         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62532         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62533         whenever the right hand side need not be expanded by the shell.
62534
62535 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62536
62537         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62538         library.  It's not correct, as some older glibcs are buggy.
62539         fnmatch wasn't fixed until glibc 2.2.
62540
62541         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62542         special shell magic here.
62543
62544 2001-09-16  Jim Meyering  <meyering@lucent.com>
62545
62546         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62547         * m4/jm-macros.m4: Require it.
62548
62549 2001-09-16  Jim Meyering  <meyering@lucent.com>
62550
62551         * lib/mkdir.c: New file.
62552
62553 2001-09-15  Jim Meyering  <meyering@lucent.com>
62554
62555         * m4/jm-macros.m4: Check for help2man.
62556
62557 2001-09-11  Jim Meyering  <meyering@lucent.com>
62558
62559         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62560         The body, by Paul Eggert, was moved here from configure.in.
62561         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62562
62563 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62564
62565         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62566         (jm_PREREQ): Use it.
62567
62568 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62569
62570         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62571         Use ssize_t, not int, to store result of readlink.
62572         Check for ssize_t overflow as well as size_t overflow,
62573         as POSIX says the result of readlink is implementation-defined
62574         when ssize_t overflows.
62575         Remove unnecessary cast to char*.
62576         Use free+malloc instead of realloc, as the storage doesn't need
62577         to be preserved and it's clearer and can be more efficient that way.
62578         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62579         * lib/xreadlink.h (xreadlink): Update prototype.
62580
62581 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62582
62583         * lib/xgetcwd.c: Revert some of the previous change; intead,
62584         fix the HAVE_GETCWD_NULL code to behave more like the
62585         !HAVE_GETCWD_NULL code used to.
62586
62587         Include "xalloc.h".
62588         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62589         invoke xalloc_die.
62590
62591 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62592
62593         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62594         sys/param.h, as pathmax.h includes them.
62595
62596 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62597
62598         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62599         (jm_PREREQ_XGETCWD): New macro.
62600
62601         * m4/getcwd.m4: New file.
62602
62603 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62604
62605         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62606         like the HAVE_GETCWD_NULL code.
62607         Include pathmax.h if not HAVE_GETCWD.
62608         Do not include xalloc.h.
62609         (INITIAL_BUFFER_SIZE): New symbol.
62610         Do not use xmalloc / xrealloc, since the caller is responsible for
62611         handling errors.  Preserve errno around `free' during failure.
62612         Do not overrun buffer when using getwd.
62613
62614 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62615
62616         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62617         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62618         getcwd (NULL, 0).
62619
62620 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62621
62622         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62623         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62624         spotted by Jim Meyering.
62625
62626 2001-09-03  Jim Meyering  <meyering@lucent.com>
62627
62628         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62629         failure.
62630
62631 2001-09-02  Jim Meyering  <meyering@lucent.com>
62632
62633         * lib/error.c: Update from GNU libc.
62634
62635 2001-09-01  Jim Meyering  <meyering@lucent.com>
62636
62637         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62638         Used by df.
62639
62640 2001-09-01  Jim Meyering  <meyering@lucent.com>
62641
62642         * lib/xreadlink.c: New file.
62643         * lib/xreadlink.h: New file.
62644         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62645         xreadlink.h.
62646
62647         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62648         doesn't conflict with sparc Solaris 7's definition in
62649         /usr/include/sys/int_types.h.
62650
62651         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62652         files.
62653         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62654         and strncasecmp as r-values.  Unixware didn't have declarations.
62655
62656 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62657
62658         * lib/xstrtol.h: Add copyright notice.
62659         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62660         LONGINT_INVALID_SUFFIX_CHAR.
62661
62662 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62663
62664         * lib/xstrtol.c (strtoimax): New decl.
62665
62666 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62667
62668         * lib/xgetcwd.c: Don't include pathmax.h.
62669         Include stdlib.h and unistd.h if available.
62670         Include xalloc.h.
62671         (xmalloc, xstrdup, free): Remove decls.
62672         (xgetcwd): Don't assume sizes fit in unsigned.
62673         Check for overflow when computing sizes.
62674         Simplify reallocation code.
62675
62676 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62677
62678         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62679         a directory's st_size can have an arbitrary value, so the old
62680         usage could waste an arbitrary amount of memory.  All uses
62681         changed.
62682         * lib/savedir.h: Update prototype.
62683
62684 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62685
62686         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62687
62688         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62689         old strtoimax.c.
62690
62691         Also, make the following further changes to make this file's
62692         configuration more similar to that of strtol.c:
62693         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62694         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62695         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62696         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62697         changed to signed values.
62698
62699         And make the following changes as well:
62700         Fix copyright notice, as 1999 was missing.
62701         (verify): New macro.
62702         (strtoimax): Check sizes at compile-time, not run-time.
62703         Prefer strtol to strtoll if both work.
62704         (main): Remove; it was not that useful and was a pain to maintain.
62705
62706         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62707
62708 2001-08-31  Jim Meyering  <meyering@lucent.com>
62709
62710         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62711         Use an initial, malloc'd, buffer of length 128 rather than
62712         a statically allocated one of length 1024.
62713
62714 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62715
62716         Simplify code, partly by assuming autoconf 2.52 semantics.
62717
62718         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62719
62720         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62721         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62722         All uses removed.
62723         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62724         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62725         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62726         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62727         jm_AC_HEADER_INTTYPES_H.
62728         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62729
62730         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62731
62732         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62733         Quote first arg of AC_DEFUN.
62734         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62735         since they are needed to parse the include file even if we need
62736         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62737         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62738         but with opposite signedness.
62739
62740 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62741
62742         Merge 'exclude' changes from tar 1.13.22.
62743         This fixes one or two unlikely storage allocation overflow bugs,
62744         but doesn't change user-visible behavior otherwise.
62745
62746 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62747
62748         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62749         (jm_PREREQ_EXCLUDE): New macro.
62750
62751 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62752
62753         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62754         tm to be declared.
62755
62756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62757
62758         * lib/hash.c: Remove '2001' from copyright notice.
62759
62760 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62761
62762         * lib/full-write.h: New file.
62763         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62764         * lib/full-write.c: Correct credits, as cccp.c no longer
62765         exists and anyway it was so heavily changed from the old cccp
62766         code as to be unrecognizable.  Include full-write.h.
62767         (full_write) Return size_t, with short writes meaning failure.
62768         All callers changed.  This fixes a bug with large buffers
62769         on 64-bit hosts.
62770         * lib/utime.c: Include full-write.h.
62771
62772 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62773
62774         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62775         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62776         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62777         Include if available.
62778         (<xalloc.h>): Include
62779         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62780         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62781         collide with FNM macros.
62782         (struct patopts): New struct.
62783         (struct exclude): Use it, as exclude patterns now come with options.
62784         (new_exclude): Support above changes.
62785         (new_exclude, add_exclude_file):
62786         Initial size must now be a power of two to simplify overflow checking.
62787         (free_exclude, fnmatch_no_wildcards): New function.
62788         (excluded_filename): No longer requires options arg, as the options
62789         are determined by add_exclude.  Now returns bool, not int.
62790         (excluded_filename, add_exclude):
62791         Add support for the fancy new exclusion options.
62792         (add_exclude, add_exclude_file): Now takes int options arg.
62793         Check for arithmetic overflow when computing sizes.
62794         (add_exclude_file): xrealloc might modify errno, so don't
62795         realloc until after errno might be used.
62796
62797         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62798         New macros.
62799         (free_exclude): New decl.
62800         (add_exclude, add_exclude_file): Now takes int options arg.
62801         (excluded_filename): No longer requires options arg, as the options
62802         are determined by add_exclude.  Now returns bool, not int.
62803
62804 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62805
62806         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62807
62808 2001-08-27  Jim Meyering  <meyering@lucent.com>
62809
62810         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62811
62812         * lib/version-etc.c (N_): Remove definition.
62813         Revert most of last change.
62814         Instead, simply don't mark the `Copyright...' string for translation.
62815         Based on advice from Paul Eggert.
62816
62817         * lib/strtoxmax.c: Tweak comment.
62818
62819 2001-08-26  Jim Meyering  <meyering@lucent.com>
62820
62821         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62822
62823         * m4/xstrtoimax.m4: New file.
62824         * m4/xstrtoumax.m4: Add comments explaining why we
62825         AC_REPLACE_FUNCS(strtol).
62826
62827 2001-08-26  Jim Meyering  <meyering@lucent.com>
62828
62829         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62830         of copyright with `%s' so translators don't get an untranslated
62831         message in 2002.
62832         (COPYRIGHT_YEAR): Define.
62833         (version_etc): Use fprintf rather than fputs.
62834         Suggestion from Ulrich Drepper.
62835
62836         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62837
62838         * lib/strtoll.c: New file, from GNU libc.
62839         * lib/xstrtoimax.c: New file.
62840
62841         * lib/xstrtol.h: Add xstrtoimax.
62842         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62843         * lib/strtoimax.c: New file.  Likewise, but first define
62844         STRTOUXMAX_SIGNED.
62845
62846         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62847         ...
62848         * lib/strtoxmax.c: ... then renamed to this.
62849
62850 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62851
62852         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62853         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62854         (jm_AC_TYPE_INTMAX_T): New macro.
62855         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62856
62857         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62858
62859         * m4/longlong.m4: Renamed from ulonglong.m4.
62860         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62861         * m4/uintmax_t.m4: Removed.
62862
62863 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62864
62865         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62866         Port to Solaris 8, where 'sed' requires a space after the 'r'
62867         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62868         Redirect output to $tmp just once.
62869
62870 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62871
62872         * lib/addext.c (<errno.h>): Include.
62873         (errno): Declare if not defined.
62874         (addext): Work correctly when pathconf returns -1 and leaves
62875         errno alone because there is no limit.  Also, work even if
62876         pathconf returns a value greater than SIZE_MAX.
62877
62878 2001-08-12  Jim Meyering  <meyering@lucent.com>
62879
62880         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62881         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62882         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62883         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62884         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62885         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62886         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62887         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62888         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62889         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62890         utime.m4, utimes.m4, xstrtoumax.m4:
62891         Quote the first argument in each use of AC_DEFUN.
62892
62893 2001-08-12  Jim Meyering  <meyering@lucent.com>
62894
62895         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62896         Simply `return getcwd (NULL, 0);'.
62897         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62898         Use 1300 as initial value for length, not PATH_MAX.
62899
62900         * lib/pathmax.h: Clean up cpp syntax.
62901
62902 2001-08-12  Jim Meyering  <meyering@lucent.com>
62903
62904         * lib/gettimeofday.c: New file.
62905         * lib/gtod.h: New file.
62906         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
62907
62908 2001-08-05  Jim Meyering  <meyering@lucent.com>
62909
62910         * m4/jm-macros.m4: Require autoconf-2.52.
62911
62912 2001-08-04  Jim Meyering  <meyering@lucent.com>
62913
62914         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
62915         stmt, to get in sync with glibc.
62916
62917 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62918
62919         The following changes are from gettext 0.10.39 as maintained by
62920         Bruno Haible.
62921
62922         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
62923         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
62924         with inverted sense.  All uses changed.
62925
62926         * lib/mbswidth.c: Don't include <limits.h>.
62927         Include <stdlib.h> and <string.h> unconditionally.
62928         (iswcntrl, mbsinit, ISCNTRL): New macros.
62929         (mbsnwidth): Use K&R style function declarations.
62930         Don't bother checking for MB_LEN_MAX == 1, since the compiler
62931         can optimize it when MB_CUR_MAX == 1.
62932         The width of control characters is zero, not 1.
62933
62934 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62935
62936         The following changes are from gettext 0.10.39 as maintained by
62937         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
62938
62939         * m4/codeset.m4: Upgrade to serial AM1.
62940         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
62941         all uses changed.  Quote first arg of AC_DEFUN.
62942         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
62943
62944         * m4/iconv.m4: Upgrade to serial AM2.
62945         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
62946         Add --with-libconv-prefix.
62947         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
62948         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
62949         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
62950         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
62951         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
62952
62953         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
62954         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
62955         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
62956         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
62957         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
62958         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
62959         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
62960         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
62961         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62962
62963         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
62964         string.h any more.
62965
62966         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
62967         not the default value.
62968
62969         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
62970         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
62971         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
62972         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
62973         Also check for iswcntrl, used for wcwidth fallback.
62974         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
62975         to Autoconf 2.13.
62976
62977 2001-08-03  Jim Meyering  <meyering@lucent.com>
62978
62979         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
62980         as it was in the original.  Reported by Paul Eggert.
62981
62982 2001-07-16  Jim Meyering  <meyering@lucent.com>
62983
62984         * m4/gettimeofday.m4: New file.
62985         Prompted by a report from Bernhard Baehr.
62986
62987 2001-07-15  Jim Meyering  <meyering@lucent.com>
62988
62989         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
62990         stuff. Now it's in ../Makefile.cfg.
62991
62992 2001-07-15  Jim Meyering  <meyering@lucent.com>
62993
62994         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
62995         (BUILT_SOURCES): Add unlocked-io.h.
62996         (io_functions): Define.
62997         (unlocked-io.h): New rule.
62998         (DISTCLEANFILES): Add unlocked-io.h.
62999         (all-local): Depend on unlocked-io.h, to ensure it is created.
63000
63001         * lib/unlocked-io.hin: New file
63002
63003         * lib/regex.c: Update from glibc.
63004
63005 2001-07-05  Jim Meyering  <meyering@lucent.com>
63006
63007         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
63008         recommendation.
63009         (libfetish_a_SOURCES): Put all .h files here instead.
63010         Remove a thus-exposed (better checks in automake) duplicate and
63011         two unnecessary .h files.
63012
63013 2001-07-04  Jim Meyering  <meyering@lucent.com>
63014
63015         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
63016         that generates jm-glibc-io.m4 so that it doesn't trigger any make
63017         distcheck failure.
63018
63019 2001-07-02  Jim Meyering  <meyering@lucent.com>
63020
63021         The following changes were prompted by suggestions from Bruno Haible.
63022
63023         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
63024         is now generated.
63025         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
63026         definition of EXTRA_DIST.
63027         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
63028         ensure that the generated file is created/updated whenever the list
63029         of $(unlocked_functions) is changed.
63030         (jm-glibc-io.m4): New rule.
63031         (unlocked-io.h): New rule -- currently unused.
63032
63033 2001-06-24  Jim Meyering  <meyering@lucent.com>
63034
63035         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
63036         unmatched right bracket, rather than kludging it with an extra,
63037         falsely-matching quote in a comment.  Patch by Akim Demaille.
63038
63039 2001-06-11  Jim Meyering  <meyering@lucent.com>
63040
63041         * lib/regex.c: Update from GNU libc.
63042
63043 2001-05-27  Jim Meyering  <meyering@lucent.com>
63044
63045         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
63046         Check for ut_type in struct utmp.
63047
63048 2001-05-27  Jim Meyering  <meyering@lucent.com>
63049
63050         * lib/readutmp.h (UT_TYPE): Define.
63051
63052 2001-05-24  Jim Meyering  <meyering@lucent.com>
63053
63054         * lib/argmatch.c: Include "quote.h".
63055         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
63056         quote function.  Reported by Göran Uddeborg.
63057
63058 2001-05-22  Jim Meyering  <meyering@lucent.com>
63059
63060         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
63061         now that we use the package-supplied version unconditionally.
63062         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
63063
63064 2001-05-21  Jim Meyering  <meyering@lucent.com>
63065
63066         * m4/regex.m4: Change a couple backticks to single quotes to avoid
63067         shell syntax errors.
63068
63069 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63070
63071         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
63072
63073 2001-05-20  Paul Eggert  <eggert@twinsun.com>
63074
63075         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
63076         Don't bother to check library strftime, since
63077         we'll be using our own my_strftime function anyway.
63078         Define my_strftime instead of strftime.
63079
63080 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
63081
63082         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
63083         which is not yet declared.
63084
63085 2001-05-15  Jim Meyering  <meyering@lucent.com>
63086
63087         * m4/regex.m4: Use proper quoting so brackets appear in the test
63088         program.
63089         Reported by, and with help from, Bruno Haible.
63090
63091 2001-05-13  Jim Meyering  <meyering@lucent.com>
63092
63093         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
63094         undefined.
63095
63096 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63097
63098         dirname code cleanup.  base_name now behaves more compatibly
63099         with POSIX basename when given file names that have trailing
63100         slashes, and similarly for dir_name.  Add new primitives
63101         base_len and dir_len.  Put the directory-name-related decls
63102         into dirname.h.
63103
63104         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
63105         * lib/backupfile.c (base_name): Likewise.
63106         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
63107         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
63108         * lib/makepath.c (strip_trailing_slashes): Likewise.
63109         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
63110         ISSLASH): Likewise.
63111         * lib/rename.c (strip_trailing_slashes): Likewise.
63112         * lib/same.c (base_name): Likewise.
63113         * lib/stripslash.c (ISSLASH): Likewise.
63114
63115         * lib/addext.c: Include <dirname.h> after size_t is defined.
63116         * lib/backupfile.c: Likewise.
63117
63118         * lib/addext.c (addext): Use base_len to trim redundant
63119         trailing slashes instead of doing it ourselves.
63120         But do not trim the last slash if it is not redundant.
63121
63122         * lib/backupfile.c (find_backup_file_name,
63123         max_backup_version): Use base_len instead of rolling it ourselves.
63124         Handle the case of "" and (on DOS) "C:" correctly.
63125
63126         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
63127         needed. Include <string.h>, <dirname.h>.
63128         (base_name): Allow file names ending in slashes, other than names
63129         that are all slashes.  In this case, return the basename followed
63130         by the slashes.  This is more general, and can be used in places
63131         where the original base_name purposely had an assertion failure.
63132         (base_len): New function.
63133
63134         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
63135         Do not include <assert.h>; no longer needed.
63136         Include xalloc.h.
63137         (memrchr): Remove decl.
63138         (dir_name_r): Remove.
63139         (dir_len): Renamed from dirlen.  All callers changed.
63140         Rewrite in terms of base_name, for simplicity and consistency.
63141         (dir_name): Never return NULL.  All callers changed.
63142         Do not include <stdlib.h> in test program; no longer needed.
63143         return 0; is fine for test program.
63144
63145         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
63146         New macros.
63147         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
63148
63149         * lib/path-concat.c (path_concat): Use base_len to compute
63150         base length, not strlen; this means we cannot rely on memcpy
63151         to null-terminate.
63152
63153         * lib/same.c (STREQ): Remove.
63154         (same_name): Handle the case where the basename ends in trailing '/'.
63155
63156         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
63157         a slash was stripped.  Do not strip the last slash after a
63158         file system prefix.
63159
63160 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63161
63162         * lib/Makefile.am (libfetish_a_SOURCES):
63163         Add strftime.c, since we now compile it on all hosts.
63164
63165         * lib/strftime.c (my_strftime):
63166         Define to nstrftime if emacs, but only if my_strftime is not defined.
63167         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
63168         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
63169         Add one more extra argument: a nanoseconds value.
63170         All uses changed.
63171         (ns): New macro.
63172         (my_strftime function): Add %N format.
63173         (emacs_strftimeu): Renamed from emacs_strftime,
63174         with extra ut argument.
63175
63176 2001-05-09  Paul Eggert  <eggert@twinsun.com>
63177
63178         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
63179
63180 2001-04-21  Jim Meyering  <meyering@lucent.com>
63181
63182         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
63183         doesn't interfere.
63184
63185 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63186
63187         * m4/ftruncate.m4: Check for chsize.
63188         Link with ftruncate.o unconditionally if ftruncate is missing.
63189         This was required when cross-compiling to i586-mingw32msvc.
63190
63191 2001-04-08  Jim Meyering  <meyering@lucent.com>
63192
63193         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
63194         recomputed; that's necessary when the offset spans a DST transition.
63195         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
63196
63197 2001-04-02  Jim Meyering  <meyering@lucent.com>
63198
63199         * lib/regex.h, regex.c: Update from GNU libc.
63200
63201 2001-03-24  Jim Meyering  <meyering@lucent.com>
63202
63203         * m4/jm-macros.m4: Require autoconf-2.49d.
63204
63205 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
63206
63207         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
63208
63209 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63210
63211         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63212
63213 2001-03-17  Jim Meyering  <meyering@lucent.com>
63214
63215         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63216         now that the version in autoconf is equivalent.
63217         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63218
63219         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63220         Suggestion from Akim Demaille.
63221
63222         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63223         (jm_PREREQ_TEMPNAME): New function.
63224
63225 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63226
63227         * lib/tempname.c (uint64_t): Define to uintmax_t if
63228         not defined, and if UINT64_MAX is not defined.
63229         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63230         Reported by John David Anglin.
63231
63232 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63233
63234         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63235         resolve alias if codeset is empty.
63236         * lib/config.charset (BeOS): Use wildcard syntax.
63237
63238 2001-03-13  Jim Meyering  <meyering@lucent.com>
63239
63240         * lib/path-concat.c (path_concat)
63241         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63242         concatenating e.g., `C:' and `foo'.
63243         From Bruno Haible.
63244
63245 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63246
63247         * lib/localcharset.c (locale_charset): Don't use
63248         setlocale(LC_CTYPE,NULL). Don't return NULL.
63249         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63250
63251 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63252
63253         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63254         support for DOS/DJGPP.
63255
63256 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63257
63258         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63259         lacks mkstemp.  Compile our own tempname.c if we compile our own
63260         mkstemp.c, as mkstemp relies on tempname.
63261
63262 2001-03-01  Jim Meyering  <meyering@lucent.com>
63263
63264         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63265         AH_VERBATIM really does output its argument verbatim.
63266
63267 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63268
63269         * lib/Makefile.am (libfetish_a_SOURCES):
63270         Add dup-safer.c, fopen-safer.c.
63271         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63272
63273         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63274         * lib/unistd-safer.h: New files.
63275
63276 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63277
63278         The mkstemp replacement is taken from glibc 2.2.2, with some
63279         portability fixes for use outside glibc, as follows:
63280
63281         * lib/tempname.c (struct_stat64): New macro.
63282         (direxists, __gen_tempname): Use it.
63283         This avoids a portability problem with Solaris 8.
63284
63285         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63286         (<stddef.h>, <stdint.h>, <string.h>):
63287         Include only if STDC_HEADERS || _LIBC.
63288         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63289         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63290         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63291         (__set_errno): Define this macro if <errno.h> doesn't.
63292         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63293         Define these macros if <stdio.h> doesn't.
63294         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63295         Define these macros if <sys/stat.h>
63296         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63297         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63298         __xstat64): Define if not _LIBC.
63299         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63300         (__gen_tempname): Invoke gettimeofday only if
63301         HAVE_GETTIMEOFDAY || _LIBC;
63302         otherwise, fall back on plain "time".
63303         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63304
63305         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63306
63307         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63308
63309 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63310
63311         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63312
63313 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63314
63315         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63316         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63317         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63318         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63319
63320 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63321
63322         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63323         Remove workaround macros for hosts that have mbrtowc but not
63324         mbstate_t, as we now insist on proper declarations for both
63325         before using mbrtowc.
63326
63327 2001-02-17  Jim Meyering  <meyering@lucent.com>
63328
63329         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63330         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63331         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63332         UnixWare 7.1.1.
63333
63334         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63335         rather than AC_CACHE_VAL.
63336
63337 2001-02-17  Jim Meyering  <meyering@lucent.com>
63338
63339         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63340         around included file name.
63341
63342         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63343
63344         * lib/strftime.c: Update from GNU libc (the only changes were to
63345         comments).
63346
63347 2001-02-17  Jim Meyering  <meyering@lucent.com>
63348
63349         * lib/regex.c: Update from libc.
63350
63351 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63352
63353         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63354         clash.
63355
63356 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63357
63358         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63359         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63360         Reported by Mark Hounschell via Paul Eggert.
63361
63362 2001-02-07  Jim Meyering  <meyering@lucent.com>
63363
63364         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63365
63366 2001-02-05  Jim Meyering  <meyering@lucent.com>
63367
63368         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63369         it includes the patch required for `large file' support with at least
63370         HP-UX's 10.20 /bin/cc.
63371
63372 2001-02-03  Jim Meyering  <meyering@lucent.com>
63373
63374         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63375         AS_IF, now that it works once again (mysteriously).
63376         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63377
63378 2001-01-30  Jim Meyering  <meyering@lucent.com>
63379
63380         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63381         * m4/chown.m4: Rename conftestchown to conftest.chown.
63382         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63383         s/conftestdir2/conftest.d2/.
63384         * m4/utimes.m4: s/conftestdata/conftest.data/
63385         Inspired by Pavel Roskin's change in autoconf.
63386
63387 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63388
63389         * lib/config.charset: Update for FreeBSD 4.2.
63390
63391 2001-01-27  Jim Meyering  <meyering@lucent.com>
63392
63393         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63394         a use of AS_IF.
63395         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63396
63397 2001-01-26  Jim Meyering  <meyering@lucent.com>
63398
63399         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63400         quotearg.c includes it.
63401
63402 2001-01-26  Jim Meyering  <meyering@lucent.com>
63403
63404         * lib/quotearg.c: Include stddef.h.
63405         * lib/quote.c: Include stddef.h.
63406         Reported by Axel Kittenberger.
63407
63408         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63409         line in double quotes so that it evokes a better diagnostic.
63410         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63411         Reported by Axel Kittenberger.
63412
63413 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63414
63415         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63416         as if it was a `charset'.
63417
63418 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63419
63420         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
63421         has const.
63422
63423 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63424
63425         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
63426         to avoid a warning.  Add back 'const' to inptr.
63427
63428 2001-01-20  Jim Meyering  <meyering@lucent.com>
63429
63430         Be sure that headers are checked before used in code compiled
63431         for the type checks.
63432         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
63433         In place of that, invoke jm_CHECK_ALL_TYPES.
63434         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
63435         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
63436         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
63437         The check for ssize_t was mistakenly run before the test for unistd.h.
63438
63439         The configure-time check for stdbool.h was missing.
63440         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
63441         (jm_PREREQ_HASH): New function.
63442
63443 2001-01-17  Jim Meyering  <meyering@lucent.com>
63444
63445         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
63446         for autoconf-2.49c.
63447         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63448
63449 2001-01-16  Jim Meyering  <meyering@lucent.com>
63450
63451         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63452         From Bruno Haible.
63453
63454 2001-01-14  Jim Meyering  <meyering@lucent.com>
63455
63456         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63457         foo and bar.  Create conftestdir/ in the script, not in the C code.
63458         Remove directories in the script, not in the C code.
63459         Remove conftestdir{,2} before trying to create the directory.
63460         Make the entire configure script fail if the mkdir fails.
63461
63462 2001-01-14  Jim Meyering  <meyering@lucent.com>
63463
63464         * lib/rename.c: New file.  From Volker Borchert.
63465         Include stdlib.h, string.h or strings.h, and xalloc.h.
63466         Use strip_trailing_slashes rather than open-coding it.
63467
63468 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63469
63470         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63471
63472 2001-01-03  Jim Meyering  <meyering@lucent.com>
63473
63474         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63475         of local `inptr' to avoid warning with some system declarations of
63476         iconv.
63477
63478 2001-01-02  Volker Borchert  <bt@teknon.de>
63479
63480         * m4/rename.m4: New file.
63481         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63482
63483 2001-01-01  Jim Meyering  <meyering@lucent.com>
63484
63485         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63486         even on systems with utmpx.h.  It's necessary for the declaration of
63487         utmp's ut_user member.  Reported by Andreas Jaeger.
63488
63489         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63490         available. They are required for the declarations of getgrgid and
63491         getpwuid resp.
63492         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63493         Reported by Andreas Jaeger.
63494
63495 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63496
63497         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63498         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63499         so `make install' also works in VPATH builds.
63500
63501 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63502
63503         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63504         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63505         can be used in subdirectories.
63506
63507 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63508
63509         * lib/modechange.c: Do not assume that mode_t uses the
63510         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63511         the other-execute bit of FOO even if S_IXOTH != 1.
63512
63513         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63514         WOTH, XOTH, ALLM): New macros.
63515         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63516          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63517         Use them.
63518         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63519         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63520         (mode_compile):
63521         No need to use uintmax_t; unsigned long is long enough.
63522         Don't bother to get suffix since we don't use it.
63523
63524 2000-12-26  Jim Meyering  <meyering@lucent.com>
63525
63526         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63527         better with autoheader.
63528
63529 2000-12-24  Jim Meyering  <meyering@lucent.com>
63530
63531         * lib/hash.c (is_prime): Return explicit boolean values.
63532         (hash_get_first): Return NULL to appease Irix5.6's 89.
63533         Reported by Nelson Beebe.
63534
63535 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63536
63537         * lib/localcharset.c (locale_charset): Add support for Win32.
63538
63539 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63540
63541         * lib/physmem.h, lib/physmem.c: New files.
63542
63543         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63544         (noinst_HEADERS): Add physmem.h.
63545
63546         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63547         't' for compatibility with Solaris 8 sort.
63548
63549 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63550
63551         * lib/config.charset: Add support for BeOS.
63552
63553 2000-12-17  Jim Meyering  <meyering@lucent.com>
63554
63555         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63556         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63557
63558 2000-12-16  Jim Meyering  <meyering@lucent.com>
63559
63560         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63561         N and M) would have treated it like `chown N:N FILE'.
63562
63563         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63564
63565 2000-12-16  Jim Meyering  <meyering@lucent.com>
63566
63567         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63568         SHELLS_FILE to a file name that's useful on djgpp systems.
63569         Include stdlib.h.
63570         (ADDITIONAL_DEFAULT_SHELLS): Define.
63571         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63572         Based mostly on a patch from Prashant TR.
63573
63574 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63575
63576         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63577         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63578         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63579
63580 2000-12-08  Andreas Schwab  <schwab@suse.de>
63581
63582         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63583         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63584
63585 2000-12-07  Jim Meyering  <meyering@lucent.com>
63586
63587         * lib/stripslash.c (ISSLASH): Define.
63588         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63589         `/'.
63590         From Prashant TR.
63591
63592         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63593         (dir_name_r): Declare this function as static.
63594         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63595         manifest itself on a name containing a mix of slashes and
63596         backslashes.
63597         Make this function work with names starting with a DOS-style
63598         drive letter and colon prefix.
63599         (dir_name): Append `.' if necessary.
63600         Based mostly on patches from Prashant TR and Eli Zaretskii.
63601
63602         * lib/dirname.h (dir_name_r): Remove prototype.
63603
63604 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63605
63606         * m4/off_t-format.m4: Remove this file.
63607         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63608
63609 2000-12-06  Jim Meyering  <meyering@lucent.com>
63610
63611         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63612         replacement strtoull, we may well need the replacement strtoul, too.
63613         Check for declarations of strtoul and strtoull.
63614         Check for strtol.  Mainly as a cue to cause automake to include
63615         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63616         Check for limits.h -- strtol.c needs it.
63617
63618 2000-12-05  Jim Meyering  <meyering@lucent.com>
63619
63620         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63621
63622 2000-12-04  Jim Meyering  <meyering@lucent.com>
63623
63624         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63625         Also include memory.h, stdlib.h, unistd.h if appropriate.
63626         Reported by Andreas Jaeger (conflicting declaration of malloc).
63627
63628 2000-12-02  Jim Meyering  <meyering@lucent.com>
63629
63630         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63631         * m4/jm-macros.m4 (jm_MACROS): require it.
63632
63633 2000-12-02  Jim Meyering  <meyering@lucent.com>
63634
63635         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63636
63637 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63638
63639         * lib/memrchr.c: Include <config.h> before any system include file.
63640
63641 2000-11-30  Jim Meyering  <meyering@lucent.com>
63642
63643         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63644
63645 2000-11-30  Jim Meyering  <meyering@lucent.com>
63646
63647         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63648
63649 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63650
63651         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63652
63653 2000-11-26  Jim Meyering  <meyering@lucent.com>
63654
63655         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63656
63657 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63658
63659         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63660         size of (size_t) -1; it's not portable.
63661
63662 2000-11-17  Jim Meyering  <meyering@lucent.com>
63663
63664         * lib/strstr.c: Update from GNU libc.
63665
63666 2000-11-17  Akim Demaille  <akim@epita.fr>
63667
63668         * lib/obstack.h: Formatting changes.
63669         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63670         prevent type checking.
63671         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63672         cast the value to (void *): assigning a `foo *' to a `void *'
63673         variable is valid.
63674         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63675
63676 2000-11-16  Jim Meyering  <meyering@lucent.com>
63677
63678         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63679
63680 2000-11-11  Jim Meyering  <meyering@lucent.com>
63681
63682         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63683
63684 2000-11-10  Jim Meyering  <meyering@lucent.com>
63685
63686         * lib/obstack.h: Update from GNU libc.
63687         * lib/obstack.c: Likewise.
63688
63689 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63690
63691         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63692
63693 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63694
63695         * lib/getusershell.c (setusershell): Use rewind rather than
63696         fseek/fseeko, to avoid configuration hassles with fseeko.
63697         Don't bother opening SHELLS_FILE if shellstream is NULL;
63698         it's not necessary.
63699
63700 2000-11-05  Jim Meyering  <meyering@lucent.com>
63701
63702         * lib/makepath.h (make_dir): Declare.
63703         * lib/makepath.c (make_dir): Remove `static' attribute.
63704         Tweak a comment.
63705
63706 2000-11-04  Jim Meyering  <meyering@lucent.com>
63707
63708         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63709
63710 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63711
63712         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63713         last one in a bucket, advance to the next bucket.
63714
63715 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63716
63717         * lib/fnmatch.c: Do not comment out all the code if we are using
63718         the GNU C library, because in some cases we are replacing buggy
63719         code in the GNU C library itself.
63720
63721 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63722
63723         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63724         (regex_compile): Catch bogus \(\1\).
63725
63726 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63727
63728         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63729         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63730         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63731
63732 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63733
63734         * lib/error.h, getline.h, modechange.h:
63735         Remove "2000" from Copyright line, as the file hasn't been
63736         changed this year other than in the copyright notice.
63737
63738         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63739         was changed this year.
63740
63741 2000-10-29  Jim Meyering  <meyering@lucent.com>
63742
63743         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63744         renaming.
63745         * m4/ls-mntd-fs.m4: Likewise
63746
63747 2000-10-29  Jim Meyering  <meyering@lucent.com>
63748
63749         * lib/xstat.in: Fix grammar in comment.
63750
63751 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63752
63753         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63754         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63755         doesn't define __restrict_arr.
63756
63757 2000-10-28  Jim Meyering  <meyering@lucent.com>
63758
63759         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63760         (jm_PREREQ_MEMCHR): New function.
63761
63762 2000-10-28  Jim Meyering  <meyering@lucent.com>
63763
63764         * lib/memchr.c: Update from libc.
63765         Adjust for portability:
63766         [HAVE_STDLIB_H]: Include stdlib.h.
63767         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63768         Undef __memchr, too.
63769         [!weak_alias]: Define __memchr to memchr.
63770
63771         * lib/regex.c: Update from libc.
63772         * lib/regex.h: Likewise.
63773         * lib/getopt1.c: Likewise.
63774         * lib/memcmp.c: Likewise.
63775
63776         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63777         Avoid using fseek, when possible -- it's broken by design.
63778         Patch by Ulrich Drepper.
63779
63780 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63781
63782         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63783         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63784         Giving in to popular pressure to shut up the compiler with casts.
63785
63786 2000-10-26  Jim Meyering  <meyering@lucent.com>
63787
63788         * lib/strftime.c: Update from libc.
63789
63790 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63791
63792         * regex.c: More `unsigned char' -> `re_char' changes.
63793         Also change several `int' into `re_wchar_t'.
63794         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63795         (PUSH_FAILURE_POINTER): Don't cast any more.
63796         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63797         We want GCC to complain, since this piece of code makes
63798         re_match non-reentrant, which *should* be fixed.
63799         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63800         (EXTEND_BUFFER): Use RETALLOC.
63801         (SET_LIST_BIT): Don't cast.
63802         (re_wchar_t): New type.
63803         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63804         that those two functions will always properly return.
63805         (IMMEDIATE_QUIT_CHECK): Cast to void.
63806         (analyse_first): Use recursion rather than an explicit stack.
63807         (re_compile_fastmap): Can't fail anymore.
63808         (re_search_2): Don't check re_compile_fastmap for failure.
63809         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63810         Now also sets the new value (passed in a new argument).
63811         (re_match_2_internal): Use it.
63812         Also, use a new var `reg' of type size_t when looping through regs
63813         rather than reuse the inappropriate `mcnt'.
63814
63815 2000-10-25  Jim Meyering  <meyering@lucent.com>
63816
63817         * lib/obstack.c: Update from libc.
63818
63819 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63820
63821         * regex.c (regex_compile): Change the way of handling a range from
63822         a char less than 256 to a char not less than 256.
63823
63824 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63825
63826         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63827         NT-Emacs only.
63828         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63829         so that re_search functions only quit when callers expect them to.
63830
63831 2000-10-23  Jim Meyering  <meyering@lucent.com>
63832
63833         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63834         wrong.  That set_locale call must not have any side effects.
63835         From Paul Eggert.
63836
63837 2000-10-22  Jim Meyering  <meyering@lucent.com>
63838
63839         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63840         [CYCLIC]: Remove now-unused definition.
63841
63842         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63843         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63844         Suggestion from Ulrich Drepper.
63845
63846 2000-10-21  Jim Meyering  <meyering@lucent.com>
63847
63848         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63849         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63850         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63851
63852 2000-10-21  Jim Meyering  <meyering@lucent.com>
63853
63854         * lib/dirname.c (memrchr): Declare if necessary.
63855         (dir_name): Remove the restriction that there be no
63856         trailing slashes.  Now, this code skips past them, effectively
63857         ignoring them.
63858         [TEST_DIRNAME] (main): New unit tests.
63859
63860         * lib/memrchr.c: New file from GNU libc.
63861         Undef __memrchr, too.
63862         [!weak_alias]: Define __memrchr to memrchr.
63863         Guard weak_alias use with `#ifdef weak_alias'.
63864
63865 2000-10-21  Jim Meyering  <meyering@lucent.com>
63866
63867         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63868         (dir_name): Use dir_name_r.
63869         * lib/dirname.h (dir_name_r): Declare it.
63870
63871 2000-10-17  Jim Meyering  <meyering@lucent.com>
63872
63873         * lib/quote.h (PARAMS): Define and use.
63874         Reported by Akim Demaille.
63875
63876         * lib/getopt.c: Update from libc.
63877
63878 2000-10-16  Jim Meyering  <meyering@lucent.com>
63879
63880         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63881         setlocale.
63882         From Jan Fedak.
63883
63884 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63885
63886         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63887
63888 2000-09-25  Jim Meyering  <meyering@lucent.com>
63889
63890         * lib/md5.h (rol): Define (from GnuPG).
63891
63892         * lib/sha.c: Give credit (GnuPG) where due.
63893         (M): Use rol rather than open-coding it.
63894         Add a FIXME comment.
63895
63896 2000-09-21  Jim Meyering  <meyering@lucent.com>
63897
63898         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63899         Reported by Michael Stone.
63900
63901 2000-09-20  Jim Meyering  <meyering@lucent.com>
63902
63903         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
63904         (noinst_HEADERS): Add sha.h.
63905         Based on code from Scott G. Miller and from GnuPG.
63906
63907 2000-09-18  Jim Meyering  <meyering@lucent.com>
63908
63909         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
63910         LIBS. Otherwise, everyone ends up linking with -lelf for some
63911         configurations.
63912         Reported by Mike Stone.
63913
63914 2000-09-15  Jim Meyering  <meyering@lucent.com>
63915
63916         * lib/regex.c: Update from libc.
63917
63918 2000-09-10  Jim Meyering  <meyering@lucent.com>
63919
63920         * lib/getopt.c (_getopt_internal): Update from glibc.
63921
63922 2000-09-09  Jim Meyering  <meyering@lucent.com>
63923
63924         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
63925         think it should be used as a general replacement for isascii.
63926         * lib/fnmatch.c: Likewise.
63927         * lib/mbswidth.c: Likewise
63928         * lib/regex.c: Likewise.
63929
63930         Don't use atoi.
63931         * lib/userspec.c: Include sys/param.h and limits.h.
63932         Include xstrtol.h.
63933         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63934         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
63935         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
63936         UID, GID.  Check range.
63937
63938 2000-09-06  Jim Meyering  <meyering@lucent.com>
63939
63940         * lib/getopt.c (_getopt_internal): Update from glibc.
63941
63942 2000-08-30  Jim Meyering  <meyering@lucent.com>
63943
63944         * lib/strftime.c: Merge in changes from GNU libc.
63945
63946 2000-08-26  Jim Meyering  <meyering@lucent.com>
63947
63948         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
63949         * m4/fpending.m4: New file.
63950
63951 2000-08-26  Jim Meyering  <meyering@lucent.com>
63952
63953         * lib/closeout.c: Include "__fpending.h".
63954         (close_stdout_status): Return right away if there's nothing to flush.
63955
63956         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
63957         * lib/__fpending.c: New file.
63958         * lib/__fpending.h: New file.
63959
63960 2000-08-20  Jim Meyering  <meyering@lucent.com>
63961
63962         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
63963         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
63964         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
63965
63966 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
63967
63968         Improve fileutils installation on systems where running
63969         programs (like install) can't be unlinked.
63970         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
63971         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
63972
63973 2000-08-07  Paul Eggert  <eggert@twinsun.com>
63974
63975         Standardize on "memory exhausted" instead of "Memory exhausted"
63976         or "virtual memory exhausted".
63977         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
63978         "virtual memory exhausted".
63979         * lib/same.c (same_name): Invoke xalloc_die instead of printing
63980         our own message.
63981         * lib/userspec.c (parse_user_spec): Likewise.
63982         * lib/bumpalloc.h: comment fix
63983         * lib/same.c, userspec.c: Include xalloc.h.
63984
63985         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
63986         not char *const and pointing to a constant array.
63987         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
63988         (xrealloc): Comment fix.
63989
63990         * lib/userspec.c (parse_user_spec):
63991         Don't translate a message until just before returning,
63992         to avoid unnecessary translation.
63993
63994 2000-08-07  Jim Meyering  <meyering@lucent.com>
63995
63996         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
63997         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
63998         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
63999         getgroups.c, gethostname.c, getopt.h, group-member.c,
64000         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
64001         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
64002         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
64003         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
64004         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
64005         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
64006         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
64007         yesno.c: Back out Copyright date changes for each file with no change
64008         this year.  This eases coordination with other programs using the same
64009         source code modules.  From Paul Eggert.
64010
64011 2000-08-06  Paul Eggert  <eggert@twinsun.com>
64012
64013         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
64014         not char, for compatibility with glibc 2.1.3 strftime.c.
64015
64016 2000-08-03  Greg McGary  <greg@mcgary.org>
64017
64018         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
64019         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
64020         (EXTEND_BUFFER): Use them.
64021
64022 2000-08-01  Jim Meyering  <meyering@lucent.com>
64023
64024         * lib/dirname.c (ISSLASH): Define.
64025         (BACKSLASH_IS_PATH_SEPARATOR): Define.
64026         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
64027         both `\' and `/' may be use as path separators.
64028         Based on a patch from Prashant TR.
64029
64030 2000-07-31  Paul Eggert  <eggert@twinsun.com>
64031
64032         * lib/quotearg.c (quotearg_n_options): Don't make the initial
64033         slot vector a constant, since it might get modified.
64034
64035 2000-07-31  Jim Meyering  <meyering@lucent.com>
64036
64037         * lib/xmalloc.c: Use `virtual memory exhausted', not
64038         `Memory exhausted'.
64039         * lib/obstack.c (print_and_abort): Likewise.
64040
64041 2000-07-30  Paul Eggert  <eggert@twinsun.com>
64042
64043         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
64044         buffer, so that the caller can always quote one small
64045         component of a "memory exhausted" message in slot 0.
64046         From a suggestion by Jim Meyering.
64047
64048 2000-07-30  Jim Meyering  <meyering@lucent.com>
64049
64050         * lib/makepath.c (make_path): Quote the other instance, too.
64051
64052         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
64053         (STATIC_BUF_SIZE): Define.
64054         (quotearg_n_options): Use only statically allocated storage when
64055         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
64056         than STATIC_BUF_SIZE.
64057
64058 2000-07-29  Jim Meyering  <meyering@lucent.com>
64059
64060         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
64061         * lib/dirname.c (dir_name): Likewise.
64062
64063         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
64064         `/'.
64065
64066         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
64067         (dir_name): Assert that there are no trailing slashes.
64068
64069 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
64070
64071         * lib/mbswidth.h (mbswidth): Add a flags argument.
64072         (mbswidth): New declaration.
64073         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
64074         * lib/mbswidth.c (mbswidth): Add a flags argument.
64075         (mbsnwidth): New function.
64076
64077 2000-07-24  Jim Meyering  <meyering@lucent.com>
64078
64079         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
64080
64081 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64082
64083         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
64084
64085 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64086
64087         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
64088         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
64089         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
64090         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
64091         invoke multibyte primitives.
64092
64093 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64094
64095         * lib/quotearg.c:
64096         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
64097         so that mbstate_t is always defined.
64098
64099         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
64100         be 1 in at least one GCC installation, and this configuration
64101         error is likely to be common.  Ignoring MB_LEN_MAX hurts
64102         performance on hosts that have mbrtowc but have only unibyte
64103         locales, but I assume these hosts are rare.
64104
64105 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64106
64107         * lib/mbswidth.c (_XOPEN_SOURCE):
64108         Don't define; this causes problems on Solaris 7.
64109         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
64110
64111 2000-07-23  Jim Meyering  <meyering@lucent.com>
64112
64113         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
64114         too: getgrgid, getpwuid, getuid.
64115
64116 2000-07-23  Jim Meyering  <meyering@lucent.com>
64117
64118         * lib/basename.c (base_name): Add an assertion.
64119
64120 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
64121
64122         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
64123         shadow its mbsinit function.
64124
64125 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64126
64127         * lib/mbswidth.h: New file.
64128         * lib/mbswidth.c: New file.
64129         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
64130         (noinst_HEADERS): Add mbswidth.h.
64131
64132 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64133
64134         * lib/config.charset: Add support for FreeBSD. Improve support for
64135         HP-UX and IRIX 6.
64136
64137 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
64138
64139         * m4/mbswidth.m4: New file.
64140         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
64141
64142 2000-07-15  Jim Meyering  <meyering@lucent.com>
64143
64144         * lib/makepath.c: Include quote.h.
64145         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
64146         corresponding argument in a `quote (...)' call.
64147         Give better diagnostics.
64148
64149         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
64150         (noinst_HEADERS): Add quote.h.
64151
64152         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
64153         from tar's src/misc.c.
64154         * lib/quote.h: New file.  Prototypes for same.
64155
64156 2000-07-14  Paul Eggert  <eggert@twinsun.com>
64157
64158         From a suggestion by Bruno Haible.
64159         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
64160         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
64161         to decide whether to define the BeOS workaround macro;
64162         this adjusts to the change to AC_MBSTATE_T.
64163
64164 2000-07-14  Jim Meyering  <meyering@lucent.com>
64165
64166         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
64167         jm_AC_TYPE_UINTMAX_T.
64168
64169 2000-07-13  Paul Eggert  <eggert@twinsun.com>
64170
64171         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
64172
64173         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
64174         quotearg_buffer_restyled): Add support for
64175         clocale_quoting_style.  Undo previous change to
64176         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
64177         and "{RIGHT QUOTATION MARK}" msgids.
64178
64179 2000-07-10  Paul Eggert  <eggert@twinsun.com>
64180
64181         From a suggestion by Bruno Haible.
64182         * m4/mbstate_t.m4 (AC_MBSTATE_T):
64183         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
64184         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
64185         and mbstate_t, to a single-part test that simply defines mbstate_t.
64186         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
64187         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
64188
64189 2000-07-10  Jim Meyering  <meyering@lucent.com>
64190
64191         * m4/strerror_r.m4: Mirror the correction made in autoconf.
64192
64193         * m4/gnu-source.m4: Output to confdefs.h directly.
64194         Suggestion from Akim Demaille.
64195
64196 2000-07-09  Paul Eggert  <eggert@twinsun.com>
64197
64198         The old behavior of quoting `like this' doesn't look good with
64199         newer, ISO-style fonts.  See:
64200         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
64201
64202         Instead, quote "like this" by default.  Let the translator
64203         tailor the locale-specific quoting behavior by providing
64204         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
64205
64206         * lib/quotearg.c (N_): New macro.
64207         (gettext_default): New function.
64208         (quotearg_buffer_restyled): Use
64209         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64210         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64211
64212 2000-07-09  Jim Meyering  <meyering@lucent.com>
64213
64214         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64215         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64216
64217         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64218         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64219
64220 2000-07-09  Jim Meyering  <meyering@lucent.com>
64221
64222         * lib/Most files: Update copyright dates to include 2000.
64223
64224 2000-07-08  Jim Meyering  <meyering@lucent.com>
64225
64226         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64227         if not defined.
64228         (xgethostname): Remove now-unnecessary #ifdef.
64229         Move declaration of `err' into loop where it's used.
64230
64231 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64232         and Bruno Haible  <haible@clisp.cons.org>
64233
64234         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64235         only if the test for an object-type mbstate_t fails.  This
64236         prevents us from mistakenly reporting that mbstate_t is a
64237         system object type after we "#define mbstate_t int" to work
64238         around its lack.
64239
64240 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64241         and Bruno Haible  <haible@clisp.cons.org>
64242
64243         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64244
64245 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64246
64247         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64248         to strerror_r.
64249         Include <ctype.h> for use of isalpha.
64250
64251 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64252
64253         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64254         by allocating a larger buffer. Test the gethostname return value for
64255         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64256         returns an error and ENAMETOOLONG isn't defined.
64257
64258 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64259
64260         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64261         dimension.
64262
64263 2000-07-04  Jim Meyering  <meyering@lucent.com>
64264
64265         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64266         of the deprecated AC_CHECKING.
64267
64268 2000-07-04  Jim Meyering  <meyering@lucent.com>
64269
64270         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64271         Reported by Bruno Haible.
64272
64273 2000-07-04  Jim Meyering  <meyering@lucent.com>
64274
64275         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64276         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64277         lacks mbrtowc.
64278
64279 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64280
64281         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64282         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64283
64284 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64285         and Bruno Haible  <haible@clisp.cons.org>
64286
64287         * lib/quotearg.c (mbrtowc):
64288         Assign to *pwc, and return 1 only if result is nonzero.
64289         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64290
64291 2000-07-03  Jim Meyering  <meyering@lucent.com>
64292
64293         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64294
64295 2000-07-03  Jim Meyering  <meyering@lucent.com>
64296
64297         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64298         This is necessary to get a definition of e.g., UTMP_FILE on
64299         HP-UX 10.20.
64300         From Bob Proulx.
64301
64302 2000-07-02  Jim Meyering  <meyering@lucent.com>
64303
64304         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64305
64306         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64307         AC_LIBOBJ(function_name).
64308         * m4/chown.m4: Likewise.
64309         * m4/fnmatch.m4: Likewise.
64310         * m4/ftruncate.m4: Likewise.
64311         * m4/getgroups.m4: Likewise.
64312         * m4/getline.m4: Likewise.
64313         * m4/group-member.m4: Likewise.
64314         * m4/jm-macros.m4: Likewise.
64315         * m4/lstat.m4: Likewise.
64316         * m4/malloc.m4: Likewise.
64317         * m4/memcmp.m4: Likewise.
64318         * m4/nanosleep.m4: Likewise.
64319         * m4/putenv.m4: Likewise.
64320         * m4/realloc.m4: Likewise.
64321         * m4/regex.m4: Likewise.
64322         * m4/stat.m4: Likewise.
64323         * m4/strftime.m4: Likewise.
64324
64325 2000-07-02  Jim Meyering  <meyering@lucent.com>
64326
64327         * lib/quotearg.c (mbstate_t): Don't define here.
64328
64329 2000-07-02  Jim Meyering  <meyering@lucent.com>
64330
64331         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64332
64333 2000-07-01  Jim Meyering  <meyering@lucent.com>
64334
64335         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64336
64337 2000-07-01  Jim Meyering  <meyering@lucent.com>
64338
64339         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64340         problem.
64341
64342 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64343
64344         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64345         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64346
64347 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64348
64349         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64350         per change in ../m4/ls-mntd-fs.m4.
64351         (read_filesystem_list): Ignore symbolic links.
64352
64353 2000-06-29  Jim Meyering  <meyering@lucent.com>
64354
64355         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64356         for declaration of strcmp.
64357
64358         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64359
64360         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64361         Avoid warning by casting result to `char *' to remove `const'.
64362
64363 2000-06-28  Jim Meyering  <meyering@lucent.com>
64364
64365         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64366         included by quotearg.c, for which we perform this test.  From
64367         Bruno Haible.
64368
64369 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64370
64371         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64372         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64373         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64374
64375 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64376
64377         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64378
64379 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64380
64381         savedir now sets errno on failure and invokes xmalloc to get memory.
64382         Fix a couple of other minor bugs while we're at it.
64383
64384         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64385         (NAMLEN): Remove macro.
64386         (malloc, realloc): Remove decls.
64387         (stpcpy): Likewise.
64388         ("xalloc.h"): Include.
64389         (NAME_SIZE_DEFAULT): New macro.
64390         (savedir): Use xmalloc / xrealloc to allocate memory.
64391         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64392         Skip "" directory entries.
64393         Use strlen to calculate directory entry length, since the old method
64394         is rarely used these days and isn't worth supporting.
64395         Don't use a pointer after freeing it.
64396         Check for integer overflow when calculating allocation size.
64397         Use memcpy to copy entries, instead of stpcpy.
64398         Set errno properly when returning NULL.
64399         Check for readdir error.
64400
64401 2000-06-26  Jim Meyering  <meyering@lucent.com>
64402
64403         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64404
64405 2000-06-25  Jim Meyering  <meyering@lucent.com>
64406
64407         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64408         Linux header bug when _XOPEN_SOURCE is defined to 500.
64409
64410 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64411
64412         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64413         deficiency.
64414
64415 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64416
64417         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
64418         Include xalloc.h.
64419         Don't include <stdlib.h>.  Don't declare malloc, realloc.
64420
64421 2000-06-24  Jim Meyering  <meyering@lucent.com>
64422
64423         * m4/strerror_r.m4: Revive this file -- to try out an experimental
64424         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
64425         for which strerror does return char*, but which lacks a conveniently
64426         accessible declaration of the function.  If the compile-test says
64427         strerror_r doesn't work, then resort to a `run'-test that works on
64428         BeOS and segfaults on DEC Unix.
64429
64430 2000-06-24  Jim Meyering  <meyering@lucent.com>
64431
64432         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
64433
64434 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64435
64436         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
64437         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
64438
64439 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64440
64441         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
64442         (mbrtowc, mbstate_t): Define substitutes if
64443         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
64444         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
64445         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
64446
64447 2000-06-23  Jim Meyering  <meyering@lucent.com>
64448
64449         * m4/afs.m4: Add missing AC_MSG_RESULT.
64450         Reported by Bruno Haible.
64451
64452         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64453         Suggestion from Bruno Haible.
64454
64455 2000-06-23  Jim Meyering  <meyering@lucent.com>
64456
64457         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64458
64459 2000-06-21  Jim Meyering  <meyering@lucent.com>
64460
64461         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64462
64463 2000-06-21  Jim Meyering  <meyering@lucent.com>
64464
64465         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64466         (noinst_HEADERS): Add getstr.h.
64467
64468         * lib/getline.c (getstr): Move into a separate file.
64469         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64470         the following changes: new parameter, delim2; both delim[12]
64471         parameters have type `int', not `char'.  The latter would lose
64472         with 8-bit delimiters.
64473         * lib/getstr.h: New file.
64474
64475 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64476
64477         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64478         than 1024, return a memory chunk of least possible size, instead
64479         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64480         Use free/xmalloc instead of xrealloc to avoid copying for very long
64481         paths.
64482
64483 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64484
64485         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64486         the empty string.
64487
64488 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64489
64490         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64491         address, not strdup.  Include <stdlib.h> and don't declare free().
64492
64493 2000-06-19  Jim Meyering  <meyering@lucent.com>
64494
64495         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64496
64497 2000-06-18  Jim Meyering  <meyering@lucent.com>
64498
64499         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64500
64501         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64502         `checking whether...' message to be consistent with that of the
64503         lstat test.
64504
64505 2000-06-18  Jim Meyering  <meyering@lucent.com>
64506
64507         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64508         Besides, these days every porting target provides a mkdir function.
64509
64510         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64511         needed. (this snippet comes from src/system.h).
64512
64513 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64514
64515         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64516
64517 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64518
64519         * lib/human.c (adjust_value): New function.
64520         (human_readable_inexact): Apply rounding style even when
64521         printing approximate values.
64522
64523 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64524
64525         * lib/human.c (human_readable_inexact): Allow an input block
64526         size that is not a multiple of the output block size, and vice versa.
64527         Reported by Piergiorgio Sartor.
64528
64529 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64530
64531         * lib/getdate.y (get_date): Apply relative times after time
64532         zone indicator, not before.  Reported by Todd A. Jacobs.
64533
64534 2000-06-13  Jim Meyering  <meyering@lucent.com>
64535
64536         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64537
64538         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64539
64540 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64541
64542         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64543
64544 2000-06-12  Jim Meyering  <meyering@lucent.com>
64545
64546         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64547         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64548         optional argument.
64549         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64550         the optional argument, `lib'.
64551
64552 2000-06-08  Jim Meyering  <meyering@lucent.com>
64553
64554         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64555
64556 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64557
64558         Rewrite largefile configuration so that we don't need to run
64559         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64560         AC_CANONICAL_HOST in configure.in -- jmm]
64561
64562         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64563         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64564         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64565         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64566         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64567         All uses changed.
64568         Instead of inspecting the output of getconf, try to compile the
64569         test program without and with the macro definition.
64570         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64571         for getconf.  Instead, check for the needed flags by compiling
64572         test programs.
64573
64574 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64575
64576         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64577
64578 2000-06-04  Jim Meyering  <meyering@lucent.com>
64579
64580         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64581         SunOS 4.1.4 for which gid_t is an unsigned type.
64582
64583 2000-06-03  Jim Meyering  <meyering@lucent.com>
64584
64585         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64586         now that autoconf requires that.
64587
64588         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64589         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64590         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64591
64592 2000-06-03  Jim Meyering  <meyering@lucent.com>
64593
64594         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64595
64596 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64597
64598         * m4/glibc21.m4: New file.
64599         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64600
64601 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64602
64603         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64604         newer, don't install charset.alias.
64605         * lib/config.charset: Change the Linux/glibc rules so they become empty
64606         on glibc-2.1 or newer.
64607
64608 2000-06-02  Jim Meyering  <meyering@lucent.com>
64609
64610         * lib/mountlist.c: Back out last change.  Instead, do this...
64611         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64612         me_dummy member using the same `ignore'-testing code.
64613         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64614         fs_type strings.
64615         From Mark D. Roth.
64616
64617 2000-05-29  Jim Meyering  <meyering@lucent.com>
64618
64619         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64620         mounts with the `ignore' attribute.  Based on a patch from
64621         Mark D. Roth.
64622
64623 2000-05-28  Jim Meyering  <meyering@lucent.com>
64624
64625         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64626         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64627         * m4/stat.m4: Likewise.
64628         * m4/lstat.m4: Likewise.
64629         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64630
64631         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64632         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64633
64634 2000-05-26  Jim Meyering  <meyering@lucent.com>
64635
64636         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64637
64638 2000-05-24  Jim Meyering  <meyering@lucent.com>
64639
64640         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64641         autoconf requires that.
64642         * m4/lib-check.m4: Likewise.
64643         * m4/jm-macros.m4: Likewise.
64644         * m4/strftime.m4: Likewise.
64645
64646         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64647         AC_CHECK_DECLS, now that autoconf requires that.
64648
64649 2000-05-22  Jim Meyering  <meyering@lucent.com>
64650
64651         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64652         * m4/lstat.m4: Likewise.
64653
64654 2000-05-22  Jim Meyering  <meyering@lucent.com>
64655
64656         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64657
64658 2000-05-20  Jim Meyering  <meyering@lucent.com>
64659
64660         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64661         (jm_PREREQ): Use it.
64662
64663 2000-05-18  Jim Meyering  <meyering@lucent.com>
64664
64665         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64666         back, too, since it may have been modified by allocate_entry.
64667         (hash_delete): Rewrite to use neither the assignment operator
64668         nor the comma operator in an if-expression.
64669
64670 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64671
64672         * lib/closeout.c:
64673         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64674         Remove; no longer needed.
64675         "quotearg.h": Add include.
64676         (file_name): Do not bother to explicitly initialize to NULL; it's less
64677         efficient on some hosts.
64678         (close_stdout_status): Remove test as to whether stdout was already
64679         closed; it breaks for the case "echo x | sort >&-".
64680         Quote file name colons.
64681         Do not assume that _("write error") lacks format strings.
64682
64683 2000-05-15  Jim Meyering  <meyering@lucent.com>
64684
64685         * lib/version-etc.c (version_etc_copyright): Update the copyright
64686         string used in all --version output.
64687
64688 2000-05-14  Jim Meyering  <meyering@lucent.com>
64689
64690         * lib/closeout.c (close_stdout_set_file_name): New function.
64691         (close_stdout_status): Use new file-scoped global.
64692         Return right away if fstat says the stdout file descriptor is invalid.
64693         * lib/closeout.h (close_stdout_set_file_name): Declare.
64694
64695 2000-05-10  Jim Meyering  <meyering@lucent.com>
64696
64697         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64698         (close_stdout_set_status): New function.
64699         * lib/closeout.h (close_stdout_set_status): Declare.
64700
64701 2000-05-09  Jim Meyering  <meyering@lucent.com>
64702
64703         * m4/gettext.m4: Rename this...
64704         * m4/libintl.m4: ...to this.
64705
64706 2000-05-08  Jim Meyering  <meyering@lucent.com>
64707
64708         * lib/long-options.c: Don't include closeout.h.
64709         (parse_long_options): Don't call close_stdout for --version.
64710
64711 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64712
64713         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64714         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64715         2.1.3 bug.  This avoids a clash when files like regex.c define
64716         _GNU_SOURCE.
64717
64718 2000-05-06  Jim Meyering  <meyering@lucent.com>
64719
64720         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64721         (AC_REPLACE_FUNCS): Add strnlen.
64722
64723         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64724         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64725
64726         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64727         AC_SEARCH_LIBS call for nanosleep.
64728         (LIB_NANOSLEEP): Set and AC_SUBST.
64729
64730 2000-05-06  Jim Meyering  <meyering@lucent.com>
64731
64732         * lib/strnlen.c: Undefine __strnlen and strnlen.
64733         [!weak_alias]: Define __strnlen to strnlen.
64734
64735         * lib/atexit.c: New file, from libiberty.
64736
64737 2000-05-06  Jim Meyering  <meyering@lucent.com>
64738
64739         * lib/closeout.c (close_stdout_status): Also check for errors on the
64740         stderr stream.
64741
64742 2000-05-05  Jim Meyering  <meyering@lucent.com>
64743
64744         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64745         AC_SEARCH_LIBS call for clock_gettime.
64746         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64747
64748         * m4/search-libs.m4: Update from autoconf.
64749
64750         su doesn't work on Solaris 2.6.
64751         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64752         <shadow.h>.  Reported by Dragos Harabor.
64753
64754 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64755
64756         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64757         memcpy instead of xmalloc, xrealloc, path_concat.
64758         (locale_charset): Treat empty environment variables as absent.
64759         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64760
64761 2000-05-04  Jim Meyering  <meyering@lucent.com>
64762
64763         * lib/getopt.c: Update from glibc.
64764         * lib/obstack.c: Likewise.
64765         * lib/obstack.h: Likewise.
64766         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64767         file
64768
64769         * lib/regex.h: Likewise.
64770         * lib/strndup.c: Likewise.
64771         * lib/strnlen.c: New file, from glibc.
64772
64773 2000-05-03  Jim Meyering  <meyering@lucent.com>
64774
64775         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64776
64777 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64778
64779         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64780         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64781         compile-time test, rather than inspecting host and OS, to
64782         decide whether to define _LARGEFILE_SOURCE.
64783
64784 2000-05-01  Jim Meyering  <meyering@lucent.com>
64785
64786         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64787
64788         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64789         Based on a patch from Bruno Haible.
64790
64791 2000-05-01  Jim Meyering  <meyering@lucent.com>
64792
64793         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64794
64795 2000-04-29  Jim Meyering  <meyering@lucent.com>
64796
64797         * lib/path-concat.c: Declare strdup only if it's not defined.
64798         * lib/canon-host.c: Likewise.
64799
64800 2000-04-28  Jim Meyering  <meyering@lucent.com>
64801
64802         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64803         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64804         is included first, then limits.h is included by locale.h by libintl.h.
64805         From John David Anglin.
64806
64807 2000-04-25  Jim Meyering  <meyering@lucent.com>
64808
64809         * lib/makepath.c (S_IRWXUGO): Define.
64810         (make_path): Always perform explicit chmod if MODE specifies any
64811         of the `special' permission bits.  Prompted by a bug report against
64812         install from Mate Wierdl and Joost van Baal.
64813
64814 2000-04-18  Jim Meyering  <meyering@lucent.com>
64815
64816         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64817         (jm_PREREQ): Use it.
64818
64819 2000-04-18  Jim Meyering  <meyering@lucent.com>
64820
64821         * lib/README: New file.
64822
64823         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64824         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64825
64826 2000-04-17  Jim Meyering  <meyering@lucent.com>
64827
64828         Get it right :-)
64829         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64830         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64831         Suggestion from Akim Demaille.
64832
64833 2000-04-17  Jim Meyering  <meyering@lucent.com>
64834
64835         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64836         the definition of it to rpl_strftime also defined-away the system's
64837         declaration.
64838
64839 2000-04-15  Jim Meyering  <meyering@lucent.com>
64840
64841         Use `C' to denote so-called `contiguous' files, the same way
64842         that tar does.
64843         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64844         (ftypelet): Use S_ISCTG.
64845         From Michael Deutschmann.
64846
64847 2000-04-14  Jim Meyering  <meyering@lucent.com>
64848
64849         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64850         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64851         clobbered.
64852
64853 2000-04-14  Jim Meyering  <meyering@lucent.com>
64854
64855         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64856
64857 2000-04-13  Jim Meyering  <meyering@lucent.com>
64858
64859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64860         AH_VERBATIM to insert required #ifndef into config.h.in.
64861         Suggestion from Akim Demaille.
64862
64863 2000-04-12  Jim Meyering  <meyering@lucent.com>
64864
64865         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64866         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64867         Christian Krackowizer.
64868
64869         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64870         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64871         (AC_SYS_LARGEFILE): Require.
64872         (AM_C_PROTOTYPES): Require.
64873
64874 2000-04-08  Jim Meyering  <meyering@lucent.com>
64875
64876         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64877         names don't conflict.  Reported by Eli Zaretskii.
64878
64879 2000-04-07  Jim Meyering  <meyering@lucent.com>
64880
64881         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64882         sys/types.h, to work around system header problems on AIX 3.2.5.
64883         From Bruno Haible.
64884
64885 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64886
64887         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64888         bug.  Deal with the different error behavior of Irix iconv.
64889
64890 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64891
64892         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64893         IRIX if the installer said otherwise.
64894
64895 2000-04-05  Jim Meyering  <meyering@lucent.com>
64896
64897         Portability tweaks required for ultrix4.3.
64898         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64899         (jm_CHECK_DECLS): Add getutent to the list of functions.
64900         (_jm_DECL_HEADERS): Add utmpx.h.
64901         From John David Anglin.
64902
64903         * m4/strftime.m4: Back out the 2000-04-02 change.
64904         Instead of that change, simply undefine putenv in the test program.
64905
64906 2000-04-05  Jim Meyering  <meyering@lucent.com>
64907
64908         Portability tweaks required for ultrix4.3.
64909         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
64910         getutent.
64911         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
64912         * lib/canon-host.c: Declare strdup.
64913         * lib/path-concat.c: Likewise.
64914         From John David Anglin.
64915
64916 2000-04-04  Jim Meyering  <meyering@lucent.com>
64917
64918         Be more DOS 8.3-friendly.
64919         * lib/ref-add.sin: Renamed from ref-add.sed.in.
64920         * lib/ref-del.sin: Renamed from ref-del.sed.in.
64921         * lib/Makefile.am: Reflect renaming.
64922         Reported by Eli Zaretskii.
64923
64924         Use a temporary file name that won't clash with `charset.alias'
64925         in the DOS 8.3 name space.
64926         * lib/Makefile.am (charset_tmp): Define.
64927         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
64928         (uninstall-local): Likewise.
64929         Reported by Eli Zaretskii.
64930
64931 2000-04-03  Jim Meyering  <meyering@lucent.com>
64932
64933         * m4/gettext.m4: Fix typo in comment.
64934
64935         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
64936         textutils/configure.in).  Suggestion from Paul Eggert.
64937         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
64938
64939 2000-04-02  Paul Eggert  <eggert@twinsun.com>
64940
64941         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
64942         variable in the shell rather than using putenv, which isn't
64943         portable.  This avoids the configure-time inter-test dependency
64944         on the potentially-renamed putenv function.
64945
64946 2000-03-30  Paul Eggert  <eggert@twinsun.com>
64947
64948         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
64949         before checking struct stat.st_blksize, so that
64950         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
64951
64952 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64953
64954         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
64955         since strftime.c uses HAVE_STRFTIME to decide whether to use
64956         the underlying strftime.
64957
64958 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64959
64960         * lib/time/strftime.c (my_strftime): Make sure we call the system
64961         strftime, not ourselves, when invoking the underlying strftime.
64962
64963 2000-03-24  Jim Meyering  <meyering@lucent.com>
64964
64965         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
64966         (charset_alias): Define.
64967         (install-exec-local): Factor out common code.
64968         (uninstall-local): Split lines longer than 80.
64969         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
64970         (SUFFIXES): Define.
64971         (.sed.in.sed): New rule.  Don't redirect directly to $@.
64972         (CLEANFILES): Add ref-add.sed and ref-del.sed.
64973
64974 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
64975
64976         * lib/config.charset: Output a line containing "Packages using this
64977         file".
64978         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
64979         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
64980         ref-del.sed): New rules.
64981
64982 2000-03-17  Jim Meyering  <meyering@lucent.com>
64983
64984         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
64985         Otherwise, include <strings.h>
64986
64987 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
64988
64989         * lib/unicodeio.c (utf8_wctomb): New function.
64990         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
64991         format instead of in UCS-4 with platform dependent endianness.
64992
64993 2000-03-10  Jim Meyering  <meyering@lucent.com>
64994
64995         * m4/lib-check.m4: Look for getspnam in -lgen, too.
64996         From Marco Franzen.
64997
64998 2000-03-07  Paul Eggert  <eggert@twinsun.com>
64999
65000         * lib/savedir.c (savedir): Work even if directory size is
65001         negative; this can happen with some screwy NFS configurations.
65002
65003 2000-03-06  Jim Meyering  <meyering@lucent.com>
65004
65005         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
65006         if it's NULL (because we ran out of memory).  From Bruno Haible.
65007
65008 2000-03-05  Jim Meyering  <meyering@lucent.com>
65009
65010         * lib/localcharset.c ("path-concat.h"): Include.
65011         (get_charset_aliases): Use path_concat instead of ANSI string
65012         concatenation.
65013
65014         * lib/unicodeio.h (PARAMS): Define.
65015         Use it to guard prototype.
65016
65017 2000-03-04  Jim Meyering  <meyering@lucent.com>
65018
65019         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
65020         for lib/localcharset.c.
65021
65022 2000-03-04  Jim Meyering  <meyering@lucent.com>
65023
65024         * lib/Makefile.am (install-exec-local): Create $(libdir) before
65025         installing into it.
65026         (uninstall-local): Uncomment this rule so `make distcheck' works
65027         once again.
65028
65029         * lib/unicodeio.c (<errno.h>): Include it.
65030         (errno): Declare if not defined.
65031
65032         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
65033
65034         * lib/config.charset: New version, incorporating remarks from a linux
65035         i18n mailing list.  From Bruno Haible.
65036
65037 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
65038
65039         * m4/codeset.m4: New file.
65040         * m4/iconv.m4: New file.
65041         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
65042
65043 2000-03-03  Jim Meyering  <meyering@lucent.com>
65044
65045         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
65046
65047 2000-03-02  Jim Meyering  <meyering@lucent.com>
65048
65049         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
65050         the messages come out on separate lines.
65051
65052         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
65053         rather than jm_CHECK_DECLARATIONS.
65054         * m4/decl.m4: Remove now-unused file.
65055
65056         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
65057         geteuid.
65058
65059 2000-03-02  Jim Meyering  <meyering@lucent.com>
65060
65061         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
65062
65063 2000-03-01  Jim Meyering  <meyering@lucent.com>
65064
65065         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
65066         * lib/unicodeio.c: Likewise.
65067
65068 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
65069
65070         * lib/config.charset: New file.
65071         * lib/localcharset.c: New file.
65072         * lib/unicodeio.h, lib/unicodeio.c: New files.
65073         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
65074         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
65075         (noinst_HEADERS): Add unicodeio.h.
65076         (all-local, install-exec-local, charset.alias): New targets.
65077
65078 2000-02-28  Paul Eggert  <eggert@twinsun.com>
65079
65080         * lib/quotearg.c (ALERT_CHAR): New macro.
65081         (quotearg_buffer_restyled): Use it.
65082
65083 2000-02-27  Jim Meyering  <meyering@lucent.com>
65084
65085         * m4/check-decl.m4: Add getenv to the list.
65086
65087 2000-02-27  Jim Meyering  <meyering@lucent.com>
65088
65089         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
65090         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
65091
65092         * lib/backupfile.c: Guard inclusion of stdlib.h with
65093         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
65094         Declare malloc if needed.
65095
65096         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
65097         `#ifndef HAVE_DECL..'
65098         now that autoconf always defines the HAVE_DECL_ symbols.
65099         * lib/human.c: Likewise.
65100         * lib/same.c: Likewise.
65101         * lib/strtoumax.c: Likewise.
65102
65103         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
65104         declaration check was not run.
65105         * lib/hash.c: Likewise.
65106         * lib/human.c: Likewise.
65107         * lib/same.c: Likewise.
65108         * lib/strtoumax.c: Likewise.
65109
65110         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
65111         `.', then first look up the entire `.'-containing string as a login
65112         name.
65113
65114 2000-02-23  Jim Meyering  <meyering@lucent.com>
65115
65116         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
65117         in place of my hack.
65118
65119 2000-02-18  Paul Eggert  <eggert@twinsun.com>
65120
65121         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
65122         (textint): New typedef.
65123         (parser_control): Member year changed from int to textint.
65124         All uses changed.
65125         (YYSTYPE): Removed; replaced by %union with int and textint members.
65126         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
65127         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
65128         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
65129         (tSNUMBER, tUNUMBER): Now of type <textintval>.
65130         (date, number, to_year): Use width of number in digits, not its value,
65131         to determine whether it's a 2-digit year, or a 2-digit time.
65132         (yylex): Store number of digits of numeric tokens.
65133         Reported by John Kendall.
65134
65135         (parser_control): Changed from struct parser_control to typedef (for
65136         consistency).  All uses changed.
65137
65138         (tID): Removed; not used.
65139         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
65140
65141 2000-02-14  Paul Eggert  <eggert@twinsun.com>
65142
65143         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
65144         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
65145
65146 2000-02-12  Jim Meyering  <meyering@lucent.com>
65147
65148         * lib/userspec.c (ISDIGIT): Define it.
65149         (isdigit): Remove definition.
65150         (is_number): Use ISDIGIT, not isdigit.
65151         <libintl.h>: Include.
65152         (_ and N_): Define.
65153         (parse_user_spec): Mark translatable strings.
65154
65155 2000-02-10  Jim Meyering  <meyering@lucent.com>
65156
65157         With these changes, nanosleep.[ch] are finally enough like the other
65158         lib/* replacement files to compile on a few more losing systems.
65159
65160         * lib/nanosleep.h: Don't include config.h.
65161         Remove prototype from declaration of nanosleep.
65162         (PARAMS): Remove now-unneeded definition.
65163         * lib/nanosleep.c: #undef nanosleep.
65164         (rpl_nanosleep): Rename from nanosleep.
65165
65166 2000-02-10  Jim Meyering  <meyering@lucent.com>
65167
65168         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
65169         gnu_nanosleep to rpl_nanosleep.
65170
65171 2000-02-09  Jim Meyering  <meyering@lucent.com>
65172
65173         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
65174         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
65175
65176 2000-02-08  Akim Demaille  <akim@epita.fr>
65177
65178         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
65179         `[' and `]' and remove uses of `changequote'.
65180         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
65181         (AC_SYS_LARGEFILE): Likewise.
65182         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65183         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
65184         of changequote.
65185         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
65186         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
65187         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
65188         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
65189
65190 2000-02-05  Jim Meyering  <meyering@lucent.com>
65191
65192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
65193         Remove explicit use of AC_HEADER_TIME.  It is required by
65194         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
65195         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
65196         in autoconf whereby the expansion of the latter ended up preceding
65197         the expansion of its prerequisite, AC_HEADER_TIME.
65198         Reported by Volker Borchert.
65199
65200 2000-02-03  Jim Meyering  <meyering@lucent.com>
65201
65202         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
65203
65204 2000-02-03  Jim Meyering  <meyering@lucent.com>
65205
65206         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
65207         rather than with `#if HAVE_UTMPNAME'.
65208
65209 2000-02-02  Jim Meyering  <meyering@lucent.com>
65210
65211         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65212         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65213         Reported by Eli Zaretskii.
65214
65215 2000-02-01  Jim Meyering  <meyering@lucent.com>
65216
65217         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65218
65219 2000-01-31  Jim Meyering  <meyering@lucent.com>
65220
65221         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65222         functions.  Add the time.h and sys/time.h headers along with the
65223         AC_REQUIRE'ment of AC_HEADER_TIME.
65224
65225 2000-01-31  Jim Meyering  <meyering@lucent.com>
65226
65227         * lib/nanosleep.h (nanosleep): Guard declaration with
65228         `#if ! HAVE_DECL_NANOSLEEP'.
65229         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65230         the declaration in that vendor's sys/timers.h.
65231         Reported by Christian Krackowizer.
65232
65233         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65234         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65235         (ISPRINT): Likewise.
65236         Reported by Tom Tromey.
65237
65238 2000-01-30  Jim Meyering  <meyering@lucent.com>
65239
65240         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65241
65242         * m4/prereq.m4 (utmp_includes): Define.
65243         Check for ut_user and ut_name members in both struct utmpx
65244         and struct utmp.
65245
65246 2000-01-30  Jim Meyering  <meyering@lucent.com>
65247
65248         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65249         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65250         header files where only utmpx.ut_user is declared.
65251
65252         * lib/readutmp.h (UT_USER): Define.
65253
65254 2000-01-29  Jim Meyering  <meyering@lucent.com>
65255
65256         * m4/lib-check.m4: New file containing library-related checks from
65257         fileutils and sh-utils (textutils had none).
65258
65259 2000-01-28  Jim Meyering  <meyering@lucent.com>
65260
65261         * m4/perl.m4: Change format of warning message to look more like that
65262         from the missing script.  Suggestion from François Pinard.
65263
65264 2000-01-25  Jim Meyering  <meyering@lucent.com>
65265
65266         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65267         well as time.h in the compile check.
65268         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65269         Fix typo in cross-compiling case: s/yes/no/.
65270
65271 2000-01-23  Jim Meyering  <meyering@lucent.com>
65272
65273         * m4/jm-macros.m4: Move df-related tests here from
65274         fileutils/configure.in
65275
65276         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65277         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65278
65279         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65280         s/space/ac_fsusage_space/.
65281         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65282
65283         * m4/ftruncate.m4: New file (derived from part of
65284         fileutils/configure.in).
65285         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65286         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65287
65288         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65289         AC_SUBST these here, rather than just in sh-util/configure.in, so
65290         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65291         all the same.
65292         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65293         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65294         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65295         (AC_SUBST(POW_LIBM)): Likewise.
65296         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65297
65298 2000-01-23  Jim Meyering  <meyering@lucent.com>
65299
65300         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65301         obstack.c.
65302
65303 2000-01-22  Jim Meyering  <meyering@lucent.com>
65304
65305         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65306
65307         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65308
65309         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65310         configure.in
65311         (AC_CHECK_HEADERS): Likewise for sh-utils.
65312         (AC_CHECK_HEADERS): Likewise for textutils.
65313         Merge the three lists of headers.
65314
65315         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65316         from fileutils' configure.in.
65317
65318         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65319         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65320         check-decl.m4.
65321
65322         * m4/check-decl.m4: Use #if rather than #ifdef.
65323         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65324         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65325         (_jm_DECL_HEADERS): Define new function.
65326         (jm_CHECK_DECLARATIONS): Require it.
65327
65328 2000-01-22  Jim Meyering  <meyering@lucent.com>
65329
65330         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65331         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65332         Required for some AIX systems.  Reported by Christian Krackowizer.
65333         [TESTING] (main): New function.
65334
65335         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65336         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65337         letters.
65338
65339         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65340         iswprint.
65341
65342         * lib/strverscmp.c (ISDIGIT): Define.
65343         (strverscmp): Use ISDIGIT, not isdigit.
65344
65345 2000-01-19  Jim Meyering  <meyering@lucent.com>
65346
65347         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65348         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65349         defines `struct timespec' in <sys/time.h>
65350
65351         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65352         Thanks to Akim for explaining.
65353
65354 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65355
65356         * lib/nanosleep.c (nanosleep):
65357         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65358         POSIX.1 doesn't require SA_INTERRUPT and some systems
65359         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65360         it's been part of POSIX.1 since day 1 (in 1988).
65361
65362 2000-01-17  Jim Meyering  <meyering@lucent.com>
65363
65364         * lib/interlock: Remove unused file.  Reported by François Pinard.
65365
65366 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65367
65368         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65369         alert, backslash, formfeed, and vertical tab unnecessarily in
65370         shell quoting style.
65371
65372 2000-01-16  Jim Meyering  <meyering@lucent.com>
65373
65374         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65375         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65376         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65377         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65378
65379 2000-01-16  Jim Meyering  <meyering@lucent.com>
65380
65381         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65382         because the latter didn't work.
65383
65384 2000-01-15  Jim Meyering  <meyering@lucent.com>
65385
65386         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65387         (AC_REPLACE_FUNCS): Add memcpy and memset.
65388         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65389         Add strpbrk.
65390         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65391
65392 2000-01-12  Jim Meyering  <meyering@lucent.com>
65393
65394         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65395         (jm_PREREQ): Use it.
65396         (jm_PREREQ_READUTMP): New macro.
65397         (jm_PREREQ): Use it.
65398
65399 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65400
65401         Quote multibyte characters correctly.
65402         * m4/c-bs-a.m4: New file.
65403         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65404         (jm_PREREQ): Use it.
65405
65406 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65407
65408         * m4/uintmax_t.m4: Port to autoconf 2.13.
65409
65410 2000-01-08  Jim Meyering  <meyering@ascend.com>
65411
65412         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65413         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65414
65415 2000-01-04  Jim Meyering  <meyering@ascend.com>
65416
65417         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
65418         jm_STRUCT_DIRENT_D_TYPE.
65419         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
65420         jm_STRUCT_DIRENT_D_INO.
65421         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
65422         jm_STRUCT_UTIMBUF.
65423         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
65424         renamings.
65425         * m4/utime.m4: Likewise.
65426
65427         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
65428         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
65429
65430 2000-01-03  Paul Eggert  <eggert@twinsun.com>
65431
65432         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
65433         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
65434
65435 2000-01-02  Jim Meyering  <meyering@ascend.com>
65436
65437         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
65438         remember if this is necessary.
65439
65440 1999-12-26  Jim Meyering  <meyering@ascend.com>
65441
65442         * m4/jm-macros.m4: Use it here.
65443         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
65444
65445 1999-12-23  Jim Meyering  <meyering@ascend.com>
65446
65447         * m4/jm-macros.m4: Check for clock_gettime (moved from
65448         fileutils/configure.in)
65449         Check for gettimeofday.
65450
65451 1999-12-20  Jim Meyering  <meyering@ascend.com>
65452
65453         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65454         autoconf-2.14a-1999-12-20.
65455
65456 1999-12-19  Jim Meyering  <meyering@ascend.com>
65457
65458         * m4/lstat-slash.m4: New file.
65459         * m4/jm-macros.m4: Use the new macro:
65460         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65461
65462 1999-12-07  Jim Meyering  <meyering@ascend.com>
65463
65464         * m4/perl.m4: Require that File::Compare be available, too.
65465         Too many systems seem to lack it.
65466
65467         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65468         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65469
65470 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65471
65472         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65473         problem with the QNX 4.25 shell, which doesn't propagate exit
65474         status of failed commands inside shell assignments.
65475
65476 1999-11-17  Jim Meyering  <meyering@ascend.com>
65477
65478         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65479
65480 1999-11-07  Jim Meyering  <meyering@ascend.com>
65481
65482         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65483
65484 1999-11-06  Jim Meyering  <meyering@ascend.com>
65485
65486         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65487         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65488
65489 1999-11-05  Jim Meyering  <meyering@ascend.com>
65490
65491         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65492         configure.in of textutils, fileutils, and sh-utils into this one
65493         (shared between those packages) file.
65494         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65495         AC_STRUCT_ST_BLKSIZE.
65496
65497 1999-11-03  Jim Meyering  <meyering@ascend.com>
65498
65499         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65500         of AC_CHECK_TYPE checks includes unistd.h.
65501         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65502         Suggestion from Akim Demaille.
65503
65504 1999-10-30  Jim Meyering  <meyering@ascend.com>
65505
65506         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65507         m4-quoted string.
65508         * m4/ls-mntd-fs.m4: Likewise.
65509         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65510         * m4/jm-winsz1.m4: Likewise.
65511
65512         * m4/const.m4: Remove file, since the fix made it into the experimental
65513         version of autoconf.
65514         * m4/mktime.m4: Likewise.
65515
65516         * m4/check-type.m4: Remove file, now that the latest version of
65517         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65518
65519         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65520         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65521         AC_CHECK_TYPE.
65522
65523 1999-10-04  Jim Meyering  <meyering@ascend.com>
65524
65525         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65526
65527 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65528
65529         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65530         2.95.1 bug with HP-UX 10.20.
65531
65532 1999-09-17  Jim Meyering  <meyering@ascend.com>
65533
65534         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65535         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65536         due to missing strdup (against sh-utils-2.0).
65537
65538 1999-08-29  Jim Meyering  <meyering@ascend.com>
65539
65540         * m4/jm-macros.m4: Require jm_BISON.
65541         * m4/bison.m4: New file.
65542
65543 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65544
65545         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65546         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65547
65548 1999-08-05  Jim Meyering  <meyering@ascend.com>
65549
65550         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65551         to avoid conflicts with `conftest' on 8+3 filesystems.
65552         Suggestion from Eli Zaretskii.
65553
65554 1999-08-04  Jim Meyering  <meyering@ascend.com>
65555
65556         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65557         fileutils and sh-utils (textutils's getline test was inadequate).
65558         (AM_FUNC_GETLINE): Run this test.
65559         (AC_CHECK_FUNCS): Check for getdelim.
65560         Reported by Bob Proulx.
65561
65562 1999-08-02  Jim Meyering  <meyering@ascend.com>
65563
65564         * m4/jm-macros.m4: Add a comment.
65565
65566 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65567
65568         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65569         <inttypes.h> defines strtoumax as a macro (and not as a
65570         function).
65571
65572 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65573
65574         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65575         that we can shift, multiply and divide unsigned long long
65576         values; Ultrix cc can't do it.
65577
65578 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65579
65580         * m4/mktime.m4: New file, which is a preview of what should appear
65581         in the next public autoconf release.
65582
65583 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65584
65585         * m4/lfs.m4: Remove this file.
65586         * m4/largefile.m4: New file.  It contains the old contents of
65587         lfs.m4, except that all names with prefix AC_LFS have been
65588         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65589         compatible with future autoconf versions.  Also, some minor m4
65590         quoting problems have been fixed.
65591
65592 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65593
65594         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65595         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65596         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65597         and simplify the shell code.
65598
65599 1999-08-01  Jim Meyering  <meyering@ascend.com>
65600
65601         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65602         m4.
65603
65604 1999-07-20  Jim Meyering  <meyering@ascend.com>
65605
65606         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65607
65608 1999-07-15  Jim Meyering  <meyering@ascend.com>
65609
65610         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65611
65612 1999-05-22  Jim Meyering  <meyering@ascend.com>
65613
65614         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65615
65616 1999-05-20  Jim Meyering  <meyering@ascend.com>
65617
65618         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65619         Add a colon after each `then' in case $4 is empty.
65620
65621 1999-05-16  Jim Meyering  <meyering@ascend.com>
65622
65623         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65624
65625 1999-05-10  Jim Meyering  <meyering@ascend.com>
65626
65627         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65628
65629         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65630         AC_FUNC_MKTIME.
65631
65632 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65633
65634         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65635
65636 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65637
65638         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65639         not CPPFLAGS, so that linking works correctly in IRIX.
65640
65641 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65642
65643         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65644
65645 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65646
65647         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65648         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65649         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65650         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65651         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65652
65653         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65654
65655 1999-04-20  Jim Meyering  <meyering@ascend.com>
65656
65657         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65658         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65659         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65660
65661 1999-04-18  Jim Meyering  <meyering@ascend.com>
65662
65663         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65664         * m4/jm-macros.m4: Use it.
65665
65666 1999-04-06  Jim Meyering  <meyering@ascend.com>
65667
65668         * m4/strftime.m4: Remove test for %f.
65669
65670 1999-03-29  Jim Meyering  <meyering@ascend.com>
65671
65672         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65673         superset of the AC_TYPE_* checks in the textutils, fileutils,
65674         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65675         AC_TYPE_PID_T.
65676
65677 1999-03-28  Jim Meyering  <meyering@ascend.com>
65678
65679         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65680         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65681         replaced e.g., in the *.sh files of the sh-utils.
65682
65683 1999-03-20  Jim Meyering  <meyering@ascend.com>
65684
65685         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65686         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65687         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65688
65689 1999-03-19  Jim Meyering  <meyering@ascend.com>
65690
65691         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65692
65693 1999-03-12  Jim Meyering  <meyering@ascend.com>
65694
65695         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65696
65697 1999-03-07  Jim Meyering  <meyering@ascend.com>
65698
65699         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65700         declared.
65701
65702 1999-02-17  Jim Meyering  <meyering@ascend.com>
65703
65704         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65705         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65706
65707 1999-02-07  Jim Meyering  <meyering@ascend.com>
65708
65709         * m4/group-member.m4: New file -- extracted from sh-utils'
65710         configure.in.
65711
65712         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65713         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65714
65715 1999-02-06  Jim Meyering  <meyering@ascend.com>
65716
65717         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65718         * m4/fnmatch.m4: Likewise.
65719         * m4/getgroups.m4: Likewise.
65720         * m4/lstat.m4: Likewise.
65721         * m4/malloc.m4: Likewise.
65722         * m4/putenv.m4: Likewise.
65723         * m4/realloc.m4: Likewise.
65724         * m4/regex.m4: Likewise.
65725         * m4/stat.m4: Likewise.
65726         * m4/strftime.m4: Likewise.
65727         Suggestion from Alain Magloire.
65728
65729         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65730         * m4/fnmatch.m4: Likewise.
65731         * m4/getgroups.m4: Likewise.
65732         * m4/getline.m4: Likewise.
65733         * m4/lstat.m4: Likewise.
65734         * m4/malloc.m4: Likewise.
65735         * m4/memcmp.m4: Likewise.
65736         * m4/putenv.m4: Likewise.
65737         * m4/realloc.m4: Likewise.
65738         * m4/regex.m4: Likewise.
65739         * m4/stat.m4: Likewise.
65740         * m4/strftime.m4: Likewise.
65741         Suggestion from Alain Magloire.
65742
65743         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65744         an argument.
65745
65746         * m4/regex.m4: Add a run-time Test for proper operation of
65747         re_compile_pattern.
65748
65749 1999-01-31  Jim Meyering  <meyering@ascend.com>
65750
65751         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65752
65753 1999-01-30  Jim Meyering  <meyering@ascend.com>
65754
65755         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65756
65757         * m4/jm-mktime.m4: Make this a wrapper around the official
65758         AM_FUNC_MKTIME rather than my private copy, now that the official one
65759         is up to date.
65760         * m4/mktime.m4: Remove file.
65761
65762         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65763         * m4/uptime.m4: Likewise.
65764         * m4/uintmax_t.m4: Likewise.
65765
65766 1999-01-28  Jim Meyering  <meyering@ascend.com>
65767
65768         * m4/jm-macros.m4: Use jm_AFS.
65769         * m4/afs.m4: New file (from fileutils' configure.in).
65770
65771         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65772         * m4/chown.m4: Likewise.
65773         * m4/d-ino.m4: Likewise.
65774         * m4/d-type.m4: Likewise.
65775         * m4/fnmatch.m4: Likewise.
65776         * m4/getgroups.m4: Likewise.
65777         * m4/gettext.m4: Likewise.
65778         * m4/jm-mktime.m4: Likewise.
65779         * m4/jm-winsz2.m4: Likewise.
65780         * m4/lcmessage.m4: Likewise.
65781         * m4/ls-mntd-fs.m4: Likewise.
65782         * m4/malloc.m4: Likewise.
65783         * m4/memcmp.m4: Likewise.
65784         * m4/putenv.m4: Likewise.
65785         * m4/realloc.m4: Likewise.
65786         * m4/st_mtim.m4: Likewise.
65787         * m4/strftime.m4: Likewise.
65788
65789 1999-01-16  Jim Meyering  <meyering@ascend.com>
65790
65791         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65792         (ARGMATCH_DIE_DECL): Define.
65793
65794 1999-01-12  Jim Meyering  <meyering@ascend.com>
65795
65796         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65797         Reported by Lars Hecking.
65798
65799 1999-01-10  Jim Meyering  <meyering@ascend.com>
65800
65801         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65802         gross kludge.
65803         * m4/inttypes_h.m4: Likewise.
65804         * m4/lstat.m4: Likewise.
65805         * m4/malloc.m4: Likewise.
65806         * m4/readdir.m4: Likewise.
65807         * m4/realloc.m4: Likewise.
65808         * m4/st_dm_mode.m4: Likewise.
65809         * m4/stat.m4: Likewise.
65810         * m4/utimbuf.m4: Likewise.
65811         * m4/utimes.m4: Likewise.
65812
65813         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65814         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65815         comments in config.h.in are meaningful.
65816
65817         * m4/jm-macros.m4: Require autoconf-2.13 here.
65818
65819         * m4/regex.m4: By default, don't use the included regex.c on systems
65820         with glibc 2.  Suggestion from Uli Drepper.
65821
65822 1999-01-02  Jim Meyering  <meyering@ascend.com>
65823
65824         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65825
65826 1998-12-18  Jim Meyering  <meyering@ascend.com>
65827
65828         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65829         Based on a suggestion from Lars Hecking.
65830
65831 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65832
65833         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65834
65835 1998-11-16  Jim Meyering  <meyering@ascend.com>
65836
65837         * m4/lfs.m4: Double-quote the `uname...` expression.
65838
65839 1998-11-14  Jim Meyering  <meyering@ascend.com>
65840
65841         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65842         * m4/stat.m4: Likewise.
65843
65844 1998-11-03  Jim Meyering  <meyering@ascend.com>
65845
65846         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65847         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65848
65849 1998-10-18  Jim Meyering  <meyering@ascend.com>
65850
65851         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65852
65853 1998-10-17  Jim Meyering  <meyering@ascend.com>
65854
65855         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65856         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65857         calls for those previously hard-coded headers.  Instead, take a new
65858         parameter.
65859         (jm_CHECK_DECLARATIONS): Reflect interface change.
65860         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65861         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65862
65863         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65864
65865 1998-10-14  Jim Meyering  <meyering@ascend.com>
65866
65867         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65868         instead of "TZ=America/Vancouver".  From Paul Eggert.
65869
65870 1998-10-11  Jim Meyering  <meyering@ascend.com>
65871
65872         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65873         This adds a test for a recently added compatibility fix for mktime.c.
65874         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65875
65876 1998-09-27  Jim Meyering  <meyering@ascend.com>
65877
65878         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65879
65880         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65881         ../configure.in, including a change from Gordon Matzigkeit to allow
65882         cross-compiling for the Hurd.
65883
65884         * m4/glibc.m4: New file/macro to test for the GNU C Library
65885         versions 1 and 2.  From Gordon Matzigkeit.
65886         Indent.
65887
65888 1998-09-21  Jim Meyering  <meyering@ascend.com>
65889
65890         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65891
65892 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65893
65894         Port nanosecond-resolution times to UnixWare 2.1.2 and
65895         pedantic Solaris 2.6.
65896
65897         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65898         AC_STRUCT_ST_MTIM.
65899         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
65900         Generate name of ns member, instead of just 1 or undef.
65901         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
65902
65903 1998-08-15  Jim Meyering  <meyering@ascend.com>
65904
65905         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
65906         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
65907         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
65908         instead of jm_TYPE_SSIZE_T.
65909
65910 1998-08-12  Jim Meyering  <meyering@ascend.com>
65911
65912         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
65913
65914 1998-08-02  Jim Meyering  <meyering@ascend.com>
65915
65916         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
65917         in acconfig.h manually.
65918
65919 1998-07-31  Paul Eggert  <eggert@twinsun.com>
65920
65921         * m4/st_mtim.m4: New file.
65922
65923 1998-07-28  Jim Meyering  <meyering@ascend.com>
65924
65925         * m4/utimes.m4: Undef stat.
65926
65927 1998-07-25  Jim Meyering  <meyering@ascend.com>
65928
65929         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
65930         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
65931
65932 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
65933
65934         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
65935         uid and gid actually remain unchanged.
65936
65937 1998-07-07  Jim Meyering  <meyering@ascend.com>
65938
65939         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
65940
65941 1998-07-04  Jim Meyering  <meyering@ascend.com>
65942
65943         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
65944         to prove that this macro can be used in packages without regex.c.
65945
65946 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
65947
65948         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
65949         is to be used.
65950
65951 1998-07-03  Jim Meyering  <meyering@ascend.com>
65952
65953         * m4/gettext.m4: Add -lintl if it's found to be necessary.
65954
65955         * m4/gettext.m4: New file -- from gettext-0.10.35.
65956         * m4/lcmessage.m4: Likewise.
65957         * m4/progtest.m4: Likewise.
65958
65959         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
65960         * m4/jm-macros.m4: Require the new macro.
65961
65962 1998-06-29  Jim Meyering  <meyering@ascend.com>
65963
65964         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
65965         for the definition of NGROUPS (used in a system header included
65966         by sys/mount.h).
65967
65968 1998-06-28  Jim Meyering  <meyering@ascend.com>
65969
65970         * m4/ls-mntd-fs.m4: New file.
65971         * m4/fstypename.m4: New file.
65972
65973         * m4/jm-macros.m4: Require the new macro.
65974         * m4/jm-glibc-io.m4: New file.
65975
65976 1998-05-19  Jim Meyering  <meyering@ascend.com>
65977
65978         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
65979         * m4/lchown.m4: New file.
65980
65981         * m4/Makefile.am.in: New file.
65982         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
65983
65984 1998-05-14  Jim Meyering  <meyering@ascend.com>
65985
65986         * m4/Makefile.am (EXTRA_DIST): Add them.
65987         * m4/jm-macros.m4: New file.
65988         * m4/utimbuf.m4: New file.
65989
65990 1998-05-12  Jim Meyering  <meyering@ascend.com>
65991
65992         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
65993
65994 1998-05-11  Jim Meyering  <meyering@ascend.com>
65995
65996         * m4/isc-posix.m4: New file.
65997
65998 1998-05-10  Jim Meyering  <meyering@ascend.com>
65999
66000         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
66001
66002 1998-05-09  Jim Meyering  <meyering@ascend.com>
66003
66004         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
66005         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
66006         with automake.
66007
66008         * m4/ssize_t.m4: New file.
66009         * m4/mktime.m4: Remove file -- the new automake has this now.
66010
66011 1998-04-26  Jim Meyering  <meyering@ascend.com>
66012
66013         * m4/assert.m4: New file.
66014         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
66015
66016 1998-04-05  Jim Meyering  <meyering@ascend.com>
66017
66018         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
66019         (jm_PREREQ): Use it here.
66020
66021 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
66022
66023         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
66024         in acconfig.h.
66025
66026 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
66027
66028         * m4/prereq.m4: New file.
66029         * m4/error.m4: New file.
66030         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
66031
66032 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
66033
66034         * m4/getline.m4: Don't set am_cv_func_working_getline before the
66035         cache-check for the same variable -- that defeated the purpose of
66036         the test; the test program was never run.  This was a problem only
66037         on systems with losing getline functions -- HP-UX 10.20 is one.
66038         Reported by Bjorn Helgaas.
66039
66040 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
66041
66042         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
66043
66044 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
66045
66046         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
66047
66048         * m4/const.m4: New file.  Use an initializer in this declaration
66049         typedef int charset[2]; const charset x;
66050         Reported by Bob Glickstein.
66051
66052 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
66053
66054         * m4/chown.m4: Fix reversed types on -1 args to chown.
66055         From Kaveh Ghazi.
66056
66057 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
66058
66059         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
66060         Add lseek and memchr.
66061
66062         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
66063         T.E.Dickey <dickey@clark.net> said that some older preprocessors
66064         have a 20-character limit on names.
66065
66066 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
66067
66068         * m4/inttypes_h.m4: New file.
66069         * m4/uintmax_t.m4: New file.
66070         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
66071
66072
66073         -----
66074
66075         Local Variables:
66076         coding: utf-8
66077         End:
66078
66079         Copyright (C) 1997-2010 Free Software Foundation, Inc.
66080
66081         Copying and distribution of this file, with or without
66082         modification, are permitted provided the copyright notice
66083         and this notice are preserved.